@xyne/workflow-ui 1.3.10 → 1.3.12

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 (233) hide show
  1. package/dist/components/builder/AddStepButton.d.ts +6 -0
  2. package/dist/components/builder/AddStepButton.d.ts.map +1 -0
  3. package/dist/components/builder/AddStepButton.js +7 -0
  4. package/dist/components/builder/AddStepButton.js.map +1 -0
  5. package/dist/components/builder/BranchEdge.d.ts +3 -0
  6. package/dist/components/builder/BranchEdge.d.ts.map +1 -0
  7. package/dist/components/builder/BranchEdge.js +19 -0
  8. package/dist/components/builder/BranchEdge.js.map +1 -0
  9. package/dist/components/builder/BuilderToolbar.d.ts +10 -0
  10. package/dist/components/builder/BuilderToolbar.d.ts.map +1 -0
  11. package/dist/components/builder/BuilderToolbar.js +16 -0
  12. package/dist/components/builder/BuilderToolbar.js.map +1 -0
  13. package/dist/components/builder/StepConfigDrawer.d.ts +11 -0
  14. package/dist/components/builder/StepConfigDrawer.d.ts.map +1 -0
  15. package/dist/components/builder/StepConfigDrawer.js +21 -0
  16. package/dist/components/builder/StepConfigDrawer.js.map +1 -0
  17. package/dist/components/builder/StepNode.d.ts +15 -0
  18. package/dist/components/builder/StepNode.d.ts.map +1 -0
  19. package/dist/components/builder/StepNode.js +56 -0
  20. package/dist/components/builder/StepNode.js.map +1 -0
  21. package/dist/components/builder/StepPalette.d.ts +7 -0
  22. package/dist/components/builder/StepPalette.d.ts.map +1 -0
  23. package/dist/components/builder/StepPalette.js +83 -0
  24. package/dist/components/builder/StepPalette.js.map +1 -0
  25. package/dist/components/builder/StepPicker.d.ts +9 -0
  26. package/dist/components/builder/StepPicker.d.ts.map +1 -0
  27. package/dist/components/builder/StepPicker.js +95 -0
  28. package/dist/components/builder/StepPicker.js.map +1 -0
  29. package/dist/components/builder/TriggerConfigPanel.d.ts +10 -0
  30. package/dist/components/builder/TriggerConfigPanel.d.ts.map +1 -0
  31. package/dist/components/builder/TriggerConfigPanel.js +49 -0
  32. package/dist/components/builder/TriggerConfigPanel.js.map +1 -0
  33. package/dist/components/builder/TriggerNode.d.ts +9 -0
  34. package/dist/components/builder/TriggerNode.d.ts.map +1 -0
  35. package/dist/components/builder/TriggerNode.js +30 -0
  36. package/dist/components/builder/TriggerNode.js.map +1 -0
  37. package/dist/components/builder/TriggerPicker.d.ts +8 -0
  38. package/dist/components/builder/TriggerPicker.d.ts.map +1 -0
  39. package/dist/components/builder/TriggerPicker.js +61 -0
  40. package/dist/components/builder/TriggerPicker.js.map +1 -0
  41. package/dist/components/builder/WorkflowBuilder.d.ts +20 -0
  42. package/dist/components/builder/WorkflowBuilder.d.ts.map +1 -0
  43. package/dist/components/builder/WorkflowBuilder.js +157 -0
  44. package/dist/components/builder/WorkflowBuilder.js.map +1 -0
  45. package/dist/components/builder/edge-types.d.ts +3 -0
  46. package/dist/components/builder/edge-types.d.ts.map +1 -0
  47. package/dist/components/builder/edge-types.js +5 -0
  48. package/dist/components/builder/edge-types.js.map +1 -0
  49. package/dist/components/builder/node-types.d.ts +3 -0
  50. package/dist/components/builder/node-types.d.ts.map +1 -0
  51. package/dist/components/builder/node-types.js +11 -0
  52. package/dist/components/builder/node-types.js.map +1 -0
  53. package/dist/components/builder/v2/AddStepButton.d.ts +6 -0
  54. package/dist/components/builder/v2/AddStepButton.d.ts.map +1 -0
  55. package/dist/components/builder/v2/AddStepButton.js +6 -0
  56. package/dist/components/builder/v2/AddStepButton.js.map +1 -0
  57. package/dist/components/builder/v2/BranchEdge.d.ts +3 -0
  58. package/dist/components/builder/v2/BranchEdge.d.ts.map +1 -0
  59. package/dist/components/builder/v2/BranchEdge.js +46 -0
  60. package/dist/components/builder/v2/BranchEdge.js.map +1 -0
  61. package/dist/components/builder/v2/LoopBodyEdge.d.ts +7 -0
  62. package/dist/components/builder/v2/LoopBodyEdge.d.ts.map +1 -0
  63. package/dist/components/builder/v2/LoopBodyEdge.js +19 -0
  64. package/dist/components/builder/v2/LoopBodyEdge.js.map +1 -0
  65. package/dist/components/builder/v2/LoopbackEdge.d.ts +10 -0
  66. package/dist/components/builder/v2/LoopbackEdge.d.ts.map +1 -0
  67. package/dist/components/builder/v2/LoopbackEdge.js +26 -0
  68. package/dist/components/builder/v2/LoopbackEdge.js.map +1 -0
  69. package/dist/components/builder/v2/StepNode.d.ts +21 -0
  70. package/dist/components/builder/v2/StepNode.d.ts.map +1 -0
  71. package/dist/components/builder/v2/StepNode.js +36 -0
  72. package/dist/components/builder/v2/StepNode.js.map +1 -0
  73. package/dist/components/builder/v2/StepPicker.d.ts +8 -0
  74. package/dist/components/builder/v2/StepPicker.d.ts.map +1 -0
  75. package/dist/components/builder/v2/StepPicker.js +73 -0
  76. package/dist/components/builder/v2/StepPicker.js.map +1 -0
  77. package/dist/components/builder/v2/TerminalNode.d.ts +6 -0
  78. package/dist/components/builder/v2/TerminalNode.d.ts.map +1 -0
  79. package/dist/components/builder/v2/TerminalNode.js +7 -0
  80. package/dist/components/builder/v2/TerminalNode.js.map +1 -0
  81. package/dist/components/builder/v2/TriggerNode.d.ts +10 -0
  82. package/dist/components/builder/v2/TriggerNode.d.ts.map +1 -0
  83. package/dist/components/builder/v2/TriggerNode.js +20 -0
  84. package/dist/components/builder/v2/TriggerNode.js.map +1 -0
  85. package/dist/components/builder/v2/TriggerPicker.d.ts +7 -0
  86. package/dist/components/builder/v2/TriggerPicker.d.ts.map +1 -0
  87. package/dist/components/builder/v2/TriggerPicker.js +45 -0
  88. package/dist/components/builder/v2/TriggerPicker.js.map +1 -0
  89. package/dist/components/builder/v2/WorkflowBuilder.d.ts +14 -0
  90. package/dist/components/builder/v2/WorkflowBuilder.d.ts.map +1 -0
  91. package/dist/components/builder/v2/WorkflowBuilder.js +189 -0
  92. package/dist/components/builder/v2/WorkflowBuilder.js.map +1 -0
  93. package/dist/components/builder/v2/edge-types.d.ts +3 -0
  94. package/dist/components/builder/v2/edge-types.d.ts.map +1 -0
  95. package/dist/components/builder/v2/edge-types.js +9 -0
  96. package/dist/components/builder/v2/edge-types.js.map +1 -0
  97. package/dist/components/builder/v2/icons.d.ts +25 -0
  98. package/dist/components/builder/v2/icons.d.ts.map +1 -0
  99. package/dist/components/builder/v2/icons.js +43 -0
  100. package/dist/components/builder/v2/icons.js.map +1 -0
  101. package/dist/components/builder/v2/layout-engine.d.ts +76 -0
  102. package/dist/components/builder/v2/layout-engine.d.ts.map +1 -0
  103. package/dist/components/builder/v2/layout-engine.js +465 -0
  104. package/dist/components/builder/v2/layout-engine.js.map +1 -0
  105. package/dist/components/builder/v2/node-types.d.ts +3 -0
  106. package/dist/components/builder/v2/node-types.d.ts.map +1 -0
  107. package/dist/components/builder/v2/node-types.js +11 -0
  108. package/dist/components/builder/v2/node-types.js.map +1 -0
  109. package/dist/components/builder/v2/theme.d.ts +28 -0
  110. package/dist/components/builder/v2/theme.d.ts.map +1 -0
  111. package/dist/components/builder/v2/theme.js +63 -0
  112. package/dist/components/builder/v2/theme.js.map +1 -0
  113. package/dist/components/builder/v3/CitationEditor.d.ts.map +1 -1
  114. package/dist/components/builder/v3/CitationEditor.js +10 -1
  115. package/dist/components/builder/v3/CitationEditor.js.map +1 -1
  116. package/dist/components/builder/v3/VariablePickerPopover.d.ts +1 -1
  117. package/dist/components/builder/v3/VariablePickerPopover.d.ts.map +1 -1
  118. package/dist/components/builder/v3/VariablePickerPopover.js +3 -3
  119. package/dist/components/builder/v3/VariablePickerPopover.js.map +1 -1
  120. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts +11 -0
  121. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts.map +1 -0
  122. package/dist/components/dashboard/WorkflowSummaryEditor.js +46 -0
  123. package/dist/components/dashboard/WorkflowSummaryEditor.js.map +1 -0
  124. package/dist/components/execution/CitationSourcePanel.d.ts +23 -0
  125. package/dist/components/execution/CitationSourcePanel.d.ts.map +1 -0
  126. package/dist/components/execution/CitationSourcePanel.js +14 -0
  127. package/dist/components/execution/CitationSourcePanel.js.map +1 -0
  128. package/dist/components/execution/ExecutionEdge.d.ts +4 -0
  129. package/dist/components/execution/ExecutionEdge.d.ts.map +1 -0
  130. package/dist/components/execution/ExecutionEdge.js +27 -0
  131. package/dist/components/execution/ExecutionEdge.js.map +1 -0
  132. package/dist/components/execution/ExecutionStepNode.d.ts +14 -0
  133. package/dist/components/execution/ExecutionStepNode.d.ts.map +1 -0
  134. package/dist/components/execution/ExecutionStepNode.js +47 -0
  135. package/dist/components/execution/ExecutionStepNode.js.map +1 -0
  136. package/dist/components/execution/ExecutionTabs.d.ts.map +1 -1
  137. package/dist/components/execution/ExecutionTabs.js +37 -21
  138. package/dist/components/execution/ExecutionTabs.js.map +1 -1
  139. package/dist/components/execution/ExecutionTriggerNode.d.ts +9 -0
  140. package/dist/components/execution/ExecutionTriggerNode.d.ts.map +1 -0
  141. package/dist/components/execution/ExecutionTriggerNode.js +15 -0
  142. package/dist/components/execution/ExecutionTriggerNode.js.map +1 -0
  143. package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
  144. package/dist/components/execution/ExecutionViewer.js +38 -27
  145. package/dist/components/execution/ExecutionViewer.js.map +1 -1
  146. package/dist/components/execution/SchemaAwareRenderer.d.ts +7 -1
  147. package/dist/components/execution/SchemaAwareRenderer.d.ts.map +1 -1
  148. package/dist/components/execution/SchemaAwareRenderer.js +25 -18
  149. package/dist/components/execution/SchemaAwareRenderer.js.map +1 -1
  150. package/dist/components/execution/StepAgentPanels.d.ts +9 -0
  151. package/dist/components/execution/StepAgentPanels.d.ts.map +1 -0
  152. package/dist/components/execution/StepAgentPanels.js +133 -0
  153. package/dist/components/execution/StepAgentPanels.js.map +1 -0
  154. package/dist/components/execution/StepDetailPanel.d.ts.map +1 -1
  155. package/dist/components/execution/StepDetailPanel.js +6 -2
  156. package/dist/components/execution/StepDetailPanel.js.map +1 -1
  157. package/dist/components/execution/execution-layout.d.ts +31 -0
  158. package/dist/components/execution/execution-layout.d.ts.map +1 -0
  159. package/dist/components/execution/execution-layout.js +90 -0
  160. package/dist/components/execution/execution-layout.js.map +1 -0
  161. package/dist/components/execution/journey-model.d.ts.map +1 -1
  162. package/dist/components/execution/journey-model.js +11 -5
  163. package/dist/components/execution/journey-model.js.map +1 -1
  164. package/dist/components/execution/origin/OriginTrace.d.ts.map +1 -1
  165. package/dist/components/execution/origin/OriginTrace.js +66 -29
  166. package/dist/components/execution/origin/OriginTrace.js.map +1 -1
  167. package/dist/components/execution/origin/citation-resolver.d.ts +39 -0
  168. package/dist/components/execution/origin/citation-resolver.d.ts.map +1 -0
  169. package/dist/components/execution/origin/citation-resolver.js +94 -0
  170. package/dist/components/execution/origin/citation-resolver.js.map +1 -0
  171. package/dist/components/index.d.ts +2 -0
  172. package/dist/components/index.d.ts.map +1 -1
  173. package/dist/components/index.js +1 -0
  174. package/dist/components/index.js.map +1 -1
  175. package/dist/components/shared/AttachmentCard.d.ts +22 -0
  176. package/dist/components/shared/AttachmentCard.d.ts.map +1 -1
  177. package/dist/components/shared/AttachmentCard.js +93 -3
  178. package/dist/components/shared/AttachmentCard.js.map +1 -1
  179. package/dist/components/shared/CitationArrow.d.ts +37 -0
  180. package/dist/components/shared/CitationArrow.d.ts.map +1 -0
  181. package/dist/components/shared/CitationArrow.js +83 -0
  182. package/dist/components/shared/CitationArrow.js.map +1 -0
  183. package/dist/components/shared/DocumentViewer.d.ts +4 -2
  184. package/dist/components/shared/DocumentViewer.d.ts.map +1 -1
  185. package/dist/components/shared/DocumentViewer.js +8 -8
  186. package/dist/components/shared/DocumentViewer.js.map +1 -1
  187. package/dist/components/shared/JsonTreeViewer.d.ts +9 -0
  188. package/dist/components/shared/JsonTreeViewer.d.ts.map +1 -0
  189. package/dist/components/shared/JsonTreeViewer.js +46 -0
  190. package/dist/components/shared/JsonTreeViewer.js.map +1 -0
  191. package/dist/components/shared/MarkdownCitation.d.ts +25 -0
  192. package/dist/components/shared/MarkdownCitation.d.ts.map +1 -0
  193. package/dist/components/shared/MarkdownCitation.js +31 -0
  194. package/dist/components/shared/MarkdownCitation.js.map +1 -0
  195. package/dist/components/shared/MarkdownView.d.ts.map +1 -1
  196. package/dist/components/shared/MarkdownView.js +19 -2
  197. package/dist/components/shared/MarkdownView.js.map +1 -1
  198. package/dist/components/shared/citation-context.d.ts +35 -0
  199. package/dist/components/shared/citation-context.d.ts.map +1 -0
  200. package/dist/components/shared/citation-context.js +34 -0
  201. package/dist/components/shared/citation-context.js.map +1 -0
  202. package/dist/components/shared/citation.d.ts +55 -0
  203. package/dist/components/shared/citation.d.ts.map +1 -0
  204. package/dist/components/shared/citation.js +83 -0
  205. package/dist/components/shared/citation.js.map +1 -0
  206. package/dist/components/shared/markdown-citation-directive.d.ts +34 -0
  207. package/dist/components/shared/markdown-citation-directive.d.ts.map +1 -0
  208. package/dist/components/shared/markdown-citation-directive.js +110 -0
  209. package/dist/components/shared/markdown-citation-directive.js.map +1 -0
  210. package/dist/components/shared/viewers/PdfView.d.ts +38 -0
  211. package/dist/components/shared/viewers/PdfView.d.ts.map +1 -0
  212. package/dist/components/shared/viewers/PdfView.js +439 -0
  213. package/dist/components/shared/viewers/PdfView.js.map +1 -0
  214. package/dist/index.d.ts +2 -2
  215. package/dist/index.d.ts.map +1 -1
  216. package/dist/index.js +1 -1
  217. package/dist/index.js.map +1 -1
  218. package/dist/layout-engine/components.d.ts.map +1 -1
  219. package/dist/layout-engine/components.js +78 -23
  220. package/dist/layout-engine/components.js.map +1 -1
  221. package/dist/layout-engine/render.d.ts.map +1 -1
  222. package/dist/layout-engine/render.js +62 -1
  223. package/dist/layout-engine/render.js.map +1 -1
  224. package/dist/styles.css +8 -2
  225. package/package.json +5 -2
  226. package/dist/components/schema-form/AttachmentField.d.ts +0 -16
  227. package/dist/components/schema-form/AttachmentField.d.ts.map +0 -1
  228. package/dist/components/schema-form/AttachmentField.js +0 -139
  229. package/dist/components/schema-form/AttachmentField.js.map +0 -1
  230. package/dist/utils/map-lanes.d.ts +0 -35
  231. package/dist/utils/map-lanes.d.ts.map +0 -1
  232. package/dist/utils/map-lanes.js +0 -48
  233. package/dist/utils/map-lanes.js.map +0 -1
@@ -0,0 +1,439 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // PDF viewer built on pdf.js's native `PDFViewer` component (the same
3
+ // renderer Firefox ships) — ported from the xyne app's `PdfViewer` so the
4
+ // SDK renders documents exactly like the rest of the product.
5
+ //
6
+ // Why pdf.js's viewer (and not react-pdf): react-pdf flickers on
7
+ // virtualized scroll because page heights are estimated up-front and
8
+ // remeasured on mount, plus pages unmount on overscan (white flashes on
9
+ // scroll-back). pdf.js's PDFViewer pre-measures every page from the PDF's
10
+ // viewport, keeps a buffer of rendered pages, has built-in text-layer
11
+ // rendering, and ships its own findController.
12
+ //
13
+ // It also replaces the browser's native <iframe> plugin, which forces a
14
+ // dark chrome + page-thumbnail rail that can't be restyled.
15
+ //
16
+ // Styling is driven entirely by the SDK's `--wui-*` theme tokens, so
17
+ // whatever the host application defines flows into this viewer.
18
+ //
19
+ // React's job here is just:
20
+ // 1. Mount the viewer once when the file URL changes.
21
+ // 2. Bridge our toolbar (page input, zoom, search) to viewer events.
22
+ // 3. Tear down on unmount.
23
+ //
24
+ // Imperative wiring is small but unavoidable because the viewer manages
25
+ // its own DOM; we don't try to fight that.
26
+ import { useCallback, useEffect, useRef, useState } from 'react';
27
+ import * as pdfjsLib from 'pdfjs-dist';
28
+ import { EventBus, PDFFindController, PDFLinkService, PDFViewer as PdfjsViewer, } from 'pdfjs-dist/web/pdf_viewer.mjs';
29
+ import { ChevronUp, ChevronDown, Download, Loader2, Minus, Plus, Search, X, } from 'lucide-react';
30
+ // Worker is served by the host app from its public root. pdf.js's default
31
+ // route-relative resolution 404s into an SPA fallback, so pin an absolute
32
+ // path. Re-asserted inside the component for bundler-tree-shaking safety.
33
+ const PDF_WORKER_URL = '/pdf.worker.mjs';
34
+ pdfjsLib.GlobalWorkerOptions.workerSrc = PDF_WORKER_URL;
35
+ // pdf.js FindState values — exported at runtime but absent from the type
36
+ // declarations, so mirrored here.
37
+ const FIND_NOT_FOUND = 1;
38
+ const FIND_PENDING = 3;
39
+ /**
40
+ * When a highlight phrase spans a page break, find where it splits: the
41
+ * longest word-boundary head that appears on one page whose tail appears on
42
+ * the following page. Returns the two fragments (both individually findable,
43
+ * so a `query: [head, tail]` array search highlights the value on BOTH
44
+ * pages), or null when the value doesn't split cleanly across two pages.
45
+ */
46
+ async function computePageSplit(doc, value) {
47
+ const normWS = (s) => s.replace(/\s+/g, ' ').trim();
48
+ const v = normWS(value);
49
+ const words = v.split(' ');
50
+ if (words.length < 2)
51
+ return null;
52
+ // Text of each page, whitespace-normalized. Capped for very large docs —
53
+ // this only runs on the miss path, and a citation far past 50 pages can
54
+ // still fall back to the prefix ladder.
55
+ const pageTexts = [];
56
+ const maxPages = Math.min(doc.numPages, 50);
57
+ for (let i = 1; i <= maxPages; i++) {
58
+ const page = await doc.getPage(i);
59
+ const tc = await page.getTextContent();
60
+ pageTexts.push(normWS(tc.items.map((it) => ('str' in it ? it.str : '')).join(' ')));
61
+ }
62
+ // Whole value present on a single page → not a page-split problem.
63
+ if (pageTexts.some((p) => p.includes(v)))
64
+ return null;
65
+ for (let i = 0; i < pageTexts.length - 1; i++) {
66
+ for (let k = words.length - 1; k >= 1; k--) {
67
+ const head = words.slice(0, k).join(' ');
68
+ const tail = words.slice(k).join(' ');
69
+ if (pageTexts[i].includes(head) && pageTexts[i + 1].includes(tail)) {
70
+ return [head, tail];
71
+ }
72
+ }
73
+ }
74
+ return null;
75
+ }
76
+ /**
77
+ * Progressively shorter prefixes of a highlight phrase, longest first.
78
+ *
79
+ * pdf.js's find controller matches within a single page's text, so a value
80
+ * that spans pages (or whose middle drifted in OCR) never matches as a
81
+ * whole. The page-split search above is tried first; this ladder is the
82
+ * last-resort fallback — the *start* of the value is on the cited page by
83
+ * definition, so shorter heads eventually highlight something.
84
+ */
85
+ function buildQueryLadder(value) {
86
+ const words = value.trim().split(/\s+/);
87
+ const ladder = [];
88
+ for (const n of [words.length, 6, 4, 3, 2]) {
89
+ if (n < 2 || n > words.length)
90
+ continue;
91
+ const q = words.slice(0, n).join(' ');
92
+ if (q.length >= 4 && !ladder.includes(q))
93
+ ladder.push(q);
94
+ }
95
+ return ladder.length ? ladder : [value.trim()];
96
+ }
97
+ const iconBtn = 'grid h-7 w-7 place-items-center rounded-[var(--wui-radius-sm)] text-[var(--wui-fg-muted)] transition-colors hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)] disabled:cursor-not-allowed disabled:opacity-40';
98
+ export default function PdfView({ url, name = 'Document', initialPage, initialScale = 'page-width', navSeq, highlightQuery, leading, rightSlot, onClose, hideDownload = false, }) {
99
+ pdfjsLib.GlobalWorkerOptions.workerSrc = PDF_WORKER_URL;
100
+ const containerRef = useRef(null);
101
+ // pdf.js requires a separate inner div with class `pdfViewer` to hold the
102
+ // page wrappers — the outer `containerRef` is the scroll element.
103
+ const viewerInnerRef = useRef(null);
104
+ const instanceRef = useRef(null);
105
+ // Last navSeq we honored so re-renders don't keep yanking the user back.
106
+ const lastJumpRef = useRef(null);
107
+ const lastHighlightRef = useRef(null);
108
+ // Read inside the viewer effect without making them dependencies (a change
109
+ // must not tear down and rebuild the viewer).
110
+ const initialScaleRef = useRef(initialScale);
111
+ initialScaleRef.current = initialScale;
112
+ const initialPageRef = useRef(initialPage);
113
+ initialPageRef.current = initialPage;
114
+ const navSeqRef = useRef(navSeq);
115
+ navSeqRef.current = navSeq;
116
+ // Auto-highlight fallback state: the query we injected (null once the user
117
+ // types their own), the full value for page-split detection, the remaining
118
+ // shorter prefixes to try, and guards for the async split attempt.
119
+ const autoQueryRef = useRef(null);
120
+ const autoFullRef = useRef(null);
121
+ const autoLadderRef = useRef([]);
122
+ const splitTriedRef = useRef(false);
123
+ const splitBusyRef = useRef(false);
124
+ const pdfDocRef = useRef(null);
125
+ const [numPages, setNumPages] = useState(0);
126
+ const [currentPage, setCurrentPage] = useState(1);
127
+ const [scalePct, setScalePct] = useState(100);
128
+ const [loadState, setLoadState] = useState('loading');
129
+ const [loadError, setLoadError] = useState(null);
130
+ const [pageInput, setPageInput] = useState('1');
131
+ const [pageInputFocused, setPageInputFocused] = useState(false);
132
+ const [query, setQuery] = useState('');
133
+ useEffect(() => {
134
+ if (!pageInputFocused)
135
+ setPageInput(String(currentPage));
136
+ }, [currentPage, pageInputFocused]);
137
+ const fileUrl = /^https?:/i.test(url) ? url : `${window.location.origin}${url}`;
138
+ // Drop the caller's highlight phrase into Find; re-apply on navSeq bump.
139
+ // Arms the split/prefix fallbacks so a phrase that spans a page break (or
140
+ // drifted in OCR) still highlights on the cited page. The signature
141
+ // includes the file URL so switching this instance to another document
142
+ // re-arms the auto-highlight for it.
143
+ useEffect(() => {
144
+ if (loadState !== 'ready')
145
+ return;
146
+ const sig = `${fileUrl}#${highlightQuery ?? ''}#${String(navSeq ?? 0)}`;
147
+ if (lastHighlightRef.current === sig)
148
+ return;
149
+ lastHighlightRef.current = sig;
150
+ if (highlightQuery && highlightQuery.length >= 2) {
151
+ const ladder = buildQueryLadder(highlightQuery);
152
+ const first = ladder[0] ?? highlightQuery;
153
+ autoQueryRef.current = first;
154
+ autoFullRef.current = highlightQuery;
155
+ autoLadderRef.current = ladder.slice(1);
156
+ splitTriedRef.current = false;
157
+ setQuery(first);
158
+ }
159
+ }, [fileUrl, highlightQuery, navSeq, loadState]);
160
+ // ── Viewer lifecycle ──────────────────────────────────────────────────
161
+ // Construct once per URL. The viewer owns its DOM subtree; we just hand it
162
+ // the container + scroll element. Destroy on unmount to release the
163
+ // worker-side document and any page render tasks.
164
+ useEffect(() => {
165
+ const container = containerRef.current;
166
+ const viewerInner = viewerInnerRef.current;
167
+ if (!container || !viewerInner)
168
+ return undefined;
169
+ setLoadState('loading');
170
+ setLoadError(null);
171
+ setNumPages(0);
172
+ setCurrentPage(1);
173
+ lastJumpRef.current = null;
174
+ const eventBus = new EventBus();
175
+ const linkService = new PDFLinkService({ eventBus });
176
+ const findController = new PDFFindController({ eventBus, linkService });
177
+ const viewer = new PdfjsViewer({
178
+ container,
179
+ viewer: viewerInner,
180
+ eventBus,
181
+ linkService,
182
+ findController,
183
+ // Hidden text layer is required for search highlighting.
184
+ textLayerMode: 2,
185
+ // Disable annotation editing/forms — this viewer is read-only.
186
+ annotationEditorMode: -1,
187
+ });
188
+ linkService.setViewer(viewer);
189
+ eventBus.on('pagesinit', () => {
190
+ // Fit-to-width by default: this viewer lives in a narrow side panel, so
191
+ // a literal 100% would overflow. Named modes also let us re-fit on
192
+ // resize. The centering CSS keeps the page middled when it's narrower.
193
+ viewer.currentScaleValue = String(initialScaleRef.current);
194
+ setScalePct(Math.round((viewer.currentScale ?? 1) * 100));
195
+ // Land directly on the cited page. Setting it here — inside pagesinit,
196
+ // before the first paint — means page 1 is never rendered; a post-ready
197
+ // React effect would jump only after page 1 had flashed. (This is how
198
+ // pdf.js's own viewer applies its #page= hash.) The jump effect below
199
+ // stays for navSeq re-jumps; marking lastJumpRef stops it re-firing.
200
+ const target = initialPageRef.current;
201
+ if (target && target >= 1 && target <= viewer.pagesCount) {
202
+ viewer.currentPageNumber = target;
203
+ lastJumpRef.current = `${String(target)}#${String(navSeqRef.current ?? 0)}`;
204
+ }
205
+ });
206
+ eventBus.on('pagechanging', (evt) => {
207
+ setCurrentPage(evt.pageNumber);
208
+ });
209
+ eventBus.on('scalechanging', (evt) => {
210
+ setScalePct(Math.round(evt.scale * 100));
211
+ });
212
+ // Auto-highlight fallback: when the query we injected finds nothing
213
+ // (value spans a page break / OCR drift), first try to SPLIT the value at
214
+ // the actual page boundary and search both fragments at once (pdf.js
215
+ // accepts a query array — highlights land on both pages); only if no
216
+ // clean split exists, step down the prefix ladder. User-typed queries
217
+ // never trigger any of this — typing clears autoQueryRef.
218
+ const stepLadder = () => {
219
+ const next = autoLadderRef.current.shift();
220
+ if (next) {
221
+ autoQueryRef.current = next;
222
+ setQuery(next);
223
+ }
224
+ else {
225
+ autoQueryRef.current = null; // exhausted — leave Find as-is
226
+ }
227
+ };
228
+ const handleAutoNotFound = async () => {
229
+ if (splitBusyRef.current)
230
+ return;
231
+ if (!splitTriedRef.current && autoFullRef.current && pdfDocRef.current) {
232
+ splitTriedRef.current = true;
233
+ splitBusyRef.current = true;
234
+ try {
235
+ const frags = await computePageSplit(pdfDocRef.current, autoFullRef.current);
236
+ // Re-check auto mode — the user may have typed meanwhile.
237
+ if (frags && autoQueryRef.current) {
238
+ autoQueryRef.current = frags.join(' ');
239
+ eventBus.dispatch('find', {
240
+ source: null,
241
+ type: '',
242
+ query: frags,
243
+ highlightAll: true,
244
+ findPrevious: false,
245
+ caseSensitive: false,
246
+ entireWord: false,
247
+ });
248
+ return;
249
+ }
250
+ }
251
+ catch {
252
+ /* split is best-effort — fall through to the ladder */
253
+ }
254
+ finally {
255
+ splitBusyRef.current = false;
256
+ }
257
+ }
258
+ stepLadder();
259
+ };
260
+ eventBus.on('updatefindcontrolstate', (evt) => {
261
+ if (evt.state === FIND_PENDING)
262
+ return;
263
+ const auto = autoQueryRef.current;
264
+ if (!auto)
265
+ return;
266
+ if (typeof evt.rawQuery === 'string' && evt.rawQuery !== auto)
267
+ return;
268
+ if (evt.state === FIND_NOT_FOUND) {
269
+ void handleAutoNotFound();
270
+ }
271
+ else {
272
+ autoLadderRef.current = []; // found — stop stepping down
273
+ }
274
+ });
275
+ const loadingTask = pdfjsLib.getDocument({
276
+ url: fileUrl,
277
+ withCredentials: true,
278
+ });
279
+ let cancelled = false;
280
+ void loadingTask.promise
281
+ .then((pdfDoc) => {
282
+ if (cancelled)
283
+ return;
284
+ viewer.setDocument(pdfDoc);
285
+ linkService.setDocument(pdfDoc, null);
286
+ pdfDocRef.current = pdfDoc;
287
+ setNumPages(pdfDoc.numPages);
288
+ setLoadState('ready');
289
+ instanceRef.current = {
290
+ viewer,
291
+ eventBus,
292
+ findController,
293
+ loadingTask: loadingTask,
294
+ pdfDoc: pdfDoc,
295
+ };
296
+ })
297
+ .catch((err) => {
298
+ if (cancelled)
299
+ return;
300
+ setLoadError(err instanceof Error ? err.message : String(err));
301
+ setLoadState('error');
302
+ });
303
+ return () => {
304
+ cancelled = true;
305
+ pdfDocRef.current = null;
306
+ const inst = instanceRef.current;
307
+ instanceRef.current = null;
308
+ // Best-effort cleanup — destroy() returns a promise but we don't wait.
309
+ void inst?.loadingTask?.destroy().catch(() => undefined);
310
+ void inst?.pdfDoc?.destroy().catch(() => undefined);
311
+ try {
312
+ viewer.cleanup();
313
+ }
314
+ catch {
315
+ /* no-op */
316
+ }
317
+ };
318
+ }, [fileUrl]);
319
+ // ── Re-jump to a page on navSeq bump ──────────────────────────────────
320
+ // The *initial* landing happens in pagesinit (pre-paint, no page-1 flash);
321
+ // this effect only handles later navSeq bumps (host re-clicks a citation),
322
+ // plus the fallback where pagesinit couldn't honor the target.
323
+ useEffect(() => {
324
+ if (loadState !== 'ready' || !initialPage || numPages === 0)
325
+ return;
326
+ const sig = `${String(initialPage)}#${String(navSeq ?? 0)}`;
327
+ if (lastJumpRef.current === sig)
328
+ return;
329
+ lastJumpRef.current = sig;
330
+ if (initialPage > numPages)
331
+ return;
332
+ const viewer = instanceRef.current?.viewer;
333
+ if (!viewer)
334
+ return;
335
+ viewer.currentPageNumber = initialPage;
336
+ }, [loadState, initialPage, navSeq, numPages]);
337
+ // ── Re-fit on container resize ────────────────────────────────────────
338
+ // The host panel is user-resizable. While the scale is a *named* pdf.js
339
+ // mode ('page-width' etc.), reassigning it recomputes the fit. Once the
340
+ // user zooms manually the value becomes numeric and we leave it alone.
341
+ useEffect(() => {
342
+ const container = containerRef.current;
343
+ if (!container)
344
+ return undefined;
345
+ const ro = new ResizeObserver(() => {
346
+ const viewer = instanceRef.current?.viewer;
347
+ const current = viewer?.currentScaleValue;
348
+ if (!viewer || !current || !Number.isNaN(Number(current)))
349
+ return;
350
+ viewer.currentScaleValue = current;
351
+ });
352
+ ro.observe(container);
353
+ return () => ro.disconnect();
354
+ }, []);
355
+ // ── Trackpad pinch-to-zoom + Ctrl/Cmd-wheel zoom ──────────────────────
356
+ // Browsers translate pinch gestures into `wheel` events with ctrlKey:true.
357
+ // Passive:false so preventDefault() fires — otherwise the page zooms.
358
+ useEffect(() => {
359
+ const container = containerRef.current;
360
+ if (!container)
361
+ return undefined;
362
+ const onWheel = (e) => {
363
+ if (!(e.ctrlKey || e.metaKey))
364
+ return;
365
+ e.preventDefault();
366
+ const viewer = instanceRef.current?.viewer;
367
+ if (!viewer)
368
+ return;
369
+ const current = viewer.currentScale ?? 1;
370
+ const step = Math.max(-0.5, Math.min(0.5, -e.deltaY * 0.01));
371
+ viewer.currentScaleValue = String(Math.max(0.25, Math.min(5, current + step)));
372
+ };
373
+ container.addEventListener('wheel', onWheel, { passive: false });
374
+ return () => container.removeEventListener('wheel', onWheel);
375
+ }, []);
376
+ // ── Find/search ───────────────────────────────────────────────────────
377
+ useEffect(() => {
378
+ if (loadState !== 'ready')
379
+ return;
380
+ const eb = instanceRef.current?.eventBus;
381
+ if (!eb)
382
+ return;
383
+ const trimmed = query.trim();
384
+ eb.dispatch('find', {
385
+ source: null,
386
+ type: '',
387
+ query: trimmed.length < 2 ? '' : trimmed,
388
+ highlightAll: trimmed.length >= 2,
389
+ findPrevious: false,
390
+ caseSensitive: false,
391
+ entireWord: false,
392
+ });
393
+ }, [query, loadState]);
394
+ // ── Toolbar handlers ──────────────────────────────────────────────────
395
+ const goToPage = useCallback((n) => {
396
+ const viewer = instanceRef.current?.viewer;
397
+ if (!viewer)
398
+ return;
399
+ viewer.currentPageNumber = Math.max(1, Math.min(viewer.pagesCount, n));
400
+ }, []);
401
+ const commitPageInput = useCallback(() => {
402
+ const n = Number(pageInput);
403
+ if (Number.isInteger(n) && n >= 1 && numPages > 0 && n <= numPages)
404
+ goToPage(n);
405
+ else
406
+ setPageInput(String(currentPage));
407
+ }, [pageInput, numPages, goToPage, currentPage]);
408
+ const zoom = useCallback((delta) => {
409
+ const viewer = instanceRef.current?.viewer;
410
+ if (!viewer)
411
+ return;
412
+ viewer.currentScaleValue = String(Math.max(0.25, Math.min(5, (viewer.currentScale ?? 1) + delta)));
413
+ }, []);
414
+ return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-[var(--wui-bg)]", children: [_jsxs("div", { className: "wui-pdf-toolbar relative flex shrink-0 flex-wrap items-center justify-center gap-x-2 gap-y-1.5 border-b border-[var(--wui-border)] px-3 py-2", children: [leading && (_jsx("div", { className: "absolute left-3 top-1/2 flex min-w-0 -translate-y-1/2 items-center gap-2", children: leading })), _jsxs("div", { className: "relative shrink-0", children: [_jsx(Search, { className: "pointer-events-none absolute left-1.5 top-1/2 h-3 w-3 -translate-y-1/2 text-[var(--wui-fg-muted)]", "aria-hidden": true, strokeWidth: 1.75 }), _jsx("input", { type: "text", value: query, onChange: (e) => {
415
+ // The user took over the Find box — disarm the auto fallback.
416
+ autoQueryRef.current = null;
417
+ autoLadderRef.current = [];
418
+ setQuery(e.target.value);
419
+ }, placeholder: "Find", "aria-label": "Find in document",
420
+ // Reserve room for the clear button only while there is a query —
421
+ // buys back the pixels the cluster separators cost.
422
+ className: `h-7 w-[84px] rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] bg-[var(--wui-bg)] pl-6 ${query.length > 0 ? 'pr-6' : 'pr-2'} text-[12px] text-[var(--wui-fg)] outline-none transition placeholder:text-[var(--wui-fg-muted)] focus:border-[var(--wui-primary)]` }), query.length > 0 && (_jsx("button", { type: "button", "aria-label": "Clear search", onClick: () => setQuery(''), className: "absolute right-1 top-1/2 grid h-5 w-5 -translate-y-1/2 place-items-center rounded text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)]", children: _jsx(X, { className: "h-3 w-3", "aria-hidden": true, strokeWidth: 1.75 }) }))] }), _jsx("span", { className: "wui-pdf-sep h-4 w-px shrink-0 bg-[var(--wui-border)]", "aria-hidden": true }), _jsxs("div", { className: "flex shrink-0 items-center gap-0.5", children: [_jsx("button", { type: "button", "aria-label": "Previous page", disabled: currentPage <= 1, onClick: () => goToPage(currentPage - 1), className: iconBtn, children: _jsx(ChevronUp, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) }), _jsxs("div", { className: "flex items-center gap-0.5 text-[12px] tabular-nums text-[var(--wui-fg-muted)]", children: [_jsx("input", { type: "text", inputMode: "numeric", value: pageInput, onChange: (e) => setPageInput(e.target.value.replace(/\D/g, '')), onFocus: (e) => {
423
+ setPageInputFocused(true);
424
+ e.target.select();
425
+ }, onBlur: () => {
426
+ setPageInputFocused(false);
427
+ commitPageInput();
428
+ }, onKeyDown: (e) => {
429
+ if (e.key === 'Enter') {
430
+ e.preventDefault();
431
+ e.currentTarget.blur();
432
+ }
433
+ else if (e.key === 'Escape') {
434
+ setPageInput(String(currentPage));
435
+ e.currentTarget.blur();
436
+ }
437
+ }, disabled: numPages === 0, "aria-label": "Go to page", className: "h-7 w-10 rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] bg-[var(--wui-bg)] text-center text-[12px] tabular-nums text-[var(--wui-fg)] outline-none transition focus:border-[var(--wui-primary)] disabled:opacity-40" }), _jsx("span", { "aria-hidden": true, children: "/" }), _jsx("span", { className: "min-w-[20px] text-center", children: numPages > 0 ? String(numPages) : '—' })] }), _jsx("button", { type: "button", "aria-label": "Next page", disabled: numPages > 0 && currentPage >= numPages, onClick: () => goToPage(currentPage + 1), className: iconBtn, children: _jsx(ChevronDown, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })] }), _jsx("span", { className: "wui-pdf-sep h-4 w-px shrink-0 bg-[var(--wui-border)]", "aria-hidden": true }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsx("button", { type: "button", "aria-label": "Zoom out", onClick: () => zoom(-0.1), className: iconBtn, children: _jsx(Minus, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) }), _jsx("span", { className: "wui-pdf-zoom-pct min-w-[44px] text-center text-[12px] tabular-nums text-[var(--wui-fg-muted)]", children: `${String(scalePct)}%` }), _jsx("button", { type: "button", "aria-label": "Zoom in", onClick: () => zoom(0.1), className: iconBtn, children: _jsx(Plus, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) }), !hideDownload && (_jsxs(_Fragment, { children: [_jsx("span", { className: "mx-0.5 h-4 w-px bg-[var(--wui-border)]", "aria-hidden": true }), _jsx("a", { href: url, download: name, "aria-label": "Download", className: iconBtn, children: _jsx(Download, { className: "h-3.5 w-3.5", strokeWidth: 1.75 }) })] })), onClose && (_jsxs(_Fragment, { children: [_jsx("span", { className: "mx-0.5 h-4 w-px bg-[var(--wui-border)]", "aria-hidden": true }), _jsx("button", { type: "button", "aria-label": "Close", onClick: onClose, className: iconBtn, children: _jsx(X, { className: "h-4 w-4", "aria-hidden": true, strokeWidth: 1.75 }) })] }))] })] }), _jsxs("div", { className: "flex min-h-0 flex-1", children: [_jsxs("div", { className: "relative min-w-0 flex-1 overflow-hidden", children: [_jsx("div", { ref: containerRef, className: "pdf-host absolute inset-0 overflow-auto bg-[var(--wui-bg-subtle)] [&_.pdfViewer]:min-w-full [&_.pdfViewer_.page]:!mx-auto", children: _jsx("div", { ref: viewerInnerRef, className: "pdfViewer" }) }), loadState === 'loading' && (_jsxs("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center gap-2 text-[13px] text-[var(--wui-fg-muted)]", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin", strokeWidth: 1.75 }), "Loading document\u2026"] })), loadState === 'error' && (_jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-1 px-6 text-center", children: [_jsx("p", { className: "text-[14px] font-medium text-[var(--wui-fg)]", children: "Could not display this file" }), _jsx("p", { className: "text-[12.5px] text-[var(--wui-fg-muted)]", children: loadError })] }))] }), rightSlot] })] }));
438
+ }
439
+ //# sourceMappingURL=PdfView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfView.js","sourceRoot":"","sources":["../../../../src/components/shared/viewers/PdfView.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,8 +16,8 @@
16
16
  * </WorkflowUIProvider>
17
17
  * ```
18
18
  */
19
- export { WorkflowUIProvider, useWorkflowUI, useSlot, cn, StatusBadge, EmptyState, LoadingSpinner, ErrorBoundary, WorkflowBuilder, computeLayout, SchemaFormRenderer, RunsView, RunsTable, RunsFilters, ExecutionViewer, ExecutionTree, ExecutionHeader, StepDetailPanel, SummaryPanel, SidePanelShell, PauseInteractionPanel, SchemaAwareRenderer, WorkflowDashboard, SummaryButton, SummaryDialog, MarkdownView, AppShell, Sidebar, Breadcrumb, PageHeader, AutomationCard, AutomationListView, CreateWorkflowDialog, AnalyticsDashboard, WorkflowBrowser, WorkflowHome, } from './components/index.js';
20
- export type { WorkflowUIConfig, StatusBadgeProps, StatusVariant, EmptyStateProps, LoadingSpinnerProps, ErrorBoundaryProps, WorkflowBuilderProps, LayoutNode, LayoutEdge, LayoutResult, SchemaFormRendererProps, RunsViewProps, RunsTableProps, RunsFiltersProps, ExecutionViewerProps, ExecutionTreeProps, ExecutionHeaderProps, StepDetailPanelProps, SummaryPanelProps, SidePanelShellProps, PauseInteractionPanelProps, SchemaAwareRendererProps, WorkflowDashboardProps, SummaryButtonProps, SummaryDialogProps, MarkdownViewProps, AppShellProps, SidebarProps, SidebarItem, BreadcrumbProps, BreadcrumbItem, PageHeaderProps, AutomationCardProps, AutomationListViewProps, CreateWorkflowDialogProps, AnalyticsDashboardProps, WorkflowBrowserProps, FolderCrumb, WorkflowHomeProps, WorkflowHomeTab, } from './components/index.js';
19
+ export { WorkflowUIProvider, useWorkflowUI, useSlot, cn, StatusBadge, EmptyState, LoadingSpinner, ErrorBoundary, WorkflowBuilder, computeLayout, SchemaFormRenderer, RunsView, RunsTable, RunsFilters, ExecutionViewer, ExecutionTree, ExecutionHeader, StepDetailPanel, SummaryPanel, SidePanelShell, PauseInteractionPanel, SchemaAwareRenderer, WorkflowDashboard, SummaryButton, SummaryDialog, MarkdownView, CitationArrow, CitationMarks, AppShell, Sidebar, Breadcrumb, PageHeader, AutomationCard, AutomationListView, CreateWorkflowDialog, AnalyticsDashboard, WorkflowBrowser, WorkflowHome, } from './components/index.js';
20
+ export type { WorkflowUIConfig, StatusBadgeProps, StatusVariant, EmptyStateProps, LoadingSpinnerProps, ErrorBoundaryProps, WorkflowBuilderProps, LayoutNode, LayoutEdge, LayoutResult, SchemaFormRendererProps, RunsViewProps, RunsTableProps, RunsFiltersProps, ExecutionViewerProps, ExecutionTreeProps, ExecutionHeaderProps, StepDetailPanelProps, SummaryPanelProps, SidePanelShellProps, PauseInteractionPanelProps, SchemaAwareRendererProps, WorkflowDashboardProps, SummaryButtonProps, SummaryDialogProps, MarkdownViewProps, CitationArrowProps, CitationMarksProps, AppShellProps, SidebarProps, SidebarItem, BreadcrumbProps, BreadcrumbItem, PageHeaderProps, AutomationCardProps, AutomationListViewProps, CreateWorkflowDialogProps, AnalyticsDashboardProps, WorkflowBrowserProps, FolderCrumb, WorkflowHomeProps, WorkflowHomeTab, } from './components/index.js';
21
21
  export { useAnalytics } from './hooks/use-analytics.js';
22
22
  export { useApprovalCount } from './hooks/use-approval-count.js';
23
23
  export { ApprovalsView } from './components/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAEL,kBAAkB,EAClB,aAAa,EACb,OAAO,EAEP,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EAEb,eAAe,EACf,aAAa,EAEb,kBAAkB,EAElB,QAAQ,EACR,SAAS,EACT,WAAW,EAEX,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EAEZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EAEV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAEpB,kBAAkB,EAElB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EAEf,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAEzB,uBAAuB,EAEvB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGlG,YAAY,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAEL,kBAAkB,EAClB,aAAa,EACb,OAAO,EAEP,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EAEb,eAAe,EACf,aAAa,EAEb,kBAAkB,EAElB,QAAQ,EACR,SAAS,EACT,WAAW,EAEX,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EAEb,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EAEV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAEpB,kBAAkB,EAElB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAElB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EAEf,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAEzB,uBAAuB,EAEvB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGlG,YAAY,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC"}
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ RunsView, RunsTable, RunsFilters,
31
31
  // Execution
32
32
  ExecutionViewer, ExecutionTree, ExecutionHeader, StepDetailPanel, SummaryPanel, SidePanelShell, PauseInteractionPanel, SchemaAwareRenderer,
33
33
  // Dashboard
34
- WorkflowDashboard, SummaryButton, SummaryDialog, MarkdownView,
34
+ WorkflowDashboard, SummaryButton, SummaryDialog, MarkdownView, CitationArrow, CitationMarks,
35
35
  // Layout
36
36
  AppShell, Sidebar, Breadcrumb, PageHeader,
37
37
  // Automations
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,qBAAqB;AACrB,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,aAAa,EACb,OAAO;AACP,SAAS;AACT,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa;AACb,UAAU;AACV,eAAe,EACf,aAAa;AACb,cAAc;AACd,kBAAkB;AAClB,OAAO;AACP,QAAQ,EACR,SAAS,EACT,WAAW;AACX,YAAY;AACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB;AACnB,YAAY;AACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY;AACZ,SAAS;AACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU;AACV,cAAc;AACd,cAAc,EACd,kBAAkB,EAClB,oBAAoB;AACpB,YAAY;AACZ,kBAAkB;AAClB,mBAAmB;AACnB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAiD/B,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,oBAAoB;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,oEAAoE;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,qBAAqB;AACrB,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,aAAa,EACb,OAAO;AACP,SAAS;AACT,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa;AACb,UAAU;AACV,eAAe,EACf,aAAa;AACb,cAAc;AACd,kBAAkB;AAClB,OAAO;AACP,QAAQ,EACR,SAAS,EACT,WAAW;AACX,YAAY;AACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB;AACnB,YAAY;AACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa;AACb,SAAS;AACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU;AACV,cAAc;AACd,cAAc,EACd,kBAAkB,EAClB,oBAAoB;AACpB,YAAY;AACZ,kBAAkB;AAClB,mBAAmB;AACnB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAmD/B,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,oBAAoB;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,oEAAoE;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/layout-engine/components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAC;AA+IhD,eAAO,MAAM,gBAAgB,EAAE,QAgD9B,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/layout-engine/components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAC;AAsNhD,eAAO,MAAM,gBAAgB,EAAE,QAiD9B,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}