@jfdevelops/react-layout 0.17.3 → 0.17.5

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.
Files changed (35) hide show
  1. package/dist/create-config/define-layout.cjs +29 -5
  2. package/dist/create-config/define-layout.cjs.map +1 -1
  3. package/dist/create-config/define-layout.d.cts +7 -7
  4. package/dist/create-config/define-layout.d.cts.map +1 -1
  5. package/dist/create-config/define-layout.d.mts +7 -7
  6. package/dist/create-config/define-layout.d.mts.map +1 -1
  7. package/dist/create-config/define-layout.mjs +30 -6
  8. package/dist/create-config/define-layout.mjs.map +1 -1
  9. package/dist/create-config/for-resource.cjs.map +1 -1
  10. package/dist/create-config/for-resource.d.cts +19 -19
  11. package/dist/create-config/for-resource.d.cts.map +1 -1
  12. package/dist/create-config/for-resource.d.mts +19 -19
  13. package/dist/create-config/for-resource.d.mts.map +1 -1
  14. package/dist/create-config/for-resource.mjs.map +1 -1
  15. package/dist/create-config/for-resources/create-component.d.cts +20 -9
  16. package/dist/create-config/for-resources/create-component.d.cts.map +1 -1
  17. package/dist/create-config/for-resources/create-component.d.mts +20 -9
  18. package/dist/create-config/for-resources/create-component.d.mts.map +1 -1
  19. package/dist/create-config/for-resources/scoped-layout.d.cts +14 -14
  20. package/dist/create-config/for-resources/scoped-layout.d.cts.map +1 -1
  21. package/dist/create-config/for-resources/scoped-layout.d.mts +14 -14
  22. package/dist/create-config/for-resources/scoped-layout.d.mts.map +1 -1
  23. package/dist/index.d.cts +2 -2
  24. package/dist/index.d.mts +2 -2
  25. package/dist/props.d.cts +14 -4
  26. package/dist/props.d.cts.map +1 -1
  27. package/dist/props.d.mts +14 -4
  28. package/dist/props.d.mts.map +1 -1
  29. package/dist/utils.cjs.map +1 -1
  30. package/dist/utils.d.cts +1 -1
  31. package/dist/utils.d.cts.map +1 -1
  32. package/dist/utils.d.mts +1 -1
  33. package/dist/utils.d.mts.map +1 -1
  34. package/dist/utils.mjs.map +1 -1
  35. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { LayoutResourceKey, ResourceDefinition } from "../../resource.mjs";
2
- import { InPropsDefinition, InPropsObject } from "../../props.mjs";
2
+ import { InPropsDefinition, InPropsObject, MergedLayoutInProps, ResolvedIncludedComponentProps } from "../../props.mjs";
3
3
  import { CreateLayoutForResourceOptions, CreateResourceLayoutOptionsBase, CreatedLayoutForResource, SetDefaultPropForResourceFn } from "../for-resource.mjs";
4
4
  import { AtLeastOneResourceLayoutNameKey, AtLeastOneResourceLayoutSelection, CapitalizedResource, HasResourceLayoutName, MappedResourceLayoutArguments, ResourceLayoutNames, ResourceLayoutSelection, SelectedLayoutResources, SelectedResourceLayoutArguments, SelectedResourceLayoutName, SelectedResourceLayoutNames, SharedResourceLayoutArguments } from "./resource-selection.mjs";
5
5
  import { ScopedCreateComponent, ScopedCreateResourceComponents } from "./create-component.mjs";
@@ -7,7 +7,7 @@ import { LayoutIncludeProps, LayoutPropsForResource, ResourceLayoutComponent } f
7
7
  import { ComposableComponents, ComposableResourceLayout } from "@jfdevelops/react-layout-composables";
8
8
 
9
9
  //#region src/create-config/for-resources/scoped-layout.d.ts
10
- type ScopedCreateResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, Name extends string, Resource extends SelectedLayoutResources<Resources, Arguments>, Props extends InPropsObject> = LayoutPropsForResource<Resources, InProps, Composables> & {
10
+ type ScopedCreateResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables>, Arguments extends ReadonlyArray<unknown>, Name extends string, Resource extends SelectedLayoutResources<Resources, Arguments>, Props extends InPropsObject> = LayoutPropsForResource<Resources, InProps, Composables, IncludeProps> & {
11
11
  resource: Resource;
12
12
  props?: Props;
13
13
  } & (HasResourceLayoutName<Arguments, Resource> extends true ? {
@@ -15,18 +15,18 @@ type ScopedCreateResourceLayoutOptions<Resources extends ReadonlyArray<ResourceD
15
15
  } : {
16
16
  name: Name;
17
17
  });
18
- type ScopedCreateResourceLayoutFnImpl<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>, Props extends InPropsObject = {}>(options: ScopedCreateResourceLayoutOptions<Resources, InProps, Composables, Arguments, Name, Resource, Props>) => ResourceLayoutComponent<Name, CustomProps, Composables, Resource>;
19
- type ScopedCreateLayoutForResource<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>>(options: CreateLayoutForResourceOptions<Resources, Name, Resource>) => CreatedLayoutForResource<Resources, InProps, Composables, Name, Resource, CustomProps> & {
20
- setDefaults: SetDefaultPropForResourceFn<Resources, InProps, Composables, Name, Resource, CustomProps>;
18
+ type ScopedCreateResourceLayoutFnImpl<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables>, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>, Props extends InPropsObject = {}>(options: ScopedCreateResourceLayoutOptions<Resources, InProps, Composables, IncludeProps, Arguments, Name, Resource, Props>) => ResourceLayoutComponent<Name, CustomProps, Composables, Resource, ResolvedIncludedComponentProps<MergedLayoutInProps<Resources, InProps, Composables>, IncludeProps>>;
19
+ type ScopedCreateLayoutForResource<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables>, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>>(options: CreateLayoutForResourceOptions<Resources, Name, Resource>) => CreatedLayoutForResource<Resources, InProps, Composables, IncludeProps, Name, Resource, CustomProps> & {
20
+ setDefaults: SetDefaultPropForResourceFn<Resources, InProps, Composables, IncludeProps, Name, Resource, CustomProps>;
21
21
  };
22
- type ScopedCreateResourceLayoutMakeComposableFn<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>, Props extends InPropsObject = {}>(options: Omit<CreateResourceLayoutOptionsBase<Resources, Name, Resource>, 'name'> & Partial<LayoutPropsForResource<Resources, InProps, Composables>> & {
22
+ type ScopedCreateResourceLayoutMakeComposableFn<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables>, Arguments extends ReadonlyArray<unknown>> = <Resource extends SelectedLayoutResources<Resources, Arguments>, Name extends string = SelectedResourceLayoutName<Arguments, Resource>, Props extends InPropsObject = {}>(options: Omit<CreateResourceLayoutOptionsBase<Resources, Name, Resource>, 'name'> & Partial<LayoutPropsForResource<Resources, InProps, Composables, IncludeProps>> & {
23
23
  props?: Props;
24
24
  } & (HasResourceLayoutName<Arguments, Resource> extends true ? {
25
25
  name?: Name;
26
26
  } : {
27
27
  name: Name;
28
28
  })) => ComposableResourceLayout<Composables, Name, any, any, any>;
29
- type ScopedCreateResourceLayoutFn<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = ScopedCreateResourceLayoutFnImpl<Resources, InProps, Composables, Arguments, CustomProps> & {
29
+ type ScopedCreateResourceLayoutFn<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables>, Arguments extends ReadonlyArray<unknown>, CustomProps extends InPropsObject> = ScopedCreateResourceLayoutFnImpl<Resources, InProps, Composables, IncludeProps, Arguments, CustomProps> & {
30
30
  /**
31
31
  * Creates a component shared by the target resources. Included layout props
32
32
  * become component props, and `children` is always available as an optional
@@ -82,7 +82,7 @@ type ScopedCreateResourceLayoutFn<Resources extends ReadonlyArray<ResourceDefini
82
82
  */
83
83
  createComponent: ScopedCreateComponent<Resources, InProps, Composables, Arguments, CustomProps>; /** Builds one reusable entry for the selected resources. */
84
84
  createResourceComponents: ScopedCreateResourceComponents<Resources, InProps, Composables, Arguments, CustomProps, {}, {}>;
85
- forResource: ScopedCreateLayoutForResource<Resources, InProps, Composables, Arguments, CustomProps>;
85
+ forResource: ScopedCreateLayoutForResource<Resources, InProps, Composables, IncludeProps, Arguments, CustomProps>;
86
86
  /**
87
87
  * Type-only property containing the target resource union. This property is
88
88
  * `undefined` at runtime and exists solely for extracting the scoped type.
@@ -92,7 +92,7 @@ type ScopedCreateResourceLayoutFn<Resources extends ReadonlyArray<ResourceDefini
92
92
  */
93
93
  readonly resources: SelectedLayoutResources<Resources, Arguments>;
94
94
  } & ([keyof Composables] extends [never] ? {} : {
95
- makeComposable: ScopedCreateResourceLayoutMakeComposableFn<Resources, InProps, Composables, Arguments>;
95
+ makeComposable: ScopedCreateResourceLayoutMakeComposableFn<Resources, InProps, Composables, IncludeProps, Arguments>;
96
96
  });
97
97
  type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents = {}, IncludeProps extends LayoutIncludeProps<Resources, InProps, Composables> = {}, CustomProps extends InPropsObject = {}> = {
98
98
  /**
@@ -106,7 +106,7 @@ type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<Resource
106
106
  * @param resources Resources available from the returned layout factory.
107
107
  * @returns A layout factory scoped to the selected resources.
108
108
  */
109
- <const ResourceKeys extends readonly [LayoutResourceKey<Resources>, ...Array<LayoutResourceKey<Resources>>]>(...resources: ResourceKeys): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, ResourceKeys, CustomProps>;
109
+ <const ResourceKeys extends readonly [LayoutResourceKey<Resources>, ...Array<LayoutResourceKey<Resources>>]>(...resources: ResourceKeys): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, IncludeProps, ResourceKeys, CustomProps>;
110
110
  /**
111
111
  * Creates a layout factory scoped to a resource list without default names.
112
112
  *
@@ -119,7 +119,7 @@ type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<Resource
119
119
  <const ResourceKeys extends ReadonlyArray<LayoutResourceKey<Resources>>>(options: {
120
120
  resources: ResourceKeys;
121
121
  name?: never;
122
- }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, readonly [{
122
+ }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, IncludeProps, readonly [{
123
123
  resources: ResourceKeys;
124
124
  }], CustomProps>;
125
125
  /**
@@ -145,7 +145,7 @@ type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<Resource
145
145
  name: SelectedResourceLayoutNames<LayoutResourceKey<Resources>, NoInfer<ResourceKeys[number]>, CallbackName> & AtLeastOneResourceLayoutNameKey<NoInfer<ResourceKeys[number]>> & Record<string, NonNullable<ResourceLayoutNames<LayoutResourceKey<Resources>, CallbackName>[LayoutResourceKey<Resources>]>>;
146
146
  } & {
147
147
  name: Names & Record<Exclude<keyof Names, ResourceKeys[number]>, never>;
148
- }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, MappedResourceLayoutArguments<Resources, ResourceKeys, Names, CallbackName>, CustomProps>;
148
+ }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, IncludeProps, MappedResourceLayoutArguments<Resources, ResourceKeys, Names, CallbackName>, CustomProps>;
149
149
  /**
150
150
  * Creates a scoped layout factory with one default-name callback shared by
151
151
  * every selected resource. The callback receives a capitalized resource
@@ -165,7 +165,7 @@ type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<Resource
165
165
  name: (resource: CapitalizedResource<ResourceKeys[number]>) => Name;
166
166
  } & {
167
167
  resources: ResourceKeys;
168
- }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, SharedResourceLayoutArguments<Resources, ResourceKeys, Name>, CustomProps>;
168
+ }): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, IncludeProps, SharedResourceLayoutArguments<Resources, ResourceKeys, Name>, CustomProps>;
169
169
  /**
170
170
  * Creates a scoped layout factory from a resource-keyed configuration.
171
171
  * Only configured resources are available from the returned factory.
@@ -179,7 +179,7 @@ type CreateResourceLayoutForResourcesFn<Resources extends ReadonlyArray<Resource
179
179
  * @param options Resource-keyed layout defaults.
180
180
  * @returns A layout factory scoped to the configured resources.
181
181
  */
182
- <const CallbackName extends string, const Selection extends ResourceLayoutSelection<Resources, CallbackName>>(options: Selection & AtLeastOneResourceLayoutSelection<Resources, CallbackName> & Partial<Record<Exclude<'resources', LayoutResourceKey<Resources>>, never>> & Record<Exclude<keyof Selection, LayoutResourceKey<Resources>>, never>): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, SelectedResourceLayoutArguments<Selection>, CustomProps>;
182
+ <const CallbackName extends string, const Selection extends ResourceLayoutSelection<Resources, CallbackName>>(options: Selection & AtLeastOneResourceLayoutSelection<Resources, CallbackName> & Partial<Record<Exclude<'resources', LayoutResourceKey<Resources>>, never>> & Record<Exclude<keyof Selection, LayoutResourceKey<Resources>>, never>): ScopedCreateResourceLayoutFn<Resources, InProps, Composables, IncludeProps, SelectedResourceLayoutArguments<Selection>, CustomProps>;
183
183
  };
184
184
  //#endregion
185
185
  export { CreateResourceLayoutForResourcesFn };
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-layout.d.mts","names":[],"sources":["../../../src/create-config/for-resources/scoped-layout.ts"],"mappings":"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"}
1
+ {"version":3,"file":"scoped-layout.d.mts","names":[],"sources":["../../../src/create-config/for-resources/scoped-layout.ts"],"mappings":"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"}
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { BaseComponent, MergeIntersection, Show, UnionToIntersection, pick } from "./utils.cjs";
2
2
  import { LayoutResourceKey, NormalizeResource, NormalizeResources, ResourceDefinition, ResourceEnum, ResourceLayoutComponentProps, ResourceTree, normalizeResource, normalizeResources, toResourceEnum } from "./resource.cjs";
3
- import { InPropsDefinition, InPropsFunction, InPropsObject, InPropsOptions, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined } from "./props.cjs";
3
+ import { InPropsDefinition, InPropsFunction, InPropsObject, InPropsOptions, IncludedPropBehavior, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedComponentProps, ResolvedIncludedConfigProps, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined } from "./props.cjs";
4
4
  import { defineResourceLayout } from "./create-config/define-layout.cjs";
5
5
  import { AnyComposableComponent, ComposableComponent, ComposableComponentCallable, ComposableComponents, ComposableNameContext, ComposablePresetComponent, ComposablePresetComponentCallProps, ComposablePresetMeta, ComposablePresetProps, ComposableResourceLayout, CreateLayoutComposable, DefinedComposableComponentRecord, LayoutComposablePresetProvider, LayoutComposablesFactory, MakeComposable, MakeComposableOptions, MergePresetProps, PresetPropsFromComposable, RequiredPresetLayoutProps, RequiredPresetRenderProps, ResolveLayoutComposables, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, defineComposableComponent, makeComposable, resolveComposablePresetProps, resolveLayoutComposables } from "@jfdevelops/react-layout-composables";
6
6
  import { AnyBuiltPropDefinition, ExtractDefinitionValue, PropError, PropErrorOptions, ResolveLayoutProps, ResolveLayoutPropsAsDefined, ResolveProps, ResolvedBuiltPropShape, createPrimitivePropBuilder, createProp, isPropDefinitionShape, resolvePropDefinitionValues, validateProps } from "@jfdevelops/react-layout-validator";
7
- export { type AnyBuiltPropDefinition, type AnyComposableComponent, type BaseComponent, type ComposableComponent, type ComposableComponentCallable, type ComposableComponents, type ComposableNameContext, type ComposablePresetComponent, type ComposablePresetComponentCallProps, type ComposablePresetMeta, type ComposablePresetProps, type ComposableResourceLayout, type CreateLayoutComposable, type DefinedComposableComponentRecord, type ExtractDefinitionValue, type InPropsDefinition, type InPropsFunction, type InPropsObject, type InPropsOptions, type IncludedProps, type InferredInProps, LayoutComposablePresetProvider, type LayoutComposablesFactory, type LayoutRenderProps, type LayoutResourceKey, type MakeComposable, type MakeComposableOptions, type MergeIntersection, type MergePresetProps, type MergedLayoutInProps, type NormalizeResource, type NormalizeResources, type PresetPropsFromComposable, PropError, type PropErrorOptions, type PropsContextRender, type PropsRenderDefinition, type RequiredPresetLayoutProps, type RequiredPresetRenderProps, type ResolveLayoutComposables, type ResolveLayoutProps, type ResolveLayoutPropsAsDefined, type ResolveProps, type ResolvedBuiltPropShape, type ResolvedIncludedProps, type ResolvedIncludedPropsAsDefined, type ResourceDefinition, type ResourceEnum, type ResourceLayoutComponentProps, type ResourceTree, type Show, type UnionToIntersection, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, createPrimitivePropBuilder, createProp, defineComposableComponent, defineResourceLayout, isPropDefinitionShape, makeComposable, normalizeResource, normalizeResources, pick, resolveComposablePresetProps, resolveLayoutComposables, resolvePropDefinitionValues, toResourceEnum, validateProps };
7
+ export { type AnyBuiltPropDefinition, type AnyComposableComponent, type BaseComponent, type ComposableComponent, type ComposableComponentCallable, type ComposableComponents, type ComposableNameContext, type ComposablePresetComponent, type ComposablePresetComponentCallProps, type ComposablePresetMeta, type ComposablePresetProps, type ComposableResourceLayout, type CreateLayoutComposable, type DefinedComposableComponentRecord, type ExtractDefinitionValue, type InPropsDefinition, type InPropsFunction, type InPropsObject, type InPropsOptions, type IncludedPropBehavior, type IncludedProps, type InferredInProps, LayoutComposablePresetProvider, type LayoutComposablesFactory, type LayoutRenderProps, type LayoutResourceKey, type MakeComposable, type MakeComposableOptions, type MergeIntersection, type MergePresetProps, type MergedLayoutInProps, type NormalizeResource, type NormalizeResources, type PresetPropsFromComposable, PropError, type PropErrorOptions, type PropsContextRender, type PropsRenderDefinition, type RequiredPresetLayoutProps, type RequiredPresetRenderProps, type ResolveLayoutComposables, type ResolveLayoutProps, type ResolveLayoutPropsAsDefined, type ResolveProps, type ResolvedBuiltPropShape, type ResolvedIncludedComponentProps, type ResolvedIncludedConfigProps, type ResolvedIncludedProps, type ResolvedIncludedPropsAsDefined, type ResourceDefinition, type ResourceEnum, type ResourceLayoutComponentProps, type ResourceTree, type Show, type UnionToIntersection, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, createPrimitivePropBuilder, createProp, defineComposableComponent, defineResourceLayout, isPropDefinitionShape, makeComposable, normalizeResource, normalizeResources, pick, resolveComposablePresetProps, resolveLayoutComposables, resolvePropDefinitionValues, toResourceEnum, validateProps };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { BaseComponent, MergeIntersection, Show, UnionToIntersection, pick } from "./utils.mjs";
2
2
  import { LayoutResourceKey, NormalizeResource, NormalizeResources, ResourceDefinition, ResourceEnum, ResourceLayoutComponentProps, ResourceTree, normalizeResource, normalizeResources, toResourceEnum } from "./resource.mjs";
3
- import { InPropsDefinition, InPropsFunction, InPropsObject, InPropsOptions, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined } from "./props.mjs";
3
+ import { InPropsDefinition, InPropsFunction, InPropsObject, InPropsOptions, IncludedPropBehavior, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedComponentProps, ResolvedIncludedConfigProps, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined } from "./props.mjs";
4
4
  import { defineResourceLayout } from "./create-config/define-layout.mjs";
5
5
  import { AnyComposableComponent, ComposableComponent, ComposableComponentCallable, ComposableComponents, ComposableNameContext, ComposablePresetComponent, ComposablePresetComponentCallProps, ComposablePresetMeta, ComposablePresetProps, ComposableResourceLayout, CreateLayoutComposable, DefinedComposableComponentRecord, LayoutComposablePresetProvider, LayoutComposablesFactory, MakeComposable, MakeComposableOptions, MergePresetProps, PresetPropsFromComposable, RequiredPresetLayoutProps, RequiredPresetRenderProps, ResolveLayoutComposables, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, defineComposableComponent, makeComposable, resolveComposablePresetProps, resolveLayoutComposables } from "@jfdevelops/react-layout-composables";
6
6
  import { AnyBuiltPropDefinition, ExtractDefinitionValue, PropError, PropErrorOptions, ResolveLayoutProps, ResolveLayoutPropsAsDefined, ResolveProps, ResolvedBuiltPropShape, createPrimitivePropBuilder, createProp, isPropDefinitionShape, resolvePropDefinitionValues, validateProps } from "@jfdevelops/react-layout-validator";
7
- export { type AnyBuiltPropDefinition, type AnyComposableComponent, type BaseComponent, type ComposableComponent, type ComposableComponentCallable, type ComposableComponents, type ComposableNameContext, type ComposablePresetComponent, type ComposablePresetComponentCallProps, type ComposablePresetMeta, type ComposablePresetProps, type ComposableResourceLayout, type CreateLayoutComposable, type DefinedComposableComponentRecord, type ExtractDefinitionValue, type InPropsDefinition, type InPropsFunction, type InPropsObject, type InPropsOptions, type IncludedProps, type InferredInProps, LayoutComposablePresetProvider, type LayoutComposablesFactory, type LayoutRenderProps, type LayoutResourceKey, type MakeComposable, type MakeComposableOptions, type MergeIntersection, type MergePresetProps, type MergedLayoutInProps, type NormalizeResource, type NormalizeResources, type PresetPropsFromComposable, PropError, type PropErrorOptions, type PropsContextRender, type PropsRenderDefinition, type RequiredPresetLayoutProps, type RequiredPresetRenderProps, type ResolveLayoutComposables, type ResolveLayoutProps, type ResolveLayoutPropsAsDefined, type ResolveProps, type ResolvedBuiltPropShape, type ResolvedIncludedProps, type ResolvedIncludedPropsAsDefined, type ResourceDefinition, type ResourceEnum, type ResourceLayoutComponentProps, type ResourceTree, type Show, type UnionToIntersection, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, createPrimitivePropBuilder, createProp, defineComposableComponent, defineResourceLayout, isPropDefinitionShape, makeComposable, normalizeResource, normalizeResources, pick, resolveComposablePresetProps, resolveLayoutComposables, resolvePropDefinitionValues, toResourceEnum, validateProps };
7
+ export { type AnyBuiltPropDefinition, type AnyComposableComponent, type BaseComponent, type ComposableComponent, type ComposableComponentCallable, type ComposableComponents, type ComposableNameContext, type ComposablePresetComponent, type ComposablePresetComponentCallProps, type ComposablePresetMeta, type ComposablePresetProps, type ComposableResourceLayout, type CreateLayoutComposable, type DefinedComposableComponentRecord, type ExtractDefinitionValue, type InPropsDefinition, type InPropsFunction, type InPropsObject, type InPropsOptions, type IncludedPropBehavior, type IncludedProps, type InferredInProps, LayoutComposablePresetProvider, type LayoutComposablesFactory, type LayoutRenderProps, type LayoutResourceKey, type MakeComposable, type MakeComposableOptions, type MergeIntersection, type MergePresetProps, type MergedLayoutInProps, type NormalizeResource, type NormalizeResources, type PresetPropsFromComposable, PropError, type PropErrorOptions, type PropsContextRender, type PropsRenderDefinition, type RequiredPresetLayoutProps, type RequiredPresetRenderProps, type ResolveLayoutComposables, type ResolveLayoutProps, type ResolveLayoutPropsAsDefined, type ResolveProps, type ResolvedBuiltPropShape, type ResolvedIncludedComponentProps, type ResolvedIncludedConfigProps, type ResolvedIncludedProps, type ResolvedIncludedPropsAsDefined, type ResourceDefinition, type ResourceEnum, type ResourceLayoutComponentProps, type ResourceTree, type Show, type UnionToIntersection, collectComposablePresetEntries, createComposableComponent, createLayoutComposableFactory, createPrimitivePropBuilder, createProp, defineComposableComponent, defineResourceLayout, isPropDefinitionShape, makeComposable, normalizeResource, normalizeResources, pick, resolveComposablePresetProps, resolveLayoutComposables, resolvePropDefinitionValues, toResourceEnum, validateProps };
package/dist/props.d.cts CHANGED
@@ -40,14 +40,24 @@ type RequiredVariant = true | 'required';
40
40
  */
41
41
  type PropsType<Variant extends RequiredVariant = true> = Variant | 'optional';
42
42
  type InternalPropsType = PropsType<'required'>;
43
+ /** Controls where an included layout prop is supplied and whether it is required there. */
44
+ type IncludedPropBehavior = {
45
+ visibility: 'optional' | 'required';
46
+ passthrough: 'component' | 'config';
47
+ };
48
+ type IncludedPropType = PropsType | IncludedPropBehavior;
43
49
  /**
44
50
  * A map of props to include in the layout.
45
51
  */
46
- type IncludedProps<T extends object> = { [K in keyof T & string]?: PropsType };
52
+ type IncludedProps<T extends object> = { [K in keyof T & string]?: IncludedPropType };
47
53
  type PropsKeys<Props extends InPropsObject, T> = T & keyof Props;
48
- type GetPropsKey<IncludeProps extends object, Type extends PropsType = true> = { [key in keyof IncludeProps]: IncludeProps[key] extends Type ? key : never }[keyof IncludeProps];
49
- type SelectedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>, Type extends InternalPropsType> = Pick<Props, PropsKeys<Props, GetPropsKey<IncludeProps, Type extends 'required' ? true : 'optional'>>>;
54
+ type IncludedPropVisibility<Value> = Value extends IncludedPropBehavior ? Value['visibility'] : Value extends true | 'required' ? 'required' : Value extends 'optional' ? 'optional' : never;
55
+ type IncludedPropPassthrough<Value> = Value extends IncludedPropBehavior ? Value['passthrough'] : Value extends true | 'required' ? 'config' : Value extends 'optional' ? 'component' | 'config' : never;
56
+ type GetPropsKey<IncludeProps extends object, Visibility extends InternalPropsType, Passthrough extends IncludedPropBehavior['passthrough'] | 'render' = 'render'> = { [Key in keyof IncludeProps]: IncludedPropVisibility<IncludeProps[Key]> extends Visibility ? Passthrough extends 'render' ? Key : Passthrough extends IncludedPropPassthrough<IncludeProps[Key]> ? Key : never : never }[keyof IncludeProps];
57
+ type SelectedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>, Visibility extends InternalPropsType, Passthrough extends IncludedPropBehavior['passthrough'] | 'render' = 'render'> = Pick<Props, PropsKeys<Props, GetPropsKey<IncludeProps, Visibility, Passthrough>>>;
50
58
  type ResolvedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional'>>>;
59
+ type ResolvedIncludedConfigProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required', 'config'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional', 'config'>>>;
60
+ type ResolvedIncludedComponentProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required', 'component'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional', 'component'>>>;
51
61
  /**
52
62
  * Like {@link ResolvedIncludedProps}, but keeps included prop keys exactly as
53
63
  * declared (no `JSX.Element` capitalization).
@@ -55,5 +65,5 @@ type ResolvedIncludedProps<Props extends InPropsObject, IncludeProps extends Inc
55
65
  type ResolvedIncludedPropsAsDefined<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutPropsAsDefined<SelectedIncludedProps<Props, IncludeProps, 'required'>> & Partial<ResolveLayoutPropsAsDefined<SelectedIncludedProps<Props, IncludeProps, 'optional'>>>;
56
66
  type LayoutRenderProps<Resources extends ReadonlyArray<ResourceDefinition>, Options extends InPropsDefinition<Resources>, Composables extends ComposableComponents = {}, IncludeProps extends IncludedProps<MergedLayoutInProps<Resources, Options, Composables>> = {}, CustomProps extends InPropsObject = {}> = Show<ResolveProps<CustomProps> & ResolvedIncludedProps<MergedLayoutInProps<Resources, Options, Composables>, IncludeProps>>;
57
67
  //#endregion
58
- export { InPropsDefinition, InPropsFunction, type InPropsObject, InPropsOptions, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined };
68
+ export { InPropsDefinition, InPropsFunction, type InPropsObject, InPropsOptions, IncludedPropBehavior, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedComponentProps, ResolvedIncludedConfigProps, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined };
59
69
  //# sourceMappingURL=props.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.cts","names":[],"sources":["../src/props.ts"],"mappings":";;;;;;AAsBA;;;;;AAAA,KAAY,kBAAA,4CACV,KAAA,EAAO,WAAA,EACP,OAAA,EAAS,OAAA,KACN,MAAA;;;;;;;;;;;;UAaY,qBAAA,SACP,aAAA,iBACM,KAAA,SAAc,aAAA,GAAgB,YAAA,CAAa,KAAA;EAIzD,KAAA,GAAQ,KAAA;EACR,MAAA,EAAQ,kBAAA,CAAmB,WAAA,EAAa,OAAA,EAAS,MAAA;AAAA;AAAA,KAGvC,cAAA,mBACQ,aAAA,CAAc,kBAAA;EAGhC,IAAA,EAAM,kBAAA,CAAmB,IAAA;EACzB,QAAA,EAAU,eAAA,CAAgB,YAAA,CAAa,SAAA;AAAA;AAAA,KAE7B,eAAA,mBACQ,aAAA,CAAc,kBAAA,2BAEhC,KAAA,EAAO,IAAA,CAAK,cAAA,CAAe,SAAA,EAAW,IAAA,OACnC,aAAA;AAAA,KACO,iBAAA,mBACQ,aAAA,CAAc,kBAAA,KAC9B,aAAA,GAAgB,eAAA,CAAgB,SAAA;AAAA,KACxB,eAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,KAChC,OAAA,SAAgB,eAAA,CAAgB,SAAA,IAAa,UAAA,CAAW,OAAA,IAAW,OAAA;AAAA,KAC3D,mBAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,IAEpB,eAAA,CAAgB,SAAA,EAAW,OAAA,UAAiB,aAAA,GACxC,eAAA,CAAgB,SAAA,EAAW,OAAA,IAAW,gBAAA,CAAiB,WAAA;AAAA,KAEjD,eAAA;;;;;KAKP,SAAA,iBAA0B,eAAA,WAA0B,OAAO;AAAA,KAC3D,iBAAA,GAAoB,SAAS;;;;KAItB,aAAA,mCACE,CAAA,aAAc,SAAS;AAAA,KAGhC,SAAA,eAAwB,aAAA,OAAoB,CAAA,SAAU,KAAA;AAAA,KACtD,WAAA,2CAAsD,SAAA,2BAC3C,YAAA,GAAe,YAAA,CAAa,GAAA,UAAa,IAAA,GAAO,GAAA,iBACxD,YAAA;AAAA,KACH,qBAAA,eACW,aAAA,uBACO,aAAA,CAAc,KAAA,gBACtB,iBAAA,IACX,IAAA,CACF,KAAA,EACA,SAAA,CACE,KAAA,EACA,WAAA,CAAY,YAAA,EAAc,IAAA;AAAA,KAIlB,qBAAA,eACI,aAAA,uBACO,aAAA,CAAc,KAAA,KACjC,kBAAA,CAAmB,qBAAA,CAAsB,KAAA,EAAO,YAAA,iBAClD,OAAA,CACE,kBAAA,CAAmB,qBAAA,CAAsB,KAAA,EAAO,YAAA;;;AAjEK;AAGzD;KAqEY,8BAAA,eACI,aAAA,uBACO,aAAA,CAAc,KAAA,KACjC,2BAAA,CACF,qBAAA,CAAsB,KAAA,EAAO,YAAA,iBAE7B,OAAA,CACE,2BAAA,CACE,qBAAA,CAAsB,KAAA,EAAO,YAAA;AAAA,KAGvB,iBAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACC,aAAA,CACnB,mBAAA,CAAoB,SAAA,EAAW,OAAA,EAAS,WAAA,6BAEtB,aAAA,SAClB,IAAA,CACF,YAAA,CAAa,WAAA,IACX,qBAAA,CACE,mBAAA,CAAoB,SAAA,EAAW,OAAA,EAAS,WAAA,GACxC,YAAA"}
1
+ {"version":3,"file":"props.d.cts","names":[],"sources":["../src/props.ts"],"mappings":"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"}
package/dist/props.d.mts CHANGED
@@ -40,14 +40,24 @@ type RequiredVariant = true | 'required';
40
40
  */
41
41
  type PropsType<Variant extends RequiredVariant = true> = Variant | 'optional';
42
42
  type InternalPropsType = PropsType<'required'>;
43
+ /** Controls where an included layout prop is supplied and whether it is required there. */
44
+ type IncludedPropBehavior = {
45
+ visibility: 'optional' | 'required';
46
+ passthrough: 'component' | 'config';
47
+ };
48
+ type IncludedPropType = PropsType | IncludedPropBehavior;
43
49
  /**
44
50
  * A map of props to include in the layout.
45
51
  */
46
- type IncludedProps<T extends object> = { [K in keyof T & string]?: PropsType };
52
+ type IncludedProps<T extends object> = { [K in keyof T & string]?: IncludedPropType };
47
53
  type PropsKeys<Props extends InPropsObject, T> = T & keyof Props;
48
- type GetPropsKey<IncludeProps extends object, Type extends PropsType = true> = { [key in keyof IncludeProps]: IncludeProps[key] extends Type ? key : never }[keyof IncludeProps];
49
- type SelectedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>, Type extends InternalPropsType> = Pick<Props, PropsKeys<Props, GetPropsKey<IncludeProps, Type extends 'required' ? true : 'optional'>>>;
54
+ type IncludedPropVisibility<Value> = Value extends IncludedPropBehavior ? Value['visibility'] : Value extends true | 'required' ? 'required' : Value extends 'optional' ? 'optional' : never;
55
+ type IncludedPropPassthrough<Value> = Value extends IncludedPropBehavior ? Value['passthrough'] : Value extends true | 'required' ? 'config' : Value extends 'optional' ? 'component' | 'config' : never;
56
+ type GetPropsKey<IncludeProps extends object, Visibility extends InternalPropsType, Passthrough extends IncludedPropBehavior['passthrough'] | 'render' = 'render'> = { [Key in keyof IncludeProps]: IncludedPropVisibility<IncludeProps[Key]> extends Visibility ? Passthrough extends 'render' ? Key : Passthrough extends IncludedPropPassthrough<IncludeProps[Key]> ? Key : never : never }[keyof IncludeProps];
57
+ type SelectedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>, Visibility extends InternalPropsType, Passthrough extends IncludedPropBehavior['passthrough'] | 'render' = 'render'> = Pick<Props, PropsKeys<Props, GetPropsKey<IncludeProps, Visibility, Passthrough>>>;
50
58
  type ResolvedIncludedProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional'>>>;
59
+ type ResolvedIncludedConfigProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required', 'config'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional', 'config'>>>;
60
+ type ResolvedIncludedComponentProps<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'required', 'component'>> & Partial<ResolveLayoutProps<SelectedIncludedProps<Props, IncludeProps, 'optional', 'component'>>>;
51
61
  /**
52
62
  * Like {@link ResolvedIncludedProps}, but keeps included prop keys exactly as
53
63
  * declared (no `JSX.Element` capitalization).
@@ -55,5 +65,5 @@ type ResolvedIncludedProps<Props extends InPropsObject, IncludeProps extends Inc
55
65
  type ResolvedIncludedPropsAsDefined<Props extends InPropsObject, IncludeProps extends IncludedProps<Props>> = ResolveLayoutPropsAsDefined<SelectedIncludedProps<Props, IncludeProps, 'required'>> & Partial<ResolveLayoutPropsAsDefined<SelectedIncludedProps<Props, IncludeProps, 'optional'>>>;
56
66
  type LayoutRenderProps<Resources extends ReadonlyArray<ResourceDefinition>, Options extends InPropsDefinition<Resources>, Composables extends ComposableComponents = {}, IncludeProps extends IncludedProps<MergedLayoutInProps<Resources, Options, Composables>> = {}, CustomProps extends InPropsObject = {}> = Show<ResolveProps<CustomProps> & ResolvedIncludedProps<MergedLayoutInProps<Resources, Options, Composables>, IncludeProps>>;
57
67
  //#endregion
58
- export { InPropsDefinition, InPropsFunction, type InPropsObject, InPropsOptions, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined };
68
+ export { InPropsDefinition, InPropsFunction, type InPropsObject, InPropsOptions, IncludedPropBehavior, IncludedProps, InferredInProps, LayoutRenderProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedComponentProps, ResolvedIncludedConfigProps, ResolvedIncludedProps, ResolvedIncludedPropsAsDefined };
59
69
  //# sourceMappingURL=props.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.mts","names":[],"sources":["../src/props.ts"],"mappings":";;;;;;AAsBA;;;;;AAAA,KAAY,kBAAA,4CACV,KAAA,EAAO,WAAA,EACP,OAAA,EAAS,OAAA,KACN,MAAA;;;;;;;;;;;;UAaY,qBAAA,SACP,aAAA,iBACM,KAAA,SAAc,aAAA,GAAgB,YAAA,CAAa,KAAA;EAIzD,KAAA,GAAQ,KAAA;EACR,MAAA,EAAQ,kBAAA,CAAmB,WAAA,EAAa,OAAA,EAAS,MAAA;AAAA;AAAA,KAGvC,cAAA,mBACQ,aAAA,CAAc,kBAAA;EAGhC,IAAA,EAAM,kBAAA,CAAmB,IAAA;EACzB,QAAA,EAAU,eAAA,CAAgB,YAAA,CAAa,SAAA;AAAA;AAAA,KAE7B,eAAA,mBACQ,aAAA,CAAc,kBAAA,2BAEhC,KAAA,EAAO,IAAA,CAAK,cAAA,CAAe,SAAA,EAAW,IAAA,OACnC,aAAA;AAAA,KACO,iBAAA,mBACQ,aAAA,CAAc,kBAAA,KAC9B,aAAA,GAAgB,eAAA,CAAgB,SAAA;AAAA,KACxB,eAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,KAChC,OAAA,SAAgB,eAAA,CAAgB,SAAA,IAAa,UAAA,CAAW,OAAA,IAAW,OAAA;AAAA,KAC3D,mBAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,IAEpB,eAAA,CAAgB,SAAA,EAAW,OAAA,UAAiB,aAAA,GACxC,eAAA,CAAgB,SAAA,EAAW,OAAA,IAAW,gBAAA,CAAiB,WAAA;AAAA,KAEjD,eAAA;;;;;KAKP,SAAA,iBAA0B,eAAA,WAA0B,OAAO;AAAA,KAC3D,iBAAA,GAAoB,SAAS;;;;KAItB,aAAA,mCACE,CAAA,aAAc,SAAS;AAAA,KAGhC,SAAA,eAAwB,aAAA,OAAoB,CAAA,SAAU,KAAA;AAAA,KACtD,WAAA,2CAAsD,SAAA,2BAC3C,YAAA,GAAe,YAAA,CAAa,GAAA,UAAa,IAAA,GAAO,GAAA,iBACxD,YAAA;AAAA,KACH,qBAAA,eACW,aAAA,uBACO,aAAA,CAAc,KAAA,gBACtB,iBAAA,IACX,IAAA,CACF,KAAA,EACA,SAAA,CACE,KAAA,EACA,WAAA,CAAY,YAAA,EAAc,IAAA;AAAA,KAIlB,qBAAA,eACI,aAAA,uBACO,aAAA,CAAc,KAAA,KACjC,kBAAA,CAAmB,qBAAA,CAAsB,KAAA,EAAO,YAAA,iBAClD,OAAA,CACE,kBAAA,CAAmB,qBAAA,CAAsB,KAAA,EAAO,YAAA;;;AAjEK;AAGzD;KAqEY,8BAAA,eACI,aAAA,uBACO,aAAA,CAAc,KAAA,KACjC,2BAAA,CACF,qBAAA,CAAsB,KAAA,EAAO,YAAA,iBAE7B,OAAA,CACE,2BAAA,CACE,qBAAA,CAAsB,KAAA,EAAO,YAAA;AAAA,KAGvB,iBAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACC,aAAA,CACnB,mBAAA,CAAoB,SAAA,EAAW,OAAA,EAAS,WAAA,6BAEtB,aAAA,SAClB,IAAA,CACF,YAAA,CAAa,WAAA,IACX,qBAAA,CACE,mBAAA,CAAoB,SAAA,EAAW,OAAA,EAAS,WAAA,GACxC,YAAA"}
1
+ {"version":3,"file":"props.d.mts","names":[],"sources":["../src/props.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["export type Show<T> = T extends (...args: infer A) => infer R\n ? (...args: A) => R\n : { [K in keyof T]: T[K] } & {};\nexport type MergeIntersection<T> = {\n [Key in keyof T]: T[Key];\n};\nexport type IsUnion<T, U = T> = T extends unknown\n ? [U] extends [T]\n ? false\n : true\n : never;\nexport type UnionToIntersection<Union> = (\n Union extends unknown ? (value: Union) => void : never\n) extends (value: infer Intersection) => void\n ? Intersection\n : never;\nexport type Updater<T> = T | ((prev: T) => T);\nexport type OptionalRecord<K extends string, V = unknown> = {\n [key in K]?: V;\n};\n\nexport interface BaseComponent<Name extends string, Props = {}> {\n /**\n * The name of the component. Useful for debugging and error messages.\n */\n displayName: Name;\n /**\n * A type only property to get the type of the props. At runtime,\n * this is `undefined`.\n */\n props: Props;\n}\n\nexport function pick<T extends object, K extends keyof T>(obj: T, keys: K[]) {\n if (keys.length === 0) {\n return {} as Pick<T, K>;\n }\n\n return keys.reduce(\n (acc, key) => {\n if (key in obj) acc[key] = obj[key];\n\n return acc;\n },\n {} as Pick<T, K>,\n );\n}\n\nexport function functionalUpdate<T>(value: T, updater: Updater<T>){\n if (typeof updater === 'function') {\n return (updater as (prev: T) => T)(value);\n }\n\n return updater;\n}\n"],"mappings":";;AAiCA,SAAgB,KAA0C,KAAQ,MAAW;CAC3E,IAAI,KAAK,WAAW,GAClB,OAAO,CAAC;CAGV,OAAO,KAAK,QACT,KAAK,QAAQ;EACZ,IAAI,OAAO,KAAK,IAAI,OAAO,IAAI;EAE/B,OAAO;CACT,GACA,CAAC,CACH;AACF;AAEA,SAAgB,iBAAoB,OAAU,SAAoB;CAChE,IAAI,OAAO,YAAY,YACrB,OAAQ,QAA2B,KAAK;CAG1C,OAAO;AACT"}
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["export type Show<T> = T extends (...args: infer Arguments) => infer Result\n ? ((...args: Arguments) => Result) & { [Key in keyof T]: T[Key] }\n : { [K in keyof T]: T[K] } & {};\nexport type MergeIntersection<T> = {\n [Key in keyof T]: T[Key];\n};\nexport type IsUnion<T, U = T> = T extends unknown\n ? [U] extends [T]\n ? false\n : true\n : never;\nexport type UnionToIntersection<Union> = (\n Union extends unknown ? (value: Union) => void : never\n) extends (value: infer Intersection) => void\n ? Intersection\n : never;\nexport type Updater<T> = T | ((prev: T) => T);\nexport type OptionalRecord<K extends string, V = unknown> = {\n [key in K]?: V;\n};\n\nexport interface BaseComponent<Name extends string, Props = {}> {\n /**\n * The name of the component. Useful for debugging and error messages.\n */\n displayName: Name;\n /**\n * A type only property to get the type of the props. At runtime,\n * this is `undefined`.\n */\n props: Props;\n}\n\nexport function pick<T extends object, K extends keyof T>(obj: T, keys: K[]) {\n if (keys.length === 0) {\n return {} as Pick<T, K>;\n }\n\n return keys.reduce(\n (acc, key) => {\n if (key in obj) acc[key] = obj[key];\n\n return acc;\n },\n {} as Pick<T, K>,\n );\n}\n\nexport function functionalUpdate<T>(value: T, updater: Updater<T>){\n if (typeof updater === 'function') {\n return (updater as (prev: T) => T)(value);\n }\n\n return updater;\n}\n"],"mappings":";;AAiCA,SAAgB,KAA0C,KAAQ,MAAW;CAC3E,IAAI,KAAK,WAAW,GAClB,OAAO,CAAC;CAGV,OAAO,KAAK,QACT,KAAK,QAAQ;EACZ,IAAI,OAAO,KAAK,IAAI,OAAO,IAAI;EAE/B,OAAO;CACT,GACA,CAAC,CACH;AACF;AAEA,SAAgB,iBAAoB,OAAU,SAAoB;CAChE,IAAI,OAAO,YAAY,YACrB,OAAQ,QAA2B,KAAK;CAG1C,OAAO;AACT"}
package/dist/utils.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/utils.d.ts
2
- type Show<T> = T extends ((...args: infer A) => infer R) ? (...args: A) => R : { [K in keyof T]: T[K] } & {};
2
+ type Show<T> = T extends ((...args: infer Arguments) => infer Result) ? ((...args: Arguments) => Result) & { [Key in keyof T]: T[Key] } : { [K in keyof T]: T[K] } & {};
3
3
  type MergeIntersection<T> = { [Key in keyof T]: T[Key] };
4
4
  type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends ((value: infer Intersection) => void) ? Intersection : never;
5
5
  type Updater<T> = T | ((prev: T) => T);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.cts","names":[],"sources":["../src/utils.ts"],"mappings":";KAAY,IAAA,MAAU,CAAA,cAAc,IAAA,6BAC5B,IAAA,EAAM,CAAA,KAAM,CAAA,iBACF,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KACZ,iBAAA,sBACI,CAAA,GAAI,CAAA,CAAE,GAAA;AAAA,KAOV,mBAAA,WACV,KAAA,oBAAyB,KAAA,EAAO,KAAK,6BAC5B,KAAA,iCACP,YAAA;AAAA,KAEQ,OAAA,MAAa,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA,UAK1B,aAAA;EArBK;;;EAyBpB,WAAA,EAAa,IAAA;EAxBP;;;;EA6BN,KAAA,EAAO,KAAK;AAAA;AAAA,iBAGE,IAAA,mCAAuC,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,KAAG,IAAA,CAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"utils.d.cts","names":[],"sources":["../src/utils.ts"],"mappings":";KAAY,IAAA,MAAU,CAAA,cAAc,IAAA,2CAC3B,IAAA,EAAM,SAAA,KAAc,MAAA,oBAA0B,CAAA,GAAI,CAAA,CAAE,GAAA,oBAC3C,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KACZ,iBAAA,sBACI,CAAA,GAAI,CAAA,CAAE,GAAA;AAAA,KAOV,mBAAA,WACV,KAAA,oBAAyB,KAAA,EAAO,KAAK,6BAC5B,KAAA,iCACP,YAAA;AAAA,KAEQ,OAAA,MAAa,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA,UAK1B,aAAA;EArBA;;;EAyBf,WAAA,EAAa,IAAA;EAzBqD;;;;EA8BlE,KAAA,EAAO,KAAK;AAAA;AAAA,iBAGE,IAAA,mCAAuC,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,KAAG,IAAA,CAAA,CAAA,EAAA,CAAA"}
package/dist/utils.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/utils.d.ts
2
- type Show<T> = T extends ((...args: infer A) => infer R) ? (...args: A) => R : { [K in keyof T]: T[K] } & {};
2
+ type Show<T> = T extends ((...args: infer Arguments) => infer Result) ? ((...args: Arguments) => Result) & { [Key in keyof T]: T[Key] } : { [K in keyof T]: T[K] } & {};
3
3
  type MergeIntersection<T> = { [Key in keyof T]: T[Key] };
4
4
  type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends ((value: infer Intersection) => void) ? Intersection : never;
5
5
  type Updater<T> = T | ((prev: T) => T);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","names":[],"sources":["../src/utils.ts"],"mappings":";KAAY,IAAA,MAAU,CAAA,cAAc,IAAA,6BAC5B,IAAA,EAAM,CAAA,KAAM,CAAA,iBACF,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KACZ,iBAAA,sBACI,CAAA,GAAI,CAAA,CAAE,GAAA;AAAA,KAOV,mBAAA,WACV,KAAA,oBAAyB,KAAA,EAAO,KAAK,6BAC5B,KAAA,iCACP,YAAA;AAAA,KAEQ,OAAA,MAAa,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA,UAK1B,aAAA;EArBK;;;EAyBpB,WAAA,EAAa,IAAA;EAxBP;;;;EA6BN,KAAA,EAAO,KAAK;AAAA;AAAA,iBAGE,IAAA,mCAAuC,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,KAAG,IAAA,CAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"utils.d.mts","names":[],"sources":["../src/utils.ts"],"mappings":";KAAY,IAAA,MAAU,CAAA,cAAc,IAAA,2CAC3B,IAAA,EAAM,SAAA,KAAc,MAAA,oBAA0B,CAAA,GAAI,CAAA,CAAE,GAAA,oBAC3C,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KACZ,iBAAA,sBACI,CAAA,GAAI,CAAA,CAAE,GAAA;AAAA,KAOV,mBAAA,WACV,KAAA,oBAAyB,KAAA,EAAO,KAAK,6BAC5B,KAAA,iCACP,YAAA;AAAA,KAEQ,OAAA,MAAa,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA,UAK1B,aAAA;EArBA;;;EAyBf,WAAA,EAAa,IAAA;EAzBqD;;;;EA8BlE,KAAA,EAAO,KAAK;AAAA;AAAA,iBAGE,IAAA,mCAAuC,CAAA,EAAG,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,KAAG,IAAA,CAAA,CAAA,EAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["export type Show<T> = T extends (...args: infer A) => infer R\n ? (...args: A) => R\n : { [K in keyof T]: T[K] } & {};\nexport type MergeIntersection<T> = {\n [Key in keyof T]: T[Key];\n};\nexport type IsUnion<T, U = T> = T extends unknown\n ? [U] extends [T]\n ? false\n : true\n : never;\nexport type UnionToIntersection<Union> = (\n Union extends unknown ? (value: Union) => void : never\n) extends (value: infer Intersection) => void\n ? Intersection\n : never;\nexport type Updater<T> = T | ((prev: T) => T);\nexport type OptionalRecord<K extends string, V = unknown> = {\n [key in K]?: V;\n};\n\nexport interface BaseComponent<Name extends string, Props = {}> {\n /**\n * The name of the component. Useful for debugging and error messages.\n */\n displayName: Name;\n /**\n * A type only property to get the type of the props. At runtime,\n * this is `undefined`.\n */\n props: Props;\n}\n\nexport function pick<T extends object, K extends keyof T>(obj: T, keys: K[]) {\n if (keys.length === 0) {\n return {} as Pick<T, K>;\n }\n\n return keys.reduce(\n (acc, key) => {\n if (key in obj) acc[key] = obj[key];\n\n return acc;\n },\n {} as Pick<T, K>,\n );\n}\n\nexport function functionalUpdate<T>(value: T, updater: Updater<T>){\n if (typeof updater === 'function') {\n return (updater as (prev: T) => T)(value);\n }\n\n return updater;\n}\n"],"mappings":";AAiCA,SAAgB,KAA0C,KAAQ,MAAW;CAC3E,IAAI,KAAK,WAAW,GAClB,OAAO,CAAC;CAGV,OAAO,KAAK,QACT,KAAK,QAAQ;EACZ,IAAI,OAAO,KAAK,IAAI,OAAO,IAAI;EAE/B,OAAO;CACT,GACA,CAAC,CACH;AACF;AAEA,SAAgB,iBAAoB,OAAU,SAAoB;CAChE,IAAI,OAAO,YAAY,YACrB,OAAQ,QAA2B,KAAK;CAG1C,OAAO;AACT"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["export type Show<T> = T extends (...args: infer Arguments) => infer Result\n ? ((...args: Arguments) => Result) & { [Key in keyof T]: T[Key] }\n : { [K in keyof T]: T[K] } & {};\nexport type MergeIntersection<T> = {\n [Key in keyof T]: T[Key];\n};\nexport type IsUnion<T, U = T> = T extends unknown\n ? [U] extends [T]\n ? false\n : true\n : never;\nexport type UnionToIntersection<Union> = (\n Union extends unknown ? (value: Union) => void : never\n) extends (value: infer Intersection) => void\n ? Intersection\n : never;\nexport type Updater<T> = T | ((prev: T) => T);\nexport type OptionalRecord<K extends string, V = unknown> = {\n [key in K]?: V;\n};\n\nexport interface BaseComponent<Name extends string, Props = {}> {\n /**\n * The name of the component. Useful for debugging and error messages.\n */\n displayName: Name;\n /**\n * A type only property to get the type of the props. At runtime,\n * this is `undefined`.\n */\n props: Props;\n}\n\nexport function pick<T extends object, K extends keyof T>(obj: T, keys: K[]) {\n if (keys.length === 0) {\n return {} as Pick<T, K>;\n }\n\n return keys.reduce(\n (acc, key) => {\n if (key in obj) acc[key] = obj[key];\n\n return acc;\n },\n {} as Pick<T, K>,\n );\n}\n\nexport function functionalUpdate<T>(value: T, updater: Updater<T>){\n if (typeof updater === 'function') {\n return (updater as (prev: T) => T)(value);\n }\n\n return updater;\n}\n"],"mappings":";AAiCA,SAAgB,KAA0C,KAAQ,MAAW;CAC3E,IAAI,KAAK,WAAW,GAClB,OAAO,CAAC;CAGV,OAAO,KAAK,QACT,KAAK,QAAQ;EACZ,IAAI,OAAO,KAAK,IAAI,OAAO,IAAI;EAE/B,OAAO;CACT,GACA,CAAC,CACH;AACF;AAEA,SAAgB,iBAAoB,OAAU,SAAoB;CAChE,IAAI,OAAO,YAAY,YACrB,OAAQ,QAA2B,KAAK;CAG1C,OAAO;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jfdevelops/react-layout",
3
- "version": "0.17.3",
3
+ "version": "0.17.5",
4
4
  "description": "A React library for creating layout components.",
5
5
  "repository": {
6
6
  "type": "git",