@burdenoff/microfe-workflows 2026.922.7 → 2026.923.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.
@@ -4,113 +4,127 @@ import { WorkflowsRoutes as n } from "./WorkflowsRoutes.js";
4
4
  import { useEffect as r } from "react";
5
5
  import { ErrorBoundary as i } from "@burdenoff/fe-libs/shared/components";
6
6
  import { AuroraBackground as a, Button as o, IllustratedEmptyState as s } from "@burdenoff/fe-libs/ui";
7
- import { Boxes as c, FileCode2 as l, History as u, LayoutDashboard as d, Network as f, PlayCircle as p, RefreshCw as m, Settings as h, Variable as g, Workflow as _ } from "lucide-react";
8
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
7
+ import { BarChart3 as c, Boxes as l, Database as u, FileCode2 as d, History as f, LayoutDashboard as p, Network as m, PlayCircle as h, RefreshCw as g, Settings as _, Variable as v, Workflow as y } from "lucide-react";
8
+ import { jsx as b, jsxs as x } from "react/jsx-runtime";
9
9
  //#region src/WorkflowsRoot.tsx
10
- function b(b) {
11
- let { basePath: x = "/", registerNavItems: S, registerFooterItems: C } = b, w = e();
10
+ function S(S) {
11
+ let { basePath: C = "/", registerNavItems: w, registerFooterItems: T } = S, E = e();
12
12
  return r(() => {
13
- if (!S) return;
13
+ if (!w) return;
14
14
  let e = (e, t) => `${e.endsWith("/") ? e.slice(0, -1) : e}/${t}`, t = [
15
15
  {
16
16
  id: "workflows-list",
17
- label: w("workflows.nav.myWorkflows", "My Workflows"),
18
- path: e(x, "list"),
19
- icon: /* @__PURE__ */ v(_, { size: 18 }),
17
+ label: E("workflows.nav.myWorkflows", "My Workflows"),
18
+ path: e(C, "list"),
19
+ icon: /* @__PURE__ */ b(y, { size: 18 }),
20
20
  order: 2
21
21
  },
22
22
  {
23
23
  id: "workflows-builder",
24
- label: w("workflows.nav.builder", "Builder"),
25
- path: e(x, "new"),
26
- icon: /* @__PURE__ */ v(c, { size: 18 }),
24
+ label: E("workflows.nav.builder", "Builder"),
25
+ path: e(C, "new"),
26
+ icon: /* @__PURE__ */ b(l, { size: 18 }),
27
27
  order: 3
28
28
  },
29
29
  {
30
30
  id: "workflows-runs",
31
- label: w("workflows.nav.runs", "Runs"),
32
- path: e(x, "runs"),
33
- icon: /* @__PURE__ */ v(p, { size: 18 }),
31
+ label: E("workflows.nav.runs", "Runs"),
32
+ path: e(C, "runs"),
33
+ icon: /* @__PURE__ */ b(h, { size: 18 }),
34
34
  order: 4
35
35
  },
36
36
  {
37
- id: "workflows-history",
38
- label: w("workflows.nav.history", "History"),
39
- path: e(x, "history"),
40
- icon: /* @__PURE__ */ v(u, { size: 18 }),
37
+ id: "workflows-insights",
38
+ label: E("workflows.nav.insights", "Insights"),
39
+ path: e(C, "insights"),
40
+ icon: /* @__PURE__ */ b(c, { size: 18 }),
41
41
  order: 5
42
42
  },
43
43
  {
44
- id: "workflows-templates",
45
- label: w("workflows.nav.templates", "Templates"),
46
- path: e(x, "templates"),
47
- icon: /* @__PURE__ */ v(d, { size: 18 }),
44
+ id: "workflows-data-sinks",
45
+ label: E("workflows.nav.dataSinks", "DataSinks"),
46
+ path: e(C, "data-sinks"),
47
+ icon: /* @__PURE__ */ b(u, { size: 18 }),
48
48
  order: 6
49
49
  },
50
50
  {
51
- id: "workflows-nodes",
52
- label: w("workflows.nav.nodes", "Nodes"),
53
- path: e(x, "nodes"),
54
- icon: /* @__PURE__ */ v(f, { size: 18 }),
51
+ id: "workflows-history",
52
+ label: E("workflows.nav.history", "History"),
53
+ path: e(C, "history"),
54
+ icon: /* @__PURE__ */ b(f, { size: 18 }),
55
55
  order: 7
56
56
  },
57
57
  {
58
- id: "workflows-variables",
59
- label: w("workflows.nav.variables", "Variables"),
60
- path: e(x, "variables"),
61
- icon: /* @__PURE__ */ v(g, { size: 18 }),
58
+ id: "workflows-templates",
59
+ label: E("workflows.nav.templates", "Templates"),
60
+ path: e(C, "templates"),
61
+ icon: /* @__PURE__ */ b(p, { size: 18 }),
62
62
  order: 8
63
63
  },
64
64
  {
65
- id: "workflows-settings",
66
- label: w("workflows.nav.settings", "Settings"),
67
- path: e(x, "settings"),
68
- icon: /* @__PURE__ */ v(h, { size: 18 }),
65
+ id: "workflows-nodes",
66
+ label: E("workflows.nav.nodes", "Nodes"),
67
+ path: e(C, "nodes"),
68
+ icon: /* @__PURE__ */ b(m, { size: 18 }),
69
69
  order: 9
70
+ },
71
+ {
72
+ id: "workflows-variables",
73
+ label: E("workflows.nav.variables", "Variables"),
74
+ path: e(C, "variables"),
75
+ icon: /* @__PURE__ */ b(v, { size: 18 }),
76
+ order: 10
77
+ },
78
+ {
79
+ id: "workflows-settings",
80
+ label: E("workflows.nav.settings", "Settings"),
81
+ path: e(C, "settings"),
82
+ icon: /* @__PURE__ */ b(_, { size: 18 }),
83
+ order: 11
70
84
  }
71
85
  ];
72
- return S([{
86
+ return w([{
73
87
  id: "workflows",
74
- label: w("workflows.nav.title", "Workflows"),
75
- path: x,
76
- icon: /* @__PURE__ */ v(l, { size: 20 }),
88
+ label: E("workflows.nav.title", "Workflows"),
89
+ path: C,
90
+ icon: /* @__PURE__ */ b(d, { size: 20 }),
77
91
  order: 200,
78
92
  group: "workflows",
79
93
  children: t
80
94
  }]);
81
95
  }, [
82
- S,
83
- x,
84
- w
96
+ w,
97
+ C,
98
+ E
85
99
  ]), r(() => {
86
- if (C) return C([{
100
+ if (T) return T([{
87
101
  id: "workflows-status",
88
- label: w("workflows.footer.status", "Workflows Ready"),
102
+ label: E("workflows.footer.status", "Workflows Ready"),
89
103
  type: "status",
90
104
  order: 10,
91
105
  section: "left"
92
106
  }]);
93
- }, [C, w]), /* @__PURE__ */ v(i, {
94
- fallback: /* @__PURE__ */ y("div", {
107
+ }, [T, E]), /* @__PURE__ */ b(i, {
108
+ fallback: /* @__PURE__ */ x("div", {
95
109
  className: "relative flex min-h-[60vh] w-full items-center justify-center overflow-hidden px-4 py-10",
96
- children: [/* @__PURE__ */ v(a, { intensity: "subtle" }), /* @__PURE__ */ v(s, {
110
+ children: [/* @__PURE__ */ b(a, { intensity: "subtle" }), /* @__PURE__ */ b(s, {
97
111
  illustration: "empty-generic",
98
- title: w("workflows.error.title", "Workflows hit a snag"),
99
- description: w("workflows.error.loadFailed", "Something went wrong loading this module. Please refresh the page."),
100
- action: /* @__PURE__ */ y(o, {
112
+ title: E("workflows.error.title", "Workflows hit a snag"),
113
+ description: E("workflows.error.loadFailed", "Something went wrong loading this module. Please refresh the page."),
114
+ action: /* @__PURE__ */ x(o, {
101
115
  onClick: () => window.location.reload(),
102
- children: [/* @__PURE__ */ v(m, {
116
+ children: [/* @__PURE__ */ b(g, {
103
117
  className: "size-4",
104
118
  "aria-hidden": "true"
105
- }), w("workflows.error.refresh", "Refresh page")]
119
+ }), E("workflows.error.refresh", "Refresh page")]
106
120
  })
107
121
  })]
108
122
  }),
109
- children: /* @__PURE__ */ v(t, {
110
- ...b,
111
- children: /* @__PURE__ */ v(n, {})
123
+ children: /* @__PURE__ */ b(t, {
124
+ ...S,
125
+ children: /* @__PURE__ */ b(n, {})
112
126
  })
113
127
  });
114
128
  }
115
129
  //#endregion
116
- export { b as WorkflowsRoot };
130
+ export { S as WorkflowsRoot };
@@ -3,36 +3,36 @@ import { WORKFLOW_PERMISSIONS as t } from "./constants/permissions.js";
3
3
  import { Suspense as n } from "react";
4
4
  import { AccessDenied as r, PermissionGate as i } from "@burdenoff/fe-libs/shared/components";
5
5
  import { GlassCard as a } from "@burdenoff/fe-libs/ui";
6
- import { ExecutionDetailPage as o, ExecutionsListPage as s, HistoryPage as c, NodesPage as l, SettingsPage as u, TemplatePreview as d, TemplatesPage as f, VariablesPage as p, WorkflowBuilderPage as m, WorkflowSearchRedirect as h, WorkflowsList as g } from "@burdenoff/fluidgrids-fe-sdk";
7
- import { jsx as _, jsxs as v } from "react/jsx-runtime";
8
- import { Navigate as y, Route as b, Routes as x, useParams as S } from "react-router";
6
+ import { ApprovalInboxPage as o, DataSinkDashboardPage as s, ErrorAnalyticsPage as c, ExecutionDetailPage as l, ExecutionsListPage as u, HistoryPage as d, InsightsPage as f, NodesPage as p, SettingsPage as m, TemplatePreview as h, TemplatesPage as g, VariablesPage as _, WorkflowBuilderPage as v, WorkflowSearchRedirect as y, WorkflowsList as b } from "@burdenoff/fluidgrids-fe-sdk";
7
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
8
+ import { Navigate as C, Route as w, Routes as T, useParams as E } from "react-router";
9
9
  //#region src/WorkflowsRoutes.tsx
10
- function C() {
10
+ function D() {
11
11
  let t = e();
12
- return /* @__PURE__ */ v("div", {
12
+ return /* @__PURE__ */ S("div", {
13
13
  className: "mx-auto flex w-full max-w-6xl flex-col gap-6 px-4 py-6 sm:px-6",
14
14
  role: "status",
15
15
  "aria-live": "polite",
16
16
  "aria-busy": "true",
17
17
  "aria-label": t("workflows.routes.loading.ariaLabel", "Loading workflow page"),
18
18
  children: [
19
- /* @__PURE__ */ v("div", {
19
+ /* @__PURE__ */ S("div", {
20
20
  className: "flex flex-col gap-3",
21
- children: [/* @__PURE__ */ _("div", { className: "h-7 w-48 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ _("div", { className: "h-4 w-72 max-w-full rounded bg-muted/40 motion-safe:animate-vc-shimmer" })]
21
+ children: [/* @__PURE__ */ x("div", { className: "h-7 w-48 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ x("div", { className: "h-4 w-72 max-w-full rounded bg-muted/40 motion-safe:animate-vc-shimmer" })]
22
22
  }),
23
- /* @__PURE__ */ _("div", {
23
+ /* @__PURE__ */ x("div", {
24
24
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
25
25
  children: [
26
26
  0,
27
27
  1,
28
28
  2
29
- ].map((e) => /* @__PURE__ */ v(a, {
29
+ ].map((e) => /* @__PURE__ */ S(a, {
30
30
  treatment: "metric",
31
31
  className: "flex flex-col gap-3 border-border-seam p-5",
32
- children: [/* @__PURE__ */ _("div", { className: "h-3 w-20 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ _("div", { className: "h-8 w-24 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" })]
32
+ children: [/* @__PURE__ */ x("div", { className: "h-3 w-20 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ x("div", { className: "h-8 w-24 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" })]
33
33
  }, e))
34
34
  }),
35
- /* @__PURE__ */ _(a, {
35
+ /* @__PURE__ */ x(a, {
36
36
  treatment: "glass",
37
37
  className: "flex flex-col gap-4 border-border-seam p-6",
38
38
  children: [
@@ -40,134 +40,154 @@ function C() {
40
40
  1,
41
41
  2,
42
42
  3
43
- ].map((e) => /* @__PURE__ */ v("div", {
43
+ ].map((e) => /* @__PURE__ */ S("div", {
44
44
  className: "flex items-center gap-4",
45
- children: [/* @__PURE__ */ _("div", { className: "h-10 w-10 shrink-0 rounded-full bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ v("div", {
45
+ children: [/* @__PURE__ */ x("div", { className: "h-10 w-10 shrink-0 rounded-full bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ S("div", {
46
46
  className: "flex flex-1 flex-col gap-2",
47
- children: [/* @__PURE__ */ _("div", { className: "h-4 w-1/3 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ _("div", { className: "h-3 w-2/3 rounded bg-muted/30 motion-safe:animate-vc-shimmer" })]
47
+ children: [/* @__PURE__ */ x("div", { className: "h-4 w-1/3 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ x("div", { className: "h-3 w-2/3 rounded bg-muted/30 motion-safe:animate-vc-shimmer" })]
48
48
  })]
49
49
  }, e))
50
50
  }),
51
- /* @__PURE__ */ _("p", {
51
+ /* @__PURE__ */ x("p", {
52
52
  className: "text-center text-sm text-text-secondary",
53
53
  children: t("workflows.routes.loading.message", "Loading workflow page...")
54
54
  })
55
55
  ]
56
56
  });
57
57
  }
58
- function w() {
59
- let { runId: e } = S();
60
- return /* @__PURE__ */ _(y, {
58
+ function O() {
59
+ let { runId: e } = E();
60
+ return /* @__PURE__ */ x(C, {
61
61
  to: `../runs/${e}`,
62
62
  replace: !0
63
63
  });
64
64
  }
65
- function T() {
66
- return /* @__PURE__ */ _(n, {
67
- fallback: /* @__PURE__ */ _(C, {}),
68
- children: /* @__PURE__ */ v(x, { children: [
69
- /* @__PURE__ */ _(b, {
65
+ function k() {
66
+ return /* @__PURE__ */ x(n, {
67
+ fallback: /* @__PURE__ */ x(D, {}),
68
+ children: /* @__PURE__ */ S(T, { children: [
69
+ /* @__PURE__ */ x(w, {
70
70
  index: !0,
71
- element: /* @__PURE__ */ _(y, {
71
+ element: /* @__PURE__ */ x(C, {
72
72
  to: "list",
73
73
  replace: !0
74
74
  })
75
75
  }),
76
- /* @__PURE__ */ _(b, {
76
+ /* @__PURE__ */ x(w, {
77
77
  path: "list",
78
- element: /* @__PURE__ */ _(g, {})
78
+ element: /* @__PURE__ */ x(b, {})
79
79
  }),
80
- /* @__PURE__ */ _(b, {
80
+ /* @__PURE__ */ x(w, {
81
81
  path: "new",
82
- element: /* @__PURE__ */ _(m, {})
82
+ element: /* @__PURE__ */ x(v, {})
83
83
  }),
84
- /* @__PURE__ */ _(b, {
84
+ /* @__PURE__ */ x(w, {
85
85
  path: "workflow/:id/:version",
86
- element: /* @__PURE__ */ _(m, {})
86
+ element: /* @__PURE__ */ x(v, {})
87
87
  }),
88
- /* @__PURE__ */ _(b, {
88
+ /* @__PURE__ */ x(w, {
89
89
  path: "builder",
90
- element: /* @__PURE__ */ _(y, {
90
+ element: /* @__PURE__ */ x(C, {
91
91
  to: "../new",
92
92
  replace: !0
93
93
  })
94
94
  }),
95
- /* @__PURE__ */ _(b, {
95
+ /* @__PURE__ */ x(w, {
96
96
  path: "builder/:id/:version",
97
- element: /* @__PURE__ */ _(m, {})
97
+ element: /* @__PURE__ */ x(v, {})
98
98
  }),
99
- /* @__PURE__ */ _(b, {
99
+ /* @__PURE__ */ x(w, {
100
100
  path: "resolve/:id",
101
- element: /* @__PURE__ */ _(h, {})
101
+ element: /* @__PURE__ */ x(y, {})
102
102
  }),
103
- /* @__PURE__ */ _(b, {
103
+ /* @__PURE__ */ x(w, {
104
104
  path: "runs",
105
- element: /* @__PURE__ */ _(s, {})
105
+ element: /* @__PURE__ */ x(u, {})
106
106
  }),
107
- /* @__PURE__ */ _(b, {
107
+ /* @__PURE__ */ x(w, {
108
108
  path: "runs/:runId",
109
- element: /* @__PURE__ */ _(o, {})
109
+ element: /* @__PURE__ */ x(l, {})
110
+ }),
111
+ /* @__PURE__ */ x(w, {
112
+ path: "insights",
113
+ element: /* @__PURE__ */ x(f, {})
114
+ }),
115
+ /* @__PURE__ */ x(w, {
116
+ path: "insights/errors",
117
+ element: /* @__PURE__ */ x(c, {})
118
+ }),
119
+ /* @__PURE__ */ x(w, {
120
+ path: "data-sinks",
121
+ element: /* @__PURE__ */ x(s, {})
122
+ }),
123
+ /* @__PURE__ */ x(w, {
124
+ path: "approvals",
125
+ element: /* @__PURE__ */ x(i, {
126
+ permission: t.WORKFLOW_RUN_READ,
127
+ fallback: /* @__PURE__ */ x(r, {}),
128
+ children: /* @__PURE__ */ x(o, {})
129
+ })
110
130
  }),
111
- /* @__PURE__ */ _(b, {
131
+ /* @__PURE__ */ x(w, {
112
132
  path: "history",
113
- element: /* @__PURE__ */ _(c, {})
133
+ element: /* @__PURE__ */ x(d, {})
114
134
  }),
115
- /* @__PURE__ */ _(b, {
135
+ /* @__PURE__ */ x(w, {
116
136
  path: "templates",
117
- element: /* @__PURE__ */ _(f, {})
137
+ element: /* @__PURE__ */ x(g, {})
118
138
  }),
119
- /* @__PURE__ */ _(b, {
139
+ /* @__PURE__ */ x(w, {
120
140
  path: "templates/:productId/preview",
121
- element: /* @__PURE__ */ _(d, {})
141
+ element: /* @__PURE__ */ x(h, {})
122
142
  }),
123
- /* @__PURE__ */ _(b, {
143
+ /* @__PURE__ */ x(w, {
124
144
  path: "nodes",
125
- element: /* @__PURE__ */ _(l, {})
145
+ element: /* @__PURE__ */ x(p, {})
126
146
  }),
127
- /* @__PURE__ */ _(b, {
147
+ /* @__PURE__ */ x(w, {
128
148
  path: "settings",
129
- element: /* @__PURE__ */ _(i, {
149
+ element: /* @__PURE__ */ x(i, {
130
150
  permission: t.SYSTEM_CONFIG_READ,
131
- fallback: /* @__PURE__ */ _(r, {}),
132
- children: /* @__PURE__ */ _(u, {})
151
+ fallback: /* @__PURE__ */ x(r, {}),
152
+ children: /* @__PURE__ */ x(m, {})
133
153
  })
134
154
  }),
135
- /* @__PURE__ */ _(b, {
155
+ /* @__PURE__ */ x(w, {
136
156
  path: "variables",
137
- element: /* @__PURE__ */ _(i, {
157
+ element: /* @__PURE__ */ x(i, {
138
158
  permission: t.VARIABLE_READ,
139
- fallback: /* @__PURE__ */ _(r, {}),
140
- children: /* @__PURE__ */ _(p, {})
159
+ fallback: /* @__PURE__ */ x(r, {}),
160
+ children: /* @__PURE__ */ x(_, {})
141
161
  })
142
162
  }),
143
- /* @__PURE__ */ _(b, {
163
+ /* @__PURE__ */ x(w, {
144
164
  path: "executions",
145
- element: /* @__PURE__ */ _(y, {
165
+ element: /* @__PURE__ */ x(C, {
146
166
  to: "../runs",
147
167
  replace: !0
148
168
  })
149
169
  }),
150
- /* @__PURE__ */ _(b, {
170
+ /* @__PURE__ */ x(w, {
151
171
  path: "executions/:runId",
152
- element: /* @__PURE__ */ _(w, {})
172
+ element: /* @__PURE__ */ x(O, {})
153
173
  }),
154
- /* @__PURE__ */ _(b, {
174
+ /* @__PURE__ */ x(w, {
155
175
  path: "credentials",
156
- element: /* @__PURE__ */ _(y, {
176
+ element: /* @__PURE__ */ x(C, {
157
177
  to: "/integrations/connections",
158
178
  replace: !0
159
179
  })
160
180
  }),
161
- /* @__PURE__ */ _(b, {
181
+ /* @__PURE__ */ x(w, {
162
182
  path: "oauth/callback",
163
- element: /* @__PURE__ */ _(y, {
183
+ element: /* @__PURE__ */ x(C, {
164
184
  to: "/integrations/connections",
165
185
  replace: !0
166
186
  })
167
187
  }),
168
- /* @__PURE__ */ _(b, {
188
+ /* @__PURE__ */ x(w, {
169
189
  path: "*",
170
- element: /* @__PURE__ */ _(y, {
190
+ element: /* @__PURE__ */ x(C, {
171
191
  to: "list",
172
192
  replace: !0
173
193
  })
@@ -176,4 +196,4 @@ function T() {
176
196
  });
177
197
  }
178
198
  //#endregion
179
- export { T as WorkflowsRoutes };
199
+ export { k as WorkflowsRoutes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-workflows",
3
- "version": "2026.922.7",
3
+ "version": "2026.923.1",
4
4
  "description": "Workflows microfrontend for Burdenoff products - thin shell over @burdenoff/fluidgrids-fe-sdk",
5
5
  "type": "module",
6
6
  "exports": {
@@ -35,7 +35,7 @@
35
35
  "react-router": "^8.3.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@burdenoff/fluidgrids-fe-sdk": "2026.922.12",
38
+ "@burdenoff/fluidgrids-fe-sdk": "2026.923.1",
39
39
  "@eslint/js": "^9.39.2",
40
40
  "@types/react": "^19.0.2",
41
41
  "@types/react-dom": "^19.0.2",
@@ -55,7 +55,7 @@
55
55
  "vite-plugin-dts": "3.9.1"
56
56
  },
57
57
  "peerDependencies": {
58
- "@burdenoff/fluidgrids-fe-sdk": "2026.922.12",
58
+ "@burdenoff/fluidgrids-fe-sdk": "2026.923.1",
59
59
  "react": "^19.0.0",
60
60
  "react-dom": "^19.0.0"
61
61
  },