@react-typed-forms/schemas 8.1.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/controlBuilder.d.ts +9 -2
- package/lib/controlRender.d.ts +12 -11
- package/lib/hooks.d.ts +8 -8
- package/lib/index.js +329 -219
- package/lib/index.js.map +1 -1
- package/lib/renderers.d.ts +1 -0
- package/lib/schemaBuilder.d.ts +5 -2
- package/lib/types.d.ts +9 -1
- package/lib/util.d.ts +13 -1
- package/package.json +2 -2
- package/.babelrc +0 -4
- package/.rush/temp/operation/build/state.json +0 -3
- package/.rush/temp/operation/update-readme/state.json +0 -3
- package/.rush/temp/package-deps_build.json +0 -13
- package/.rush/temp/shrinkwrap-deps.json +0 -612
- package/src/controlBuilder.ts +0 -175
- package/src/controlRender.tsx +0 -790
- package/src/hooks.tsx +0 -373
- package/src/index.ts +0 -10
- package/src/internal.ts +0 -48
- package/src/renderers.tsx +0 -996
- package/src/schemaBuilder.ts +0 -171
- package/src/schemaInterface.ts +0 -31
- package/src/tailwind.tsx +0 -29
- package/src/types.ts +0 -423
- package/src/util.ts +0 -445
- package/src/validators.ts +0 -116
package/lib/controlBuilder.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ControlDefinition, DataControlDefinition, DataMatchExpression, DisplayControlDefinition, DynamicProperty, EntityExpression, GroupedControlsDefinition, JsonataExpression, SchemaField } from "./types";
|
|
1
|
+
import { ControlDefinition, DataControlDefinition, DataMatchExpression, DisplayControlDefinition, DynamicProperty, EntityExpression, GroupedControlsDefinition, JsonataExpression, SchemaField, SchemaMap } from "./types";
|
|
2
2
|
import { ActionRendererProps } from "./controlRender";
|
|
3
3
|
export declare function dataControl(field: string, title?: string | null, options?: Partial<DataControlDefinition>): DataControlDefinition;
|
|
4
4
|
export declare function textDisplayControl(text: string, options?: Partial<DisplayControlDefinition>): DisplayControlDefinition;
|
|
@@ -19,4 +19,11 @@ export interface CustomRenderOptions {
|
|
|
19
19
|
name: string;
|
|
20
20
|
fields: SchemaField[];
|
|
21
21
|
}
|
|
22
|
-
export
|
|
22
|
+
export type ControlDefinitionExtension = {
|
|
23
|
+
RenderOptions?: CustomRenderOptions | CustomRenderOptions[];
|
|
24
|
+
GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];
|
|
25
|
+
ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];
|
|
26
|
+
SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];
|
|
27
|
+
};
|
|
28
|
+
export declare function applyExtensionToSchema<A extends SchemaMap>(schemaMap: A, extension: ControlDefinitionExtension): A;
|
|
29
|
+
export declare function applyExtensionsToSchema<A extends SchemaMap>(schemaMap: A, extensions: ControlDefinitionExtension[]): A;
|
package/lib/controlRender.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React, { CSSProperties, FC, Key, ReactNode } from "react";
|
|
|
2
2
|
import { Control } from "@react-typed-forms/core";
|
|
3
3
|
import { AdornmentPlacement, ControlAdornment, ControlDefinition, DataControlDefinition, DisplayData, FieldOption, GroupRenderOptions, RenderOptions, SchemaField, SchemaInterface } from "./types";
|
|
4
4
|
import { ControlDataContext } from "./util";
|
|
5
|
-
import { UseEvalExpressionHook } from "./hooks";
|
|
5
|
+
import { EvalExpressionHook, UseEvalExpressionHook } from "./hooks";
|
|
6
6
|
export interface FormRenderer {
|
|
7
7
|
renderData: (props: DataRendererProps) => (layout: ControlLayoutProps) => ControlLayoutProps;
|
|
8
8
|
renderGroup: (props: GroupRendererProps) => (layout: ControlLayoutProps) => ControlLayoutProps;
|
|
@@ -86,14 +86,18 @@ export interface DisplayRendererProps {
|
|
|
86
86
|
className?: string;
|
|
87
87
|
style?: React.CSSProperties;
|
|
88
88
|
}
|
|
89
|
-
export interface
|
|
90
|
-
|
|
91
|
-
renderOptions: GroupRenderOptions;
|
|
89
|
+
export interface ParentRendererProps {
|
|
90
|
+
childDefinitions: ControlDefinition[];
|
|
92
91
|
renderChild: ChildRenderer;
|
|
93
92
|
className?: string;
|
|
94
93
|
style?: React.CSSProperties;
|
|
94
|
+
dataContext: ControlDataContext;
|
|
95
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
96
|
+
}
|
|
97
|
+
export interface GroupRendererProps extends ParentRendererProps {
|
|
98
|
+
renderOptions: GroupRenderOptions;
|
|
95
99
|
}
|
|
96
|
-
export interface DataRendererProps {
|
|
100
|
+
export interface DataRendererProps extends ParentRendererProps {
|
|
97
101
|
renderOptions: RenderOptions;
|
|
98
102
|
field: SchemaField;
|
|
99
103
|
id: string;
|
|
@@ -102,11 +106,6 @@ export interface DataRendererProps {
|
|
|
102
106
|
required: boolean;
|
|
103
107
|
options: FieldOption[] | undefined | null;
|
|
104
108
|
hidden: boolean;
|
|
105
|
-
className?: string;
|
|
106
|
-
style?: React.CSSProperties;
|
|
107
|
-
dataContext: ControlDataContext;
|
|
108
|
-
children: ControlDefinition[];
|
|
109
|
-
renderChild: ChildRenderer;
|
|
110
109
|
toArrayProps?: () => ArrayRendererProps;
|
|
111
110
|
}
|
|
112
111
|
export interface ActionRendererProps {
|
|
@@ -135,6 +134,7 @@ export interface DataControlProps {
|
|
|
135
134
|
renderChild: ChildRenderer;
|
|
136
135
|
allowedOptions?: Control<any[] | undefined>;
|
|
137
136
|
elementRenderer?: (elemIndex: number) => ReactNode;
|
|
137
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
138
138
|
}
|
|
139
139
|
export type CreateDataProps = (controlProps: DataControlProps) => DataRendererProps;
|
|
140
140
|
export type JsonPath = string | number;
|
|
@@ -175,8 +175,9 @@ export interface RenderControlProps {
|
|
|
175
175
|
displayControl?: Control<string | undefined>;
|
|
176
176
|
style?: React.CSSProperties;
|
|
177
177
|
allowedOptions?: Control<any[] | undefined>;
|
|
178
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
178
179
|
}
|
|
179
|
-
export declare function renderControlLayout({ definition: c, renderer, renderChild: childRenderer, control: childControl, schemaField, dataContext, formOptions: dataOptions, createDataProps: dataProps, displayControl, style, labelText, allowedOptions, }: RenderControlProps): ControlLayoutProps;
|
|
180
|
+
export declare function renderControlLayout({ definition: c, renderer, renderChild: childRenderer, control: childControl, schemaField, dataContext, formOptions: dataOptions, createDataProps: dataProps, displayControl, style, labelText, allowedOptions, useChildVisibility, }: RenderControlProps): ControlLayoutProps;
|
|
180
181
|
export declare function appendMarkup(k: keyof Omit<RenderedLayout, "errorControl" | "style" | "className">, markup: ReactNode): (layout: RenderedLayout) => void;
|
|
181
182
|
export declare function wrapMarkup(k: keyof Omit<RenderedLayout, "errorControl" | "style" | "className">, wrap: (ex: ReactNode) => ReactNode): (layout: RenderedLayout) => void;
|
|
182
183
|
export declare function layoutKeyForPlacement(pos: AdornmentPlacement): keyof Omit<RenderedLayout, "errorControl" | "style" | "className">;
|
package/lib/hooks.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { ControlDefinition, DynamicPropertyType, EntityExpression, SchemaField, SchemaInterface } from "./types";
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { Control } from "@react-typed-forms/core";
|
|
4
|
-
import { ControlDataContext } from "./util";
|
|
4
|
+
import { ControlDataContext, DynamicHookGenerator } from "./util";
|
|
5
5
|
import { DataContext } from "./controlRender";
|
|
6
|
-
export type
|
|
6
|
+
export type EvalExpressionHook<A = any> = DynamicHookGenerator<Control<A | undefined>, ControlDataContext>;
|
|
7
|
+
export type UseEvalExpressionHook = (expr: EntityExpression | undefined) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;
|
|
7
8
|
export declare function useEvalVisibilityHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, schemaField?: SchemaField): EvalExpressionHook<boolean>;
|
|
8
9
|
export declare function useEvalReadonlyHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<boolean>;
|
|
9
10
|
export declare function useEvalStyleHook(useEvalExpressionHook: UseEvalExpressionHook, property: DynamicPropertyType, definition: ControlDefinition): EvalExpressionHook<React.CSSProperties>;
|
|
10
11
|
export declare function useEvalAllowedOptionsHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<any[]>;
|
|
11
12
|
export declare function useEvalDisabledHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): EvalExpressionHook<boolean>;
|
|
12
|
-
export declare function useEvalDisplayHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition):
|
|
13
|
+
export declare function useEvalDisplayHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition): DynamicHookGenerator<Control<string | undefined> | undefined, ControlDataContext>;
|
|
13
14
|
export declare function useEvalDefaultValueHook(useEvalExpressionHook: UseEvalExpressionHook, definition: ControlDefinition, schemaField?: SchemaField): EvalExpressionHook;
|
|
14
|
-
export type EvalExpressionHook<A = any> = (groupContext: ControlDataContext) => Control<A | undefined>;
|
|
15
15
|
export declare function defaultEvalHooks(expr: EntityExpression, context: ControlDataContext): Control<any>;
|
|
16
|
-
export declare const defaultUseEvalExpressionHook:
|
|
17
|
-
export declare function makeEvalExpressionHook(f: (expr: EntityExpression, context: ControlDataContext) => Control<any>):
|
|
18
|
-
export declare function useEvalDynamicHook(definition: ControlDefinition, type: DynamicPropertyType, useEvalExpressionHook:
|
|
16
|
+
export declare const defaultUseEvalExpressionHook: UseEvalExpressionHook;
|
|
17
|
+
export declare function makeEvalExpressionHook(f: (expr: EntityExpression, context: ControlDataContext) => Control<any>): UseEvalExpressionHook;
|
|
18
|
+
export declare function useEvalDynamicHook(definition: ControlDefinition, type: DynamicPropertyType, useEvalExpressionHook: UseEvalExpressionHook): DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;
|
|
19
19
|
export declare function matchesType(context: ControlDataContext, types?: string[] | null): boolean | undefined;
|
|
20
20
|
export declare function hideDisplayOnly(context: ControlDataContext, field: SchemaField, definition: ControlDefinition, schemaInterface: SchemaInterface): boolean | undefined;
|
|
21
21
|
export declare function useJsonataExpression(jExpr: string, dataContext: DataContext, bindings?: () => Record<string, any>): Control<any>;
|