@react-typed-forms/schemas 8.2.0 → 9.1.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 +10 -2
- package/lib/controlRender.d.ts +13 -11
- package/lib/hooks.d.ts +8 -8
- package/lib/index.js +336 -219
- package/lib/index.js.map +1 -1
- package/lib/renderers.d.ts +2 -0
- package/lib/schemaBuilder.d.ts +5 -2
- package/lib/types.d.ts +9 -1
- package/lib/util.d.ts +12 -0
- 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 -453
- 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,12 @@ 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
|
+
DisplayData?: CustomRenderOptions | CustomRenderOptions[];
|
|
28
|
+
};
|
|
29
|
+
export declare function applyExtensionToSchema<A extends SchemaMap>(schemaMap: A, extension: ControlDefinitionExtension): A;
|
|
30
|
+
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;
|
|
@@ -83,17 +83,22 @@ export interface LabelRendererProps {
|
|
|
83
83
|
export interface DisplayRendererProps {
|
|
84
84
|
data: DisplayData;
|
|
85
85
|
display?: Control<string | undefined>;
|
|
86
|
+
dataContext: ControlDataContext;
|
|
86
87
|
className?: string;
|
|
87
88
|
style?: React.CSSProperties;
|
|
88
89
|
}
|
|
89
|
-
export interface
|
|
90
|
-
|
|
91
|
-
renderOptions: GroupRenderOptions;
|
|
90
|
+
export interface ParentRendererProps {
|
|
91
|
+
childDefinitions: ControlDefinition[];
|
|
92
92
|
renderChild: ChildRenderer;
|
|
93
93
|
className?: string;
|
|
94
94
|
style?: React.CSSProperties;
|
|
95
|
+
dataContext: ControlDataContext;
|
|
96
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
97
|
+
}
|
|
98
|
+
export interface GroupRendererProps extends ParentRendererProps {
|
|
99
|
+
renderOptions: GroupRenderOptions;
|
|
95
100
|
}
|
|
96
|
-
export interface DataRendererProps {
|
|
101
|
+
export interface DataRendererProps extends ParentRendererProps {
|
|
97
102
|
renderOptions: RenderOptions;
|
|
98
103
|
field: SchemaField;
|
|
99
104
|
id: string;
|
|
@@ -102,11 +107,6 @@ export interface DataRendererProps {
|
|
|
102
107
|
required: boolean;
|
|
103
108
|
options: FieldOption[] | undefined | null;
|
|
104
109
|
hidden: boolean;
|
|
105
|
-
className?: string;
|
|
106
|
-
style?: React.CSSProperties;
|
|
107
|
-
dataContext: ControlDataContext;
|
|
108
|
-
children: ControlDefinition[];
|
|
109
|
-
renderChild: ChildRenderer;
|
|
110
110
|
toArrayProps?: () => ArrayRendererProps;
|
|
111
111
|
}
|
|
112
112
|
export interface ActionRendererProps {
|
|
@@ -135,6 +135,7 @@ export interface DataControlProps {
|
|
|
135
135
|
renderChild: ChildRenderer;
|
|
136
136
|
allowedOptions?: Control<any[] | undefined>;
|
|
137
137
|
elementRenderer?: (elemIndex: number) => ReactNode;
|
|
138
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
138
139
|
}
|
|
139
140
|
export type CreateDataProps = (controlProps: DataControlProps) => DataRendererProps;
|
|
140
141
|
export type JsonPath = string | number;
|
|
@@ -175,8 +176,9 @@ export interface RenderControlProps {
|
|
|
175
176
|
displayControl?: Control<string | undefined>;
|
|
176
177
|
style?: React.CSSProperties;
|
|
177
178
|
allowedOptions?: Control<any[] | undefined>;
|
|
179
|
+
useChildVisibility: (child: number | number[]) => EvalExpressionHook<boolean>;
|
|
178
180
|
}
|
|
179
|
-
export declare function renderControlLayout({ definition: c, renderer, renderChild: childRenderer, control: childControl, schemaField, dataContext, formOptions: dataOptions, createDataProps: dataProps, displayControl, style, labelText, allowedOptions, }: RenderControlProps): ControlLayoutProps;
|
|
181
|
+
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
182
|
export declare function appendMarkup(k: keyof Omit<RenderedLayout, "errorControl" | "style" | "className">, markup: ReactNode): (layout: RenderedLayout) => void;
|
|
181
183
|
export declare function wrapMarkup(k: keyof Omit<RenderedLayout, "errorControl" | "style" | "className">, wrap: (ex: ReactNode) => ReactNode): (layout: RenderedLayout) => void;
|
|
182
184
|
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>;
|