@react-typed-forms/schemas-html 4.2.0 → 5.0.1

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 (33) hide show
  1. package/lib/adornments/optionalAdornment.d.ts +4 -25
  2. package/lib/components/ArrayElementRenderer.d.ts +1 -4
  3. package/lib/components/AutocompleteRenderer.d.ts +1 -7
  4. package/lib/components/CheckRenderer.d.ts +3 -29
  5. package/lib/components/ControlInput.d.ts +2 -1
  6. package/lib/components/DefaultAccordion.d.ts +13 -6
  7. package/lib/components/DefaultArrayRenderer.d.ts +2 -9
  8. package/lib/components/DefaultDialogRenderer.d.ts +2 -8
  9. package/lib/components/DefaultDisplay.d.ts +3 -6
  10. package/lib/components/DefaultDisplayOnly.d.ts +3 -3
  11. package/lib/components/DefaultGroupRenderer.d.ts +2 -16
  12. package/lib/components/DefaultLayout.d.ts +4 -8
  13. package/lib/components/DefaultVisibility.d.ts +1 -1
  14. package/lib/components/DefaultWizardRenderer.d.ts +1 -27
  15. package/lib/components/GridRenderer.d.ts +1 -5
  16. package/lib/components/HtmlCheckButtons.d.ts +3 -0
  17. package/lib/components/JsonataRenderer.d.ts +2 -1
  18. package/lib/components/MultilineTextfield.d.ts +2 -1
  19. package/lib/components/ScrollListRenderer.d.ts +2 -0
  20. package/lib/components/SelectDataRenderer.d.ts +3 -6
  21. package/lib/components/TabsRenderer.d.ts +1 -9
  22. package/lib/components/ValueForFieldRenderer.d.ts +2 -10
  23. package/lib/createButtonActionRenderer.d.ts +2 -20
  24. package/lib/createDefaultRenderers.d.ts +8 -83
  25. package/lib/index.cjs +721 -552
  26. package/lib/index.cjs.map +1 -1
  27. package/lib/index.d.ts +3 -1
  28. package/lib/index.js +656 -476
  29. package/lib/index.js.map +1 -1
  30. package/lib/rendererOptions.d.ts +218 -0
  31. package/lib/tailwind.d.ts +14 -2
  32. package/package.json +6 -6
  33. package/lib/components/VisibleChildrenRenderer.d.ts +0 -14
@@ -0,0 +1,218 @@
1
+ import { ReactNode, ReactElement } from "react";
2
+ import { Control } from "@react-typed-forms/core";
3
+ import { CheckRendererOptions, FieldOption, DataRendererRegistration, ArrayActionOptions, RendererRegistration, FormRenderer, IconReference, AdornmentPlacement, IconPlacement, RenderOptions, SchemaNode, ActionRendererProps, ControlDataContext, OptionalAdornment } from "@react-typed-forms/schemas";
4
+ export interface CustomNavigationProps {
5
+ className?: string;
6
+ page: number;
7
+ totalPages: number;
8
+ next: ActionRendererProps;
9
+ prev: ActionRendererProps;
10
+ formRenderer: FormRenderer;
11
+ validatePage: () => Promise<boolean>;
12
+ }
13
+ export interface SelectRendererOptions {
14
+ className?: string;
15
+ emptyText?: string;
16
+ requiredText?: string;
17
+ }
18
+ export interface AutocompleteRendererOptions {
19
+ className?: string;
20
+ listContainerClass?: string;
21
+ listEntryClass?: string;
22
+ chipContainerClass?: string;
23
+ chipCloseButtonClass?: string;
24
+ }
25
+ export interface ArrayElementRendererOptions {
26
+ className?: string;
27
+ actionsClass?: string;
28
+ }
29
+ export interface DefaultScrollListOptions {
30
+ loadingIcon?: IconReference;
31
+ iconClass?: string;
32
+ spinnerClass?: string;
33
+ className?: string;
34
+ }
35
+ export interface DefaultDisplayRendererOptions {
36
+ textClassName?: string;
37
+ textTextClass?: string;
38
+ htmlClassName?: string;
39
+ }
40
+ export interface DefaultGridRenderOptions {
41
+ className?: string;
42
+ defaultColumns?: number;
43
+ rowClass?: string;
44
+ cellClass?: string;
45
+ }
46
+ export interface DefaultDialogRenderOptions {
47
+ classes?: {
48
+ className?: string;
49
+ titleClass?: string;
50
+ containerClass?: string;
51
+ };
52
+ }
53
+ export interface DefaultTabsRenderOptions {
54
+ className?: string;
55
+ tabListClass?: string;
56
+ tabClass?: string;
57
+ labelClass?: string;
58
+ activeClass?: string;
59
+ inactiveClass?: string;
60
+ contentClass?: string;
61
+ }
62
+ export interface DefaultWizardRenderOptions {
63
+ classes?: {
64
+ className?: string;
65
+ navContainerClass?: string;
66
+ contentClass?: string;
67
+ };
68
+ actions?: {
69
+ nextText?: string;
70
+ nextIcon?: IconReference;
71
+ nextValidate?: boolean;
72
+ prevText?: string;
73
+ prevIcon?: IconReference;
74
+ prevValidate?: boolean;
75
+ };
76
+ renderNavigation?: (props: CustomNavigationProps) => ReactNode;
77
+ }
78
+ export interface ValueForFieldRenderOptions extends RenderOptions {
79
+ type: "ValueForField";
80
+ fieldRef?: string | null;
81
+ noOptions?: boolean;
82
+ refIsDirect?: boolean;
83
+ }
84
+ export interface ValueForFieldOptions {
85
+ schema: SchemaNode;
86
+ }
87
+ export interface DefaultArrayRendererOptions extends ArrayActionOptions {
88
+ className?: string;
89
+ removableClass?: string;
90
+ childClass?: string;
91
+ removableChildClass?: string;
92
+ removeActionClass?: string;
93
+ addActionClass?: string;
94
+ }
95
+ export interface DefaultLayoutRendererOptions {
96
+ className?: string;
97
+ errorClass?: string;
98
+ renderError?: (errorText: string | null | undefined, errorId?: string) => ReactNode;
99
+ }
100
+ export interface DefaultActionRendererOptions {
101
+ buttonClass?: string;
102
+ textClass?: string;
103
+ primaryClass?: string;
104
+ primaryTextClass?: string;
105
+ secondaryClass?: string;
106
+ secondaryTextClass?: string;
107
+ linkClass?: string;
108
+ linkTextClass?: string;
109
+ iconBeforeClass?: string;
110
+ iconAfterClass?: string;
111
+ groupClass?: string;
112
+ renderContent?: (actionText: string, actionId: string, actionData: any, busy?: boolean) => ReactNode;
113
+ icon?: IconReference;
114
+ iconPlacement?: IconPlacement;
115
+ busyIcon?: IconReference;
116
+ busyIconPlacement?: IconPlacement;
117
+ notWrapInText?: boolean;
118
+ androidRippleColor?: string;
119
+ }
120
+ export interface OptionalRenderProps {
121
+ allValues: Control<unknown[]>;
122
+ editing: Control<boolean | undefined>;
123
+ children: ReactNode;
124
+ adornment: OptionalAdornment;
125
+ nullToggler: Control<boolean>;
126
+ dataContext: ControlDataContext;
127
+ options: DefaultOptionalAdornmentOptions;
128
+ dataControl: Control<any>;
129
+ }
130
+ export interface DefaultOptionalAdornmentOptions {
131
+ className?: string;
132
+ checkClass?: string;
133
+ childWrapperClass?: string;
134
+ multiValuesClass?: string;
135
+ multiValuesText?: string;
136
+ nullWrapperClass?: string;
137
+ setNullText?: string;
138
+ defaultPlacement?: AdornmentPlacement;
139
+ hideEdit?: boolean;
140
+ customRender?: (props: OptionalRenderProps) => ReactNode;
141
+ }
142
+ export interface DefaultAccordionRendererOptions {
143
+ className?: string;
144
+ titleTextClass?: string;
145
+ togglerClass?: string;
146
+ iconOpen?: IconReference;
147
+ iconClosed?: IconReference;
148
+ renderTitle?: (title: ReactNode, current: Control<boolean>) => ReactNode;
149
+ renderToggler?: (current: Control<boolean>, title: ReactNode) => ReactNode;
150
+ useCss?: boolean;
151
+ }
152
+ export interface DefaultHelpTextRendererOptions {
153
+ triggerContainerClass?: string;
154
+ triggerLabelClass?: string;
155
+ contentContainerClass?: string;
156
+ contentTextClass?: string;
157
+ iconName?: string;
158
+ iconClass?: string;
159
+ }
160
+ export interface DefaultAdornmentRendererOptions {
161
+ accordion?: DefaultAccordionRendererOptions;
162
+ helpText?: DefaultHelpTextRendererOptions;
163
+ optional?: DefaultOptionalAdornmentOptions;
164
+ }
165
+ export interface DefaultLabelRendererOptions {
166
+ className?: string;
167
+ textClass?: string;
168
+ groupLabelClass?: string;
169
+ groupLabelTextClass?: string;
170
+ controlLabelClass?: string;
171
+ controlLabelTextClass?: string;
172
+ requiredElement?: (h: FormRenderer["html"]) => ReactNode;
173
+ labelContainer?: (children: ReactElement) => ReactElement;
174
+ }
175
+ export interface DefaultGroupRendererOptions {
176
+ className?: string;
177
+ standardClassName?: string;
178
+ grid?: DefaultGridRenderOptions;
179
+ flexClassName?: string;
180
+ defaultFlexGap?: string;
181
+ inlineClass?: string;
182
+ tabs?: DefaultTabsRenderOptions;
183
+ wizard?: DefaultWizardRenderOptions;
184
+ dialog?: DefaultDialogRenderOptions;
185
+ accordion?: DefaultAccordionRendererOptions;
186
+ }
187
+ export interface DefaultDataRendererOptions {
188
+ inputClass?: string;
189
+ inputTextClass?: string;
190
+ displayOnlyClass?: string;
191
+ selectOptions?: SelectRendererOptions;
192
+ checkboxOptions?: CheckRendererOptions;
193
+ checkOptions?: CheckRendererOptions;
194
+ radioOptions?: CheckRendererOptions;
195
+ checkListOptions?: CheckRendererOptions;
196
+ autocompleteOptions?: AutocompleteRendererOptions;
197
+ arrayElementOptions?: ArrayElementRendererOptions;
198
+ booleanOptions?: FieldOption[];
199
+ optionRenderer?: DataRendererRegistration;
200
+ multilineClass?: string;
201
+ jsonataClass?: string;
202
+ arrayOptions?: ArrayActionOptions;
203
+ defaultEmptyText?: string;
204
+ scrollListOptions?: DefaultScrollListOptions;
205
+ }
206
+ export interface DefaultRendererOptions {
207
+ data?: DefaultDataRendererOptions;
208
+ display?: DefaultDisplayRendererOptions;
209
+ action?: DefaultActionRendererOptions;
210
+ array?: DefaultArrayRendererOptions;
211
+ group?: DefaultGroupRendererOptions;
212
+ label?: DefaultLabelRendererOptions;
213
+ adornment?: DefaultAdornmentRendererOptions;
214
+ layout?: DefaultLayoutRendererOptions;
215
+ extraRenderers?: (options: DefaultRendererOptions) => RendererRegistration[];
216
+ html?: FormRenderer["html"];
217
+ }
218
+ export declare const DefaultBoolOptions: FieldOption[];
package/lib/tailwind.d.ts CHANGED
@@ -1,7 +1,8 @@
1
+ import React from "react";
1
2
  export declare const defaultTailwindTheme: {
2
3
  label: {
3
4
  groupLabelClass: string;
4
- requiredElement: ({ Span }: import("@react-typed-forms/schemas").HtmlComponents) => JSX.Element;
5
+ requiredElement: ({ Span }: import("@react-typed-forms/schemas").HtmlComponents) => React.JSX.Element;
5
6
  };
6
7
  array: {
7
8
  removableClass: string;
@@ -14,6 +15,7 @@ export declare const defaultTailwindTheme: {
14
15
  grid: {
15
16
  className: string;
16
17
  rowClass: string;
18
+ cellClass: string;
17
19
  };
18
20
  flexClassName: string;
19
21
  inlineClass: string;
@@ -33,6 +35,10 @@ export declare const defaultTailwindTheme: {
33
35
  secondaryClass: string;
34
36
  iconBeforeClass: string;
35
37
  iconAfterClass: string;
38
+ busyIcon: {
39
+ library: import("@react-typed-forms/schemas").IconLibrary;
40
+ name: string;
41
+ };
36
42
  };
37
43
  layout: {
38
44
  className: string;
@@ -59,11 +65,17 @@ export declare const defaultTailwindTheme: {
59
65
  chipContainerClass: string;
60
66
  chipCloseButtonClass: string;
61
67
  };
68
+ scrollListOptions: {
69
+ loadingIcon: {
70
+ library: import("@react-typed-forms/schemas").IconLibrary;
71
+ name: string;
72
+ };
73
+ };
62
74
  };
63
75
  adornment: {
64
76
  accordion: {
65
77
  className: string;
66
- titleClass: string;
78
+ titleTextClass: string;
67
79
  iconOpen: {
68
80
  library: import("@react-typed-forms/schemas").IconLibrary;
69
81
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-typed-forms/schemas-html",
3
- "version": "4.2.0",
3
+ "version": "5.0.1",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
@@ -39,18 +39,18 @@
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@react-typed-forms/core": "^4.4.0",
42
- "@react-typed-forms/schemas": "^16.1.0",
42
+ "@react-typed-forms/schemas": "^17.1.0",
43
43
  "react": "^18.2.0 || ^19"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@react-typed-forms/core": "^4.4.3",
47
- "@react-typed-forms/schemas": "^16.2.2",
47
+ "@react-typed-forms/schemas": "^17.0.0",
48
48
  "@astroapps/controls": "^1.3.3",
49
49
  "react": "^18.2.0 || ^19",
50
50
  "react-dom": "^18.2.0 || ^19",
51
51
  "@react-typed-forms/transform": "^0.2.0",
52
52
  "@types/uuid": "^10.0.0",
53
- "@types/react": "^18.2.28",
53
+ "@types/react": "^18.2.28 || ^ 19",
54
54
  "markdown-magic": "^2.6.1",
55
55
  "microbundle": "^0.15.1",
56
56
  "nswag": "^13.18.2",
@@ -60,8 +60,8 @@
60
60
  },
61
61
  "gitHead": "698e16cd3ab31b7dd0528fc76536f4d3205ce8c6",
62
62
  "scripts": {
63
- "build": "rimraf ./lib/ node_modules/.cache && microbundle -f modern,cjs --no-compress --jsxImportSource=react",
64
- "watch": "microbundle -w -f modern,cjs --no-compress --jsxImportSource=react",
63
+ "build": "rimraf ./lib/ node_modules/.cache && microbundle -f modern,cjs --no-compress --jsx React --jsxImportSource=react",
64
+ "watch": "microbundle -f modern,cjs --no-compress --jsx React --jsxImportSource=react",
65
65
  "update-readme": "md-magic --path README.md"
66
66
  }
67
67
  }
@@ -1,14 +0,0 @@
1
- import { ControlDataContext, FormNode, ParentRendererProps } from "@react-typed-forms/schemas";
2
- import { ReactNode } from "react";
3
- interface VisibleChildrenRendererProps<A> {
4
- parent: ParentRendererProps;
5
- parentFormNode: FormNode;
6
- dataContext: ControlDataContext;
7
- props: A;
8
- render: (props: A, isChildVisible: (childIndex: number) => boolean) => ReactNode;
9
- }
10
- /**
11
- * @trackControls
12
- */
13
- export declare function VisibleChildrenRenderer<A>(props: VisibleChildrenRendererProps<A>): ReactNode;
14
- export {};