treege 3.0.0-beta.62 → 3.0.0-beta.64
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/README.md +95 -43
- package/dist/DefaultInputs-2wzCRMKH.js +1742 -0
- package/dist/{ThemeContext-cGSTk24y.js → ThemeContext-7cghqUb0.js} +108 -602
- package/dist/{editor-K1jjfc5n.js → editor-DPECN9XS.js} +1799 -1800
- package/dist/editor.js +2 -2
- package/dist/main.js +6 -4
- package/dist/renderer/features/TreegeRenderer/native/TreegeRenderer.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +1 -2
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultStep.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSubmitInput.d.ts +11 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +2 -0
- package/dist/renderer/features/TreegeRenderer/web/TreegeRenderer.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultFormWrapper.d.ts +2 -1
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultStep.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButton.d.ts +4 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSubmitInput.d.ts +10 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +2 -2
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +2 -2
- package/dist/renderer/hooks/useRenderNode.d.ts +4 -1
- package/dist/renderer/types/renderer.d.ts +73 -11
- package/dist/renderer/utils/form.d.ts +16 -0
- package/dist/renderer-DlAYvOLz.js +272 -0
- package/dist/renderer-native.js +1011 -1002
- package/dist/renderer.js +5 -3
- package/dist/useRenderNode-CZt7LwVV.js +504 -0
- package/package.json +1 -1
- package/dist/DefaultInputs-DamDWb5R.js +0 -1988
- package/dist/renderer/features/TreegeRenderer/InputRendererHost.d.ts +0 -15
package/dist/editor.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as e } from "./editor-
|
|
2
|
-
import { n as t, t as n } from "./ThemeContext-
|
|
1
|
+
import { t as e } from "./editor-DPECN9XS.js";
|
|
2
|
+
import { n as t, t as n } from "./ThemeContext-7cghqUb0.js";
|
|
3
3
|
export { n as ThemeProvider, e as TreegeEditor, t as useTheme };
|
package/dist/main.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { t as e } from "./editor-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { t as e } from "./editor-DPECN9XS.js";
|
|
2
|
+
import { D as t, E as n, F as r, I as i, L as a, N as o, P as s, a as c, c as l, h as u, i as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v } from "./ThemeContext-7cghqUb0.js";
|
|
3
|
+
import { S as y, _ as b, a as x, b as S, g as C, h as w, i as T, l as E, m as D, n as O, p as k, r as A, s as j, t as M, u as N, v as P, x as F, y as I } from "./DefaultInputs-2wzCRMKH.js";
|
|
4
|
+
import { a as L, c as R, i as z, l as B, n as V, o as H, r as U, s as W } from "./useRenderNode-CZt7LwVV.js";
|
|
5
|
+
import { i as G, n as K, r as q, t as J } from "./renderer-DlAYvOLz.js";
|
|
6
|
+
export { y as DefaultAddressInput, F as DefaultAutocompleteInput, S as DefaultCheckboxInput, I as DefaultDateInput, P as DefaultDateRangeInput, b as DefaultFileInput, C as DefaultHiddenInput, w as DefaultHttpInput, D as DefaultNumberInput, k as DefaultPasswordInput, N as DefaultRadioInput, E as DefaultSelectInput, j as DefaultSwitchInput, x as DefaultTextAreaInput, T as DefaultTextInput, A as DefaultTimeInput, O as DefaultTimeRangeInput, K as Divider, v as ThemeProvider, q as Title, e as TreegeEditor, J as TreegeRenderer, R as TreegeRendererProvider, g as applyReferenceTransformation, d as buildInitialFormValues, c as calculateReferenceFieldUpdates, m as checkFormFieldHasValue, _ as convertFormValuesToNamedFormat, M as defaultInputRenderers, G as defaultUI, H as evaluateCondition, W as evaluateConditions, h as fileToSerializable, f as filesToSerializable, U as findStartNode, z as getFlowRenderState, o as getStaticTranslations, s as getTranslatedText, l as isFieldEmpty, r as isGroupNode, i as isInputNode, L as isStartNode, a as isUINode, n as sanitize, t as sanitizeHttpResponse, u as serializableToFile, p as useTheme, V as useTreegeRenderer, B as useTreegeRendererConfig };
|
|
@@ -6,7 +6,7 @@ import { TreegeRendererProps } from '../../../types/renderer';
|
|
|
6
6
|
* - Omits className (not used in React Native)
|
|
7
7
|
* - Adds style and contentContainerStyle (React Native specific)
|
|
8
8
|
*/
|
|
9
|
-
export type TreegeRendererNativeProps = Omit<TreegeRendererProps, "className"> & {
|
|
9
|
+
export type TreegeRendererNativeProps = Omit<TreegeRendererProps, "className" | "formId"> & {
|
|
10
10
|
/**
|
|
11
11
|
* Style for the ScrollView container
|
|
12
12
|
*/
|
|
@@ -15,7 +15,6 @@ import { default as DefaultTextareaInput } from './inputs/DefaultTextareaInput';
|
|
|
15
15
|
import { default as DefaultTextInput } from './inputs/DefaultTextInput';
|
|
16
16
|
import { default as DefaultTimeInput } from './inputs/DefaultTimeInput';
|
|
17
17
|
import { default as DefaultTimeRangeInput } from './inputs/DefaultTimeRangeInput';
|
|
18
|
-
import {
|
|
18
|
+
import { InputRenderers } from '../../../../types/renderer';
|
|
19
19
|
export { DefaultAddressInput, DefaultAutocompleteInput, DefaultCheckboxInput, DefaultDateInput, DefaultDateRangeInput, DefaultFileInput, DefaultHiddenInput, DefaultHttpInput, DefaultNumberInput, DefaultPasswordInput, DefaultRadioInput, DefaultSelectInput, DefaultSwitchInput, DefaultTextareaInput, DefaultTextInput, DefaultTimeInput, DefaultTimeRangeInput, };
|
|
20
|
-
export declare const DefaultSubmitInput: (_field: InputFieldProps<"submit">, extra: InputExtraProps<"submit">) => import("react/jsx-runtime").JSX.Element;
|
|
21
20
|
export declare const defaultInputRenderers: InputRenderers;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { StepRenderProps } from '../../../../types/renderer';
|
|
2
|
-
declare const DefaultStep: ({ label, children,
|
|
2
|
+
declare const DefaultStep: ({ step, label, children, canGoBack, isLastStep, canContinue, isSubmitting, onBack, onContinue }: StepRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultStep;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultAddressInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultAddressInput: ({ field, extra }: InputRenderProps<"address">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAddressInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultAutocompleteInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultAutocompleteInput: ({ field, extra }: InputRenderProps<"autocomplete">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAutocompleteInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultCheckboxInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultCheckboxInput: ({ field, extra }: InputRenderProps<"checkbox">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultCheckboxInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultDateInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultDateInput: ({ field, extra }: InputRenderProps<"date">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultDateRangeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultDateRangeInput: ({ field, extra }: InputRenderProps<"daterange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateRangeInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultFileInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultFileInput: ({ field, extra }: InputRenderProps<"file">) => import("react/jsx-runtime").JSX.Element | null;
|
|
3
3
|
export default DefaultFileInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultHiddenInput: (
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultHiddenInput: (_props: InputRenderProps<"hidden">) => null;
|
|
3
3
|
export default DefaultHiddenInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultHttpInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultHttpInput: ({ field, extra }: InputRenderProps<"http">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultHttpInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultNumberInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultNumberInput: ({ field, extra }: InputRenderProps<"number">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultNumberInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultPasswordInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultPasswordInput: ({ field, extra }: InputRenderProps<"password">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultPasswordInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultRadioInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultRadioInput: ({ field, extra }: InputRenderProps<"radio">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultRadioInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultSelectInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultSelectInput: ({ field, extra }: InputRenderProps<"select">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSelectInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSubmitInput.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
/**
|
|
3
|
+
* The `submit` input node is declarative only: it marks where the flow submits
|
|
4
|
+
* and carries the optional custom label / `submitConfig`. The actual submit
|
|
5
|
+
* button is rendered once by the step (see `DefaultStep`), so the node itself
|
|
6
|
+
* renders nothing — guaranteeing a single, consistently-placed button whether
|
|
7
|
+
* submission comes from an explicit submit node, the default "Submit", or a
|
|
8
|
+
* "Continue" step.
|
|
9
|
+
*/
|
|
10
|
+
declare const DefaultSubmitInput: (_props: InputRenderProps<"submit">) => null;
|
|
11
|
+
export default DefaultSubmitInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultSwitchInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultSwitchInput: ({ field, extra }: InputRenderProps<"switch">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSwitchInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTextInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTextInput: ({ field, extra }: InputRenderProps<"text">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTextareaInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTextareaInput: ({ field, extra }: InputRenderProps<"textarea">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextareaInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTimeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTimeInput: ({ field, extra }: InputRenderProps<"time">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeInput;
|
package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTimeRangeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTimeRangeInput: ({ field, extra }: InputRenderProps<"timerange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeRangeInput;
|
|
@@ -28,6 +28,7 @@ export declare const useTreegeRenderer: ({ baseUrl, components, flow, googleApiK
|
|
|
28
28
|
components: {
|
|
29
29
|
form: ((props: {
|
|
30
30
|
children: import('react').ReactNode;
|
|
31
|
+
id?: string;
|
|
31
32
|
onSubmit: (e: import('react').FormEvent<HTMLFormElement>) => void;
|
|
32
33
|
}) => import('react').ReactNode) | undefined;
|
|
33
34
|
inputs: {
|
|
@@ -55,6 +56,7 @@ export declare const useTreegeRenderer: ({ baseUrl, components, flow, googleApiK
|
|
|
55
56
|
submitButton: ((props: {
|
|
56
57
|
label?: string;
|
|
57
58
|
disabled?: boolean;
|
|
59
|
+
isSubmitting?: boolean;
|
|
58
60
|
[key: string]: unknown;
|
|
59
61
|
} | {
|
|
60
62
|
children?: import('react').ReactNode;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TreegeRendererProps } from '../../../types/renderer';
|
|
2
|
-
declare const TreegeRenderer: ({ baseUrl, components, className, flow, googleApiKey, headers, language, onChange, onSubmit, theme, validate, validationMode, initialValues, isLoading, }: TreegeRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const TreegeRenderer: ({ baseUrl, components, className, flow, formId, googleApiKey, headers, language, onBack, onChange, onSubmit, theme, validate, validationMode, initialValues, isLoading, isSubmitting: isSubmittingProp, }: TreegeRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default TreegeRenderer;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormEvent, ReactNode } from 'react';
|
|
2
|
-
declare const DefaultFormWrapper: ({ children, onSubmit }: {
|
|
2
|
+
declare const DefaultFormWrapper: ({ children, id, onSubmit, }: {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
id?: string;
|
|
4
5
|
onSubmit: (e: FormEvent<HTMLFormElement>) => void;
|
|
5
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default DefaultFormWrapper;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { StepRenderProps } from '../../../../types/renderer';
|
|
2
|
-
declare const DefaultStep: ({ label, children,
|
|
2
|
+
declare const DefaultStep: ({ step, label, children, canGoBack, isLastStep, canContinue, isSubmitting, onBack, onContinue, missingFields, }: StepRenderProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultStep;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
2
|
export interface SubmitButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
3
|
label?: string;
|
|
4
|
+
/**
|
|
5
|
+
* When true, shows a spinner inside the button (and keeps it disabled).
|
|
6
|
+
*/
|
|
7
|
+
isSubmitting?: boolean;
|
|
4
8
|
}
|
|
5
9
|
/**
|
|
6
10
|
* Default submit button
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultAddressInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultAddressInput: ({ field, extra }: InputRenderProps<"address">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAddressInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultAutocompleteInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultAutocompleteInput: ({ field, extra }: InputRenderProps<"autocomplete">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAutocompleteInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultCheckboxInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultCheckboxInput: ({ field, extra }: InputRenderProps<"checkbox">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultCheckboxInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultDateInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultDateInput: ({ field, extra }: InputRenderProps<"date">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultDateRangeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultDateRangeInput: ({ field, extra }: InputRenderProps<"daterange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateRangeInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultFileInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultFileInput: ({ field, extra }: InputRenderProps<"file">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultFileInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultHiddenInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultHiddenInput: ({ field }: InputRenderProps<"hidden">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultHiddenInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultHttpInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultHttpInput: ({ field, extra }: InputRenderProps<"http">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultHttpInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultNumberInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultNumberInput: ({ field, extra }: InputRenderProps<"number">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultNumberInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultPasswordInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultPasswordInput: ({ field, extra }: InputRenderProps<"password">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultPasswordInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultRadioInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultRadioInput: ({ field, extra }: InputRenderProps<"radio">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultRadioInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultSelectInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultSelectInput: ({ field, extra }: InputRenderProps<"select">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSelectInput;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
/**
|
|
3
|
+
* The `submit` input node is declarative only: it marks where the flow submits
|
|
4
|
+
* and carries the optional custom label / `submitConfig`. The actual submit
|
|
5
|
+
* button is rendered once by the step (in its action row, next to Back) — see
|
|
6
|
+
* `DefaultStep` — so the node itself renders nothing. This guarantees a single,
|
|
7
|
+
* consistently-placed button whether submission comes from an explicit submit
|
|
8
|
+
* node, the default "Submit", or a "Continue" step.
|
|
9
|
+
*/
|
|
10
|
+
declare const DefaultSubmitInput: (_props: InputRenderProps<"submit">) => null;
|
|
3
11
|
export default DefaultSubmitInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultSwitchInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultSwitchInput: ({ field, extra }: InputRenderProps<"switch">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSwitchInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTextAreaInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTextAreaInput: ({ field, extra }: InputRenderProps<"textarea">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextAreaInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTextInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTextInput: ({ field, extra }: InputRenderProps<"text">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTimeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTimeInput: ({ field, extra }: InputRenderProps<"time">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const DefaultTimeRangeInput: (field
|
|
1
|
+
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
+
declare const DefaultTimeRangeInput: ({ field, extra }: InputRenderProps<"timerange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeRangeInput;
|
|
@@ -20,6 +20,7 @@ type UseRenderNodeParams = {
|
|
|
20
20
|
formErrors: Record<string, string>;
|
|
21
21
|
formValues: FormValues;
|
|
22
22
|
inputNodes: Node<InputNodeData>[];
|
|
23
|
+
isSubmitting?: boolean;
|
|
23
24
|
missingRequiredFields: string[];
|
|
24
25
|
setFieldValue: (fieldId: string, value: unknown) => void;
|
|
25
26
|
};
|
|
@@ -33,15 +34,17 @@ type UseRenderNodeParams = {
|
|
|
33
34
|
* - SubmitButton: Submit button component with fallback
|
|
34
35
|
* - SubmitButtonWrapper: Submit button wrapper component with fallback (web only, undefined for native)
|
|
35
36
|
*/
|
|
36
|
-
export declare const useRenderNode: ({ DefaultFormWrapper, DefaultInputWrapper, DefaultSubmitButton, DefaultSubmitButtonWrapper, config, defaultInputRenderers, defaultUI, formErrors, formValues, inputNodes, missingRequiredFields, setFieldValue, }: UseRenderNodeParams) => {
|
|
37
|
+
export declare const useRenderNode: ({ DefaultFormWrapper, DefaultInputWrapper, DefaultSubmitButton, DefaultSubmitButtonWrapper, config, defaultInputRenderers, defaultUI, formErrors, formValues, inputNodes, isSubmitting, missingRequiredFields, setFieldValue, }: UseRenderNodeParams) => {
|
|
37
38
|
FormWrapper: ((props: {
|
|
38
39
|
children: ReactNode;
|
|
40
|
+
id?: string;
|
|
39
41
|
onSubmit: (e: import('react').FormEvent<HTMLFormElement>) => void;
|
|
40
42
|
}) => ReactNode) | AnyComponent;
|
|
41
43
|
renderNode: (node: Node<TreegeNodeData>) => ReactNode;
|
|
42
44
|
SubmitButton: ((props: {
|
|
43
45
|
label?: string;
|
|
44
46
|
disabled?: boolean;
|
|
47
|
+
isSubmitting?: boolean;
|
|
45
48
|
[key: string]: unknown;
|
|
46
49
|
} | {
|
|
47
50
|
children?: ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Node } from '@xyflow/react';
|
|
2
|
-
import { FormEvent, ReactNode } from 'react';
|
|
2
|
+
import { ComponentType, FormEvent, ReactNode } from 'react';
|
|
3
3
|
import { SerializableFile } from '../utils/file';
|
|
4
4
|
import { FlowStep } from '../utils/step';
|
|
5
5
|
import { Flow, GroupNodeData, HttpHeaders, InputNodeData, InputOption, InputType, TreegeNodeData, UINodeData, UIType } from '../../shared/types/node';
|
|
@@ -143,11 +143,19 @@ export type InputExtraProps<T extends InputType = InputType> = {
|
|
|
143
143
|
compactOptions?: boolean;
|
|
144
144
|
};
|
|
145
145
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
146
|
+
* Props passed to an input renderer: the spreadable `field` props (DOM-safe, so
|
|
147
|
+
* `field` can be spread onto a control — `<input {...field} />`) and the Treege
|
|
148
|
+
* `extra` props (state setters, translations, metadata).
|
|
149
149
|
*/
|
|
150
|
-
export type
|
|
150
|
+
export type InputRenderProps<T extends InputType = InputType> = {
|
|
151
|
+
field: InputFieldProps<T>;
|
|
152
|
+
extra: InputExtraProps<T>;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* An input renderer — a React component, so it can use hooks and is rendered
|
|
156
|
+
* directly (`<Renderer field={field} extra={extra} />`) without a wrapper.
|
|
157
|
+
*/
|
|
158
|
+
export type InputRenderer<T extends InputType = InputType> = ComponentType<InputRenderProps<T>>;
|
|
151
159
|
export type UiRenderProps = {
|
|
152
160
|
node: Node<UINodeData>;
|
|
153
161
|
};
|
|
@@ -180,6 +188,13 @@ export type StepRenderProps = {
|
|
|
180
188
|
totalSteps: number;
|
|
181
189
|
/** True when this is the first step (Back should be hidden/disabled). */
|
|
182
190
|
isFirstStep: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Whether a Back button should be shown. True on any step past the first, and
|
|
193
|
+
* also on the first step when the consumer passes an `onBack` prop (to bridge
|
|
194
|
+
* back-navigation to an outer flow, e.g. a parent modal's steps). Prefer this
|
|
195
|
+
* over `isFirstStep` to decide whether to render the Back control.
|
|
196
|
+
*/
|
|
197
|
+
canGoBack: boolean;
|
|
183
198
|
/**
|
|
184
199
|
* True when this is the last visible step. The renderer turns Continue
|
|
185
200
|
* into a submit action on the last step.
|
|
@@ -188,13 +203,25 @@ export type StepRenderProps = {
|
|
|
188
203
|
/** Whether all required visible inputs of the step are filled. */
|
|
189
204
|
canContinue: boolean;
|
|
190
205
|
/**
|
|
191
|
-
*
|
|
192
|
-
*
|
|
206
|
+
* True when the step contains an explicit `submit` input node. Such a node is
|
|
207
|
+
* declarative — it renders no button itself; the step renders the single
|
|
208
|
+
* submit button (reusing the node's label). Exposed for custom step
|
|
209
|
+
* implementations that need to know a submit node is present.
|
|
210
|
+
*/
|
|
211
|
+
hasSubmitInput?: boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Translated labels of the current step's required fields still empty. Lines
|
|
214
|
+
* up with `canContinue`, so the action button can show a tooltip explaining
|
|
215
|
+
* why Continue/Submit is disabled — on every step, not just the last.
|
|
193
216
|
*/
|
|
194
217
|
missingFields?: string[];
|
|
195
218
|
/** Submission in progress (passed through from `useTreegeRenderer`). */
|
|
196
219
|
isSubmitting?: boolean;
|
|
197
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* Go back: advances to the previous step, or — on the first step, when the
|
|
222
|
+
* consumer passed an `onBack` prop — invokes that callback instead. No-op on
|
|
223
|
+
* the first step when no `onBack` prop was provided.
|
|
224
|
+
*/
|
|
198
225
|
onBack: () => void;
|
|
199
226
|
/**
|
|
200
227
|
* Advance to the next step (or trigger submit on the last step). The wrapper
|
|
@@ -226,20 +253,24 @@ export type TreegeRendererComponents = {
|
|
|
226
253
|
*/
|
|
227
254
|
step?: (props: StepRenderProps) => ReactNode;
|
|
228
255
|
/**
|
|
229
|
-
* Custom form wrapper
|
|
256
|
+
* Custom form wrapper. `id` (when provided via the `formId` prop) should be
|
|
257
|
+
* forwarded to the underlying `<form>` element to keep external submit
|
|
258
|
+
* buttons working.
|
|
230
259
|
*/
|
|
231
260
|
form?: (props: {
|
|
232
261
|
children: ReactNode;
|
|
262
|
+
id?: string;
|
|
233
263
|
onSubmit: (e: FormEvent<HTMLFormElement>) => void;
|
|
234
264
|
}) => ReactNode;
|
|
235
265
|
/**
|
|
236
266
|
* Custom submit button (supports both web and native variants)
|
|
237
|
-
* Web variant: { label?: string; disabled?: boolean; ...otherHTMLAttributes }
|
|
267
|
+
* Web variant: { label?: string; disabled?: boolean; isSubmitting?: boolean; ...otherHTMLAttributes }
|
|
238
268
|
* Native variant: { children?: ReactNode; disabled?: boolean; isSubmitting?: boolean; onPress?: () => void }
|
|
239
269
|
*/
|
|
240
270
|
submitButton?: (props: {
|
|
241
271
|
label?: string;
|
|
242
272
|
disabled?: boolean;
|
|
273
|
+
isSubmitting?: boolean;
|
|
243
274
|
[key: string]: unknown;
|
|
244
275
|
} | {
|
|
245
276
|
children?: ReactNode;
|
|
@@ -332,7 +363,23 @@ export interface TreegeRendererProps extends TreegeRendererConfig {
|
|
|
332
363
|
*/
|
|
333
364
|
flow?: Flow | null;
|
|
334
365
|
/**
|
|
335
|
-
*
|
|
366
|
+
* Sets the `id` attribute on the underlying `<form>` element, so a submit
|
|
367
|
+
* button rendered outside the renderer can target it via the native HTML
|
|
368
|
+
* `form` attribute: `<button type="submit" form={formId}>`. Web only.
|
|
369
|
+
*/
|
|
370
|
+
formId?: string;
|
|
371
|
+
/**
|
|
372
|
+
* Initial form values — use this to pre-fill the form when editing a record
|
|
373
|
+
* that was already submitted.
|
|
374
|
+
*
|
|
375
|
+
* Keys can be either `node.id` OR the same name-based keys you receive back in
|
|
376
|
+
* `onChange` / `onSubmit`, so the previously-submitted object can be fed
|
|
377
|
+
* straight back in without any remapping.
|
|
378
|
+
*
|
|
379
|
+
* Reactive: if this changes after mount (e.g. an async-fetched record resolves
|
|
380
|
+
* later), the form is re-seeded automatically. A new object literal of
|
|
381
|
+
* identical content does NOT reset the form, so in-progress user edits are
|
|
382
|
+
* preserved.
|
|
336
383
|
*/
|
|
337
384
|
initialValues?: FormValues;
|
|
338
385
|
/**
|
|
@@ -340,6 +387,21 @@ export interface TreegeRendererProps extends TreegeRendererConfig {
|
|
|
340
387
|
* the flow is being fetched. Customizable via `components.loadingSkeleton`.
|
|
341
388
|
*/
|
|
342
389
|
isLoading?: boolean;
|
|
390
|
+
/**
|
|
391
|
+
* When true, forces the submit/continue button into its loading state
|
|
392
|
+
* (spinner + disabled). Use this to keep the button busy while an async
|
|
393
|
+
* `onSubmit` is still resolving on the consumer side. It is OR-ed with the
|
|
394
|
+
* renderer's own internal submitting state, so it only ever adds to it.
|
|
395
|
+
*/
|
|
396
|
+
isSubmitting?: boolean;
|
|
397
|
+
/**
|
|
398
|
+
* Called when the user clicks Back on the FIRST step. Provide this to bridge
|
|
399
|
+
* back-navigation to an outer flow (e.g. a parent modal's steps): when set, a
|
|
400
|
+
* Back button is shown on the first step and triggers this callback instead
|
|
401
|
+
* of being a no-op. Has no effect on later steps, which always navigate back
|
|
402
|
+
* internally.
|
|
403
|
+
*/
|
|
404
|
+
onBack?: () => void;
|
|
343
405
|
/**
|
|
344
406
|
* Callback when form values change
|
|
345
407
|
*/
|