@lssm/lib.presentation-runtime-react 0.0.0-canary-20251217054315 → 0.0.0-canary-20251217060433
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/dist/WorkflowStepRenderer.d.ts +31 -0
- package/dist/WorkflowStepper.d.ts +18 -0
- package/dist/index.d.ts +114 -0
- package/dist/nativewind-env.d.ts +1 -0
- package/dist/useWorkflow.d.ts +26 -0
- package/package.json +10 -10
- package/dist/nativewind-env.d.js +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
import { FormRef, Step, StepExecution, WorkflowSpec, WorkflowState } from "@lssm/lib.contracts/workflow";
|
|
4
|
+
|
|
5
|
+
//#region src/WorkflowStepRenderer.d.ts
|
|
6
|
+
interface WorkflowStepRendererProps {
|
|
7
|
+
spec: WorkflowSpec;
|
|
8
|
+
state: WorkflowState | null;
|
|
9
|
+
className?: string;
|
|
10
|
+
renderHumanStep?: (form: FormRef, step: Step) => React.ReactNode;
|
|
11
|
+
renderAutomationStep?: (step: Step) => React.ReactNode;
|
|
12
|
+
renderDecisionStep?: (step: Step) => React.ReactNode;
|
|
13
|
+
loadingFallback?: React.ReactNode;
|
|
14
|
+
completedFallback?: React.ReactNode;
|
|
15
|
+
cancelledFallback?: React.ReactNode;
|
|
16
|
+
failedFallback?: (state: WorkflowState, last: StepExecution | undefined) => React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
declare function WorkflowStepRenderer({
|
|
19
|
+
spec,
|
|
20
|
+
state,
|
|
21
|
+
className,
|
|
22
|
+
renderHumanStep,
|
|
23
|
+
renderAutomationStep,
|
|
24
|
+
renderDecisionStep,
|
|
25
|
+
loadingFallback,
|
|
26
|
+
completedFallback,
|
|
27
|
+
cancelledFallback,
|
|
28
|
+
failedFallback
|
|
29
|
+
}: WorkflowStepRendererProps): react_jsx_runtime0.JSX.Element;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { WorkflowStepRenderer, WorkflowStepRendererProps };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
import { WorkflowSpec, WorkflowState } from "@lssm/lib.contracts/workflow";
|
|
3
|
+
|
|
4
|
+
//#region src/WorkflowStepper.d.ts
|
|
5
|
+
interface WorkflowStepperProps {
|
|
6
|
+
spec: WorkflowSpec;
|
|
7
|
+
state: WorkflowState | null;
|
|
8
|
+
className?: string;
|
|
9
|
+
showLabels?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare function WorkflowStepper({
|
|
12
|
+
spec,
|
|
13
|
+
state,
|
|
14
|
+
className,
|
|
15
|
+
showLabels
|
|
16
|
+
}: WorkflowStepperProps): react_jsx_runtime0.JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { WorkflowStepper, WorkflowStepperProps };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { WorkflowStepRenderer } from "./WorkflowStepRenderer.js";
|
|
2
|
+
import { WorkflowStepper } from "./WorkflowStepper.js";
|
|
3
|
+
import { UseWorkflowOptions, UseWorkflowResult, useWorkflow } from "./useWorkflow.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { DefaultValues, Resolver, UseFormReturn } from "react-hook-form";
|
|
6
|
+
import { ListFetcher, ListState } from "@lssm/lib.presentation-runtime-core";
|
|
7
|
+
|
|
8
|
+
//#region src/index.d.ts
|
|
9
|
+
interface UsePresentationControllerOpts<TFilters extends Record<string, unknown>, TVars, TItem> {
|
|
10
|
+
defaults: ListState<TFilters>;
|
|
11
|
+
form: {
|
|
12
|
+
defaultValues: DefaultValues<TFilters> | TFilters;
|
|
13
|
+
resolver?: Resolver<TFilters>;
|
|
14
|
+
};
|
|
15
|
+
toVariables: (input: ListState<TFilters>) => TVars;
|
|
16
|
+
fetcher: ListFetcher<TVars, TItem>;
|
|
17
|
+
toChips?: (filters: TFilters, setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void) => {
|
|
18
|
+
key: string;
|
|
19
|
+
label: React.ReactNode;
|
|
20
|
+
onRemove?: () => void;
|
|
21
|
+
}[];
|
|
22
|
+
useUrlState: (args: {
|
|
23
|
+
defaults: ListState<TFilters>;
|
|
24
|
+
replace?: boolean;
|
|
25
|
+
}) => {
|
|
26
|
+
state: ListState<TFilters>;
|
|
27
|
+
setState: (next: Partial<ListState<TFilters>>) => void;
|
|
28
|
+
setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void;
|
|
29
|
+
clearFilters: () => void;
|
|
30
|
+
};
|
|
31
|
+
replace?: boolean;
|
|
32
|
+
}
|
|
33
|
+
declare function usePresentationController<TFilters extends Record<string, unknown>, TVars, TItem>({
|
|
34
|
+
defaults,
|
|
35
|
+
form: formOpts,
|
|
36
|
+
toVariables,
|
|
37
|
+
fetcher,
|
|
38
|
+
toChips,
|
|
39
|
+
useUrlState,
|
|
40
|
+
replace
|
|
41
|
+
}: UsePresentationControllerOpts<TFilters, TVars, TItem>): {
|
|
42
|
+
readonly form: UseFormReturn<TFilters>;
|
|
43
|
+
readonly url: {
|
|
44
|
+
state: ListState<TFilters>;
|
|
45
|
+
setState: (next: Partial<ListState<TFilters>>) => void;
|
|
46
|
+
setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void;
|
|
47
|
+
clearFilters: () => void;
|
|
48
|
+
};
|
|
49
|
+
readonly variables: TVars;
|
|
50
|
+
readonly data: TItem[];
|
|
51
|
+
readonly loading: boolean;
|
|
52
|
+
readonly error: unknown;
|
|
53
|
+
readonly totalItems: number | undefined;
|
|
54
|
+
readonly totalPages: number | undefined;
|
|
55
|
+
readonly refetch: () => Promise<void>;
|
|
56
|
+
readonly chips: {
|
|
57
|
+
key: string;
|
|
58
|
+
label: React.ReactNode;
|
|
59
|
+
onRemove?: () => void;
|
|
60
|
+
}[];
|
|
61
|
+
readonly setSearch: (q: string) => void;
|
|
62
|
+
readonly submitFilters: (e?: React.BaseSyntheticEvent) => Promise<void>;
|
|
63
|
+
readonly clearAll: () => void;
|
|
64
|
+
};
|
|
65
|
+
interface UseListCoordinatorOpts<TFilters extends Record<string, unknown>, TVars> {
|
|
66
|
+
defaults: ListState<TFilters>;
|
|
67
|
+
form: {
|
|
68
|
+
defaultValues: DefaultValues<TFilters>;
|
|
69
|
+
resolver?: Resolver<TFilters>;
|
|
70
|
+
};
|
|
71
|
+
toVariables: (input: ListState<TFilters>) => TVars;
|
|
72
|
+
toChips?: (filters: TFilters, setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void) => {
|
|
73
|
+
key: string;
|
|
74
|
+
label: React.ReactNode;
|
|
75
|
+
onRemove?: () => void;
|
|
76
|
+
}[];
|
|
77
|
+
useUrlState: (args: {
|
|
78
|
+
defaults: ListState<TFilters>;
|
|
79
|
+
replace?: boolean;
|
|
80
|
+
}) => {
|
|
81
|
+
state: ListState<TFilters>;
|
|
82
|
+
setState: (next: Partial<ListState<TFilters>>) => void;
|
|
83
|
+
setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void;
|
|
84
|
+
clearFilters: () => void;
|
|
85
|
+
};
|
|
86
|
+
replace?: boolean;
|
|
87
|
+
}
|
|
88
|
+
declare function useListCoordinator<TFilters extends Record<string, unknown>, TVars>({
|
|
89
|
+
defaults,
|
|
90
|
+
form: formOpts,
|
|
91
|
+
toVariables,
|
|
92
|
+
toChips,
|
|
93
|
+
useUrlState,
|
|
94
|
+
replace
|
|
95
|
+
}: UseListCoordinatorOpts<TFilters, TVars>): {
|
|
96
|
+
readonly form: UseFormReturn<TFilters>;
|
|
97
|
+
readonly url: {
|
|
98
|
+
state: ListState<TFilters>;
|
|
99
|
+
setState: (next: Partial<ListState<TFilters>>) => void;
|
|
100
|
+
setFilter: (key: keyof TFilters, value: TFilters[keyof TFilters] | null) => void;
|
|
101
|
+
clearFilters: () => void;
|
|
102
|
+
};
|
|
103
|
+
readonly variables: TVars;
|
|
104
|
+
readonly chips: {
|
|
105
|
+
key: string;
|
|
106
|
+
label: React.ReactNode;
|
|
107
|
+
onRemove?: () => void;
|
|
108
|
+
}[];
|
|
109
|
+
readonly setSearch: (q: string) => void;
|
|
110
|
+
readonly submitFilters: (e?: React.BaseSyntheticEvent) => Promise<void>;
|
|
111
|
+
readonly clearAll: () => void;
|
|
112
|
+
};
|
|
113
|
+
//#endregion
|
|
114
|
+
export { UseListCoordinatorOpts, UsePresentationControllerOpts, type UseWorkflowOptions, type UseWorkflowResult, WorkflowStepRenderer, WorkflowStepper, useListCoordinator, usePresentationController, useWorkflow };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { WorkflowRunner, WorkflowState } from "@lssm/lib.contracts/workflow";
|
|
2
|
+
|
|
3
|
+
//#region src/useWorkflow.d.ts
|
|
4
|
+
interface UseWorkflowOptions {
|
|
5
|
+
workflowId: string;
|
|
6
|
+
runner: WorkflowRunner;
|
|
7
|
+
autoRefresh?: boolean;
|
|
8
|
+
refreshIntervalMs?: number;
|
|
9
|
+
}
|
|
10
|
+
interface UseWorkflowResult {
|
|
11
|
+
state: WorkflowState | null;
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
isExecuting: boolean;
|
|
15
|
+
refresh: () => Promise<void>;
|
|
16
|
+
executeStep: (input?: unknown) => Promise<void>;
|
|
17
|
+
cancel: () => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
declare function useWorkflow({
|
|
20
|
+
workflowId,
|
|
21
|
+
runner,
|
|
22
|
+
autoRefresh,
|
|
23
|
+
refreshIntervalMs
|
|
24
|
+
}: UseWorkflowOptions): UseWorkflowResult;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { UseWorkflowOptions, UseWorkflowResult, useWorkflow };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/lib.presentation-runtime-react",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251217060433",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -21,23 +21,23 @@
|
|
|
21
21
|
"react": "^19.2.3",
|
|
22
22
|
"react-hook-form": "^7.68.0",
|
|
23
23
|
"zod": "^4.1.13",
|
|
24
|
-
"@lssm/lib.presentation-runtime-core": "0.0.0-canary-
|
|
24
|
+
"@lssm/lib.presentation-runtime-core": "0.0.0-canary-20251217060433"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@lssm/lib.presentation-runtime-core": "0.0.0-canary-
|
|
28
|
-
"@lssm/lib.contracts": "0.0.0-canary-
|
|
29
|
-
"@lssm/lib.design-system": "0.0.0-canary-
|
|
30
|
-
"@lssm/lib.ui-kit-web": "0.0.0-canary-
|
|
27
|
+
"@lssm/lib.presentation-runtime-core": "0.0.0-canary-20251217060433",
|
|
28
|
+
"@lssm/lib.contracts": "0.0.0-canary-20251217060433",
|
|
29
|
+
"@lssm/lib.design-system": "0.0.0-canary-20251217060433",
|
|
30
|
+
"@lssm/lib.ui-kit-web": "0.0.0-canary-20251217060433"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"exports": {
|
|
37
|
-
".": "./
|
|
38
|
-
"./useWorkflow": "./
|
|
39
|
-
"./WorkflowStepper": "./
|
|
40
|
-
"./WorkflowStepRenderer": "./
|
|
37
|
+
".": "./dist/index.js",
|
|
38
|
+
"./useWorkflow": "./dist/useWorkflow.js",
|
|
39
|
+
"./WorkflowStepper": "./dist/WorkflowStepper.js",
|
|
40
|
+
"./WorkflowStepRenderer": "./dist/WorkflowStepRenderer.js",
|
|
41
41
|
"./*": "./*"
|
|
42
42
|
},
|
|
43
43
|
"publishConfig": {
|
package/dist/nativewind-env.d.js
DELETED
|
File without changes
|