@burdenoff/microfe-workspaces 2026.627.1 → 2026.711.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.
Files changed (27) hide show
  1. package/dist/components/ProjectCard.js +174 -155
  2. package/dist/components/ProjectCard.js.map +1 -1
  3. package/dist/components/RenameProjectDialog.js +82 -0
  4. package/dist/components/RenameProjectDialog.js.map +1 -0
  5. package/dist/generated/wspace-operations.js +11 -0
  6. package/dist/generated/wspace-operations.js.map +1 -1
  7. package/dist/pages/ProjectDetailPage.js +244 -226
  8. package/dist/pages/ProjectDetailPage.js.map +1 -1
  9. package/dist/pages/ProjectsListPage.js +16 -15
  10. package/dist/pages/ProjectsListPage.js.map +1 -1
  11. package/dist/pages/dashboard/DashboardGrid.js +60 -48
  12. package/dist/pages/dashboard/DashboardGrid.js.map +1 -1
  13. package/dist/pages/dashboard/DashboardPage.js +107 -82
  14. package/dist/pages/dashboard/DashboardPage.js.map +1 -1
  15. package/dist/pages/dashboard/WidgetWrapper.js +2 -2
  16. package/dist/pages/dashboard/WidgetWrapper.js.map +1 -1
  17. package/dist/pages/dashboard/config.js +82 -0
  18. package/dist/pages/dashboard/config.js.map +1 -1
  19. package/dist/pages/dashboard/widgets/QuickActionsWidget.js +66 -23
  20. package/dist/pages/dashboard/widgets/QuickActionsWidget.js.map +1 -1
  21. package/dist/pages/dashboard/widgets/TipsWidget.js +68 -30
  22. package/dist/pages/dashboard/widgets/TipsWidget.js.map +1 -1
  23. package/dist/pages/dashboard/widgets/WorkflowRunsWidget.js +139 -0
  24. package/dist/pages/dashboard/widgets/WorkflowRunsWidget.js.map +1 -0
  25. package/dist/pages/dashboard/widgets/WorkflowsOverviewWidget.js +91 -0
  26. package/dist/pages/dashboard/widgets/WorkflowsOverviewWidget.js.map +1 -0
  27. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunsWidget.js","names":[],"sources":["../../../../src/pages/dashboard/widgets/WorkflowRunsWidget.tsx"],"sourcesContent":["import { Activity, ArrowRight, Play, Clock, CheckCircle2, XCircle } from 'lucide-react';\nimport { Badge, Button, IllustratedEmptyState } from '@burdenoff/fe-libs/ui';\nimport { WidgetWrapper } from '../WidgetWrapper';\nimport type { WidgetProps } from '../types';\n\nconst RUN_STATUS_ICON: Record<string, { icon: typeof Play; color: string }> = {\n RUNNING: { icon: Play, color: 'text-accent-blue' },\n PENDING: { icon: Clock, color: 'text-status-warning-text' },\n WAITING: { icon: Clock, color: 'text-status-warning-text' },\n COMPLETED: { icon: CheckCircle2, color: 'text-status-success-text' },\n FAILED: { icon: XCircle, color: 'text-status-error-text' },\n CANCELLED: { icon: XCircle, color: 'text-text-tertiary' },\n TERMINATED: { icon: XCircle, color: 'text-text-tertiary' },\n};\n\nfunction formatRelative(dateString: string): string {\n const diffMs = Date.now() - new Date(dateString).getTime();\n const diffMin = Math.floor(diffMs / 60000);\n if (diffMin < 1) return 'just now';\n if (diffMin < 60) return `${diffMin}m ago`;\n const diffHr = Math.floor(diffMin / 60);\n if (diffHr < 24) return `${diffHr}h ago`;\n return new Date(dateString).toLocaleDateString(undefined, {\n month: 'short',\n day: 'numeric',\n });\n}\n\nexport function WorkflowRunsWidget({ workspaceData, isLoading, navigate }: WidgetProps) {\n const stats = workspaceData?.workflowStats;\n const recentRuns = stats?.recentRuns ?? [];\n const successRate = stats?.workflowSuccessRate;\n\n return (\n <WidgetWrapper\n title=\"Workflow Runs\"\n icon={<Activity className=\"size-4\" />}\n size=\"medium\"\n isLoading={isLoading}\n unavailable={!workspaceData}\n headerAction={\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"text-xs\"\n onClick={() => navigate('/workflows/runs')}\n >\n View all <ArrowRight className=\"ml-1 size-3\" />\n </Button>\n }\n >\n {!stats ? (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title=\"No runs yet\"\n description=\"Trigger a workflow to see its execution history here.\"\n className=\"py-4\"\n />\n ) : (\n <div className=\"space-y-3\">\n <div className=\"grid grid-cols-3 gap-2\">\n <div className=\"rounded-lg bg-bg-canvas p-2.5 border border-border-default text-center\">\n <p className=\"text-xl font-bold text-text-primary tabular-nums\">\n {stats.runsRunningCount ?? 0}\n </p>\n <p className=\"text-[11px] text-text-secondary\">Running</p>\n </div>\n <div className=\"rounded-lg bg-bg-canvas p-2.5 border border-border-default text-center\">\n <p className=\"text-xl font-bold text-status-error-text tabular-nums\">\n {stats.runsFailedLast24h ?? 0}\n </p>\n <p className=\"text-[11px] text-text-secondary\">Failed (24h)</p>\n </div>\n <div className=\"rounded-lg bg-bg-canvas p-2.5 border border-border-default text-center\">\n <p className=\"text-xl font-bold text-status-success-text tabular-nums\">\n {successRate != null ? `${Math.round(successRate)}%` : '—'}\n </p>\n <p className=\"text-[11px] text-text-secondary\">Success rate</p>\n </div>\n </div>\n {recentRuns.length > 0 && (\n <div className=\"space-y-1.5\">\n <p className=\"text-xs font-medium text-text-secondary uppercase tracking-wider\">\n Recent Runs\n </p>\n {recentRuns.slice(0, 4).map((run) => {\n const statusInfo = RUN_STATUS_ICON[run.status] ?? RUN_STATUS_ICON.RUNNING;\n const StatusIcon = statusInfo.icon;\n return (\n <button\n key={run.id}\n type=\"button\"\n onClick={() => navigate(`/workflows/runs/${run.id}`)}\n className=\"flex w-full items-center justify-between gap-2 rounded-md p-1.5 text-left transition-colors hover:bg-accent/5\"\n >\n <div className=\"flex items-center gap-2 min-w-0\">\n <StatusIcon className={`size-3.5 shrink-0 ${statusInfo.color}`} />\n <span className=\"truncate text-sm text-text-primary\">{run.workflowKey}</span>\n </div>\n <div className=\"flex items-center gap-2 shrink-0\">\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {run.status.toLowerCase()}\n </Badge>\n <span className=\"text-[11px] text-text-secondary\">\n {formatRelative(run.startedAt)}\n </span>\n </div>\n </button>\n );\n })}\n </div>\n )}\n </div>\n )}\n </WidgetWrapper>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { WidgetWrapper as e } from "../WidgetWrapper.js";
2
+ import { ArrowRight as t, GitBranch as n, Plus as r } from "lucide-react";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import { Button as o, IllustratedEmptyState as s } from "@burdenoff/fe-libs/ui";
5
+ //#region src/pages/dashboard/widgets/WorkflowsOverviewWidget.tsx
6
+ function c(e) {
7
+ let t = Date.now() - new Date(e).getTime(), n = Math.floor(t / 6e4);
8
+ if (n < 1) return "just now";
9
+ if (n < 60) return `${n}m ago`;
10
+ let r = Math.floor(n / 60);
11
+ if (r < 24) return `${r}h ago`;
12
+ let i = Math.floor(r / 24);
13
+ return i < 7 ? `${i}d ago` : new Date(e).toLocaleDateString(void 0, {
14
+ month: "short",
15
+ day: "numeric"
16
+ });
17
+ }
18
+ function l({ workspaceData: l, isLoading: u, navigate: d }) {
19
+ let f = l?.workflowStats, p = f?.recentWorkflows ?? [];
20
+ return /* @__PURE__ */ i(e, {
21
+ title: "Workflows",
22
+ icon: /* @__PURE__ */ i(n, { className: "size-4" }),
23
+ size: "medium",
24
+ isLoading: u,
25
+ unavailable: !l,
26
+ headerAction: /* @__PURE__ */ a(o, {
27
+ variant: "ghost",
28
+ size: "sm",
29
+ className: "text-xs",
30
+ onClick: () => d("/workflows/list"),
31
+ children: ["View all ", /* @__PURE__ */ i(t, { className: "ml-1 size-3" })]
32
+ }),
33
+ children: f ? /* @__PURE__ */ a("div", {
34
+ className: "space-y-3",
35
+ children: [/* @__PURE__ */ a("div", {
36
+ className: "grid grid-cols-2 gap-3",
37
+ children: [/* @__PURE__ */ a("div", {
38
+ className: "rounded-lg bg-bg-canvas p-3 border border-border-default text-center",
39
+ children: [/* @__PURE__ */ i("p", {
40
+ className: "text-2xl font-bold text-text-primary tabular-nums",
41
+ children: f.activeWorkflowsCount
42
+ }), /* @__PURE__ */ i("p", {
43
+ className: "text-xs text-text-secondary",
44
+ children: "Active"
45
+ })]
46
+ }), /* @__PURE__ */ a("div", {
47
+ className: "rounded-lg bg-bg-canvas p-3 border border-border-default text-center",
48
+ children: [/* @__PURE__ */ i("p", {
49
+ className: "text-2xl font-bold text-text-primary tabular-nums",
50
+ children: f.archivedWorkflowsCount
51
+ }), /* @__PURE__ */ i("p", {
52
+ className: "text-xs text-text-secondary",
53
+ children: "Archived"
54
+ })]
55
+ })]
56
+ }), p.length > 0 && /* @__PURE__ */ a("div", {
57
+ className: "space-y-1.5",
58
+ children: [/* @__PURE__ */ i("p", {
59
+ className: "text-xs font-medium text-text-secondary uppercase tracking-wider",
60
+ children: "Recently Updated"
61
+ }), p.slice(0, 4).map((e) => /* @__PURE__ */ a("button", {
62
+ type: "button",
63
+ onClick: () => d(`/workflows/workflow/${e.workflowKey}/${e.version}`),
64
+ className: "flex w-full items-center justify-between gap-2 rounded-md p-1.5 text-left transition-colors hover:bg-accent/5",
65
+ children: [/* @__PURE__ */ i("span", {
66
+ className: "truncate text-sm text-text-primary",
67
+ children: e.name
68
+ }), /* @__PURE__ */ i("span", {
69
+ className: "shrink-0 text-[11px] text-text-secondary",
70
+ children: c(e.updatedAt)
71
+ })]
72
+ }, `${e.workflowKey}-${e.version}`))]
73
+ })]
74
+ }) : /* @__PURE__ */ i(s, {
75
+ illustration: "empty-data",
76
+ title: "No workflows yet",
77
+ description: "Build your first workflow to automate a process.",
78
+ className: "py-4",
79
+ action: /* @__PURE__ */ a(o, {
80
+ variant: "outline",
81
+ size: "sm",
82
+ onClick: () => d("/workflows/new"),
83
+ children: [/* @__PURE__ */ i(r, { className: "mr-1.5 size-3.5" }), " New Workflow"]
84
+ })
85
+ })
86
+ });
87
+ }
88
+ //#endregion
89
+ export { l as WorkflowsOverviewWidget };
90
+
91
+ //# sourceMappingURL=WorkflowsOverviewWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsOverviewWidget.js","names":[],"sources":["../../../../src/pages/dashboard/widgets/WorkflowsOverviewWidget.tsx"],"sourcesContent":["import { GitBranch, ArrowRight, Plus } from 'lucide-react';\nimport { Button, IllustratedEmptyState } from '@burdenoff/fe-libs/ui';\nimport { WidgetWrapper } from '../WidgetWrapper';\nimport type { WidgetProps } from '../types';\n\nfunction formatRelative(dateString: string): string {\n const diffMs = Date.now() - new Date(dateString).getTime();\n const diffMin = Math.floor(diffMs / 60000);\n if (diffMin < 1) return 'just now';\n if (diffMin < 60) return `${diffMin}m ago`;\n const diffHr = Math.floor(diffMin / 60);\n if (diffHr < 24) return `${diffHr}h ago`;\n const diffDay = Math.floor(diffHr / 24);\n if (diffDay < 7) return `${diffDay}d ago`;\n return new Date(dateString).toLocaleDateString(undefined, {\n month: 'short',\n day: 'numeric',\n });\n}\n\nexport function WorkflowsOverviewWidget({ workspaceData, isLoading, navigate }: WidgetProps) {\n const stats = workspaceData?.workflowStats;\n const recentWorkflows = stats?.recentWorkflows ?? [];\n\n return (\n <WidgetWrapper\n title=\"Workflows\"\n icon={<GitBranch className=\"size-4\" />}\n size=\"medium\"\n isLoading={isLoading}\n unavailable={!workspaceData}\n headerAction={\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"text-xs\"\n onClick={() => navigate('/workflows/list')}\n >\n View all <ArrowRight className=\"ml-1 size-3\" />\n </Button>\n }\n >\n {!stats ? (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title=\"No workflows yet\"\n description=\"Build your first workflow to automate a process.\"\n className=\"py-4\"\n action={\n <Button variant=\"outline\" size=\"sm\" onClick={() => navigate('/workflows/new')}>\n <Plus className=\"mr-1.5 size-3.5\" /> New Workflow\n </Button>\n }\n />\n ) : (\n <div className=\"space-y-3\">\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"rounded-lg bg-bg-canvas p-3 border border-border-default text-center\">\n <p className=\"text-2xl font-bold text-text-primary tabular-nums\">\n {stats.activeWorkflowsCount}\n </p>\n <p className=\"text-xs text-text-secondary\">Active</p>\n </div>\n <div className=\"rounded-lg bg-bg-canvas p-3 border border-border-default text-center\">\n <p className=\"text-2xl font-bold text-text-primary tabular-nums\">\n {stats.archivedWorkflowsCount}\n </p>\n <p className=\"text-xs text-text-secondary\">Archived</p>\n </div>\n </div>\n {recentWorkflows.length > 0 && (\n <div className=\"space-y-1.5\">\n <p className=\"text-xs font-medium text-text-secondary uppercase tracking-wider\">\n Recently Updated\n </p>\n {recentWorkflows.slice(0, 4).map((wf) => (\n <button\n key={`${wf.workflowKey}-${wf.version}`}\n type=\"button\"\n onClick={() => navigate(`/workflows/workflow/${wf.workflowKey}/${wf.version}`)}\n className=\"flex w-full items-center justify-between gap-2 rounded-md p-1.5 text-left transition-colors hover:bg-accent/5\"\n >\n <span className=\"truncate text-sm text-text-primary\">{wf.name}</span>\n <span className=\"shrink-0 text-[11px] text-text-secondary\">\n {formatRelative(wf.updatedAt)}\n </span>\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n </WidgetWrapper>\n );\n}\n"],"mappings":";;;;;AAKA,SAAS,EAAe,GAA4B;CAClD,IAAM,IAAS,KAAK,KAAK,GAAG,IAAI,KAAK,EAAW,CAAC,SAAS,EACpD,IAAU,KAAK,MAAM,IAAS,IAAM;AAC1C,KAAI,IAAU,EAAG,QAAO;AACxB,KAAI,IAAU,GAAI,QAAO,GAAG,EAAQ;CACpC,IAAM,IAAS,KAAK,MAAM,IAAU,GAAG;AACvC,KAAI,IAAS,GAAI,QAAO,GAAG,EAAO;CAClC,IAAM,IAAU,KAAK,MAAM,IAAS,GAAG;AAEvC,QADI,IAAU,IAAU,GAAG,EAAQ,SAC5B,IAAI,KAAK,EAAW,CAAC,mBAAmB,KAAA,GAAW;EACxD,OAAO;EACP,KAAK;EACN,CAAC;;AAGJ,SAAgB,EAAwB,EAAE,kBAAe,cAAW,eAAyB;CAC3F,IAAM,IAAQ,GAAe,eACvB,IAAkB,GAAO,mBAAmB,EAAE;AAEpD,QACE,kBAAC,GAAD;EACE,OAAM;EACN,MAAM,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA;EACtC,MAAK;EACM;EACX,aAAa,CAAC;EACd,cACE,kBAAC,GAAD;GACE,SAAQ;GACR,MAAK;GACL,WAAU;GACV,eAAe,EAAS,kBAAkB;aAJ5C,CAKC,aACU,kBAAC,GAAD,EAAY,WAAU,eAAgB,CAAA,CACxC;;YAGT,IAaA,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAM;MACL,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAU,CAAA,CACjD;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAM;MACL,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAY,CAAA,CACnD;OACF;OACL,EAAgB,SAAS,KACxB,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,KAAD;KAAG,WAAU;eAAmE;KAE5E,CAAA,EACH,EAAgB,MAAM,GAAG,EAAE,CAAC,KAAK,MAChC,kBAAC,UAAD;KAEE,MAAK;KACL,eAAe,EAAS,uBAAuB,EAAG,YAAY,GAAG,EAAG,UAAU;KAC9E,WAAU;eAJZ,CAME,kBAAC,QAAD;MAAM,WAAU;gBAAsC,EAAG;MAAY,CAAA,EACrE,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAe,EAAG,UAAU;MACxB,CAAA,CACA;OATF,GAAG,EAAG,YAAY,GAAG,EAAG,UAStB,CACT,CACE;MAEJ;OA/CN,kBAAC,GAAD;GACE,cAAa;GACb,OAAM;GACN,aAAY;GACZ,WAAU;GACV,QACE,kBAAC,GAAD;IAAQ,SAAQ;IAAU,MAAK;IAAK,eAAe,EAAS,iBAAiB;cAA7E,CACE,kBAAC,GAAD,EAAM,WAAU,mBAAoB,CAAA,EAAA,gBAC7B;;GAEX,CAAA;EAuCU,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-workspaces",
3
- "version": "2026.627.1",
3
+ "version": "2026.711.1",
4
4
  "description": "Workspaces microfrontend for Burdenoff products",
5
5
  "type": "module",
6
6
  "files": [