@adoptai/genui-components 0.1.33 → 0.1.54
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/README.md +5 -0
- package/dist/builders/BlockForm.d.ts +31 -0
- package/dist/builders/BlockForm.d.ts.map +1 -0
- package/dist/builders/BuilderForm.d.ts +25 -2
- package/dist/builders/BuilderForm.d.ts.map +1 -1
- package/dist/builders/BuilderRecap.d.ts.map +1 -1
- package/dist/builders/ContextSlot.d.ts +6 -0
- package/dist/builders/ContextSlot.d.ts.map +1 -1
- package/dist/builders/FieldRenderer.d.ts +9 -2
- package/dist/builders/FieldRenderer.d.ts.map +1 -1
- package/dist/builders/StepperBuilder.d.ts +9 -2
- package/dist/builders/StepperBuilder.d.ts.map +1 -1
- package/dist/builders/fields.d.ts +27 -2
- package/dist/builders/fields.d.ts.map +1 -1
- package/dist/builders/hooks.d.ts +17 -0
- package/dist/builders/hooks.d.ts.map +1 -1
- package/dist/builders/index.d.ts +5 -5
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/resolver.d.ts +14 -0
- package/dist/builders/resolver.d.ts.map +1 -1
- package/dist/builders/schemas.d.ts +196 -1
- package/dist/builders/schemas.d.ts.map +1 -1
- package/dist/composites/aging-report/resolver.cjs +1 -1
- package/dist/composites/aging-report/resolver.cjs.map +1 -1
- package/dist/composites/aging-report/resolver.js +1 -1
- package/dist/composites/aging-report/resolver.js.map +1 -1
- package/dist/composites/balance-sheet/resolver.cjs +1 -1
- package/dist/composites/balance-sheet/resolver.cjs.map +1 -1
- package/dist/composites/balance-sheet/resolver.js +1 -1
- package/dist/composites/balance-sheet/resolver.js.map +1 -1
- package/dist/composites/connect-integration/resolver.cjs +465 -0
- package/dist/composites/connect-integration/resolver.cjs.map +1 -0
- package/dist/composites/connect-integration/resolver.js +463 -0
- package/dist/composites/connect-integration/resolver.js.map +1 -0
- package/dist/composites/entity-card-grid/resolver.cjs +2 -2
- package/dist/composites/entity-card-grid/resolver.cjs.map +1 -1
- package/dist/composites/entity-card-grid/resolver.js +2 -2
- package/dist/composites/entity-card-grid/resolver.js.map +1 -1
- package/dist/composites/general-ledger/resolver.cjs +1 -0
- package/dist/composites/general-ledger/resolver.cjs.map +1 -1
- package/dist/composites/general-ledger/resolver.d.ts.map +1 -1
- package/dist/composites/general-ledger/resolver.js +1 -0
- package/dist/composites/general-ledger/resolver.js.map +1 -1
- package/dist/composites/income-statement/resolver.cjs +1 -1
- package/dist/composites/income-statement/resolver.cjs.map +1 -1
- package/dist/composites/income-statement/resolver.js +1 -1
- package/dist/composites/income-statement/resolver.js.map +1 -1
- package/dist/composites/integrations-list/resolver.cjs +511 -0
- package/dist/composites/integrations-list/resolver.cjs.map +1 -0
- package/dist/composites/integrations-list/resolver.js +509 -0
- package/dist/composites/integrations-list/resolver.js.map +1 -0
- package/dist/composites/journal-entry/resolver.cjs +2 -2
- package/dist/composites/journal-entry/resolver.cjs.map +1 -1
- package/dist/composites/journal-entry/resolver.js +2 -2
- package/dist/composites/journal-entry/resolver.js.map +1 -1
- package/dist/composites/key-value-list/resolver.cjs +28 -3
- package/dist/composites/key-value-list/resolver.cjs.map +1 -1
- package/dist/composites/key-value-list/resolver.d.ts.map +1 -1
- package/dist/composites/key-value-list/resolver.js +28 -3
- package/dist/composites/key-value-list/resolver.js.map +1 -1
- package/dist/composites/pipeline-preview/resolver.cjs +926 -0
- package/dist/composites/pipeline-preview/resolver.cjs.map +1 -0
- package/dist/composites/pipeline-preview/resolver.js +924 -0
- package/dist/composites/pipeline-preview/resolver.js.map +1 -0
- package/dist/composites/reconciliation-view/resolver.cjs +90 -32
- package/dist/composites/reconciliation-view/resolver.cjs.map +1 -1
- package/dist/composites/reconciliation-view/resolver.d.ts.map +1 -1
- package/dist/composites/reconciliation-view/resolver.js +91 -33
- package/dist/composites/reconciliation-view/resolver.js.map +1 -1
- package/dist/composites/stacked-breakdown/resolver.cjs +13 -2
- package/dist/composites/stacked-breakdown/resolver.cjs.map +1 -1
- package/dist/composites/stacked-breakdown/resolver.d.ts.map +1 -1
- package/dist/composites/stacked-breakdown/resolver.js +13 -2
- package/dist/composites/stacked-breakdown/resolver.js.map +1 -1
- package/dist/composites/stat-grid/resolver.cjs +83 -5
- package/dist/composites/stat-grid/resolver.cjs.map +1 -1
- package/dist/composites/stat-grid/resolver.d.ts.map +1 -1
- package/dist/composites/stat-grid/resolver.js +84 -6
- package/dist/composites/stat-grid/resolver.js.map +1 -1
- package/dist/composites/trial-balance/resolver.cjs +1 -1
- package/dist/composites/trial-balance/resolver.cjs.map +1 -1
- package/dist/composites/trial-balance/resolver.js +1 -1
- package/dist/composites/trial-balance/resolver.js.map +1 -1
- package/dist/composites/variance-analysis/resolver.cjs +1 -1
- package/dist/composites/variance-analysis/resolver.cjs.map +1 -1
- package/dist/composites/variance-analysis/resolver.js +1 -1
- package/dist/composites/variance-analysis/resolver.js.map +1 -1
- package/dist/composites/workflow-stepper/resolver.cjs +978 -0
- package/dist/composites/workflow-stepper/resolver.cjs.map +1 -0
- package/dist/composites/workflow-stepper/resolver.d.ts +20 -0
- package/dist/composites/workflow-stepper/resolver.d.ts.map +1 -0
- package/dist/composites/workflow-stepper/resolver.js +971 -0
- package/dist/composites/workflow-stepper/resolver.js.map +1 -0
- package/dist/index.cjs +2497 -972
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2344 -827
- package/dist/index.js.map +1 -1
- package/dist/renderer.cjs +1071 -213
- package/dist/renderer.cjs.map +1 -1
- package/dist/renderer.js +933 -75
- package/dist/renderer.js.map +1 -1
- package/dist/resolver.cjs +1070 -212
- package/dist/resolver.cjs.map +1 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +933 -75
- package/dist/resolver.js.map +1 -1
- package/dist/schemas/index.cjs +75 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.ts +123 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +75 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/workflow-stepper.d.ts +123 -0
- package/dist/schemas/workflow-stepper.d.ts.map +1 -0
- package/dist/shared/FitText.d.ts +22 -0
- package/dist/shared/FitText.d.ts.map +1 -0
- package/dist/shared/InteractionContext.d.ts +20 -0
- package/dist/shared/InteractionContext.d.ts.map +1 -0
- package/dist/shared/styles.d.ts +14 -0
- package/dist/shared/styles.d.ts.map +1 -0
- package/dist/tool-definitions.json +115 -3
- package/package.json +2 -2
- package/dist/builders/EscalationCard.d.ts +0 -12
- package/dist/builders/EscalationCard.d.ts.map +0 -1
- package/dist/builders/FormBuilder.d.ts +0 -13
- package/dist/builders/FormBuilder.d.ts.map +0 -1
package/dist/resolver.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import React41, { lazy, createContext, useState, useCallback, useEffect, useRef, useMemo, useContext, Suspense, useLayoutEffect } from 'react';
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import dagre from '@dagrejs/dagre';
|
|
5
5
|
import { createPortal } from 'react-dom';
|
|
@@ -5204,6 +5204,79 @@ var pipelinePreviewTool = {
|
|
|
5204
5204
|
required: ["type", "name", "steps"]
|
|
5205
5205
|
}
|
|
5206
5206
|
};
|
|
5207
|
+
var workflowStepperSchema = z.object({
|
|
5208
|
+
type: z.literal("workflow-stepper"),
|
|
5209
|
+
id: z.string().optional(),
|
|
5210
|
+
title: z.string(),
|
|
5211
|
+
period: z.string().optional(),
|
|
5212
|
+
badge: z.string().optional(),
|
|
5213
|
+
active_step: z.string().optional(),
|
|
5214
|
+
steps: z.array(
|
|
5215
|
+
z.object({
|
|
5216
|
+
id: z.string(),
|
|
5217
|
+
n: z.number().int().positive().optional(),
|
|
5218
|
+
title: z.string(),
|
|
5219
|
+
sub: z.string().optional(),
|
|
5220
|
+
status: z.enum(["done", "active", "review", "pending", "blocked", "failed"]),
|
|
5221
|
+
assignees: z.array(
|
|
5222
|
+
z.object({
|
|
5223
|
+
name: z.string(),
|
|
5224
|
+
kind: z.enum(["agent", "human"]),
|
|
5225
|
+
initials: z.string().max(3).optional(),
|
|
5226
|
+
color: z.string().optional(),
|
|
5227
|
+
role: z.string().optional()
|
|
5228
|
+
})
|
|
5229
|
+
).max(6).optional()
|
|
5230
|
+
})
|
|
5231
|
+
).min(2).max(12)
|
|
5232
|
+
});
|
|
5233
|
+
var workflowStepperTool = {
|
|
5234
|
+
name: "render_workflow_stepper",
|
|
5235
|
+
description: "Render a recurring-process workflow stepper \u2014 a horizontal strip of sequential step cards (e.g. a monthly close pipeline) with per-step status (done/active/review/pending/blocked/failed) and human + agent assignee avatars. Use for org processes with named steps and owners, NOT for generic progress bars or project phase summaries.",
|
|
5236
|
+
input_schema: {
|
|
5237
|
+
type: "object",
|
|
5238
|
+
properties: {
|
|
5239
|
+
type: { type: "string", enum: ["workflow-stepper"] },
|
|
5240
|
+
id: { type: "string", description: "Stable id for update-in-place rendering" },
|
|
5241
|
+
title: { type: "string", description: "Process name, e.g. 'Monthly Close'" },
|
|
5242
|
+
period: { type: "string", description: "Period label, e.g. 'Period 04 \xB7 FY2026'" },
|
|
5243
|
+
badge: { type: "string", description: "Framework/compliance badge, e.g. 'SOX controlled'" },
|
|
5244
|
+
active_step: { type: "string", description: "Id of the currently active step" },
|
|
5245
|
+
steps: {
|
|
5246
|
+
type: "array",
|
|
5247
|
+
minItems: 2,
|
|
5248
|
+
maxItems: 12,
|
|
5249
|
+
items: {
|
|
5250
|
+
type: "object",
|
|
5251
|
+
properties: {
|
|
5252
|
+
id: { type: "string" },
|
|
5253
|
+
n: { type: "number", description: "Step number; defaults to index + 1" },
|
|
5254
|
+
title: { type: "string" },
|
|
5255
|
+
sub: { type: "string", description: "Short status caption, e.g. '7 accounts \xB7 2 exceptions'" },
|
|
5256
|
+
status: { type: "string", enum: ["done", "active", "review", "pending", "blocked", "failed"] },
|
|
5257
|
+
assignees: {
|
|
5258
|
+
type: "array",
|
|
5259
|
+
maxItems: 6,
|
|
5260
|
+
items: {
|
|
5261
|
+
type: "object",
|
|
5262
|
+
properties: {
|
|
5263
|
+
name: { type: "string" },
|
|
5264
|
+
kind: { type: "string", enum: ["agent", "human"] },
|
|
5265
|
+
initials: { type: "string" },
|
|
5266
|
+
color: { type: "string" },
|
|
5267
|
+
role: { type: "string" }
|
|
5268
|
+
},
|
|
5269
|
+
required: ["name", "kind"]
|
|
5270
|
+
}
|
|
5271
|
+
}
|
|
5272
|
+
},
|
|
5273
|
+
required: ["id", "title", "status"]
|
|
5274
|
+
}
|
|
5275
|
+
}
|
|
5276
|
+
},
|
|
5277
|
+
required: ["type", "title", "steps"]
|
|
5278
|
+
}
|
|
5279
|
+
};
|
|
5207
5280
|
|
|
5208
5281
|
// src/schemas/index.ts
|
|
5209
5282
|
var schemaRegistry = {
|
|
@@ -5262,7 +5335,8 @@ var schemaRegistry = {
|
|
|
5262
5335
|
"scatter-chart": { schema: scatterChartSchema, tool: scatterChartTool },
|
|
5263
5336
|
"connect-integration": { schema: connectIntegrationSchema, tool: connectIntegrationTool },
|
|
5264
5337
|
"integrations-list": { schema: integrationsListSchema, tool: integrationsListTool },
|
|
5265
|
-
"pipeline-preview": { schema: pipelinePreviewSchema, tool: pipelinePreviewTool }
|
|
5338
|
+
"pipeline-preview": { schema: pipelinePreviewSchema, tool: pipelinePreviewTool },
|
|
5339
|
+
"workflow-stepper": { schema: workflowStepperSchema, tool: workflowStepperTool }
|
|
5266
5340
|
};
|
|
5267
5341
|
|
|
5268
5342
|
// src/schemas/coercePayload.ts
|
|
@@ -5752,6 +5826,56 @@ function AlertResolver(p) {
|
|
|
5752
5826
|
|
|
5753
5827
|
// src/composites/stat-grid/resolver.tsx
|
|
5754
5828
|
init_Markdown();
|
|
5829
|
+
function FitText({ children, max = 22, min = 13, title, className, style }) {
|
|
5830
|
+
const ref = useRef(null);
|
|
5831
|
+
const [size, setSize] = useState(max);
|
|
5832
|
+
useLayoutEffect(() => {
|
|
5833
|
+
const el = ref.current;
|
|
5834
|
+
if (!el) return void 0;
|
|
5835
|
+
const fit = () => {
|
|
5836
|
+
let s = max;
|
|
5837
|
+
el.style.fontSize = `${s}px`;
|
|
5838
|
+
while (s > min && el.scrollWidth > el.clientWidth + 1) {
|
|
5839
|
+
s -= 1;
|
|
5840
|
+
el.style.fontSize = `${s}px`;
|
|
5841
|
+
}
|
|
5842
|
+
setSize(s);
|
|
5843
|
+
};
|
|
5844
|
+
fit();
|
|
5845
|
+
if (typeof ResizeObserver === "undefined") return void 0;
|
|
5846
|
+
const ro = new ResizeObserver(fit);
|
|
5847
|
+
ro.observe(el);
|
|
5848
|
+
return () => ro.disconnect();
|
|
5849
|
+
}, [children, max, min]);
|
|
5850
|
+
return /* @__PURE__ */ jsx(
|
|
5851
|
+
"span",
|
|
5852
|
+
{
|
|
5853
|
+
ref,
|
|
5854
|
+
title,
|
|
5855
|
+
className,
|
|
5856
|
+
style: __spreadValues({
|
|
5857
|
+
display: "block",
|
|
5858
|
+
minWidth: 0,
|
|
5859
|
+
maxWidth: "100%",
|
|
5860
|
+
whiteSpace: "nowrap",
|
|
5861
|
+
overflow: "hidden",
|
|
5862
|
+
textOverflow: "ellipsis",
|
|
5863
|
+
fontSize: `${size}px`
|
|
5864
|
+
}, style),
|
|
5865
|
+
children
|
|
5866
|
+
}
|
|
5867
|
+
);
|
|
5868
|
+
}
|
|
5869
|
+
|
|
5870
|
+
// src/shared/styles.ts
|
|
5871
|
+
var TRUNCATE = {
|
|
5872
|
+
minWidth: 0,
|
|
5873
|
+
overflow: "hidden",
|
|
5874
|
+
textOverflow: "ellipsis",
|
|
5875
|
+
whiteSpace: "nowrap"
|
|
5876
|
+
};
|
|
5877
|
+
|
|
5878
|
+
// src/composites/stat-grid/resolver.tsx
|
|
5755
5879
|
init_ThemeContext();
|
|
5756
5880
|
var changeColor = (type) => {
|
|
5757
5881
|
if (type === "positive") return "#15803d";
|
|
@@ -5762,15 +5886,28 @@ var cardStyle = {
|
|
|
5762
5886
|
border: "1px solid #dedede",
|
|
5763
5887
|
borderRadius: "0.75rem",
|
|
5764
5888
|
background: "white",
|
|
5765
|
-
padding: "14px"
|
|
5889
|
+
padding: "14px",
|
|
5890
|
+
// Let the card shrink inside the grid track so big values can't push it
|
|
5891
|
+
// wider than its column.
|
|
5892
|
+
minWidth: 0,
|
|
5893
|
+
overflow: "hidden"
|
|
5766
5894
|
};
|
|
5767
5895
|
function StatGridResolver(p) {
|
|
5768
5896
|
var _a;
|
|
5769
5897
|
const { MUTED: MUTED2 } = useTheme();
|
|
5770
|
-
return /* @__PURE__ */ jsx(ComponentActions, { filename: "stat-grid", children: /* @__PURE__ */ jsx("div", { style: { width: "100%", display: "grid", gap: "10px", gridTemplateColumns: "repeat(auto-fill, minmax(140px, 1fr))" }, children: ((_a = p.stats) != null ? _a : []).map((stat, i) => /* @__PURE__ */ jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "4px", padding: "4px 0" }, children: [
|
|
5771
|
-
/* @__PURE__ */ jsx("p", { style: { fontSize: "11.5px", color: MUTED2, letterSpacing: "0.02em", textTransform: "uppercase", margin: 0 }, children: stat.label }),
|
|
5772
|
-
/* @__PURE__ */ jsx(
|
|
5773
|
-
|
|
5898
|
+
return /* @__PURE__ */ jsx(ComponentActions, { filename: "stat-grid", children: /* @__PURE__ */ jsx("div", { style: { width: "100%", display: "grid", gap: "10px", gridTemplateColumns: "repeat(auto-fill, minmax(min(140px, 100%), 1fr))" }, children: ((_a = p.stats) != null ? _a : []).map((stat, i) => /* @__PURE__ */ jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "4px", padding: "4px 0", minWidth: 0 }, children: [
|
|
5899
|
+
/* @__PURE__ */ jsx("p", { style: __spreadValues({ fontSize: "11.5px", color: MUTED2, letterSpacing: "0.02em", textTransform: "uppercase", margin: 0 }, TRUNCATE), children: stat.label }),
|
|
5900
|
+
/* @__PURE__ */ jsx(
|
|
5901
|
+
FitText,
|
|
5902
|
+
{
|
|
5903
|
+
max: 22,
|
|
5904
|
+
min: 13,
|
|
5905
|
+
title: typeof stat.value === "string" ? stat.value : void 0,
|
|
5906
|
+
style: { fontFamily: "var(--font-serif)", fontWeight: 600, color: "var(--foreground)", letterSpacing: "-0.01em", lineHeight: 1.1, fontVariantNumeric: "tabular-nums" },
|
|
5907
|
+
children: stat.value
|
|
5908
|
+
}
|
|
5909
|
+
),
|
|
5910
|
+
stat.change && /* @__PURE__ */ jsx("p", { style: __spreadValues({ fontSize: "12px", fontWeight: 500, color: changeColor(stat.changeType), fontVariantNumeric: "tabular-nums", margin: 0 }, TRUNCATE), children: stat.change }),
|
|
5774
5911
|
stat.description && /* @__PURE__ */ jsx("p", { style: { fontSize: "11.5px", color: "#888888", lineHeight: 1.4, margin: 0 }, children: /* @__PURE__ */ jsx(Markdown, { inline: true, content: stat.description }) })
|
|
5775
5912
|
] }) }, i)) }) });
|
|
5776
5913
|
}
|
|
@@ -5937,17 +6074,17 @@ function SparklineTableResolver(p) {
|
|
|
5937
6074
|
// src/composites/heatmap-table/resolver.tsx
|
|
5938
6075
|
init_theme();
|
|
5939
6076
|
init_ThemeContext();
|
|
5940
|
-
function heatColor(
|
|
5941
|
-
const clamped = Math.max(-3, Math.min(3,
|
|
6077
|
+
function heatColor(z58) {
|
|
6078
|
+
const clamped = Math.max(-3, Math.min(3, z58));
|
|
5942
6079
|
const abs = Math.abs(clamped);
|
|
5943
6080
|
const lightness = 95 - abs * 8;
|
|
5944
6081
|
const hue = clamped >= 0 ? 142 : 0;
|
|
5945
6082
|
return `hsl(${hue} 60% ${lightness}%)`;
|
|
5946
6083
|
}
|
|
5947
|
-
function heatTextColor(
|
|
5948
|
-
const abs = Math.abs(
|
|
5949
|
-
if (abs > 2) return
|
|
5950
|
-
if (abs > 1) return
|
|
6084
|
+
function heatTextColor(z58) {
|
|
6085
|
+
const abs = Math.abs(z58);
|
|
6086
|
+
if (abs > 2) return z58 >= 0 ? "#14532d" : "#7f1d1d";
|
|
6087
|
+
if (abs > 1) return z58 >= 0 ? "#166534" : "#991b1b";
|
|
5951
6088
|
return "var(--foreground)";
|
|
5952
6089
|
}
|
|
5953
6090
|
var th2 = {
|
|
@@ -6567,7 +6704,7 @@ function WaterfallChartResolver(p) {
|
|
|
6567
6704
|
] }) });
|
|
6568
6705
|
}
|
|
6569
6706
|
init_ThemeContext();
|
|
6570
|
-
var FlowGraph2 =
|
|
6707
|
+
var FlowGraph2 = React41.lazy(
|
|
6571
6708
|
() => Promise.resolve().then(() => (init_FlowGraph(), FlowGraph_exports)).then((m) => ({ default: m.FlowGraph }))
|
|
6572
6709
|
);
|
|
6573
6710
|
function FlowCanvasRenderer({
|
|
@@ -6820,7 +6957,7 @@ function TrialBalanceResolver(p) {
|
|
|
6820
6957
|
color: balanced ? "#15803d" : "#dc2626"
|
|
6821
6958
|
}, children: balanced ? "\u2713 Balanced" : "\u2717 Unbalanced" })
|
|
6822
6959
|
] }),
|
|
6823
|
-
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
6960
|
+
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", minWidth: 0, borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
6824
6961
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { children: ["Code", "Account", "Debit", "Credit"].map((h, i) => /* @__PURE__ */ jsx("th", { style: {
|
|
6825
6962
|
fontSize: "11px",
|
|
6826
6963
|
fontWeight: 500,
|
|
@@ -6841,7 +6978,7 @@ function TrialBalanceResolver(p) {
|
|
|
6841
6978
|
gDebit += a.debit;
|
|
6842
6979
|
gCredit += a.credit;
|
|
6843
6980
|
});
|
|
6844
|
-
return /* @__PURE__ */ jsxs(
|
|
6981
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
6845
6982
|
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: 4, style: {
|
|
6846
6983
|
padding: "8px 12px",
|
|
6847
6984
|
fontSize: "12px",
|
|
@@ -6902,7 +7039,7 @@ function JournalEntryResolver(p) {
|
|
|
6902
7039
|
}, children: /* @__PURE__ */ jsxs("div", { style: { width: "100%", display: "flex", flexDirection: "column", gap: "14px" }, children: [
|
|
6903
7040
|
p.title && /* @__PURE__ */ jsx("p", { style: { fontFamily: "var(--font-serif)", fontSize: "15px", fontWeight: 600, color: "var(--foreground)", letterSpacing: "-0.005em" }, children: p.title }),
|
|
6904
7041
|
((_c = p.entries) != null ? _c : []).map((entry) => {
|
|
6905
|
-
var _a2, _b2;
|
|
7042
|
+
var _a2, _b2, _c2;
|
|
6906
7043
|
let totalDebit = 0, totalCredit = 0;
|
|
6907
7044
|
((_a2 = entry.lines) != null ? _a2 : []).forEach((l) => {
|
|
6908
7045
|
totalDebit += l.debit;
|
|
@@ -6928,7 +7065,7 @@ function JournalEntryResolver(p) {
|
|
|
6928
7065
|
letterSpacing: "0.02em"
|
|
6929
7066
|
}, children: h }, h)) }) }),
|
|
6930
7067
|
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
6931
|
-
entry.lines.map((line, li) => {
|
|
7068
|
+
((_c2 = entry.lines) != null ? _c2 : []).map((line, li) => {
|
|
6932
7069
|
var _a3;
|
|
6933
7070
|
return /* @__PURE__ */ jsxs("tr", { style: { background: li % 2 === 0 ? "white" : "#fafafa" }, children: [
|
|
6934
7071
|
/* @__PURE__ */ jsx("td", { style: { padding: "6px 12px", fontSize: "13px" }, children: line.account }),
|
|
@@ -6998,7 +7135,7 @@ function AgingReportResolver(p) {
|
|
|
6998
7135
|
p.asOfDate
|
|
6999
7136
|
] })
|
|
7000
7137
|
] }),
|
|
7001
|
-
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse" }, children: [
|
|
7138
|
+
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", minWidth: 0, borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse" }, children: [
|
|
7002
7139
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
7003
7140
|
/* @__PURE__ */ jsx("th", { style: { fontSize: "11px", fontWeight: 500, color: MUTED2, padding: "8px 12px", textAlign: "left", borderBottom: `1px solid ${BORDER4}`, background: PAPER2, textTransform: "uppercase", letterSpacing: "0.02em" }, children: "Entity" }),
|
|
7004
7141
|
buckets.map((b, i) => /* @__PURE__ */ jsx("th", { style: { fontSize: "11px", fontWeight: 500, color: MUTED2, padding: "8px 12px", textAlign: "right", borderBottom: `1px solid ${BORDER4}`, background: PAPER2, textTransform: "uppercase", letterSpacing: "0.02em", whiteSpace: "nowrap" }, children: b }, i)),
|
|
@@ -7055,7 +7192,7 @@ function VarianceAnalysisResolver(p) {
|
|
|
7055
7192
|
p.title && /* @__PURE__ */ jsx("p", { style: { fontFamily: "var(--font-serif)", fontSize: "15px", fontWeight: 600, color: "var(--foreground)", letterSpacing: "-0.005em" }, children: p.title }),
|
|
7056
7193
|
p.period && /* @__PURE__ */ jsx("span", { style: { fontSize: "11px", color: MUTED2 }, children: p.period })
|
|
7057
7194
|
] }),
|
|
7058
|
-
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "480px" }, children: [
|
|
7195
|
+
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", minWidth: 0, borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "480px" }, children: [
|
|
7059
7196
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { children: ["Line Item", "Budget", "Actual", "Variance $", "Variance %", ""].map((h, i) => /* @__PURE__ */ jsx("th", { style: {
|
|
7060
7197
|
fontSize: "11px",
|
|
7061
7198
|
fontWeight: 500,
|
|
@@ -7173,6 +7310,8 @@ function StackedBreakdownResolver(p) {
|
|
|
7173
7310
|
alignItems: "center",
|
|
7174
7311
|
gap: "6px",
|
|
7175
7312
|
fontSize: "12px",
|
|
7313
|
+
maxWidth: "100%",
|
|
7314
|
+
minWidth: 0,
|
|
7176
7315
|
color: isVisible(cat.name) ? MUTED2 : "#b3b3b3",
|
|
7177
7316
|
cursor: "pointer",
|
|
7178
7317
|
userSelect: "none",
|
|
@@ -7184,12 +7323,13 @@ function StackedBreakdownResolver(p) {
|
|
|
7184
7323
|
width: "10px",
|
|
7185
7324
|
height: "10px",
|
|
7186
7325
|
borderRadius: "2px",
|
|
7326
|
+
flexShrink: 0,
|
|
7187
7327
|
background: (_a2 = cat.color) != null ? _a2 : PALETTE2[ci % PALETTE2.length],
|
|
7188
7328
|
display: "inline-block",
|
|
7189
7329
|
opacity: isVisible(cat.name) ? 1 : 0.3,
|
|
7190
7330
|
transition: "opacity 0.15s"
|
|
7191
7331
|
} }),
|
|
7192
|
-
cat.name
|
|
7332
|
+
/* @__PURE__ */ jsx("span", { style: TRUNCATE, title: cat.name, children: cat.name })
|
|
7193
7333
|
]
|
|
7194
7334
|
},
|
|
7195
7335
|
cat.name
|
|
@@ -7211,7 +7351,7 @@ function StackedBreakdownResolver(p) {
|
|
|
7211
7351
|
((_b2 = p.periods) != null ? _b2 : []).map((_, pi) => {
|
|
7212
7352
|
var _a3, _b3;
|
|
7213
7353
|
const v = pi < ((_a3 = cat.values) != null ? _a3 : []).length ? ((_b3 = cat.values) != null ? _b3 : [])[pi] : 0;
|
|
7214
|
-
return /* @__PURE__ */ jsx("td", { style: { padding: "6px 12px", fontSize: "13px", textAlign: "right", fontVariantNumeric: "tabular-nums", borderBottom: `1px solid #f2f2f2`, color: v < 0 ? "#dc2626" : void 0 }, children: v < 0 ? `(${fmt5(Math.abs(v), p.currency)})` : fmt5(v, p.currency) }, pi);
|
|
7354
|
+
return /* @__PURE__ */ jsx("td", { style: { padding: "6px 12px", fontSize: "13px", textAlign: "right", fontVariantNumeric: "tabular-nums", whiteSpace: "nowrap", borderBottom: `1px solid #f2f2f2`, color: v < 0 ? "#dc2626" : void 0 }, children: v < 0 ? `(${fmt5(Math.abs(v), p.currency)})` : fmt5(v, p.currency) }, pi);
|
|
7215
7355
|
})
|
|
7216
7356
|
] }, cat.name);
|
|
7217
7357
|
}),
|
|
@@ -7584,7 +7724,7 @@ function ReconciliationViewResolver(p) {
|
|
|
7584
7724
|
{
|
|
7585
7725
|
style: {
|
|
7586
7726
|
display: "grid",
|
|
7587
|
-
gridTemplateColumns: "repeat(auto-fit, minmax(
|
|
7727
|
+
gridTemplateColumns: "repeat(auto-fit, minmax(min(120px, 100%), 1fr))",
|
|
7588
7728
|
gap: "0",
|
|
7589
7729
|
marginBottom: "14px",
|
|
7590
7730
|
borderRadius: "10px",
|
|
@@ -7592,31 +7732,28 @@ function ReconciliationViewResolver(p) {
|
|
|
7592
7732
|
overflow: "hidden"
|
|
7593
7733
|
},
|
|
7594
7734
|
children: [
|
|
7595
|
-
/* @__PURE__ */ jsxs("div", { style: { padding: "10px 12px", background: PAPER2 }, children: [
|
|
7735
|
+
/* @__PURE__ */ jsxs("div", { style: { padding: "10px 12px", background: PAPER2, minWidth: 0 }, children: [
|
|
7596
7736
|
/* @__PURE__ */ jsx(
|
|
7597
7737
|
"div",
|
|
7598
7738
|
{
|
|
7599
|
-
style: {
|
|
7739
|
+
style: __spreadValues({
|
|
7600
7740
|
fontSize: "10px",
|
|
7601
7741
|
fontWeight: 500,
|
|
7602
7742
|
color: MUTED2,
|
|
7603
7743
|
textTransform: "uppercase",
|
|
7604
7744
|
letterSpacing: "0.04em",
|
|
7605
7745
|
marginBottom: "4px"
|
|
7606
|
-
},
|
|
7746
|
+
}, TRUNCATE),
|
|
7607
7747
|
children: sourceA.label
|
|
7608
7748
|
}
|
|
7609
7749
|
),
|
|
7610
7750
|
/* @__PURE__ */ jsx(
|
|
7611
|
-
|
|
7751
|
+
FitText,
|
|
7612
7752
|
{
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
fontVariantNumeric: "tabular-nums",
|
|
7618
|
-
letterSpacing: "-0.01em"
|
|
7619
|
-
},
|
|
7753
|
+
max: 15,
|
|
7754
|
+
min: 11,
|
|
7755
|
+
title: fmt6(balanceA, p.currency),
|
|
7756
|
+
style: { fontWeight: 600, color: "var(--foreground)", fontVariantNumeric: "tabular-nums", letterSpacing: "-0.01em" },
|
|
7620
7757
|
children: fmt6(balanceA, p.currency)
|
|
7621
7758
|
}
|
|
7622
7759
|
)
|
|
@@ -7628,33 +7765,31 @@ function ReconciliationViewResolver(p) {
|
|
|
7628
7765
|
padding: "10px 12px",
|
|
7629
7766
|
background: PAPER2,
|
|
7630
7767
|
borderLeft: `1px solid ${BORDER4}`,
|
|
7631
|
-
borderRight: `1px solid ${BORDER4}
|
|
7768
|
+
borderRight: `1px solid ${BORDER4}`,
|
|
7769
|
+
minWidth: 0
|
|
7632
7770
|
},
|
|
7633
7771
|
children: [
|
|
7634
7772
|
/* @__PURE__ */ jsx(
|
|
7635
7773
|
"div",
|
|
7636
7774
|
{
|
|
7637
|
-
style: {
|
|
7775
|
+
style: __spreadValues({
|
|
7638
7776
|
fontSize: "10px",
|
|
7639
7777
|
fontWeight: 500,
|
|
7640
7778
|
color: MUTED2,
|
|
7641
7779
|
textTransform: "uppercase",
|
|
7642
7780
|
letterSpacing: "0.04em",
|
|
7643
7781
|
marginBottom: "4px"
|
|
7644
|
-
},
|
|
7782
|
+
}, TRUNCATE),
|
|
7645
7783
|
children: sourceB.label
|
|
7646
7784
|
}
|
|
7647
7785
|
),
|
|
7648
7786
|
/* @__PURE__ */ jsx(
|
|
7649
|
-
|
|
7787
|
+
FitText,
|
|
7650
7788
|
{
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
fontVariantNumeric: "tabular-nums",
|
|
7656
|
-
letterSpacing: "-0.01em"
|
|
7657
|
-
},
|
|
7789
|
+
max: 15,
|
|
7790
|
+
min: 11,
|
|
7791
|
+
title: fmt6(balanceB, p.currency),
|
|
7792
|
+
style: { fontWeight: 600, color: "var(--foreground)", fontVariantNumeric: "tabular-nums", letterSpacing: "-0.01em" },
|
|
7658
7793
|
children: fmt6(balanceB, p.currency)
|
|
7659
7794
|
}
|
|
7660
7795
|
)
|
|
@@ -7666,7 +7801,8 @@ function ReconciliationViewResolver(p) {
|
|
|
7666
7801
|
{
|
|
7667
7802
|
style: {
|
|
7668
7803
|
padding: "10px 12px",
|
|
7669
|
-
background: difference === 0 ? "#f0fdf4" : "#fef2f2"
|
|
7804
|
+
background: difference === 0 ? "#f0fdf4" : "#fef2f2",
|
|
7805
|
+
minWidth: 0
|
|
7670
7806
|
},
|
|
7671
7807
|
children: [
|
|
7672
7808
|
/* @__PURE__ */ jsxs(
|
|
@@ -7706,15 +7842,12 @@ function ReconciliationViewResolver(p) {
|
|
|
7706
7842
|
}
|
|
7707
7843
|
),
|
|
7708
7844
|
/* @__PURE__ */ jsx(
|
|
7709
|
-
|
|
7845
|
+
FitText,
|
|
7710
7846
|
{
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
|
|
7715
|
-
fontVariantNumeric: "tabular-nums",
|
|
7716
|
-
letterSpacing: "-0.01em"
|
|
7717
|
-
},
|
|
7847
|
+
max: 15,
|
|
7848
|
+
min: 11,
|
|
7849
|
+
title: fmt6(difference, p.currency),
|
|
7850
|
+
style: { fontWeight: 700, color: difference === 0 ? MATCH_GREEN : DIFF_RED, fontVariantNumeric: "tabular-nums", letterSpacing: "-0.01em" },
|
|
7718
7851
|
children: fmt6(difference, p.currency)
|
|
7719
7852
|
}
|
|
7720
7853
|
)
|
|
@@ -8231,10 +8364,10 @@ function useFullscreen(ref) {
|
|
|
8231
8364
|
// src/composites/document-preview/resolver.tsx
|
|
8232
8365
|
init_theme();
|
|
8233
8366
|
init_ThemeContext();
|
|
8234
|
-
var PdfViewer2 =
|
|
8367
|
+
var PdfViewer2 = React41.lazy(
|
|
8235
8368
|
() => Promise.resolve().then(() => (init_PdfViewer(), PdfViewer_exports)).then((m) => ({ default: m.PdfViewer }))
|
|
8236
8369
|
);
|
|
8237
|
-
var ExcelViewer2 =
|
|
8370
|
+
var ExcelViewer2 = React41.lazy(
|
|
8238
8371
|
() => Promise.resolve().then(() => (init_ExcelViewer(), ExcelViewer_exports)).then((m) => ({ default: m.ExcelViewer }))
|
|
8239
8372
|
);
|
|
8240
8373
|
var highlightColors = {
|
|
@@ -9190,7 +9323,7 @@ function EngagementPipelineResolver(p) {
|
|
|
9190
9323
|
const color = (_a2 = statusColor2[phase.status]) != null ? _a2 : "#d6d3d1";
|
|
9191
9324
|
const isCurrent = i === activeIdx;
|
|
9192
9325
|
const size = isCurrent ? 28 : 20;
|
|
9193
|
-
return /* @__PURE__ */ jsxs(
|
|
9326
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
9194
9327
|
i > 0 && /* @__PURE__ */ jsx(
|
|
9195
9328
|
"div",
|
|
9196
9329
|
{
|
|
@@ -9518,7 +9651,7 @@ function EntityCardGridResolver(p) {
|
|
|
9518
9651
|
{
|
|
9519
9652
|
style: {
|
|
9520
9653
|
display: "grid",
|
|
9521
|
-
gridTemplateColumns: `repeat(auto-fit, minmax(220px, 1fr))`,
|
|
9654
|
+
gridTemplateColumns: `repeat(auto-fit, minmax(min(220px, 100%), 1fr))`,
|
|
9522
9655
|
gap: "12px",
|
|
9523
9656
|
width: "100%"
|
|
9524
9657
|
},
|
|
@@ -9609,7 +9742,7 @@ function EntityCardGridResolver(p) {
|
|
|
9609
9742
|
{
|
|
9610
9743
|
style: {
|
|
9611
9744
|
display: "grid",
|
|
9612
|
-
gridTemplateColumns: item.fields.length > 2 ? "repeat(auto-fit, minmax(90px, 1fr))" : "1fr",
|
|
9745
|
+
gridTemplateColumns: item.fields.length > 2 ? "repeat(auto-fit, minmax(min(90px, 100%), 1fr))" : "1fr",
|
|
9613
9746
|
gap: "6px 12px",
|
|
9614
9747
|
borderTop: `1px solid ${BORDER4}`,
|
|
9615
9748
|
paddingTop: "8px"
|
|
@@ -11353,7 +11486,7 @@ function FileCard({
|
|
|
11353
11486
|
whiteSpace: "nowrap"
|
|
11354
11487
|
},
|
|
11355
11488
|
children: [
|
|
11356
|
-
metaTokens.map((t, i) => /* @__PURE__ */ jsxs(
|
|
11489
|
+
metaTokens.map((t, i) => /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
11357
11490
|
i > 0 && /* @__PURE__ */ jsx("span", { style: { color: "#c4c4c4" }, children: "\xB7" }),
|
|
11358
11491
|
/* @__PURE__ */ jsx("span", { children: t })
|
|
11359
11492
|
] }, i)),
|
|
@@ -11837,9 +11970,9 @@ function ValueCell({ item }) {
|
|
|
11837
11970
|
)
|
|
11838
11971
|
] });
|
|
11839
11972
|
case "currency":
|
|
11840
|
-
return /* @__PURE__ */ jsx("span", { style: { fontSize: "13px", fontWeight: 600, fontVariantNumeric: "tabular-nums", marginLeft: "auto" }, children: item.value });
|
|
11973
|
+
return /* @__PURE__ */ jsx("span", { title: item.value, style: __spreadValues({ fontSize: "13px", fontWeight: 600, fontVariantNumeric: "tabular-nums", marginLeft: "auto" }, TRUNCATE), children: item.value });
|
|
11841
11974
|
default:
|
|
11842
|
-
return /* @__PURE__ */ jsx("span", { style: { fontSize: "13px", color: "var(--foreground)" }, children: /* @__PURE__ */ jsx(Markdown, { inline: true, content: item.value }) });
|
|
11975
|
+
return /* @__PURE__ */ jsx("span", { style: { fontSize: "13px", color: "var(--foreground)", minWidth: 0, overflowWrap: "anywhere" }, children: /* @__PURE__ */ jsx(Markdown, { inline: true, content: item.value }) });
|
|
11843
11976
|
}
|
|
11844
11977
|
}
|
|
11845
11978
|
function KVRow({ item, isLast, index }) {
|
|
@@ -11872,7 +12005,7 @@ function KVRow({ item, isLast, index }) {
|
|
|
11872
12005
|
children: item.key
|
|
11873
12006
|
}
|
|
11874
12007
|
),
|
|
11875
|
-
/* @__PURE__ */ jsx("span", { style: { flex: 1, display: "flex", alignItems: "center", gap: "6px" }, children: /* @__PURE__ */ jsx(ValueCell, { item }) }),
|
|
12008
|
+
/* @__PURE__ */ jsx("span", { style: { flex: 1, minWidth: 0, display: "flex", alignItems: "center", gap: "6px" }, children: /* @__PURE__ */ jsx(ValueCell, { item }) }),
|
|
11876
12009
|
item.copyable && /* @__PURE__ */ jsx(CopyButton, { value: item.value, rowHovered: hovered })
|
|
11877
12010
|
]
|
|
11878
12011
|
}
|
|
@@ -11928,7 +12061,7 @@ function KeyValueListResolver(p) {
|
|
|
11928
12061
|
var _a3;
|
|
11929
12062
|
return sum + ((_a3 = g.items) != null ? _a3 : []).length;
|
|
11930
12063
|
}, 0);
|
|
11931
|
-
return /* @__PURE__ */ jsxs(
|
|
12064
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
11932
12065
|
/* @__PURE__ */ jsxs(
|
|
11933
12066
|
"div",
|
|
11934
12067
|
{
|
|
@@ -12064,7 +12197,7 @@ function BalanceSheetResolver(p) {
|
|
|
12064
12197
|
color: balanced ? "#15803d" : "#dc2626"
|
|
12065
12198
|
}, children: balanced ? "\u2713 A = L + E" : "\u2717 Out of Balance" })
|
|
12066
12199
|
] }),
|
|
12067
|
-
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
12200
|
+
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", minWidth: 0, borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
12068
12201
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
12069
12202
|
/* @__PURE__ */ jsx("th", { style: {
|
|
12070
12203
|
fontSize: "11px",
|
|
@@ -12106,7 +12239,7 @@ function BalanceSheetResolver(p) {
|
|
|
12106
12239
|
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
12107
12240
|
((_p = p.sections) != null ? _p : []).map((section) => {
|
|
12108
12241
|
var _a2;
|
|
12109
|
-
return /* @__PURE__ */ jsxs(
|
|
12242
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12110
12243
|
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan, style: {
|
|
12111
12244
|
padding: "8px 12px",
|
|
12112
12245
|
fontSize: "12px",
|
|
@@ -12119,7 +12252,7 @@ function BalanceSheetResolver(p) {
|
|
|
12119
12252
|
}, children: (_a2 = categoryLabels2[section.category]) != null ? _a2 : section.category }) }),
|
|
12120
12253
|
section.subsections.map((sub, si) => {
|
|
12121
12254
|
var _a3;
|
|
12122
|
-
return /* @__PURE__ */ jsxs(
|
|
12255
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12123
12256
|
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan, style: {
|
|
12124
12257
|
padding: "6px 10px 6px 24px",
|
|
12125
12258
|
fontSize: "12px",
|
|
@@ -12281,7 +12414,7 @@ function IncomeStatementResolver(p) {
|
|
|
12281
12414
|
].filter(Boolean).join(" \xB7 ") })
|
|
12282
12415
|
] }),
|
|
12283
12416
|
p.title && /* @__PURE__ */ jsx("p", { style: { fontFamily: "var(--font-serif)", fontSize: "15px", fontWeight: 400, color: "var(--foreground)", letterSpacing: "-0.01em", margin: 0 }, children: p.title }),
|
|
12284
|
-
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
12417
|
+
/* @__PURE__ */ jsx("div", { style: { overflowX: "auto", minWidth: 0, borderRadius: "0.75rem", border: `1px solid ${BORDER4}`, boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.05)" }, children: /* @__PURE__ */ jsxs("table", { style: { width: "100%", borderCollapse: "collapse", minWidth: "380px" }, children: [
|
|
12285
12418
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
12286
12419
|
/* @__PURE__ */ jsx("th", { style: {
|
|
12287
12420
|
fontSize: "11px",
|
|
@@ -12295,7 +12428,7 @@ function IncomeStatementResolver(p) {
|
|
|
12295
12428
|
textAlign: "left",
|
|
12296
12429
|
whiteSpace: "nowrap"
|
|
12297
12430
|
}, children: "\xA0" }),
|
|
12298
|
-
periods.map((period) => /* @__PURE__ */ jsxs(
|
|
12431
|
+
periods.map((period) => /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12299
12432
|
/* @__PURE__ */ jsx("th", { style: {
|
|
12300
12433
|
fontSize: "11px",
|
|
12301
12434
|
fontWeight: 500,
|
|
@@ -12326,7 +12459,7 @@ function IncomeStatementResolver(p) {
|
|
|
12326
12459
|
sections.map((section, si) => {
|
|
12327
12460
|
var _a2;
|
|
12328
12461
|
const isSubtotal = section.sectionType === "subtotal";
|
|
12329
|
-
return /* @__PURE__ */ jsxs(
|
|
12462
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12330
12463
|
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: colCount, style: {
|
|
12331
12464
|
padding: "8px 12px",
|
|
12332
12465
|
fontSize: "12px",
|
|
@@ -12357,7 +12490,7 @@ function IncomeStatementResolver(p) {
|
|
|
12357
12490
|
var _a4;
|
|
12358
12491
|
const val = (_a4 = amounts[pi]) != null ? _a4 : 0;
|
|
12359
12492
|
const isNeg = val < 0;
|
|
12360
|
-
return /* @__PURE__ */ jsxs(
|
|
12493
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12361
12494
|
/* @__PURE__ */ jsx("td", { style: {
|
|
12362
12495
|
padding: "6px 10px",
|
|
12363
12496
|
fontSize: "13px",
|
|
@@ -12392,7 +12525,7 @@ function IncomeStatementResolver(p) {
|
|
|
12392
12525
|
var _a2;
|
|
12393
12526
|
const val = (_a2 = grossProfit[pi]) != null ? _a2 : 0;
|
|
12394
12527
|
const isNeg = val < 0;
|
|
12395
|
-
return /* @__PURE__ */ jsxs(
|
|
12528
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12396
12529
|
/* @__PURE__ */ jsx("td", { style: {
|
|
12397
12530
|
padding: "8px 10px",
|
|
12398
12531
|
fontSize: "12px",
|
|
@@ -12427,7 +12560,7 @@ function IncomeStatementResolver(p) {
|
|
|
12427
12560
|
var _a2;
|
|
12428
12561
|
const val = (_a2 = operatingIncome[pi]) != null ? _a2 : 0;
|
|
12429
12562
|
const isNeg = val < 0;
|
|
12430
|
-
return /* @__PURE__ */ jsxs(
|
|
12563
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12431
12564
|
/* @__PURE__ */ jsx("td", { style: {
|
|
12432
12565
|
padding: "8px 10px",
|
|
12433
12566
|
fontSize: "12px",
|
|
@@ -12461,7 +12594,7 @@ function IncomeStatementResolver(p) {
|
|
|
12461
12594
|
var _a2;
|
|
12462
12595
|
const val = (_a2 = netIncome[pi]) != null ? _a2 : 0;
|
|
12463
12596
|
const isNeg = val < 0;
|
|
12464
|
-
return /* @__PURE__ */ jsxs(
|
|
12597
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12465
12598
|
/* @__PURE__ */ jsx("td", { style: {
|
|
12466
12599
|
padding: "10px 10px",
|
|
12467
12600
|
fontSize: "13px",
|
|
@@ -12681,7 +12814,7 @@ function CashFlowStatementResolver(p) {
|
|
|
12681
12814
|
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
12682
12815
|
activities.map((activity, ai) => {
|
|
12683
12816
|
var _a2, _b2, _c2;
|
|
12684
|
-
return /* @__PURE__ */ jsxs(
|
|
12817
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
12685
12818
|
ai > 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
|
|
12686
12819
|
"td",
|
|
12687
12820
|
{
|
|
@@ -13064,6 +13197,7 @@ function GeneralLedgerResolver(p) {
|
|
|
13064
13197
|
{
|
|
13065
13198
|
style: {
|
|
13066
13199
|
overflowX: "auto",
|
|
13200
|
+
minWidth: 0,
|
|
13067
13201
|
borderRadius: "0.75rem",
|
|
13068
13202
|
border: `1px solid ${BORDER4}`,
|
|
13069
13203
|
boxShadow: "0 1px 2px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04)"
|
|
@@ -16978,6 +17112,728 @@ function PipelinePreviewResolver(p) {
|
|
|
16978
17112
|
)
|
|
16979
17113
|
] }) });
|
|
16980
17114
|
}
|
|
17115
|
+
init_ThemeContext();
|
|
17116
|
+
var DEFAULT_INTERACTION = {
|
|
17117
|
+
selectedStepId: null,
|
|
17118
|
+
onStepSelect: void 0
|
|
17119
|
+
};
|
|
17120
|
+
var GenUIInteractionContext = createContext(DEFAULT_INTERACTION);
|
|
17121
|
+
function useGenUIInteraction() {
|
|
17122
|
+
return useContext(GenUIInteractionContext);
|
|
17123
|
+
}
|
|
17124
|
+
var STATUS_COLORS3 = {
|
|
17125
|
+
done: "#15803d",
|
|
17126
|
+
active: "",
|
|
17127
|
+
// filled from theme ACCENT at render time
|
|
17128
|
+
review: "#f59e0b",
|
|
17129
|
+
pending: "#9ca3af",
|
|
17130
|
+
blocked: "#b45309",
|
|
17131
|
+
failed: "#dc2626"
|
|
17132
|
+
};
|
|
17133
|
+
var STATUS_LABELS = {
|
|
17134
|
+
done: "Complete",
|
|
17135
|
+
active: "In progress",
|
|
17136
|
+
review: "In review",
|
|
17137
|
+
pending: "Pending",
|
|
17138
|
+
blocked: "Blocked",
|
|
17139
|
+
failed: "Failed"
|
|
17140
|
+
};
|
|
17141
|
+
var HUMAN_PALETTE = ["#2563eb", "#0f766e", "#7c3aed", "#b45309", "#be185d", "#4d7c0f"];
|
|
17142
|
+
function hashColor(name) {
|
|
17143
|
+
let h = 0;
|
|
17144
|
+
for (let i = 0; i < name.length; i++) h = h * 31 + name.charCodeAt(i) | 0;
|
|
17145
|
+
return HUMAN_PALETTE[Math.abs(h) % HUMAN_PALETTE.length];
|
|
17146
|
+
}
|
|
17147
|
+
function initialsOf(a) {
|
|
17148
|
+
var _a, _b, _c, _d;
|
|
17149
|
+
if (a.initials) return a.initials.slice(0, 2).toUpperCase();
|
|
17150
|
+
const parts = a.name.trim().split(/\s+/);
|
|
17151
|
+
return (((_b = (_a = parts[0]) == null ? void 0 : _a[0]) != null ? _b : "") + ((_d = (_c = parts[1]) == null ? void 0 : _c[0]) != null ? _d : "")).toUpperCase() || "?";
|
|
17152
|
+
}
|
|
17153
|
+
function SparkMark({ size, color }) {
|
|
17154
|
+
return /* @__PURE__ */ jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
|
|
17155
|
+
"path",
|
|
17156
|
+
{
|
|
17157
|
+
d: "M12 2C12 2 12.8 6.5 14.5 9.5C16.2 12.5 20 13 20 13C20 13 16.2 13.5 14.5 16.5C12.8 19.5 12 24 12 24C12 24 11.2 19.5 9.5 16.5C7.8 13.5 4 13 4 13C4 13 7.8 12.5 9.5 9.5C11.2 6.5 12 2 12 2Z",
|
|
17158
|
+
fill: color
|
|
17159
|
+
}
|
|
17160
|
+
) });
|
|
17161
|
+
}
|
|
17162
|
+
function AvatarStack({ assignees, accent }) {
|
|
17163
|
+
const shown = assignees.slice(0, 4);
|
|
17164
|
+
const overflow = assignees.length - shown.length;
|
|
17165
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
17166
|
+
shown.map((a, i) => {
|
|
17167
|
+
const isAgent = a.kind === "agent";
|
|
17168
|
+
const bg = isAgent ? `${accent}1f` : a.color || hashColor(a.name);
|
|
17169
|
+
return /* @__PURE__ */ jsx(
|
|
17170
|
+
"div",
|
|
17171
|
+
{
|
|
17172
|
+
title: `${a.name}${a.role ? ` \xB7 ${a.role}` : isAgent ? " \xB7 agent" : ""}`,
|
|
17173
|
+
style: {
|
|
17174
|
+
width: 20,
|
|
17175
|
+
height: 20,
|
|
17176
|
+
borderRadius: "50%",
|
|
17177
|
+
flexShrink: 0,
|
|
17178
|
+
marginLeft: i === 0 ? 0 : -7,
|
|
17179
|
+
zIndex: shown.length - i,
|
|
17180
|
+
display: "flex",
|
|
17181
|
+
alignItems: "center",
|
|
17182
|
+
justifyContent: "center",
|
|
17183
|
+
background: bg,
|
|
17184
|
+
border: "1.5px solid white",
|
|
17185
|
+
boxShadow: isAgent ? `inset 0 0 0 1px ${accent}59` : "none"
|
|
17186
|
+
},
|
|
17187
|
+
children: isAgent ? /* @__PURE__ */ jsx(SparkMark, { size: 11, color: accent }) : /* @__PURE__ */ jsx("span", { style: { fontSize: 8, fontWeight: 700, color: "white", letterSpacing: "0.02em" }, children: initialsOf(a) })
|
|
17188
|
+
},
|
|
17189
|
+
`${a.name}-${i}`
|
|
17190
|
+
);
|
|
17191
|
+
}),
|
|
17192
|
+
overflow > 0 && /* @__PURE__ */ jsxs(
|
|
17193
|
+
"span",
|
|
17194
|
+
{
|
|
17195
|
+
style: {
|
|
17196
|
+
marginLeft: -7,
|
|
17197
|
+
zIndex: 0,
|
|
17198
|
+
width: 20,
|
|
17199
|
+
height: 20,
|
|
17200
|
+
borderRadius: "50%",
|
|
17201
|
+
background: "#f2f2f2",
|
|
17202
|
+
border: "1.5px solid white",
|
|
17203
|
+
display: "flex",
|
|
17204
|
+
alignItems: "center",
|
|
17205
|
+
justifyContent: "center",
|
|
17206
|
+
fontSize: 8,
|
|
17207
|
+
fontWeight: 700,
|
|
17208
|
+
color: "#777777"
|
|
17209
|
+
},
|
|
17210
|
+
children: [
|
|
17211
|
+
"+",
|
|
17212
|
+
overflow
|
|
17213
|
+
]
|
|
17214
|
+
}
|
|
17215
|
+
)
|
|
17216
|
+
] });
|
|
17217
|
+
}
|
|
17218
|
+
function IndexDot({ step, index, accent }) {
|
|
17219
|
+
var _a;
|
|
17220
|
+
const n = (_a = step.n) != null ? _a : index + 1;
|
|
17221
|
+
const base = {
|
|
17222
|
+
width: 18,
|
|
17223
|
+
height: 18,
|
|
17224
|
+
borderRadius: "50%",
|
|
17225
|
+
flexShrink: 0,
|
|
17226
|
+
display: "flex",
|
|
17227
|
+
alignItems: "center",
|
|
17228
|
+
justifyContent: "center",
|
|
17229
|
+
fontSize: 10,
|
|
17230
|
+
fontWeight: 700,
|
|
17231
|
+
lineHeight: 1
|
|
17232
|
+
};
|
|
17233
|
+
if (step.status === "done") {
|
|
17234
|
+
return /* @__PURE__ */ jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "#15803d", color: "white" }), children: /* @__PURE__ */ jsx("span", { style: { fontSize: 10 }, children: "\u2713" }) });
|
|
17235
|
+
}
|
|
17236
|
+
if (step.status === "failed") {
|
|
17237
|
+
return /* @__PURE__ */ jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "#dc2626", color: "white" }), children: /* @__PURE__ */ jsx("span", { style: { fontSize: 10 }, children: "!" }) });
|
|
17238
|
+
}
|
|
17239
|
+
if (step.status === "active") {
|
|
17240
|
+
return /* @__PURE__ */ jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: accent, color: "white" }), children: n });
|
|
17241
|
+
}
|
|
17242
|
+
if (step.status === "review") {
|
|
17243
|
+
return /* @__PURE__ */ jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "white", border: "1.5px solid #f59e0b", color: "#b45309" }), children: n });
|
|
17244
|
+
}
|
|
17245
|
+
return /* @__PURE__ */ jsx("div", { style: __spreadProps(__spreadValues({}, base), { background: "#f2f2f2", color: "#9ca3af" }), children: n });
|
|
17246
|
+
}
|
|
17247
|
+
var CARD_MIN = 132;
|
|
17248
|
+
var CARD_GAP = 16;
|
|
17249
|
+
var AUTO_COMPACT_BELOW = 360;
|
|
17250
|
+
function useContainerWidth(ref) {
|
|
17251
|
+
const [w, setW] = React41.useState(0);
|
|
17252
|
+
React41.useLayoutEffect(() => {
|
|
17253
|
+
const el = ref.current;
|
|
17254
|
+
if (!el || typeof ResizeObserver === "undefined") return;
|
|
17255
|
+
const ro = new ResizeObserver((entries) => {
|
|
17256
|
+
var _a;
|
|
17257
|
+
const cr = (_a = entries[0]) == null ? void 0 : _a.contentRect;
|
|
17258
|
+
if (cr) setW(cr.width);
|
|
17259
|
+
});
|
|
17260
|
+
ro.observe(el);
|
|
17261
|
+
setW(el.getBoundingClientRect().width);
|
|
17262
|
+
return () => ro.disconnect();
|
|
17263
|
+
}, [ref]);
|
|
17264
|
+
return w;
|
|
17265
|
+
}
|
|
17266
|
+
var KEYFRAMES = `
|
|
17267
|
+
@keyframes wfsPulse{0%,100%{opacity:1}50%{opacity:.35}}
|
|
17268
|
+
@keyframes wfsLampPulse{0%,100%{box-shadow:0 0 0 0 var(--wfs-accent,#6366f1)73}50%{box-shadow:0 0 0 4px transparent}}
|
|
17269
|
+
@keyframes wfsRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
|
|
17270
|
+
@keyframes wfsShimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}
|
|
17271
|
+
.wfs-rise{animation:wfsRise 0.32s cubic-bezier(0.22,1,0.36,1) both}
|
|
17272
|
+
@media (prefers-reduced-motion: reduce){
|
|
17273
|
+
.wfs-anim,.wfs-rise,.wfs-shim{animation:none !important}
|
|
17274
|
+
.wfs-rise{opacity:1 !important;transform:none !important}
|
|
17275
|
+
}`;
|
|
17276
|
+
function ProgressMeter({
|
|
17277
|
+
done,
|
|
17278
|
+
total,
|
|
17279
|
+
accent,
|
|
17280
|
+
muted,
|
|
17281
|
+
loading
|
|
17282
|
+
}) {
|
|
17283
|
+
const pct = total > 0 ? Math.round(done / total * 100) : 0;
|
|
17284
|
+
return /* @__PURE__ */ jsxs(
|
|
17285
|
+
"div",
|
|
17286
|
+
{
|
|
17287
|
+
"data-testid": "workflow-stepper-progress",
|
|
17288
|
+
style: { display: "flex", alignItems: "center", gap: 8, padding: "0 2px 6px" },
|
|
17289
|
+
children: [
|
|
17290
|
+
/* @__PURE__ */ jsx(
|
|
17291
|
+
"span",
|
|
17292
|
+
{
|
|
17293
|
+
style: {
|
|
17294
|
+
fontSize: 10.5,
|
|
17295
|
+
fontWeight: 600,
|
|
17296
|
+
color: muted,
|
|
17297
|
+
fontVariantNumeric: "tabular-nums",
|
|
17298
|
+
letterSpacing: "0.01em",
|
|
17299
|
+
whiteSpace: "nowrap"
|
|
17300
|
+
},
|
|
17301
|
+
children: loading ? "\u2014" : `${done} / ${total} \xB7 ${pct}%`
|
|
17302
|
+
}
|
|
17303
|
+
),
|
|
17304
|
+
/* @__PURE__ */ jsx(
|
|
17305
|
+
"span",
|
|
17306
|
+
{
|
|
17307
|
+
style: {
|
|
17308
|
+
flex: 1,
|
|
17309
|
+
height: 3,
|
|
17310
|
+
borderRadius: 3,
|
|
17311
|
+
background: "#eceff4",
|
|
17312
|
+
overflow: "hidden",
|
|
17313
|
+
minWidth: 40
|
|
17314
|
+
},
|
|
17315
|
+
children: /* @__PURE__ */ jsx(
|
|
17316
|
+
"span",
|
|
17317
|
+
{
|
|
17318
|
+
className: loading ? "wfs-shim" : void 0,
|
|
17319
|
+
style: {
|
|
17320
|
+
display: "block",
|
|
17321
|
+
height: "100%",
|
|
17322
|
+
width: loading ? "100%" : `${pct}%`,
|
|
17323
|
+
borderRadius: 3,
|
|
17324
|
+
background: loading ? `linear-gradient(90deg, #eceff4, ${accent}55, #eceff4)` : accent,
|
|
17325
|
+
backgroundSize: loading ? "200px 100%" : void 0,
|
|
17326
|
+
animation: loading ? "wfsShimmer 1.1s linear infinite" : void 0,
|
|
17327
|
+
transition: "width 0.45s cubic-bezier(0.22,1,0.36,1)"
|
|
17328
|
+
}
|
|
17329
|
+
}
|
|
17330
|
+
)
|
|
17331
|
+
}
|
|
17332
|
+
)
|
|
17333
|
+
]
|
|
17334
|
+
}
|
|
17335
|
+
);
|
|
17336
|
+
}
|
|
17337
|
+
function WorkflowStepperRenderer({
|
|
17338
|
+
data,
|
|
17339
|
+
selectedStep = null,
|
|
17340
|
+
onSelectStep,
|
|
17341
|
+
density = "auto",
|
|
17342
|
+
loading = false,
|
|
17343
|
+
loadingSteps = 6,
|
|
17344
|
+
showProgress = true
|
|
17345
|
+
}) {
|
|
17346
|
+
var _a, _b, _c, _d, _e, _f;
|
|
17347
|
+
const { BORDER: BORDER4, MUTED: MUTED2, ACCENT: ACCENT2 } = useTheme();
|
|
17348
|
+
const steps = (_a = data.steps) != null ? _a : [];
|
|
17349
|
+
const activeStepId = (_d = (_c = data.active_step) != null ? _c : (_b = steps.find((s) => s.status === "active")) == null ? void 0 : _b.id) != null ? _d : null;
|
|
17350
|
+
const interactive = typeof onSelectStep === "function";
|
|
17351
|
+
const statusColor3 = (s) => s === "active" ? ACCENT2 : STATUS_COLORS3[s];
|
|
17352
|
+
const doneCount = steps.filter((s) => s.status === "done").length;
|
|
17353
|
+
const rootRef = React41.useRef(null);
|
|
17354
|
+
const containerW = useContainerWidth(rootRef);
|
|
17355
|
+
let resolved = density === "auto" ? "full" : density;
|
|
17356
|
+
if (density === "auto" && containerW > 0) {
|
|
17357
|
+
const needed = steps.length * CARD_MIN + Math.max(0, steps.length - 1) * CARD_GAP;
|
|
17358
|
+
resolved = containerW < AUTO_COMPACT_BELOW || needed > containerW * 1.6 ? "compact" : "full";
|
|
17359
|
+
}
|
|
17360
|
+
const scrollerRef = React41.useRef(null);
|
|
17361
|
+
React41.useEffect(() => {
|
|
17362
|
+
if (resolved !== "full" || loading) return;
|
|
17363
|
+
const sc = scrollerRef.current;
|
|
17364
|
+
if (!sc) return;
|
|
17365
|
+
const el = sc.querySelector(
|
|
17366
|
+
`[data-testid="workflow-stepper-step-${selectedStep != null ? selectedStep : activeStepId}"]`
|
|
17367
|
+
);
|
|
17368
|
+
if (el && sc.scrollWidth > sc.clientWidth) {
|
|
17369
|
+
el.scrollIntoView({ inline: "center", block: "nearest", behavior: "smooth" });
|
|
17370
|
+
}
|
|
17371
|
+
}, [resolved, loading, selectedStep, activeStepId]);
|
|
17372
|
+
const [edges, setEdges] = React41.useState({
|
|
17373
|
+
left: false,
|
|
17374
|
+
right: false
|
|
17375
|
+
});
|
|
17376
|
+
const updateEdges = React41.useCallback(() => {
|
|
17377
|
+
const sc = scrollerRef.current;
|
|
17378
|
+
if (!sc) return;
|
|
17379
|
+
const max = sc.scrollWidth - sc.clientWidth;
|
|
17380
|
+
const sl = sc.scrollLeft;
|
|
17381
|
+
const left = sl > 1;
|
|
17382
|
+
const right = sl < max - 1;
|
|
17383
|
+
setEdges((prev) => prev.left === left && prev.right === right ? prev : { left, right });
|
|
17384
|
+
}, []);
|
|
17385
|
+
React41.useLayoutEffect(() => {
|
|
17386
|
+
if (resolved !== "full" || loading) return;
|
|
17387
|
+
updateEdges();
|
|
17388
|
+
const sc = scrollerRef.current;
|
|
17389
|
+
if (!sc || typeof ResizeObserver === "undefined") return;
|
|
17390
|
+
const ro = new ResizeObserver(updateEdges);
|
|
17391
|
+
ro.observe(sc);
|
|
17392
|
+
return () => ro.disconnect();
|
|
17393
|
+
}, [resolved, loading, steps.length, updateEdges]);
|
|
17394
|
+
const edgeMask = edges.left || edges.right ? `linear-gradient(90deg, ${edges.left ? "transparent 0, #000 14px" : "#000 0"}, ${edges.right ? "#000 calc(100% - 14px), transparent 100%" : "#000 100%"})` : void 0;
|
|
17395
|
+
const themeStyle = { ["--wfs-accent"]: ACCENT2 };
|
|
17396
|
+
if (loading) {
|
|
17397
|
+
const ghosts = Array.from({ length: Math.max(2, loadingSteps) });
|
|
17398
|
+
return /* @__PURE__ */ jsxs("div", { "data-testid": "workflow-stepper-loading", style: __spreadValues({ width: "100%", minWidth: 0 }, themeStyle), children: [
|
|
17399
|
+
/* @__PURE__ */ jsx("style", { children: KEYFRAMES }),
|
|
17400
|
+
showProgress && /* @__PURE__ */ jsx(ProgressMeter, { done: 0, total: 0, accent: ACCENT2, muted: MUTED2, loading: true }),
|
|
17401
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "stretch", gap: CARD_GAP, padding: "2px 2px 6px", overflow: "hidden" }, children: ghosts.map((_, i) => /* @__PURE__ */ jsx(
|
|
17402
|
+
"div",
|
|
17403
|
+
{
|
|
17404
|
+
className: "wfs-shim",
|
|
17405
|
+
"aria-hidden": "true",
|
|
17406
|
+
style: {
|
|
17407
|
+
flex: "0 1 168px",
|
|
17408
|
+
minWidth: CARD_MIN,
|
|
17409
|
+
height: 84,
|
|
17410
|
+
borderRadius: 10,
|
|
17411
|
+
border: `1px solid ${BORDER4}`,
|
|
17412
|
+
background: `linear-gradient(90deg, #f4f6f9, #eceff4 40%, #f4f6f9 80%)`,
|
|
17413
|
+
backgroundSize: "200px 100%",
|
|
17414
|
+
animation: "wfsShimmer 1.1s linear infinite",
|
|
17415
|
+
animationDelay: `${i * 0.08}s`
|
|
17416
|
+
}
|
|
17417
|
+
},
|
|
17418
|
+
i
|
|
17419
|
+
)) })
|
|
17420
|
+
] });
|
|
17421
|
+
}
|
|
17422
|
+
if (resolved === "compact") {
|
|
17423
|
+
const activeStep = (_e = steps.find((s) => s.id === activeStepId)) != null ? _e : null;
|
|
17424
|
+
return /* @__PURE__ */ jsxs(
|
|
17425
|
+
"div",
|
|
17426
|
+
{
|
|
17427
|
+
ref: rootRef,
|
|
17428
|
+
"data-testid": "workflow-stepper-compact",
|
|
17429
|
+
style: __spreadValues({ width: "100%", minWidth: 0 }, themeStyle),
|
|
17430
|
+
children: [
|
|
17431
|
+
/* @__PURE__ */ jsx("style", { children: KEYFRAMES }),
|
|
17432
|
+
showProgress && /* @__PURE__ */ jsx(ProgressMeter, { done: doneCount, total: steps.length, accent: ACCENT2, muted: MUTED2 }),
|
|
17433
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, minWidth: 0 }, children: [
|
|
17434
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", flexShrink: 0 }, children: steps.map((s, i) => {
|
|
17435
|
+
const sel = selectedStep === s.id;
|
|
17436
|
+
const act = s.status === "active";
|
|
17437
|
+
const done = s.status === "done";
|
|
17438
|
+
const reached = s.status !== "pending";
|
|
17439
|
+
const clickable = interactive && reached;
|
|
17440
|
+
const size = act ? 11 : done ? 9 : 8;
|
|
17441
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
17442
|
+
i > 0 && /* @__PURE__ */ jsx(
|
|
17443
|
+
"span",
|
|
17444
|
+
{
|
|
17445
|
+
"aria-hidden": "true",
|
|
17446
|
+
style: {
|
|
17447
|
+
width: 14,
|
|
17448
|
+
height: 1.5,
|
|
17449
|
+
borderRadius: 1,
|
|
17450
|
+
background: steps[i - 1].status === "done" ? "#15803d" : "#e5e7eb",
|
|
17451
|
+
transition: "background 0.36s ease-out"
|
|
17452
|
+
}
|
|
17453
|
+
}
|
|
17454
|
+
),
|
|
17455
|
+
/* @__PURE__ */ jsx(
|
|
17456
|
+
"button",
|
|
17457
|
+
{
|
|
17458
|
+
type: "button",
|
|
17459
|
+
disabled: interactive && !reached,
|
|
17460
|
+
"aria-disabled": interactive && !reached ? true : void 0,
|
|
17461
|
+
title: `${s.title} \xB7 ${STATUS_LABELS[s.status]}`,
|
|
17462
|
+
onClick: clickable ? () => onSelectStep == null ? void 0 : onSelectStep(sel ? null : s.id) : void 0,
|
|
17463
|
+
"data-testid": `workflow-stepper-step-${s.id}`,
|
|
17464
|
+
"data-status": s.status,
|
|
17465
|
+
"data-reached": reached || void 0,
|
|
17466
|
+
className: act ? "wfs-anim" : void 0,
|
|
17467
|
+
style: {
|
|
17468
|
+
position: "relative",
|
|
17469
|
+
width: size,
|
|
17470
|
+
height: size,
|
|
17471
|
+
padding: 0,
|
|
17472
|
+
borderRadius: "50%",
|
|
17473
|
+
background: statusColor3(s.status),
|
|
17474
|
+
flexShrink: 0,
|
|
17475
|
+
// border-box so the selected 2px border can't grow the dot
|
|
17476
|
+
// and reflow the rail.
|
|
17477
|
+
boxSizing: "border-box",
|
|
17478
|
+
opacity: reached ? 1 : 0.55,
|
|
17479
|
+
border: sel ? `2px solid ${ACCENT2}` : done ? "none" : "1px solid rgba(255,255,255,0.6)",
|
|
17480
|
+
boxShadow: sel ? "0 0 0 2px #fff" : "none",
|
|
17481
|
+
cursor: clickable ? "pointer" : "default",
|
|
17482
|
+
transition: "width 0.15s, height 0.15s",
|
|
17483
|
+
animation: act ? "wfsLampPulse 1.8s ease-in-out infinite" : "none"
|
|
17484
|
+
}
|
|
17485
|
+
}
|
|
17486
|
+
)
|
|
17487
|
+
] }, s.id);
|
|
17488
|
+
}) }),
|
|
17489
|
+
activeStep && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17490
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", style: { width: 1, height: 16, background: "#e6eaf1", flexShrink: 0 } }),
|
|
17491
|
+
/* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: [
|
|
17492
|
+
/* @__PURE__ */ jsx(
|
|
17493
|
+
"span",
|
|
17494
|
+
{
|
|
17495
|
+
"aria-hidden": "true",
|
|
17496
|
+
style: {
|
|
17497
|
+
width: 17,
|
|
17498
|
+
height: 17,
|
|
17499
|
+
borderRadius: "50%",
|
|
17500
|
+
flexShrink: 0,
|
|
17501
|
+
display: "flex",
|
|
17502
|
+
alignItems: "center",
|
|
17503
|
+
justifyContent: "center",
|
|
17504
|
+
fontSize: 9.5,
|
|
17505
|
+
fontWeight: 700,
|
|
17506
|
+
lineHeight: 1,
|
|
17507
|
+
background: activeStep.status === "done" ? "#15803d" : activeStep.status === "review" ? "#fff" : activeStep.status === "failed" ? "#dc2626" : ACCENT2,
|
|
17508
|
+
color: activeStep.status === "review" ? "#b45309" : "#fff",
|
|
17509
|
+
border: activeStep.status === "review" ? "1.5px solid #f59e0b" : "none"
|
|
17510
|
+
},
|
|
17511
|
+
children: activeStep.status === "done" ? "\u2713" : activeStep.status === "failed" ? "!" : (_f = activeStep.n) != null ? _f : steps.findIndex((x) => x.id === activeStep.id) + 1
|
|
17512
|
+
}
|
|
17513
|
+
),
|
|
17514
|
+
/* @__PURE__ */ jsxs(
|
|
17515
|
+
"span",
|
|
17516
|
+
{
|
|
17517
|
+
style: {
|
|
17518
|
+
fontSize: 12.5,
|
|
17519
|
+
fontWeight: 650,
|
|
17520
|
+
color: "var(--foreground)",
|
|
17521
|
+
letterSpacing: "-0.01em",
|
|
17522
|
+
whiteSpace: "nowrap",
|
|
17523
|
+
overflow: "hidden",
|
|
17524
|
+
textOverflow: "ellipsis",
|
|
17525
|
+
minWidth: 0
|
|
17526
|
+
},
|
|
17527
|
+
children: [
|
|
17528
|
+
activeStep.title,
|
|
17529
|
+
activeStep.sub ? /* @__PURE__ */ jsxs("span", { style: { fontWeight: 400, color: MUTED2 }, children: [
|
|
17530
|
+
" \xB7 ",
|
|
17531
|
+
activeStep.sub
|
|
17532
|
+
] }) : null
|
|
17533
|
+
]
|
|
17534
|
+
}
|
|
17535
|
+
)
|
|
17536
|
+
] })
|
|
17537
|
+
] })
|
|
17538
|
+
] })
|
|
17539
|
+
]
|
|
17540
|
+
}
|
|
17541
|
+
);
|
|
17542
|
+
}
|
|
17543
|
+
return /* @__PURE__ */ jsxs("div", { ref: rootRef, "data-testid": "workflow-stepper", style: __spreadValues({ width: "100%", minWidth: 0 }, themeStyle), children: [
|
|
17544
|
+
/* @__PURE__ */ jsx("style", { children: KEYFRAMES }),
|
|
17545
|
+
showProgress && /* @__PURE__ */ jsx(ProgressMeter, { done: doneCount, total: steps.length, accent: ACCENT2, muted: MUTED2 }),
|
|
17546
|
+
/* @__PURE__ */ jsxs(
|
|
17547
|
+
"div",
|
|
17548
|
+
{
|
|
17549
|
+
ref: scrollerRef,
|
|
17550
|
+
className: "wfs-scroller",
|
|
17551
|
+
onScroll: updateEdges,
|
|
17552
|
+
style: {
|
|
17553
|
+
display: "flex",
|
|
17554
|
+
alignItems: "stretch",
|
|
17555
|
+
overflowX: "auto",
|
|
17556
|
+
scrollSnapType: "x proximity",
|
|
17557
|
+
padding: "2px 2px 4px",
|
|
17558
|
+
// Thin, always-styled scrollbar (Firefox + Windows/desktop WebKit
|
|
17559
|
+
// where overlay scrollbars aren't available). macOS/mobile show
|
|
17560
|
+
// overlay scrollbars on scroll; harmless either way.
|
|
17561
|
+
scrollbarWidth: "thin",
|
|
17562
|
+
scrollbarColor: "#c2c9d6 transparent",
|
|
17563
|
+
// Edge fade ONLY on the side(s) with hidden content — never when the
|
|
17564
|
+
// row isn't scrollable, so the last card's right edge stays crisp.
|
|
17565
|
+
maskImage: edgeMask,
|
|
17566
|
+
WebkitMaskImage: edgeMask
|
|
17567
|
+
},
|
|
17568
|
+
children: [
|
|
17569
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
17570
|
+
.wfs-scroller::-webkit-scrollbar{height:8px}
|
|
17571
|
+
.wfs-scroller::-webkit-scrollbar-track{background:transparent}
|
|
17572
|
+
.wfs-scroller::-webkit-scrollbar-thumb{background:#c2c9d6;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
|
|
17573
|
+
.wfs-scroller:hover::-webkit-scrollbar-thumb{background:#aab2c2;background-clip:padding-box}
|
|
17574
|
+
` }),
|
|
17575
|
+
steps.map((step, i) => {
|
|
17576
|
+
var _a2;
|
|
17577
|
+
const isSelected = selectedStep === step.id;
|
|
17578
|
+
const isActive = step.status === "active";
|
|
17579
|
+
const reached = step.status !== "pending";
|
|
17580
|
+
const clickable = interactive && reached;
|
|
17581
|
+
const color = statusColor3(step.status);
|
|
17582
|
+
const humans = ((_a2 = step.assignees) != null ? _a2 : []).filter((a) => a.kind === "human");
|
|
17583
|
+
const roleCaption = humans.map((h) => h.role).filter(Boolean).slice(0, 2).join(" \xB7 ");
|
|
17584
|
+
return /* @__PURE__ */ jsxs(React41.Fragment, { children: [
|
|
17585
|
+
i > 0 && /* @__PURE__ */ jsx(
|
|
17586
|
+
"div",
|
|
17587
|
+
{
|
|
17588
|
+
style: {
|
|
17589
|
+
width: CARD_GAP,
|
|
17590
|
+
flexShrink: 0,
|
|
17591
|
+
display: "flex",
|
|
17592
|
+
alignItems: "center"
|
|
17593
|
+
},
|
|
17594
|
+
"aria-hidden": "true",
|
|
17595
|
+
children: /* @__PURE__ */ jsx(
|
|
17596
|
+
"div",
|
|
17597
|
+
{
|
|
17598
|
+
style: {
|
|
17599
|
+
width: "100%",
|
|
17600
|
+
height: 1.5,
|
|
17601
|
+
borderRadius: 1,
|
|
17602
|
+
// Fill sweep: completed rails wash green left→right.
|
|
17603
|
+
background: steps[i - 1].status === "done" ? "linear-gradient(90deg, #15803d, #15803d)" : "#e5e7eb",
|
|
17604
|
+
backgroundSize: "100% 100%",
|
|
17605
|
+
transition: "background 0.36s ease-out"
|
|
17606
|
+
}
|
|
17607
|
+
}
|
|
17608
|
+
)
|
|
17609
|
+
}
|
|
17610
|
+
),
|
|
17611
|
+
/* @__PURE__ */ jsxs(
|
|
17612
|
+
"div",
|
|
17613
|
+
{
|
|
17614
|
+
role: clickable ? "button" : void 0,
|
|
17615
|
+
tabIndex: clickable ? 0 : void 0,
|
|
17616
|
+
"aria-disabled": interactive && !reached ? true : void 0,
|
|
17617
|
+
className: "wfs-rise",
|
|
17618
|
+
"data-testid": `workflow-stepper-step-${step.id}`,
|
|
17619
|
+
"data-status": step.status,
|
|
17620
|
+
"data-selected": isSelected || void 0,
|
|
17621
|
+
"data-reached": reached || void 0,
|
|
17622
|
+
onClick: clickable ? () => onSelectStep == null ? void 0 : onSelectStep(isSelected ? null : step.id) : void 0,
|
|
17623
|
+
onKeyDown: clickable ? (e) => {
|
|
17624
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
17625
|
+
e.preventDefault();
|
|
17626
|
+
onSelectStep == null ? void 0 : onSelectStep(isSelected ? null : step.id);
|
|
17627
|
+
}
|
|
17628
|
+
} : void 0,
|
|
17629
|
+
onMouseEnter: clickable ? (e) => {
|
|
17630
|
+
e.currentTarget.style.transform = "translateY(-1px)";
|
|
17631
|
+
e.currentTarget.style.boxShadow = "0 3px 10px rgba(15,23,42,0.08)";
|
|
17632
|
+
} : void 0,
|
|
17633
|
+
onMouseLeave: clickable ? (e) => {
|
|
17634
|
+
e.currentTarget.style.transform = "none";
|
|
17635
|
+
e.currentTarget.style.boxShadow = "0 1px 2px rgba(0,0,0,0.04)";
|
|
17636
|
+
} : void 0,
|
|
17637
|
+
style: {
|
|
17638
|
+
position: "relative",
|
|
17639
|
+
flex: "0 1 168px",
|
|
17640
|
+
minWidth: CARD_MIN,
|
|
17641
|
+
maxWidth: 208,
|
|
17642
|
+
scrollSnapAlign: "center",
|
|
17643
|
+
borderRadius: 10,
|
|
17644
|
+
boxSizing: "border-box",
|
|
17645
|
+
// Selection changes border COLOR only (constant 1px width) so
|
|
17646
|
+
// the card never reflows the row on click.
|
|
17647
|
+
border: `1px solid ${isSelected ? ACCENT2 : BORDER4}`,
|
|
17648
|
+
background: isSelected ? `${ACCENT2}0d` : "white",
|
|
17649
|
+
boxShadow: "0 1px 2px rgba(0,0,0,0.04)",
|
|
17650
|
+
padding: "10px 11px",
|
|
17651
|
+
display: "flex",
|
|
17652
|
+
flexDirection: "column",
|
|
17653
|
+
gap: 7,
|
|
17654
|
+
cursor: clickable ? "pointer" : "default",
|
|
17655
|
+
opacity: reached ? 1 : 0.62,
|
|
17656
|
+
transition: "border-color 0.15s, background 0.15s, transform 0.12s, box-shadow 0.12s",
|
|
17657
|
+
animationDelay: `${Math.min(i, 10) * 0.04}s`,
|
|
17658
|
+
overflow: "hidden"
|
|
17659
|
+
},
|
|
17660
|
+
children: [
|
|
17661
|
+
isActive && !isSelected && /* @__PURE__ */ jsx(
|
|
17662
|
+
"span",
|
|
17663
|
+
{
|
|
17664
|
+
style: {
|
|
17665
|
+
position: "absolute",
|
|
17666
|
+
left: 0,
|
|
17667
|
+
top: 6,
|
|
17668
|
+
bottom: 6,
|
|
17669
|
+
width: 2,
|
|
17670
|
+
borderRadius: 2,
|
|
17671
|
+
background: ACCENT2
|
|
17672
|
+
}
|
|
17673
|
+
}
|
|
17674
|
+
),
|
|
17675
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
|
|
17676
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [
|
|
17677
|
+
/* @__PURE__ */ jsx(IndexDot, { step, index: i, accent: ACCENT2 }),
|
|
17678
|
+
/* @__PURE__ */ jsx(
|
|
17679
|
+
"span",
|
|
17680
|
+
{
|
|
17681
|
+
className: isActive ? "wfs-anim" : void 0,
|
|
17682
|
+
style: {
|
|
17683
|
+
width: 6,
|
|
17684
|
+
height: 6,
|
|
17685
|
+
borderRadius: "50%",
|
|
17686
|
+
background: color,
|
|
17687
|
+
animation: isActive ? "wfsLampPulse 1.8s ease-in-out infinite" : "none"
|
|
17688
|
+
}
|
|
17689
|
+
}
|
|
17690
|
+
)
|
|
17691
|
+
] }),
|
|
17692
|
+
/* @__PURE__ */ jsx(
|
|
17693
|
+
"span",
|
|
17694
|
+
{
|
|
17695
|
+
style: {
|
|
17696
|
+
fontSize: 9,
|
|
17697
|
+
fontWeight: 600,
|
|
17698
|
+
letterSpacing: "0.05em",
|
|
17699
|
+
textTransform: "uppercase",
|
|
17700
|
+
color
|
|
17701
|
+
},
|
|
17702
|
+
children: STATUS_LABELS[step.status]
|
|
17703
|
+
}
|
|
17704
|
+
)
|
|
17705
|
+
] }),
|
|
17706
|
+
/* @__PURE__ */ jsxs("div", { style: { minWidth: 0 }, children: [
|
|
17707
|
+
/* @__PURE__ */ jsx(
|
|
17708
|
+
"div",
|
|
17709
|
+
{
|
|
17710
|
+
style: {
|
|
17711
|
+
fontSize: 12.5,
|
|
17712
|
+
fontWeight: 600,
|
|
17713
|
+
color: "var(--foreground)",
|
|
17714
|
+
lineHeight: 1.25,
|
|
17715
|
+
letterSpacing: "-0.01em",
|
|
17716
|
+
overflow: "hidden",
|
|
17717
|
+
textOverflow: "ellipsis",
|
|
17718
|
+
whiteSpace: "nowrap"
|
|
17719
|
+
},
|
|
17720
|
+
children: step.title
|
|
17721
|
+
}
|
|
17722
|
+
),
|
|
17723
|
+
step.sub && /* @__PURE__ */ jsx(
|
|
17724
|
+
"div",
|
|
17725
|
+
{
|
|
17726
|
+
style: {
|
|
17727
|
+
fontSize: 10.5,
|
|
17728
|
+
color: MUTED2,
|
|
17729
|
+
marginTop: 2,
|
|
17730
|
+
overflow: "hidden",
|
|
17731
|
+
textOverflow: "ellipsis",
|
|
17732
|
+
whiteSpace: "nowrap"
|
|
17733
|
+
},
|
|
17734
|
+
children: step.sub
|
|
17735
|
+
}
|
|
17736
|
+
)
|
|
17737
|
+
] }),
|
|
17738
|
+
/* @__PURE__ */ jsxs(
|
|
17739
|
+
"div",
|
|
17740
|
+
{
|
|
17741
|
+
style: {
|
|
17742
|
+
display: "flex",
|
|
17743
|
+
alignItems: "center",
|
|
17744
|
+
justifyContent: "space-between",
|
|
17745
|
+
marginTop: "auto",
|
|
17746
|
+
minHeight: 20
|
|
17747
|
+
},
|
|
17748
|
+
children: [
|
|
17749
|
+
step.assignees && step.assignees.length > 0 ? /* @__PURE__ */ jsx(AvatarStack, { assignees: step.assignees, accent: ACCENT2 }) : /* @__PURE__ */ jsx("span", {}),
|
|
17750
|
+
roleCaption && /* @__PURE__ */ jsx(
|
|
17751
|
+
"span",
|
|
17752
|
+
{
|
|
17753
|
+
style: {
|
|
17754
|
+
fontSize: 9,
|
|
17755
|
+
color: "#9ca3af",
|
|
17756
|
+
fontWeight: 500,
|
|
17757
|
+
textAlign: "right",
|
|
17758
|
+
maxWidth: 76,
|
|
17759
|
+
lineHeight: 1.2,
|
|
17760
|
+
overflow: "hidden"
|
|
17761
|
+
},
|
|
17762
|
+
children: roleCaption
|
|
17763
|
+
}
|
|
17764
|
+
)
|
|
17765
|
+
]
|
|
17766
|
+
}
|
|
17767
|
+
)
|
|
17768
|
+
]
|
|
17769
|
+
}
|
|
17770
|
+
)
|
|
17771
|
+
] }, step.id);
|
|
17772
|
+
})
|
|
17773
|
+
]
|
|
17774
|
+
}
|
|
17775
|
+
)
|
|
17776
|
+
] });
|
|
17777
|
+
}
|
|
17778
|
+
function WorkflowStepperResolver(p) {
|
|
17779
|
+
var _a;
|
|
17780
|
+
const { selectedStepId, onStepSelect } = useGenUIInteraction();
|
|
17781
|
+
return /* @__PURE__ */ jsx(ComponentActions, { filename: (_a = p.title) != null ? _a : "workflow-stepper", children: /* @__PURE__ */ jsxs("div", { style: { width: "100%", display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
17782
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: [
|
|
17783
|
+
/* @__PURE__ */ jsx(
|
|
17784
|
+
"p",
|
|
17785
|
+
{
|
|
17786
|
+
style: {
|
|
17787
|
+
fontFamily: "var(--font-serif)",
|
|
17788
|
+
fontSize: "15px",
|
|
17789
|
+
fontWeight: 400,
|
|
17790
|
+
color: "var(--foreground)",
|
|
17791
|
+
letterSpacing: "-0.01em",
|
|
17792
|
+
margin: 0
|
|
17793
|
+
},
|
|
17794
|
+
children: p.title
|
|
17795
|
+
}
|
|
17796
|
+
),
|
|
17797
|
+
p.period && /* @__PURE__ */ jsx(
|
|
17798
|
+
"span",
|
|
17799
|
+
{
|
|
17800
|
+
style: {
|
|
17801
|
+
fontSize: 11,
|
|
17802
|
+
fontWeight: 600,
|
|
17803
|
+
padding: "2px 8px",
|
|
17804
|
+
borderRadius: 9999,
|
|
17805
|
+
background: "#f2f2f2",
|
|
17806
|
+
color: "#777777",
|
|
17807
|
+
fontVariantNumeric: "tabular-nums"
|
|
17808
|
+
},
|
|
17809
|
+
children: p.period
|
|
17810
|
+
}
|
|
17811
|
+
),
|
|
17812
|
+
p.badge && /* @__PURE__ */ jsx(
|
|
17813
|
+
"span",
|
|
17814
|
+
{
|
|
17815
|
+
style: {
|
|
17816
|
+
fontSize: 11,
|
|
17817
|
+
fontWeight: 600,
|
|
17818
|
+
padding: "2px 8px",
|
|
17819
|
+
borderRadius: 9999,
|
|
17820
|
+
border: "1px solid #dedede",
|
|
17821
|
+
color: "#777777"
|
|
17822
|
+
},
|
|
17823
|
+
children: p.badge
|
|
17824
|
+
}
|
|
17825
|
+
)
|
|
17826
|
+
] }),
|
|
17827
|
+
/* @__PURE__ */ jsx(
|
|
17828
|
+
WorkflowStepperRenderer,
|
|
17829
|
+
{
|
|
17830
|
+
data: p,
|
|
17831
|
+
selectedStep: selectedStepId,
|
|
17832
|
+
onSelectStep: onStepSelect
|
|
17833
|
+
}
|
|
17834
|
+
)
|
|
17835
|
+
] }) });
|
|
17836
|
+
}
|
|
16981
17837
|
function resolveUI(rawPayload) {
|
|
16982
17838
|
const payload = coercePayload(rawPayload);
|
|
16983
17839
|
switch (payload.type) {
|
|
@@ -17093,6 +17949,8 @@ function resolveUI(rawPayload) {
|
|
|
17093
17949
|
return /* @__PURE__ */ jsx(IntegrationsListResolver, __spreadValues({}, payload));
|
|
17094
17950
|
case "pipeline-preview":
|
|
17095
17951
|
return /* @__PURE__ */ jsx(PipelinePreviewResolver, __spreadValues({}, payload));
|
|
17952
|
+
case "workflow-stepper":
|
|
17953
|
+
return /* @__PURE__ */ jsx(WorkflowStepperResolver, __spreadValues({}, payload));
|
|
17096
17954
|
default: {
|
|
17097
17955
|
return /* @__PURE__ */ jsx(
|
|
17098
17956
|
"div",
|