@burdenoff/microfe-workflows 2026.1022.7 → 2026.1022.8

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.
@@ -1,38 +1,39 @@
1
1
  import { useWorkflowsTranslation as e } from "./i18n.js";
2
2
  import { WORKFLOW_PERMISSIONS as t } from "./constants/permissions.js";
3
- import { Suspense as n } from "react";
4
- import { AccessDenied as r, PermissionGate as i } from "@burdenoff/fe-libs/shared/components";
5
- import { GlassCard as a } from "@burdenoff/fe-libs/ui";
6
- import { ApprovalInboxPage as o, DataSinkDashboardPage as s, DataTablesPage as c, ErrorAnalyticsPage as l, ExecutionDetailPage as u, ExecutionsListPage as d, HistoryPage as f, InsightsPage as p, NodesPage as m, RunnersPage as h, SettingsPage as g, TemplatePreview as _, TemplatesPage as v, VariablesPage as y, WorkflowBuilderPage as b, WorkflowSearchRedirect as x, WorkflowsList as S } from "@burdenoff/fluidgrids-fe-sdk";
7
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
8
- import { Navigate as T, Route as E, Routes as D, useLocation as O, useParams as k } from "react-router";
3
+ import { RouteTransition as n } from "./components/RouteTransition.js";
4
+ import { Suspense as r } from "react";
5
+ import { AccessDenied as i, PermissionGate as a } from "@burdenoff/fe-libs/shared/components";
6
+ import { GlassCard as o } from "@burdenoff/fe-libs/ui";
7
+ import { ApprovalInboxPage as s, DataSinkDashboardPage as c, DataTablesPage as l, ErrorAnalyticsPage as u, ExecutionDetailPage as d, ExecutionsListPage as f, HistoryPage as p, InsightsPage as m, NodesPage as h, RunnersPage as g, SettingsPage as _, TemplatePreview as v, TemplatesPage as y, VariablesPage as b, WorkflowBuilderPage as x, WorkflowSearchRedirect as S, WorkflowsList as C } from "@burdenoff/fluidgrids-fe-sdk";
8
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
9
+ import { Navigate as E, Route as D, Routes as O, useLocation as k, useParams as A } from "react-router";
9
10
  //#region src/WorkflowsRoutes.tsx
10
- function A() {
11
+ function j() {
11
12
  let t = e();
12
- return /* @__PURE__ */ w("div", {
13
+ return /* @__PURE__ */ T("div", {
13
14
  className: "mx-auto flex w-full max-w-6xl flex-col gap-6 px-4 py-6 sm:px-6",
14
15
  role: "status",
15
16
  "aria-live": "polite",
16
17
  "aria-busy": "true",
17
18
  "aria-label": t("workflows.routes.loading.ariaLabel", "Loading workflow page"),
18
19
  children: [
19
- /* @__PURE__ */ w("div", {
20
+ /* @__PURE__ */ T("div", {
20
21
  className: "flex flex-col gap-3",
21
- children: [/* @__PURE__ */ C("div", { className: "h-7 w-48 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ C("div", { className: "h-4 w-72 max-w-full rounded bg-muted/40 motion-safe:animate-vc-shimmer" })]
22
+ children: [/* @__PURE__ */ w("div", { className: "h-7 w-48 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ w("div", { className: "h-4 w-72 max-w-full rounded bg-muted/40 motion-safe:animate-vc-shimmer" })]
22
23
  }),
23
- /* @__PURE__ */ C("div", {
24
+ /* @__PURE__ */ w("div", {
24
25
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
25
26
  children: [
26
27
  0,
27
28
  1,
28
29
  2
29
- ].map((e) => /* @__PURE__ */ w(a, {
30
+ ].map((e) => /* @__PURE__ */ T(o, {
30
31
  treatment: "metric",
31
32
  className: "flex flex-col gap-3 border-border-seam p-5",
32
- children: [/* @__PURE__ */ C("div", { className: "h-3 w-20 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ C("div", { className: "h-8 w-24 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" })]
33
+ children: [/* @__PURE__ */ w("div", { className: "h-3 w-20 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ w("div", { className: "h-8 w-24 rounded-md bg-muted/60 motion-safe:animate-vc-shimmer" })]
33
34
  }, e))
34
35
  }),
35
- /* @__PURE__ */ C(a, {
36
+ /* @__PURE__ */ w(o, {
36
37
  treatment: "glass",
37
38
  className: "flex flex-col gap-4 border-border-seam p-6",
38
39
  children: [
@@ -40,184 +41,196 @@ function A() {
40
41
  1,
41
42
  2,
42
43
  3
43
- ].map((e) => /* @__PURE__ */ w("div", {
44
+ ].map((e) => /* @__PURE__ */ T("div", {
44
45
  className: "flex items-center gap-4",
45
- children: [/* @__PURE__ */ C("div", { className: "h-10 w-10 shrink-0 rounded-full bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ w("div", {
46
+ children: [/* @__PURE__ */ w("div", { className: "h-10 w-10 shrink-0 rounded-full bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ T("div", {
46
47
  className: "flex flex-1 flex-col gap-2",
47
- children: [/* @__PURE__ */ C("div", { className: "h-4 w-1/3 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ C("div", { className: "h-3 w-2/3 rounded bg-muted/30 motion-safe:animate-vc-shimmer" })]
48
+ children: [/* @__PURE__ */ w("div", { className: "h-4 w-1/3 rounded bg-muted/50 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ w("div", { className: "h-3 w-2/3 rounded bg-muted/30 motion-safe:animate-vc-shimmer" })]
48
49
  })]
49
50
  }, e))
50
51
  }),
51
- /* @__PURE__ */ C("p", {
52
+ /* @__PURE__ */ w("p", {
52
53
  className: "text-center text-sm text-text-secondary",
53
54
  children: t("workflows.routes.loading.message", "Loading workflow page...")
54
55
  })
55
56
  ]
56
57
  });
57
58
  }
58
- function j() {
59
- let { runId: e } = k();
60
- return /* @__PURE__ */ C(T, {
59
+ function M() {
60
+ let { runId: e } = A();
61
+ return /* @__PURE__ */ w(E, {
61
62
  to: `../runs/${e}`,
62
63
  replace: !0
63
64
  });
64
65
  }
65
- function M() {
66
- let { pathname: e } = O(), t = k()["*"] ?? "", n = t && e.endsWith(t) ? e.slice(0, -t.length) : e;
67
- return /* @__PURE__ */ C(T, {
66
+ function N() {
67
+ let { pathname: e } = k(), t = A()["*"] ?? "", n = t && e.endsWith(t) ? e.slice(0, -t.length) : e;
68
+ return /* @__PURE__ */ w(E, {
68
69
  to: `${n.endsWith("/") ? n : `${n}/`}list`,
69
70
  replace: !0
70
71
  });
71
72
  }
72
- function N() {
73
- return /* @__PURE__ */ C(n, {
74
- fallback: /* @__PURE__ */ C(A, {}),
75
- children: /* @__PURE__ */ w(D, { children: [
76
- /* @__PURE__ */ C(E, {
73
+ function P() {
74
+ return /* @__PURE__ */ w(r, {
75
+ fallback: /* @__PURE__ */ w(j, {}),
76
+ children: /* @__PURE__ */ T(O, { children: [
77
+ /* @__PURE__ */ w(D, {
77
78
  index: !0,
78
- element: /* @__PURE__ */ C(T, {
79
+ element: /* @__PURE__ */ w(E, {
79
80
  to: "list",
80
81
  replace: !0
81
82
  })
82
83
  }),
83
- /* @__PURE__ */ C(E, {
84
+ /* @__PURE__ */ w(D, {
84
85
  path: "list",
85
- element: /* @__PURE__ */ C(S, {})
86
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(C, {}) })
86
87
  }),
87
- /* @__PURE__ */ C(E, {
88
+ /* @__PURE__ */ w(D, {
88
89
  path: "new",
89
- element: /* @__PURE__ */ C(b, {})
90
+ element: /* @__PURE__ */ w(n, {
91
+ kind: "canvas",
92
+ children: /* @__PURE__ */ w(x, {})
93
+ })
90
94
  }),
91
- /* @__PURE__ */ C(E, {
95
+ /* @__PURE__ */ w(D, {
92
96
  path: "workflow/:id/:version",
93
- element: /* @__PURE__ */ C(b, {})
97
+ element: /* @__PURE__ */ w(n, {
98
+ kind: "canvas",
99
+ children: /* @__PURE__ */ w(x, {})
100
+ })
94
101
  }),
95
- /* @__PURE__ */ C(E, {
102
+ /* @__PURE__ */ w(D, {
96
103
  path: "builder",
97
- element: /* @__PURE__ */ C(T, {
104
+ element: /* @__PURE__ */ w(E, {
98
105
  to: "../new",
99
106
  replace: !0
100
107
  })
101
108
  }),
102
- /* @__PURE__ */ C(E, {
109
+ /* @__PURE__ */ w(D, {
103
110
  path: "builder/:id/:version",
104
- element: /* @__PURE__ */ C(b, {})
111
+ element: /* @__PURE__ */ w(n, {
112
+ kind: "canvas",
113
+ children: /* @__PURE__ */ w(x, {})
114
+ })
105
115
  }),
106
- /* @__PURE__ */ C(E, {
116
+ /* @__PURE__ */ w(D, {
107
117
  path: "resolve/:id",
108
- element: /* @__PURE__ */ C(x, {})
118
+ element: /* @__PURE__ */ w(S, {})
109
119
  }),
110
- /* @__PURE__ */ C(E, {
120
+ /* @__PURE__ */ w(D, {
111
121
  path: "runs",
112
- element: /* @__PURE__ */ C(d, {})
122
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(f, {}) })
113
123
  }),
114
- /* @__PURE__ */ C(E, {
124
+ /* @__PURE__ */ w(D, {
115
125
  path: "runs/:runId",
116
- element: /* @__PURE__ */ C(u, {})
126
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(d, {}) })
117
127
  }),
118
- /* @__PURE__ */ C(E, {
128
+ /* @__PURE__ */ w(D, {
119
129
  path: "insights",
120
- element: /* @__PURE__ */ C(p, {})
130
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(m, {}) })
121
131
  }),
122
- /* @__PURE__ */ C(E, {
132
+ /* @__PURE__ */ w(D, {
123
133
  path: "insights/errors",
124
- element: /* @__PURE__ */ C(l, {})
134
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(u, {}) })
125
135
  }),
126
- /* @__PURE__ */ C(E, {
136
+ /* @__PURE__ */ w(D, {
127
137
  path: "data-sinks",
128
- element: /* @__PURE__ */ C(s, {})
138
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(c, {}) })
129
139
  }),
130
- /* @__PURE__ */ C(E, {
140
+ /* @__PURE__ */ w(D, {
131
141
  path: "data-tables",
132
- element: /* @__PURE__ */ C(c, {})
142
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(l, {}) })
133
143
  }),
134
- /* @__PURE__ */ C(E, {
144
+ /* @__PURE__ */ w(D, {
135
145
  path: "approvals",
136
- element: /* @__PURE__ */ C(i, {
146
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(a, {
137
147
  permission: t.WORKFLOW_RUN_READ,
138
- fallback: /* @__PURE__ */ C(r, {}),
139
- children: /* @__PURE__ */ C(o, {})
140
- })
148
+ fallback: /* @__PURE__ */ w(i, {}),
149
+ children: /* @__PURE__ */ w(s, {})
150
+ }) })
141
151
  }),
142
- /* @__PURE__ */ C(E, {
152
+ /* @__PURE__ */ w(D, {
143
153
  path: "history",
144
- element: /* @__PURE__ */ C(f, {})
154
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(p, {}) })
145
155
  }),
146
- /* @__PURE__ */ C(E, {
156
+ /* @__PURE__ */ w(D, {
147
157
  path: "templates",
148
- element: /* @__PURE__ */ C(v, {})
158
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(y, {}) })
149
159
  }),
150
- /* @__PURE__ */ C(E, {
160
+ /* @__PURE__ */ w(D, {
151
161
  path: "templates/:productId/preview",
152
- element: /* @__PURE__ */ C(_, {})
162
+ element: /* @__PURE__ */ w(n, {
163
+ kind: "canvas",
164
+ children: /* @__PURE__ */ w(v, {})
165
+ })
153
166
  }),
154
- /* @__PURE__ */ C(E, {
167
+ /* @__PURE__ */ w(D, {
155
168
  path: "nodes",
156
- element: /* @__PURE__ */ C(m, {})
169
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(h, {}) })
157
170
  }),
158
- /* @__PURE__ */ C(E, {
171
+ /* @__PURE__ */ w(D, {
159
172
  path: "settings",
160
- element: /* @__PURE__ */ C(i, {
173
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(a, {
161
174
  permission: t.SYSTEM_CONFIG_READ,
162
- fallback: /* @__PURE__ */ C(r, {}),
163
- children: /* @__PURE__ */ C(g, {})
164
- })
175
+ fallback: /* @__PURE__ */ w(i, {}),
176
+ children: /* @__PURE__ */ w(_, {})
177
+ }) })
165
178
  }),
166
- /* @__PURE__ */ C(E, {
179
+ /* @__PURE__ */ w(D, {
167
180
  path: "settings/:workflowKey",
168
- element: /* @__PURE__ */ C(i, {
181
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(a, {
169
182
  permission: t.SYSTEM_CONFIG_READ,
170
- fallback: /* @__PURE__ */ C(r, {}),
171
- children: /* @__PURE__ */ C(g, {})
172
- })
183
+ fallback: /* @__PURE__ */ w(i, {}),
184
+ children: /* @__PURE__ */ w(_, {})
185
+ }) })
173
186
  }),
174
- /* @__PURE__ */ C(E, {
187
+ /* @__PURE__ */ w(D, {
175
188
  path: "variables",
176
- element: /* @__PURE__ */ C(i, {
189
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(a, {
177
190
  permission: t.VARIABLE_READ,
178
- fallback: /* @__PURE__ */ C(r, {}),
179
- children: /* @__PURE__ */ C(y, {})
180
- })
191
+ fallback: /* @__PURE__ */ w(i, {}),
192
+ children: /* @__PURE__ */ w(b, {})
193
+ }) })
181
194
  }),
182
- /* @__PURE__ */ C(E, {
195
+ /* @__PURE__ */ w(D, {
183
196
  path: "runners",
184
- element: /* @__PURE__ */ C(i, {
197
+ element: /* @__PURE__ */ w(n, { children: /* @__PURE__ */ w(a, {
185
198
  permission: t.SANDBOX_READ,
186
- fallback: /* @__PURE__ */ C(r, {}),
187
- children: /* @__PURE__ */ C(h, {})
188
- })
199
+ fallback: /* @__PURE__ */ w(i, {}),
200
+ children: /* @__PURE__ */ w(g, {})
201
+ }) })
189
202
  }),
190
- /* @__PURE__ */ C(E, {
203
+ /* @__PURE__ */ w(D, {
191
204
  path: "executions",
192
- element: /* @__PURE__ */ C(T, {
205
+ element: /* @__PURE__ */ w(E, {
193
206
  to: "../runs",
194
207
  replace: !0
195
208
  })
196
209
  }),
197
- /* @__PURE__ */ C(E, {
210
+ /* @__PURE__ */ w(D, {
198
211
  path: "executions/:runId",
199
- element: /* @__PURE__ */ C(j, {})
212
+ element: /* @__PURE__ */ w(M, {})
200
213
  }),
201
- /* @__PURE__ */ C(E, {
214
+ /* @__PURE__ */ w(D, {
202
215
  path: "credentials",
203
- element: /* @__PURE__ */ C(T, {
216
+ element: /* @__PURE__ */ w(E, {
204
217
  to: "/integrations/connections",
205
218
  replace: !0
206
219
  })
207
220
  }),
208
- /* @__PURE__ */ C(E, {
221
+ /* @__PURE__ */ w(D, {
209
222
  path: "oauth/callback",
210
- element: /* @__PURE__ */ C(T, {
223
+ element: /* @__PURE__ */ w(E, {
211
224
  to: "/integrations/connections",
212
225
  replace: !0
213
226
  })
214
227
  }),
215
- /* @__PURE__ */ C(E, {
228
+ /* @__PURE__ */ w(D, {
216
229
  path: "*",
217
- element: /* @__PURE__ */ C(M, {})
230
+ element: /* @__PURE__ */ w(N, {})
218
231
  })
219
232
  ] })
220
233
  });
221
234
  }
222
235
  //#endregion
223
- export { N as WorkflowsRoutes };
236
+ export { P as WorkflowsRoutes };
@@ -0,0 +1,19 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { MotionPage as t } from "@burdenoff/fe-libs/shared/motion";
3
+ //#region src/components/RouteTransition.tsx
4
+ var n = {
5
+ page: "w-full",
6
+ canvas: "h-full w-full"
7
+ }, r = {
8
+ page: "fadeUp",
9
+ canvas: "fade"
10
+ };
11
+ function i({ children: i, kind: a = "page" }) {
12
+ return /* @__PURE__ */ e(t, {
13
+ variant: r[a],
14
+ className: n[a],
15
+ children: i
16
+ });
17
+ }
18
+ //#endregion
19
+ export { i as RouteTransition };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-workflows",
3
- "version": "2026.1022.7",
3
+ "version": "2026.1022.8",
4
4
  "description": "Workflows microfrontend for Burdenoff products - thin shell over @burdenoff/fluidgrids-fe-sdk",
5
5
  "type": "module",
6
6
  "exports": {
@@ -49,6 +49,7 @@
49
49
  "eslint": "^9.18.0",
50
50
  "eslint-plugin-react": "^7.37.5",
51
51
  "eslint-plugin-react-hooks": "^7.0.1",
52
+ "framer-motion": "^12.23.26",
52
53
  "globals": "^17.3.0",
53
54
  "happy-dom": "20.14.5",
54
55
  "lefthook": "^2.1.1",
@@ -62,6 +63,7 @@
62
63
  },
63
64
  "peerDependencies": {
64
65
  "@burdenoff/fluidgrids-fe-sdk": "2026.1022.4",
66
+ "framer-motion": "^12.0.0",
65
67
  "react": "^19.0.0",
66
68
  "react-dom": "^19.0.0"
67
69
  },