@burdenoff/microfe-workflows 2026.625.1 → 2026.626.2
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/providers/WorkflowsProvider.js +101 -48
- package/package.json +2 -2
|
@@ -1,80 +1,133 @@
|
|
|
1
1
|
import { setWorkflowsConfig as e } from "../config/index.js";
|
|
2
2
|
import { useWorkflowsTranslation as t } from "../i18n.js";
|
|
3
3
|
import { createContext as n, useEffect as r, useState as i } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { EmphasisPanel as a, GlassCard as o, IllustratedEmptyState as s, NextSteps as c, PagePurpose as l } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
import { Boxes as u, LayoutDashboard as d, Workflow as f } from "lucide-react";
|
|
6
|
+
import { resetFluidGridsClient as p, resetGlobalStoreClient as m, setFluidGridsClient as h, setFluidGridsConfig as g, setGlobalStoreClient as _ } from "@burdenoff/fluidgrids-fe-sdk";
|
|
7
|
+
import { useGatewayClient as v } from "@burdenoff/fe-libs/shared/graphql";
|
|
8
|
+
import { PermissionProvider as y } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
9
|
+
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
9
10
|
//#region src/providers/WorkflowsProvider.tsx
|
|
10
|
-
var
|
|
11
|
-
function
|
|
11
|
+
var S = n(null);
|
|
12
|
+
function C(e) {
|
|
12
13
|
let t = e.endsWith("/") ? e.slice(0, -1) : e;
|
|
13
14
|
return t.endsWith("/graphql") ? t : `${t}/workspaces/graphql`;
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}), [
|
|
20
|
-
if (
|
|
21
|
-
let t =
|
|
16
|
+
function w({ children: n, ...w }) {
|
|
17
|
+
let T = t(), E = v("workspace"), D = v("global"), [O, k] = i(!1);
|
|
18
|
+
if (r(() => (E && D && (h(E), _(D), k(!0)), () => {
|
|
19
|
+
p(), m(), k(!1);
|
|
20
|
+
}), [E, D]), r(() => {
|
|
21
|
+
if (w.apiGatewayUrl) {
|
|
22
|
+
let t = C(w.apiGatewayUrl), n = w.apiGatewayUrl.endsWith("/") ? w.apiGatewayUrl.slice(0, -1) : w.apiGatewayUrl;
|
|
22
23
|
e({
|
|
23
24
|
workflowSvcUrl: t,
|
|
24
25
|
apiGatewayUrl: n
|
|
25
26
|
});
|
|
26
|
-
let r =
|
|
27
|
-
|
|
27
|
+
let r = w.callbacks?.onWorkflowSaved;
|
|
28
|
+
g({
|
|
28
29
|
apiGatewayUrl: n,
|
|
29
|
-
authToken:
|
|
30
|
-
workspaceId:
|
|
31
|
-
tenantId:
|
|
32
|
-
productId:
|
|
33
|
-
productName:
|
|
30
|
+
authToken: w.authToken,
|
|
31
|
+
workspaceId: w.workspaceId ?? "",
|
|
32
|
+
tenantId: w.tenantId,
|
|
33
|
+
productId: w.productId,
|
|
34
|
+
productName: w.productName,
|
|
34
35
|
onWorkflowSaved: r
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
}, [
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
]),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
w.apiGatewayUrl,
|
|
40
|
+
w.authToken,
|
|
41
|
+
w.workspaceId,
|
|
42
|
+
w.tenantId,
|
|
43
|
+
w.productId,
|
|
44
|
+
w.productName,
|
|
45
|
+
w.callbacks
|
|
46
|
+
]), !w.workspaceId) {
|
|
47
|
+
let e = (e, t) => `${e.endsWith("/") ? e.slice(0, -1) : e}/${t}`, t = (t) => w.navigate(e(w.basePath ?? "/", t));
|
|
48
|
+
return /* @__PURE__ */ x("div", {
|
|
49
|
+
className: "mx-auto flex h-full min-h-[60vh] w-full max-w-2xl flex-col justify-center gap-6 px-4 py-10",
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ b(l, {
|
|
52
|
+
icon: /* @__PURE__ */ b(f, {
|
|
53
|
+
className: "size-4",
|
|
54
|
+
"aria-hidden": "true"
|
|
55
|
+
}),
|
|
56
|
+
children: T("workflows.provider.purpose", "Workflows let you automate multi-step processes — for example, sync a new signup into your CRM, post run results to Slack, or transform and route data between apps. You build them visually by wiring nodes together, then trigger them on a schedule, a webhook, or on demand.")
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ b(a, {
|
|
59
|
+
className: "p-6",
|
|
60
|
+
children: /* @__PURE__ */ b(s, {
|
|
61
|
+
illustration: "onboarding",
|
|
62
|
+
title: T("workflows.provider.workspaceRequired.title", "Pick a workspace to start building"),
|
|
63
|
+
description: T("workflows.provider.workspaceRequired.description", "Workflows live inside a workspace so your automations, runs, and connections stay scoped to the right team. Select or create an active workspace from the shell to load your workflows.")
|
|
64
|
+
})
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ b(c, {
|
|
67
|
+
storageKey: "workflows-get-started",
|
|
68
|
+
title: T("workflows.provider.nextSteps.title", "Once your workspace is active"),
|
|
69
|
+
steps: [
|
|
70
|
+
{
|
|
71
|
+
id: "open-workflows",
|
|
72
|
+
label: T("workflows.provider.nextSteps.open.label", "Open your workflows"),
|
|
73
|
+
description: T("workflows.provider.nextSteps.open.description", "Browse, search, and manage every automation in this workspace."),
|
|
74
|
+
icon: /* @__PURE__ */ b(f, {
|
|
75
|
+
className: "size-4",
|
|
76
|
+
"aria-hidden": "true"
|
|
77
|
+
}),
|
|
78
|
+
onClick: () => t("list")
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: "start-template",
|
|
82
|
+
label: T("workflows.provider.nextSteps.template.label", "Start from a template"),
|
|
83
|
+
description: T("workflows.provider.nextSteps.template.description", "Skip the blank canvas — adapt a ready-made workflow to your use-case."),
|
|
84
|
+
icon: /* @__PURE__ */ b(d, {
|
|
85
|
+
className: "size-4",
|
|
86
|
+
"aria-hidden": "true"
|
|
87
|
+
}),
|
|
88
|
+
onClick: () => t("templates")
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "build-new",
|
|
92
|
+
label: T("workflows.provider.nextSteps.build.label", "Build a workflow from scratch"),
|
|
93
|
+
description: T("workflows.provider.nextSteps.build.description", "Open the visual builder and wire nodes together step by step."),
|
|
94
|
+
icon: /* @__PURE__ */ b(u, {
|
|
95
|
+
className: "size-4",
|
|
96
|
+
"aria-hidden": "true"
|
|
97
|
+
}),
|
|
98
|
+
onClick: () => t("new")
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return O ? /* @__PURE__ */ b(S.Provider, {
|
|
106
|
+
value: w,
|
|
107
|
+
children: /* @__PURE__ */ b(y, {
|
|
108
|
+
scopeId: w.workspaceId ?? null,
|
|
49
109
|
gateway: "workspace",
|
|
50
110
|
children: n
|
|
51
111
|
})
|
|
52
|
-
}) : /* @__PURE__ */
|
|
112
|
+
}) : /* @__PURE__ */ x("div", {
|
|
53
113
|
className: "mx-auto flex h-full min-h-[60vh] w-full max-w-md flex-col items-center justify-center gap-4 px-4 py-10 text-center",
|
|
54
114
|
role: "status",
|
|
55
115
|
"aria-live": "polite",
|
|
56
116
|
"aria-busy": "true",
|
|
57
|
-
"aria-label":
|
|
58
|
-
children: [/* @__PURE__ */
|
|
117
|
+
"aria-label": T("workflows.provider.loading.ariaLabel", "Loading workflows"),
|
|
118
|
+
children: [/* @__PURE__ */ x(o, {
|
|
59
119
|
treatment: "glass",
|
|
60
120
|
className: "flex w-full flex-col items-center gap-4 border-border-seam p-6",
|
|
61
121
|
children: [
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */
|
|
64
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ b("div", { className: "h-12 w-12 rounded-full bg-muted/60 motion-safe:animate-vc-shimmer" }),
|
|
123
|
+
/* @__PURE__ */ b("div", { className: "h-4 w-40 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }),
|
|
124
|
+
/* @__PURE__ */ b("div", { className: "h-3 w-56 max-w-full rounded bg-muted/30 motion-safe:animate-vc-shimmer" })
|
|
65
125
|
]
|
|
66
|
-
}), /* @__PURE__ */
|
|
126
|
+
}), /* @__PURE__ */ b("p", {
|
|
67
127
|
className: "text-sm text-text-secondary",
|
|
68
|
-
children:
|
|
128
|
+
children: T("workflows.provider.loading.message", "Connecting workflows...")
|
|
69
129
|
})]
|
|
70
|
-
}) : /* @__PURE__ */ m("div", {
|
|
71
|
-
className: "flex h-full min-h-[60vh] w-full items-center justify-center px-4 py-10",
|
|
72
|
-
children: /* @__PURE__ */ m(o, {
|
|
73
|
-
illustration: "onboarding",
|
|
74
|
-
title: y("workflows.provider.workspaceRequired.title", "Workspace context required"),
|
|
75
|
-
description: y("workflows.provider.workspaceRequired.description", "This workflows module needs an active workspace before it can load workflow data.")
|
|
76
|
-
})
|
|
77
130
|
});
|
|
78
131
|
}
|
|
79
132
|
//#endregion
|
|
80
|
-
export {
|
|
133
|
+
export { w as WorkflowsProvider };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-workflows",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.626.2",
|
|
4
4
|
"description": "Workflows microfrontend for Burdenoff products - thin shell over @burdenoff/fluidgrids-fe-sdk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"format:check": "prettier --check \"src/**/*.{ts,tsx}\""
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@burdenoff/fe-libs": "2026.625.
|
|
31
|
+
"@burdenoff/fe-libs": "2026.625.5",
|
|
32
32
|
"lucide-react": "^0.468.0",
|
|
33
33
|
"react": "^19.0.0",
|
|
34
34
|
"react-dom": "^19.0.0",
|