@durablex/react-ui 0.1.0-beta.3
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/LICENSE +202 -0
- package/NOTICE +5 -0
- package/dist/index.d.ts +1078 -0
- package/dist/index.js +6407 -0
- package/dist/index.js.map +1 -0
- package/package.json +86 -0
- package/src/components/AnimatedDurablexMark.tsx +35 -0
- package/src/components/AppStatusBadge.tsx +17 -0
- package/src/components/AppTag.tsx +17 -0
- package/src/components/AppsView.tsx +226 -0
- package/src/components/BulkReplayButton.tsx +52 -0
- package/src/components/CursorPager.tsx +50 -0
- package/src/components/DeliveriesSplit.tsx +187 -0
- package/src/components/DeliveryDetail.tsx +188 -0
- package/src/components/DurablexLogo.tsx +12 -0
- package/src/components/EndpointFormDialog.tsx +153 -0
- package/src/components/EndpointRow.tsx +172 -0
- package/src/components/EndpointsTab.tsx +83 -0
- package/src/components/EventsList.tsx +170 -0
- package/src/components/EventsView.tsx +24 -0
- package/src/components/Facts.tsx +14 -0
- package/src/components/FlowControlBadge.tsx +23 -0
- package/src/components/FlowControlSection.tsx +82 -0
- package/src/components/FlowSummary.tsx +47 -0
- package/src/components/FormField.tsx +10 -0
- package/src/components/GlyphBadge.tsx +41 -0
- package/src/components/JsonBlock.tsx +48 -0
- package/src/components/JsonEditor.tsx +91 -0
- package/src/components/LogList.tsx +45 -0
- package/src/components/Meta.tsx +31 -0
- package/src/components/OverviewView.tsx +39 -0
- package/src/components/PayloadTabs.tsx +70 -0
- package/src/components/ReceiverFormDialog.tsx +123 -0
- package/src/components/ReceiversTab.tsx +194 -0
- package/src/components/ReplayRunDialog.tsx +112 -0
- package/src/components/ResumeMark.tsx +38 -0
- package/src/components/RetryFromStepButton.tsx +44 -0
- package/src/components/RunCancelButton.tsx +23 -0
- package/src/components/RunControlHistory.tsx +71 -0
- package/src/components/RunInspector.test.tsx +78 -0
- package/src/components/RunInspector.tsx +297 -0
- package/src/components/RunInspectorActions.tsx +40 -0
- package/src/components/RunPauseButton.tsx +34 -0
- package/src/components/RunnerLiveBadge.tsx +11 -0
- package/src/components/RunsFilterBar.tsx +180 -0
- package/src/components/RunsTable.tsx +110 -0
- package/src/components/RunsTableHead.tsx +19 -0
- package/src/components/RunsTableLoader.tsx +10 -0
- package/src/components/RunsTablePlaceholder.tsx +19 -0
- package/src/components/RunsTableRow.tsx +103 -0
- package/src/components/RunsView.test.tsx +46 -0
- package/src/components/RunsView.tsx +243 -0
- package/src/components/ScheduledBadge.tsx +15 -0
- package/src/components/SecretReveal.tsx +45 -0
- package/src/components/SectionHeader.tsx +10 -0
- package/src/components/StatTileGrid.tsx +71 -0
- package/src/components/StatsTiles.tsx +66 -0
- package/src/components/StatusBadge.tsx +50 -0
- package/src/components/StepFlow.tsx +105 -0
- package/src/components/StepGlyph.tsx +25 -0
- package/src/components/StepInspector.tsx +44 -0
- package/src/components/StepRow.tsx +69 -0
- package/src/components/StepTabsView.tsx +51 -0
- package/src/components/StepTimeline.tsx +87 -0
- package/src/components/TableStatusRows.tsx +54 -0
- package/src/components/TriggerEventDialog.tsx +180 -0
- package/src/components/TriggerEventResult.tsx +61 -0
- package/src/components/WebhookBadges.tsx +69 -0
- package/src/components/WebhookStatusBadge.tsx +25 -0
- package/src/components/WebhooksView.tsx +69 -0
- package/src/components/WorkflowDetail.tsx +149 -0
- package/src/components/WorkflowRunAction.tsx +46 -0
- package/src/components/WorkflowRunDialog.tsx +187 -0
- package/src/components/WorkflowsView.tsx +168 -0
- package/src/components/charts/ChartCard.tsx +19 -0
- package/src/components/charts/RunCharts.tsx +31 -0
- package/src/components/charts/RunLatencyChart.tsx +71 -0
- package/src/components/charts/RunsOverTimeChart.tsx +60 -0
- package/src/components/filters/AppFilter.tsx +65 -0
- package/src/components/filters/FilterDropdown.tsx +33 -0
- package/src/components/filters/FilterDropdownButton.tsx +31 -0
- package/src/components/filters/FilterDropdownItem.tsx +37 -0
- package/src/components/filters/TimeRangeFilter.tsx +43 -0
- package/src/components/filters/TimeZoneFilter.tsx +40 -0
- package/src/components/filters/use-click-outside.ts +18 -0
- package/src/components/filters-pager.test.tsx +94 -0
- package/src/components/marks-geometry.ts +10 -0
- package/src/components/replay-dialog.test.tsx +18 -0
- package/src/components/run-components.test.tsx +126 -0
- package/src/components/run-controls.test.tsx +97 -0
- package/src/hooks/use-confirm-action.ts +19 -0
- package/src/hooks/use-copy.ts +22 -0
- package/src/hooks/use-keyset-pager.ts +34 -0
- package/src/hooks/use-mobile.ts +16 -0
- package/src/index.ts +165 -0
- package/src/lib/app-color.test.ts +32 -0
- package/src/lib/app-color.ts +8 -0
- package/src/lib/control-action.ts +36 -0
- package/src/lib/flow-control.ts +77 -0
- package/src/lib/format.test.ts +102 -0
- package/src/lib/format.ts +45 -0
- package/src/lib/json-highlight.test.ts +36 -0
- package/src/lib/json-highlight.ts +64 -0
- package/src/lib/run-filters.ts +8 -0
- package/src/lib/run-logs.test.ts +80 -0
- package/src/lib/run-logs.ts +34 -0
- package/src/lib/run-progress.test.ts +109 -0
- package/src/lib/run-progress.ts +44 -0
- package/src/lib/run-sort.test.ts +40 -0
- package/src/lib/run-sort.ts +19 -0
- package/src/lib/status-label.test.ts +35 -0
- package/src/lib/status-label.ts +13 -0
- package/src/lib/step-detail.test.ts +122 -0
- package/src/lib/step-detail.ts +35 -0
- package/src/lib/step-display.test.ts +19 -0
- package/src/lib/step-display.ts +13 -0
- package/src/lib/step-timeline.test.ts +89 -0
- package/src/lib/step-timeline.ts +50 -0
- package/src/lib/table.ts +2 -0
- package/src/lib/theme.ts +35 -0
- package/src/lib/time-range.ts +81 -0
- package/src/lib/utils.ts +6 -0
- package/src/lib/webhook-view.test.ts +176 -0
- package/src/lib/webhook-view.ts +113 -0
- package/src/lib/workflow-run.test.ts +55 -0
- package/src/lib/workflow-run.ts +45 -0
- package/src/shell/AppShell.tsx +34 -0
- package/src/shell/Sidebar.tsx +78 -0
- package/src/shell/Topbar.tsx +22 -0
- package/src/styles.css +2204 -0
- package/src/test-utils.tsx +130 -0
- package/src/ui/button.tsx +67 -0
- package/src/ui/chart.tsx +337 -0
- package/src/ui/dialog.tsx +145 -0
- package/src/ui/input.tsx +19 -0
- package/src/ui/resizable.tsx +40 -0
- package/src/ui/separator.tsx +28 -0
- package/src/ui/sheet.tsx +128 -0
- package/src/ui/sidebar.tsx +665 -0
- package/src/ui/skeleton.tsx +15 -0
- package/src/ui/sonner.tsx +35 -0
- package/src/ui/table.tsx +87 -0
- package/src/ui/tooltip.tsx +51 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1078 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ReactNode, RefObject } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import { Dialog as Dialog$1, Separator as Separator$1, Tooltip as Tooltip$1 } from "radix-ui";
|
|
5
|
+
import { ClassValue } from "clsx";
|
|
6
|
+
import { LucideIcon } from "lucide-react";
|
|
7
|
+
import { AppStatus, BulkReplayFilter, ControlAction, ControlActionKind, EventLogRecord, FlowControl, LogFrame, Run, RunSeries, RunStats, RunStatus, SendEventResult, Step, StepErrorInfo, StepStatus, WorkflowDef } from "@durablex/react";
|
|
8
|
+
import { ToasterProps } from "sonner";
|
|
9
|
+
import * as ResizablePrimitive from "react-resizable-panels";
|
|
10
|
+
|
|
11
|
+
//#region src/shell/Sidebar.d.ts
|
|
12
|
+
interface NavItem {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
icon: LucideIcon;
|
|
16
|
+
count?: number;
|
|
17
|
+
}
|
|
18
|
+
interface NavGroup {
|
|
19
|
+
label: string;
|
|
20
|
+
items: NavItem[];
|
|
21
|
+
}
|
|
22
|
+
declare function Sidebar({
|
|
23
|
+
groups,
|
|
24
|
+
active,
|
|
25
|
+
onSelect,
|
|
26
|
+
footer
|
|
27
|
+
}: {
|
|
28
|
+
groups: NavGroup[];
|
|
29
|
+
active: string;
|
|
30
|
+
onSelect(key: string): void;
|
|
31
|
+
footer?: ReactNode;
|
|
32
|
+
}): import("react").JSX.Element;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/shell/AppShell.d.ts
|
|
35
|
+
declare function AppShell({
|
|
36
|
+
groups,
|
|
37
|
+
active,
|
|
38
|
+
onSelect,
|
|
39
|
+
title,
|
|
40
|
+
subtitle,
|
|
41
|
+
rightSlot,
|
|
42
|
+
sidebarFooter,
|
|
43
|
+
children
|
|
44
|
+
}: {
|
|
45
|
+
groups: NavGroup[];
|
|
46
|
+
active: string;
|
|
47
|
+
onSelect(key: string): void;
|
|
48
|
+
title: string;
|
|
49
|
+
subtitle?: string;
|
|
50
|
+
rightSlot?: ReactNode;
|
|
51
|
+
sidebarFooter?: ReactNode;
|
|
52
|
+
children: ReactNode;
|
|
53
|
+
}): import("react").JSX.Element;
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/shell/Topbar.d.ts
|
|
56
|
+
declare function Topbar({
|
|
57
|
+
title,
|
|
58
|
+
subtitle,
|
|
59
|
+
rightSlot
|
|
60
|
+
}: {
|
|
61
|
+
title: string;
|
|
62
|
+
subtitle?: string;
|
|
63
|
+
rightSlot?: ReactNode;
|
|
64
|
+
}): import("react").JSX.Element;
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/components/RunInspector.d.ts
|
|
67
|
+
interface RunInspectorProps {
|
|
68
|
+
runId: string;
|
|
69
|
+
onClose(): void;
|
|
70
|
+
onFilterByEvent?: (eventId: string, eventName?: string) => void;
|
|
71
|
+
onOpenRun?: (runId: string) => void;
|
|
72
|
+
onShowReplays?: (runId: string) => void;
|
|
73
|
+
renderActions?: (run: Run) => ReactNode;
|
|
74
|
+
renderControlHistory?: (runId: string) => ReactNode;
|
|
75
|
+
renderStepRetry?: (runId: string, stepName: string) => ReactNode;
|
|
76
|
+
}
|
|
77
|
+
declare function RunInspector({
|
|
78
|
+
runId,
|
|
79
|
+
onClose,
|
|
80
|
+
onFilterByEvent,
|
|
81
|
+
onOpenRun,
|
|
82
|
+
onShowReplays,
|
|
83
|
+
renderActions,
|
|
84
|
+
renderControlHistory,
|
|
85
|
+
renderStepRetry
|
|
86
|
+
}: RunInspectorProps): import("react").JSX.Element;
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/components/RunInspectorActions.d.ts
|
|
89
|
+
declare function RunInspectorActions({
|
|
90
|
+
run,
|
|
91
|
+
onOpenRun
|
|
92
|
+
}: {
|
|
93
|
+
run: Run;
|
|
94
|
+
onOpenRun?: (runId: string) => void;
|
|
95
|
+
}): import("react").JSX.Element;
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/lib/run-filters.d.ts
|
|
98
|
+
declare const ALL_FILTER: "all";
|
|
99
|
+
type StatusFilter = typeof ALL_FILTER | Exclude<RunStatus, "waiting">;
|
|
100
|
+
declare const RUN_TYPE_FILTERS: readonly ["all", "triggered", "scheduled"];
|
|
101
|
+
type RunTypeFilter = (typeof RUN_TYPE_FILTERS)[number];
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region src/lib/run-sort.d.ts
|
|
104
|
+
declare const RUN_SORT_KEYS: readonly ["workflow", "status", "app", "started", "duration"];
|
|
105
|
+
type RunSortKey = (typeof RUN_SORT_KEYS)[number];
|
|
106
|
+
declare const SORT_DIRS: readonly ["asc", "desc"];
|
|
107
|
+
type SortDir = (typeof SORT_DIRS)[number];
|
|
108
|
+
interface RunSort {
|
|
109
|
+
key: RunSortKey;
|
|
110
|
+
dir: SortDir;
|
|
111
|
+
}
|
|
112
|
+
declare const DEFAULT_RUN_SORT: RunSort;
|
|
113
|
+
declare function toggleRunSort(prev: RunSort, key: RunSortKey): RunSort;
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/components/RunsView.d.ts
|
|
116
|
+
interface RunsViewState {
|
|
117
|
+
status: StatusFilter;
|
|
118
|
+
app: string;
|
|
119
|
+
runType: RunTypeFilter;
|
|
120
|
+
time: string;
|
|
121
|
+
q: string;
|
|
122
|
+
deep: boolean;
|
|
123
|
+
sort: RunSort;
|
|
124
|
+
run: string | null;
|
|
125
|
+
event: string | null;
|
|
126
|
+
replayOf: string | null;
|
|
127
|
+
}
|
|
128
|
+
interface RunsViewProps {
|
|
129
|
+
state: RunsViewState;
|
|
130
|
+
onChange: (patch: Partial<RunsViewState>, opts?: {
|
|
131
|
+
push?: boolean;
|
|
132
|
+
}) => void;
|
|
133
|
+
readOnly?: boolean;
|
|
134
|
+
}
|
|
135
|
+
declare function RunsView({
|
|
136
|
+
state,
|
|
137
|
+
onChange,
|
|
138
|
+
readOnly
|
|
139
|
+
}: RunsViewProps): import("react").JSX.Element;
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/components/Meta.d.ts
|
|
142
|
+
declare function Meta({
|
|
143
|
+
label,
|
|
144
|
+
value,
|
|
145
|
+
error,
|
|
146
|
+
onClick,
|
|
147
|
+
title
|
|
148
|
+
}: {
|
|
149
|
+
label: string;
|
|
150
|
+
value: string;
|
|
151
|
+
error?: boolean;
|
|
152
|
+
onClick?: () => void;
|
|
153
|
+
title?: string;
|
|
154
|
+
}): import("react").JSX.Element;
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/components/JsonBlock.d.ts
|
|
157
|
+
declare function JsonBlock({
|
|
158
|
+
value
|
|
159
|
+
}: {
|
|
160
|
+
value: unknown;
|
|
161
|
+
}): import("react").JSX.Element;
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/components/LogList.d.ts
|
|
164
|
+
declare function LogList({
|
|
165
|
+
logs
|
|
166
|
+
}: {
|
|
167
|
+
logs: LogFrame[];
|
|
168
|
+
}): import("react").JSX.Element;
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/components/RunsTable.d.ts
|
|
171
|
+
interface RunsTableProps {
|
|
172
|
+
rows: Run[];
|
|
173
|
+
selectedId: string | null;
|
|
174
|
+
onSelect(id: string): void;
|
|
175
|
+
sort: RunSort;
|
|
176
|
+
onSort(key: RunSortKey): void;
|
|
177
|
+
loading: boolean;
|
|
178
|
+
isError: boolean;
|
|
179
|
+
error: Error | null;
|
|
180
|
+
emptyTitle: string;
|
|
181
|
+
emptyMessage: string;
|
|
182
|
+
hideColumns?: RunSortKey[];
|
|
183
|
+
onReplay?(id: string): void;
|
|
184
|
+
}
|
|
185
|
+
declare function RunsTable({
|
|
186
|
+
rows,
|
|
187
|
+
selectedId,
|
|
188
|
+
onSelect,
|
|
189
|
+
sort,
|
|
190
|
+
onSort,
|
|
191
|
+
loading,
|
|
192
|
+
isError,
|
|
193
|
+
error,
|
|
194
|
+
emptyTitle,
|
|
195
|
+
emptyMessage,
|
|
196
|
+
hideColumns,
|
|
197
|
+
onReplay
|
|
198
|
+
}: RunsTableProps): import("react").JSX.Element;
|
|
199
|
+
//#endregion
|
|
200
|
+
//#region src/components/RunsTableHead.d.ts
|
|
201
|
+
interface RunsTableHeadProps {
|
|
202
|
+
label: string;
|
|
203
|
+
sortKey: RunSortKey;
|
|
204
|
+
sort: RunSort;
|
|
205
|
+
onSort(key: RunSortKey): void;
|
|
206
|
+
numeric?: boolean;
|
|
207
|
+
}
|
|
208
|
+
declare function RunsTableHead({
|
|
209
|
+
label,
|
|
210
|
+
sortKey,
|
|
211
|
+
sort,
|
|
212
|
+
onSort,
|
|
213
|
+
numeric
|
|
214
|
+
}: RunsTableHeadProps): import("react").JSX.Element;
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/components/RunsTableRow.d.ts
|
|
217
|
+
interface RunsTableRowProps {
|
|
218
|
+
run: Run;
|
|
219
|
+
selected: boolean;
|
|
220
|
+
onSelect(id: string): void;
|
|
221
|
+
hideColumns?: RunSortKey[];
|
|
222
|
+
stepTotal?: number;
|
|
223
|
+
onReplay?(id: string): void;
|
|
224
|
+
}
|
|
225
|
+
declare function RunsTableRow({
|
|
226
|
+
run,
|
|
227
|
+
selected,
|
|
228
|
+
onSelect,
|
|
229
|
+
hideColumns,
|
|
230
|
+
stepTotal,
|
|
231
|
+
onReplay
|
|
232
|
+
}: RunsTableRowProps): import("react").JSX.Element;
|
|
233
|
+
//#endregion
|
|
234
|
+
//#region src/components/RunsTableLoader.d.ts
|
|
235
|
+
declare function RunsTableLoader(): import("react").JSX.Element;
|
|
236
|
+
//#endregion
|
|
237
|
+
//#region src/components/RunsTablePlaceholder.d.ts
|
|
238
|
+
interface RunsTablePlaceholderProps {
|
|
239
|
+
icon: LucideIcon;
|
|
240
|
+
title: string;
|
|
241
|
+
message: string;
|
|
242
|
+
}
|
|
243
|
+
declare function RunsTablePlaceholder({
|
|
244
|
+
icon: Icon,
|
|
245
|
+
title,
|
|
246
|
+
message
|
|
247
|
+
}: RunsTablePlaceholderProps): import("react").JSX.Element;
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/components/RunsFilterBar.d.ts
|
|
250
|
+
interface RunsFilterBarProps {
|
|
251
|
+
query: string;
|
|
252
|
+
onQuery(v: string): void;
|
|
253
|
+
deep: boolean;
|
|
254
|
+
onDeep(v: boolean): void;
|
|
255
|
+
time: string;
|
|
256
|
+
onTime(v: string): void;
|
|
257
|
+
status: StatusFilter;
|
|
258
|
+
onStatus(v: StatusFilter): void;
|
|
259
|
+
app: string;
|
|
260
|
+
onApp(v: string): void;
|
|
261
|
+
runType: RunTypeFilter;
|
|
262
|
+
onRunType(v: RunTypeFilter): void;
|
|
263
|
+
shown: number;
|
|
264
|
+
action?: ReactNode;
|
|
265
|
+
}
|
|
266
|
+
declare function RunsFilterBar({
|
|
267
|
+
query,
|
|
268
|
+
onQuery,
|
|
269
|
+
deep,
|
|
270
|
+
onDeep,
|
|
271
|
+
time,
|
|
272
|
+
onTime,
|
|
273
|
+
status,
|
|
274
|
+
onStatus,
|
|
275
|
+
app,
|
|
276
|
+
onApp,
|
|
277
|
+
runType,
|
|
278
|
+
onRunType,
|
|
279
|
+
shown,
|
|
280
|
+
action
|
|
281
|
+
}: RunsFilterBarProps): import("react").JSX.Element;
|
|
282
|
+
//#endregion
|
|
283
|
+
//#region src/components/CursorPager.d.ts
|
|
284
|
+
interface CursorPagerProps {
|
|
285
|
+
rangeStart: number;
|
|
286
|
+
rangeEnd: number;
|
|
287
|
+
canNewer: boolean;
|
|
288
|
+
canOlder: boolean;
|
|
289
|
+
onNewer(): void;
|
|
290
|
+
onOlder(): void;
|
|
291
|
+
}
|
|
292
|
+
declare function CursorPager({
|
|
293
|
+
rangeStart,
|
|
294
|
+
rangeEnd,
|
|
295
|
+
canNewer,
|
|
296
|
+
canOlder,
|
|
297
|
+
onNewer,
|
|
298
|
+
onOlder
|
|
299
|
+
}: CursorPagerProps): import("react").JSX.Element | null;
|
|
300
|
+
//#endregion
|
|
301
|
+
//#region src/components/BulkReplayButton.d.ts
|
|
302
|
+
declare function BulkReplayButton({
|
|
303
|
+
filter
|
|
304
|
+
}: {
|
|
305
|
+
filter: BulkReplayFilter;
|
|
306
|
+
}): import("react").JSX.Element;
|
|
307
|
+
//#endregion
|
|
308
|
+
//#region src/components/RunPauseButton.d.ts
|
|
309
|
+
declare function RunPauseButton({
|
|
310
|
+
id,
|
|
311
|
+
status
|
|
312
|
+
}: {
|
|
313
|
+
id: string;
|
|
314
|
+
status: RunStatus;
|
|
315
|
+
}): import("react").JSX.Element;
|
|
316
|
+
//#endregion
|
|
317
|
+
//#region src/components/RunCancelButton.d.ts
|
|
318
|
+
declare function RunCancelButton({
|
|
319
|
+
id
|
|
320
|
+
}: {
|
|
321
|
+
id: string;
|
|
322
|
+
}): import("react").JSX.Element;
|
|
323
|
+
//#endregion
|
|
324
|
+
//#region src/components/RetryFromStepButton.d.ts
|
|
325
|
+
declare function RetryFromStepButton({
|
|
326
|
+
runId,
|
|
327
|
+
stepName,
|
|
328
|
+
onOpenRun
|
|
329
|
+
}: {
|
|
330
|
+
runId: string;
|
|
331
|
+
stepName: string;
|
|
332
|
+
onOpenRun?: (runId: string) => void;
|
|
333
|
+
}): import("react").JSX.Element;
|
|
334
|
+
//#endregion
|
|
335
|
+
//#region src/components/RunControlHistory.d.ts
|
|
336
|
+
declare function RunControlHistory({
|
|
337
|
+
runId,
|
|
338
|
+
onOpenRun
|
|
339
|
+
}: {
|
|
340
|
+
runId: string;
|
|
341
|
+
onOpenRun?: (runId: string) => void;
|
|
342
|
+
}): import("react").JSX.Element | null;
|
|
343
|
+
//#endregion
|
|
344
|
+
//#region src/components/filters/AppFilter.d.ts
|
|
345
|
+
declare function AppFilter({
|
|
346
|
+
app,
|
|
347
|
+
onApp,
|
|
348
|
+
align,
|
|
349
|
+
width
|
|
350
|
+
}: {
|
|
351
|
+
app: string;
|
|
352
|
+
onApp(app: string): void;
|
|
353
|
+
align?: "right";
|
|
354
|
+
width?: number;
|
|
355
|
+
}): import("react").JSX.Element;
|
|
356
|
+
//#endregion
|
|
357
|
+
//#region src/components/filters/TimeRangeFilter.d.ts
|
|
358
|
+
declare function TimeRangeFilter({
|
|
359
|
+
time,
|
|
360
|
+
onTime
|
|
361
|
+
}: {
|
|
362
|
+
time: string;
|
|
363
|
+
onTime(time: string): void;
|
|
364
|
+
}): import("react").JSX.Element;
|
|
365
|
+
//#endregion
|
|
366
|
+
//#region src/lib/time-range.d.ts
|
|
367
|
+
declare const DEFAULT_TIME_RANGE = "1h";
|
|
368
|
+
declare const TIME_OPTIONS: [string, string][];
|
|
369
|
+
declare function parseWindowMs(time: string): number | null;
|
|
370
|
+
declare function timeLabel(time: string): string;
|
|
371
|
+
declare function seriesBucketSeconds(time: string): number;
|
|
372
|
+
declare const TIME_ZONES: readonly ["local", "utc"];
|
|
373
|
+
type TimeZoneMode = (typeof TIME_ZONES)[number];
|
|
374
|
+
declare const localTimeZone: string;
|
|
375
|
+
declare function bucketTickLabel(ts: string, bucketSeconds: number, tz?: TimeZoneMode): string;
|
|
376
|
+
declare function windowSince(time: string): string | undefined;
|
|
377
|
+
//#endregion
|
|
378
|
+
//#region src/components/filters/TimeZoneFilter.d.ts
|
|
379
|
+
declare function TimeZoneFilter({
|
|
380
|
+
tz,
|
|
381
|
+
onTz
|
|
382
|
+
}: {
|
|
383
|
+
tz: TimeZoneMode;
|
|
384
|
+
onTz(tz: TimeZoneMode): void;
|
|
385
|
+
}): import("react").JSX.Element;
|
|
386
|
+
//#endregion
|
|
387
|
+
//#region src/components/filters/FilterDropdown.d.ts
|
|
388
|
+
declare function FilterDropdown({
|
|
389
|
+
trigger,
|
|
390
|
+
align,
|
|
391
|
+
width,
|
|
392
|
+
children
|
|
393
|
+
}: {
|
|
394
|
+
trigger: (open: boolean, toggle: () => void) => ReactNode;
|
|
395
|
+
align?: "right";
|
|
396
|
+
width?: number;
|
|
397
|
+
children: (close: () => void) => ReactNode;
|
|
398
|
+
}): import("react").JSX.Element;
|
|
399
|
+
//#endregion
|
|
400
|
+
//#region src/components/filters/FilterDropdownButton.d.ts
|
|
401
|
+
declare function FilterDropdownButton({
|
|
402
|
+
open,
|
|
403
|
+
toggle,
|
|
404
|
+
keyLabel,
|
|
405
|
+
value,
|
|
406
|
+
dot
|
|
407
|
+
}: {
|
|
408
|
+
open: boolean;
|
|
409
|
+
toggle: () => void;
|
|
410
|
+
keyLabel?: string;
|
|
411
|
+
value: string;
|
|
412
|
+
dot?: string | null;
|
|
413
|
+
}): import("react").JSX.Element;
|
|
414
|
+
//#endregion
|
|
415
|
+
//#region src/components/filters/FilterDropdownItem.d.ts
|
|
416
|
+
declare function FilterDropdownItem({
|
|
417
|
+
active,
|
|
418
|
+
dot,
|
|
419
|
+
label,
|
|
420
|
+
right,
|
|
421
|
+
onClick
|
|
422
|
+
}: {
|
|
423
|
+
active: boolean;
|
|
424
|
+
dot?: string | null;
|
|
425
|
+
label: string;
|
|
426
|
+
right?: string;
|
|
427
|
+
onClick: () => void;
|
|
428
|
+
}): import("react").JSX.Element;
|
|
429
|
+
//#endregion
|
|
430
|
+
//#region src/components/StatsTiles.d.ts
|
|
431
|
+
declare function StatsTiles({
|
|
432
|
+
stats,
|
|
433
|
+
rangeLabel,
|
|
434
|
+
activeStatus,
|
|
435
|
+
onFilterStatus
|
|
436
|
+
}: {
|
|
437
|
+
stats?: RunStats;
|
|
438
|
+
rangeLabel?: string;
|
|
439
|
+
activeStatus?: StatusFilter;
|
|
440
|
+
onFilterStatus?: (status: StatusFilter) => void;
|
|
441
|
+
}): import("react").JSX.Element;
|
|
442
|
+
//#endregion
|
|
443
|
+
//#region src/components/StatTileGrid.d.ts
|
|
444
|
+
interface StatTile {
|
|
445
|
+
label: string;
|
|
446
|
+
value: number;
|
|
447
|
+
sub: string;
|
|
448
|
+
token: string;
|
|
449
|
+
mark?: boolean;
|
|
450
|
+
trend?: "up" | "down";
|
|
451
|
+
status?: StatusFilter;
|
|
452
|
+
active?: boolean;
|
|
453
|
+
}
|
|
454
|
+
declare function StatTileGrid({
|
|
455
|
+
tiles,
|
|
456
|
+
onSelect
|
|
457
|
+
}: {
|
|
458
|
+
tiles: StatTile[];
|
|
459
|
+
onSelect?: (status: StatusFilter) => void;
|
|
460
|
+
}): import("react").JSX.Element;
|
|
461
|
+
//#endregion
|
|
462
|
+
//#region src/components/StatusBadge.d.ts
|
|
463
|
+
type Status = RunStatus | StepStatus;
|
|
464
|
+
declare function StatusBadge({
|
|
465
|
+
status,
|
|
466
|
+
small,
|
|
467
|
+
label,
|
|
468
|
+
className
|
|
469
|
+
}: {
|
|
470
|
+
status: Status;
|
|
471
|
+
small?: boolean;
|
|
472
|
+
label?: string;
|
|
473
|
+
className?: string;
|
|
474
|
+
}): import("react").JSX.Element;
|
|
475
|
+
//#endregion
|
|
476
|
+
//#region src/components/AppTag.d.ts
|
|
477
|
+
declare function AppTag({
|
|
478
|
+
app,
|
|
479
|
+
className
|
|
480
|
+
}: {
|
|
481
|
+
app: string;
|
|
482
|
+
className?: string;
|
|
483
|
+
}): import("react").JSX.Element;
|
|
484
|
+
//#endregion
|
|
485
|
+
//#region src/components/ScheduledBadge.d.ts
|
|
486
|
+
declare function ScheduledBadge({
|
|
487
|
+
compact,
|
|
488
|
+
className
|
|
489
|
+
}: {
|
|
490
|
+
compact?: boolean;
|
|
491
|
+
className?: string;
|
|
492
|
+
}): import("react").JSX.Element;
|
|
493
|
+
//#endregion
|
|
494
|
+
//#region src/components/GlyphBadge.d.ts
|
|
495
|
+
declare function GlyphBadge({
|
|
496
|
+
icon: Icon,
|
|
497
|
+
tone,
|
|
498
|
+
label,
|
|
499
|
+
ariaLabel,
|
|
500
|
+
compact,
|
|
501
|
+
className
|
|
502
|
+
}: {
|
|
503
|
+
icon: LucideIcon;
|
|
504
|
+
tone: string;
|
|
505
|
+
label: string;
|
|
506
|
+
ariaLabel?: string;
|
|
507
|
+
compact?: boolean;
|
|
508
|
+
className?: string;
|
|
509
|
+
}): import("react").JSX.Element;
|
|
510
|
+
//#endregion
|
|
511
|
+
//#region src/components/ResumeMark.d.ts
|
|
512
|
+
type ResumeMarkProps = {
|
|
513
|
+
size?: number;
|
|
514
|
+
variant?: "run" | "load";
|
|
515
|
+
fault?: boolean;
|
|
516
|
+
className?: string;
|
|
517
|
+
title?: string;
|
|
518
|
+
};
|
|
519
|
+
declare function ResumeMark({
|
|
520
|
+
size,
|
|
521
|
+
variant,
|
|
522
|
+
fault,
|
|
523
|
+
className,
|
|
524
|
+
title
|
|
525
|
+
}: ResumeMarkProps): import("react").JSX.Element;
|
|
526
|
+
//#endregion
|
|
527
|
+
//#region src/components/AnimatedDurablexMark.d.ts
|
|
528
|
+
declare function AnimatedDurablexMark({
|
|
529
|
+
size,
|
|
530
|
+
className
|
|
531
|
+
}: {
|
|
532
|
+
size?: number;
|
|
533
|
+
className?: string;
|
|
534
|
+
}): import("react").JSX.Element;
|
|
535
|
+
//#endregion
|
|
536
|
+
//#region src/components/DurablexLogo.d.ts
|
|
537
|
+
declare function DurablexLogo(): import("react").JSX.Element;
|
|
538
|
+
//#endregion
|
|
539
|
+
//#region src/components/marks-geometry.d.ts
|
|
540
|
+
declare const MARK_BARS: {
|
|
541
|
+
x: number;
|
|
542
|
+
y: number;
|
|
543
|
+
width: number;
|
|
544
|
+
height: number;
|
|
545
|
+
}[];
|
|
546
|
+
declare const RESUME_TRIANGLE = "M10 8.4 L15.4 12 L10 15.6 Z";
|
|
547
|
+
//#endregion
|
|
548
|
+
//#region src/ui/button.d.ts
|
|
549
|
+
declare const buttonVariants: (props?: ({
|
|
550
|
+
variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
|
|
551
|
+
size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
552
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
553
|
+
declare function Button({
|
|
554
|
+
className,
|
|
555
|
+
variant,
|
|
556
|
+
size,
|
|
557
|
+
asChild,
|
|
558
|
+
...props
|
|
559
|
+
}: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
560
|
+
asChild?: boolean;
|
|
561
|
+
}): React.JSX.Element;
|
|
562
|
+
//#endregion
|
|
563
|
+
//#region src/ui/input.d.ts
|
|
564
|
+
declare function Input({
|
|
565
|
+
className,
|
|
566
|
+
type,
|
|
567
|
+
...props
|
|
568
|
+
}: React.ComponentProps<"input">): React.JSX.Element;
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region src/ui/separator.d.ts
|
|
571
|
+
declare function Separator({
|
|
572
|
+
className,
|
|
573
|
+
orientation,
|
|
574
|
+
decorative,
|
|
575
|
+
...props
|
|
576
|
+
}: React.ComponentProps<typeof Separator$1.Root>): React.JSX.Element;
|
|
577
|
+
//#endregion
|
|
578
|
+
//#region src/ui/dialog.d.ts
|
|
579
|
+
declare function Dialog({
|
|
580
|
+
...props
|
|
581
|
+
}: React.ComponentProps<typeof Dialog$1.Root>): React.JSX.Element;
|
|
582
|
+
declare function DialogTrigger({
|
|
583
|
+
...props
|
|
584
|
+
}: React.ComponentProps<typeof Dialog$1.Trigger>): React.JSX.Element;
|
|
585
|
+
declare function DialogPortal({
|
|
586
|
+
...props
|
|
587
|
+
}: React.ComponentProps<typeof Dialog$1.Portal>): React.JSX.Element;
|
|
588
|
+
declare function DialogClose({
|
|
589
|
+
...props
|
|
590
|
+
}: React.ComponentProps<typeof Dialog$1.Close>): React.JSX.Element;
|
|
591
|
+
declare function DialogOverlay({
|
|
592
|
+
className,
|
|
593
|
+
...props
|
|
594
|
+
}: React.ComponentProps<typeof Dialog$1.Overlay>): React.JSX.Element;
|
|
595
|
+
declare function DialogContent({
|
|
596
|
+
className,
|
|
597
|
+
children,
|
|
598
|
+
showCloseButton,
|
|
599
|
+
...props
|
|
600
|
+
}: React.ComponentProps<typeof Dialog$1.Content> & {
|
|
601
|
+
showCloseButton?: boolean;
|
|
602
|
+
}): React.JSX.Element;
|
|
603
|
+
declare function DialogHeader({
|
|
604
|
+
className,
|
|
605
|
+
...props
|
|
606
|
+
}: React.ComponentProps<"div">): React.JSX.Element;
|
|
607
|
+
declare function DialogFooter({
|
|
608
|
+
className,
|
|
609
|
+
showCloseButton,
|
|
610
|
+
children,
|
|
611
|
+
...props
|
|
612
|
+
}: React.ComponentProps<"div"> & {
|
|
613
|
+
showCloseButton?: boolean;
|
|
614
|
+
}): React.JSX.Element;
|
|
615
|
+
declare function DialogTitle({
|
|
616
|
+
className,
|
|
617
|
+
...props
|
|
618
|
+
}: React.ComponentProps<typeof Dialog$1.Title>): React.JSX.Element;
|
|
619
|
+
declare function DialogDescription({
|
|
620
|
+
className,
|
|
621
|
+
...props
|
|
622
|
+
}: React.ComponentProps<typeof Dialog$1.Description>): React.JSX.Element;
|
|
623
|
+
//#endregion
|
|
624
|
+
//#region src/components/JsonEditor.d.ts
|
|
625
|
+
declare function JsonEditor({
|
|
626
|
+
value,
|
|
627
|
+
onChange,
|
|
628
|
+
invalid,
|
|
629
|
+
minHeight,
|
|
630
|
+
ariaLabel
|
|
631
|
+
}: {
|
|
632
|
+
value: string;
|
|
633
|
+
onChange: (next: string) => void;
|
|
634
|
+
invalid?: boolean;
|
|
635
|
+
minHeight?: number;
|
|
636
|
+
ariaLabel?: string;
|
|
637
|
+
}): import("react").JSX.Element;
|
|
638
|
+
//#endregion
|
|
639
|
+
//#region src/components/SectionHeader.d.ts
|
|
640
|
+
declare function SectionHeader({
|
|
641
|
+
children,
|
|
642
|
+
action
|
|
643
|
+
}: {
|
|
644
|
+
children: ReactNode;
|
|
645
|
+
action?: ReactNode;
|
|
646
|
+
}): import("react").JSX.Element;
|
|
647
|
+
//#endregion
|
|
648
|
+
//#region src/components/ReplayRunDialog.d.ts
|
|
649
|
+
declare function ReplayRunDialog({
|
|
650
|
+
run,
|
|
651
|
+
open,
|
|
652
|
+
onOpenChange,
|
|
653
|
+
onOpenRun
|
|
654
|
+
}: {
|
|
655
|
+
run: Run;
|
|
656
|
+
open: boolean;
|
|
657
|
+
onOpenChange: (open: boolean) => void;
|
|
658
|
+
onOpenRun?: (runId: string) => void;
|
|
659
|
+
}): import("react").JSX.Element;
|
|
660
|
+
//#endregion
|
|
661
|
+
//#region src/components/charts/RunCharts.d.ts
|
|
662
|
+
declare function RunCharts({
|
|
663
|
+
series,
|
|
664
|
+
loading
|
|
665
|
+
}: {
|
|
666
|
+
series?: RunSeries;
|
|
667
|
+
loading: boolean;
|
|
668
|
+
}): import("react").JSX.Element;
|
|
669
|
+
//#endregion
|
|
670
|
+
//#region src/components/WorkflowsView.d.ts
|
|
671
|
+
declare function WorkflowsView({
|
|
672
|
+
onOpenRun,
|
|
673
|
+
renderRunAction
|
|
674
|
+
}: {
|
|
675
|
+
onOpenRun(runId: string): void;
|
|
676
|
+
renderRunAction?: (workflow: WorkflowDef) => ReactNode;
|
|
677
|
+
}): import("react").JSX.Element;
|
|
678
|
+
//#endregion
|
|
679
|
+
//#region src/components/WorkflowDetail.d.ts
|
|
680
|
+
declare function WorkflowDetail({
|
|
681
|
+
workflow,
|
|
682
|
+
onClose,
|
|
683
|
+
onOpenRun,
|
|
684
|
+
renderRunAction
|
|
685
|
+
}: {
|
|
686
|
+
workflow: WorkflowDef;
|
|
687
|
+
onClose(): void;
|
|
688
|
+
onOpenRun(runId: string): void;
|
|
689
|
+
renderRunAction?: (workflow: WorkflowDef) => ReactNode;
|
|
690
|
+
}): import("react").JSX.Element;
|
|
691
|
+
//#endregion
|
|
692
|
+
//#region src/components/FlowControlSection.d.ts
|
|
693
|
+
declare function FlowControlSection({
|
|
694
|
+
fc,
|
|
695
|
+
app,
|
|
696
|
+
workflow,
|
|
697
|
+
stats
|
|
698
|
+
}: {
|
|
699
|
+
fc: FlowControl;
|
|
700
|
+
app: string;
|
|
701
|
+
workflow: string;
|
|
702
|
+
stats?: RunStats;
|
|
703
|
+
}): import("react").JSX.Element;
|
|
704
|
+
//#endregion
|
|
705
|
+
//#region src/components/FlowControlBadge.d.ts
|
|
706
|
+
declare function FlowControlBadge({
|
|
707
|
+
compact,
|
|
708
|
+
className
|
|
709
|
+
}: {
|
|
710
|
+
compact?: boolean;
|
|
711
|
+
className?: string;
|
|
712
|
+
}): import("react").JSX.Element;
|
|
713
|
+
//#endregion
|
|
714
|
+
//#region src/components/RunnerLiveBadge.d.ts
|
|
715
|
+
declare function RunnerLiveBadge({
|
|
716
|
+
live,
|
|
717
|
+
small
|
|
718
|
+
}: {
|
|
719
|
+
live: boolean;
|
|
720
|
+
small?: boolean;
|
|
721
|
+
}): import("react").JSX.Element;
|
|
722
|
+
//#endregion
|
|
723
|
+
//#region src/components/AppsView.d.ts
|
|
724
|
+
declare function AppsView(): import("react").JSX.Element;
|
|
725
|
+
//#endregion
|
|
726
|
+
//#region src/components/AppStatusBadge.d.ts
|
|
727
|
+
declare function AppStatusBadge({
|
|
728
|
+
status,
|
|
729
|
+
small
|
|
730
|
+
}: {
|
|
731
|
+
status: AppStatus;
|
|
732
|
+
small?: boolean;
|
|
733
|
+
}): import("react").JSX.Element;
|
|
734
|
+
//#endregion
|
|
735
|
+
//#region src/components/EventsView.d.ts
|
|
736
|
+
declare function EventsView({
|
|
737
|
+
onOpenRun
|
|
738
|
+
}: {
|
|
739
|
+
onOpenRun?: (runId: string) => void;
|
|
740
|
+
}): import("react").JSX.Element;
|
|
741
|
+
//#endregion
|
|
742
|
+
//#region src/components/EventsList.d.ts
|
|
743
|
+
interface EventsListProps {
|
|
744
|
+
events?: EventLogRecord[];
|
|
745
|
+
isLoading: boolean;
|
|
746
|
+
isError: boolean;
|
|
747
|
+
error: Error | null;
|
|
748
|
+
onOpenRun?: (runId: string) => void;
|
|
749
|
+
}
|
|
750
|
+
declare function EventsList({
|
|
751
|
+
events,
|
|
752
|
+
isLoading,
|
|
753
|
+
isError,
|
|
754
|
+
error,
|
|
755
|
+
onOpenRun
|
|
756
|
+
}: EventsListProps): import("react").JSX.Element;
|
|
757
|
+
//#endregion
|
|
758
|
+
//#region src/components/TriggerEventDialog.d.ts
|
|
759
|
+
declare function TriggerEventDialog({
|
|
760
|
+
onOpenRun
|
|
761
|
+
}: {
|
|
762
|
+
onOpenRun?: (runId: string) => void;
|
|
763
|
+
}): import("react").JSX.Element;
|
|
764
|
+
//#endregion
|
|
765
|
+
//#region src/components/TriggerEventResult.d.ts
|
|
766
|
+
declare function TriggerEventResult({
|
|
767
|
+
result,
|
|
768
|
+
onOpenRun
|
|
769
|
+
}: {
|
|
770
|
+
result: SendEventResult;
|
|
771
|
+
onOpenRun?: (runId: string) => void;
|
|
772
|
+
}): import("react").JSX.Element;
|
|
773
|
+
//#endregion
|
|
774
|
+
//#region src/components/WorkflowRunAction.d.ts
|
|
775
|
+
declare function WorkflowRunAction({
|
|
776
|
+
workflow,
|
|
777
|
+
onOpenRun
|
|
778
|
+
}: {
|
|
779
|
+
workflow: WorkflowDef;
|
|
780
|
+
onOpenRun(runId: string): void;
|
|
781
|
+
}): import("react").JSX.Element;
|
|
782
|
+
//#endregion
|
|
783
|
+
//#region src/components/WorkflowRunDialog.d.ts
|
|
784
|
+
declare function WorkflowRunDialog({
|
|
785
|
+
workflow,
|
|
786
|
+
open,
|
|
787
|
+
onOpenChange,
|
|
788
|
+
onOpenRun
|
|
789
|
+
}: {
|
|
790
|
+
workflow: WorkflowDef;
|
|
791
|
+
open: boolean;
|
|
792
|
+
onOpenChange: (open: boolean) => void;
|
|
793
|
+
onOpenRun: (runId: string) => void;
|
|
794
|
+
}): import("react").JSX.Element;
|
|
795
|
+
//#endregion
|
|
796
|
+
//#region src/components/TableStatusRows.d.ts
|
|
797
|
+
interface TableStatusRowsProps {
|
|
798
|
+
colSpan: number;
|
|
799
|
+
isLoading: boolean;
|
|
800
|
+
hasData: boolean;
|
|
801
|
+
isError: boolean;
|
|
802
|
+
error: Error | null;
|
|
803
|
+
emptyMessage: string;
|
|
804
|
+
errorFallback: string;
|
|
805
|
+
}
|
|
806
|
+
declare function TableStatusRows({
|
|
807
|
+
colSpan,
|
|
808
|
+
isLoading,
|
|
809
|
+
hasData,
|
|
810
|
+
isError,
|
|
811
|
+
error,
|
|
812
|
+
emptyMessage,
|
|
813
|
+
errorFallback
|
|
814
|
+
}: TableStatusRowsProps): import("react").JSX.Element | null;
|
|
815
|
+
//#endregion
|
|
816
|
+
//#region src/components/WebhooksView.d.ts
|
|
817
|
+
declare function WebhooksView({
|
|
818
|
+
onOpenRun
|
|
819
|
+
}: {
|
|
820
|
+
onOpenRun?: (runId: string) => void;
|
|
821
|
+
}): import("react").JSX.Element;
|
|
822
|
+
//#endregion
|
|
823
|
+
//#region src/components/Facts.d.ts
|
|
824
|
+
declare function Facts({
|
|
825
|
+
rows
|
|
826
|
+
}: {
|
|
827
|
+
rows: [string, string][];
|
|
828
|
+
}): import("react").JSX.Element;
|
|
829
|
+
//#endregion
|
|
830
|
+
//#region src/components/OverviewView.d.ts
|
|
831
|
+
declare function OverviewView(): import("react").JSX.Element;
|
|
832
|
+
//#endregion
|
|
833
|
+
//#region src/components/FlowSummary.d.ts
|
|
834
|
+
declare function FlowSummary({
|
|
835
|
+
app,
|
|
836
|
+
stats
|
|
837
|
+
}: {
|
|
838
|
+
app?: string;
|
|
839
|
+
stats?: RunStats;
|
|
840
|
+
}): import("react").JSX.Element;
|
|
841
|
+
//#endregion
|
|
842
|
+
//#region src/ui/table.d.ts
|
|
843
|
+
declare function Table({
|
|
844
|
+
className,
|
|
845
|
+
...props
|
|
846
|
+
}: React.ComponentProps<"table">): React.JSX.Element;
|
|
847
|
+
declare function TableHeader({
|
|
848
|
+
className,
|
|
849
|
+
...props
|
|
850
|
+
}: React.ComponentProps<"thead">): React.JSX.Element;
|
|
851
|
+
declare function TableBody({
|
|
852
|
+
className,
|
|
853
|
+
...props
|
|
854
|
+
}: React.ComponentProps<"tbody">): React.JSX.Element;
|
|
855
|
+
declare function TableFooter({
|
|
856
|
+
className,
|
|
857
|
+
...props
|
|
858
|
+
}: React.ComponentProps<"tfoot">): React.JSX.Element;
|
|
859
|
+
declare function TableRow({
|
|
860
|
+
className,
|
|
861
|
+
...props
|
|
862
|
+
}: React.ComponentProps<"tr">): React.JSX.Element;
|
|
863
|
+
declare function TableHead({
|
|
864
|
+
className,
|
|
865
|
+
...props
|
|
866
|
+
}: React.ComponentProps<"th">): React.JSX.Element;
|
|
867
|
+
declare function TableCell({
|
|
868
|
+
className,
|
|
869
|
+
...props
|
|
870
|
+
}: React.ComponentProps<"td">): React.JSX.Element;
|
|
871
|
+
declare function TableCaption({
|
|
872
|
+
className,
|
|
873
|
+
...props
|
|
874
|
+
}: React.ComponentProps<"caption">): React.JSX.Element;
|
|
875
|
+
//#endregion
|
|
876
|
+
//#region src/lib/table.d.ts
|
|
877
|
+
declare const TABLE_HEAD_CLASS = "text-muted-foreground/70 h-7 px-2 text-[10px] tracking-wider uppercase";
|
|
878
|
+
//#endregion
|
|
879
|
+
//#region src/lib/workflow-run.d.ts
|
|
880
|
+
interface EventRunOption {
|
|
881
|
+
value: string;
|
|
882
|
+
pattern: string;
|
|
883
|
+
isWildcard: boolean;
|
|
884
|
+
filter?: string;
|
|
885
|
+
}
|
|
886
|
+
interface WorkflowRunPlan {
|
|
887
|
+
runnable: boolean;
|
|
888
|
+
options: EventRunOption[];
|
|
889
|
+
}
|
|
890
|
+
declare function workflowRunPlan(workflow: WorkflowDef): WorkflowRunPlan;
|
|
891
|
+
//#endregion
|
|
892
|
+
//#region src/ui/resizable.d.ts
|
|
893
|
+
declare function ResizablePanelGroup({
|
|
894
|
+
className,
|
|
895
|
+
...props
|
|
896
|
+
}: ResizablePrimitive.GroupProps): import("react").JSX.Element;
|
|
897
|
+
declare function ResizablePanel({
|
|
898
|
+
...props
|
|
899
|
+
}: ResizablePrimitive.PanelProps): import("react").JSX.Element;
|
|
900
|
+
declare function ResizableHandle({
|
|
901
|
+
withHandle,
|
|
902
|
+
className,
|
|
903
|
+
...props
|
|
904
|
+
}: ResizablePrimitive.SeparatorProps & {
|
|
905
|
+
withHandle?: boolean;
|
|
906
|
+
}): import("react").JSX.Element;
|
|
907
|
+
//#endregion
|
|
908
|
+
//#region src/hooks/use-keyset-pager.d.ts
|
|
909
|
+
declare function useKeysetPager(resetKey: string, pageSize: number): {
|
|
910
|
+
cursor: string | undefined;
|
|
911
|
+
canNewer: boolean;
|
|
912
|
+
range: (rowCount: number) => {
|
|
913
|
+
start: number;
|
|
914
|
+
end: number;
|
|
915
|
+
};
|
|
916
|
+
goOlder: (nextCursor: string | null) => void;
|
|
917
|
+
goNewer: () => void;
|
|
918
|
+
};
|
|
919
|
+
//#endregion
|
|
920
|
+
//#region src/lib/flow-control.d.ts
|
|
921
|
+
declare const FLOW_ADAPTERS: readonly ["concurrency", "throttle", "rateLimit", "debounce", "batch", "priority", "singleton", "idempotency"];
|
|
922
|
+
type FlowAdapter = (typeof FLOW_ADAPTERS)[number];
|
|
923
|
+
declare function hasFlowControl(fc?: FlowControl): boolean;
|
|
924
|
+
interface FlowRow {
|
|
925
|
+
adapter: FlowAdapter;
|
|
926
|
+
label: string;
|
|
927
|
+
value: string;
|
|
928
|
+
scopeKey?: string;
|
|
929
|
+
}
|
|
930
|
+
declare function flowControlRows(fc: FlowControl): FlowRow[];
|
|
931
|
+
//#endregion
|
|
932
|
+
//#region src/ui/sheet.d.ts
|
|
933
|
+
declare function Sheet({
|
|
934
|
+
...props
|
|
935
|
+
}: React.ComponentProps<typeof Dialog$1.Root>): React.JSX.Element;
|
|
936
|
+
declare function SheetTrigger({
|
|
937
|
+
...props
|
|
938
|
+
}: React.ComponentProps<typeof Dialog$1.Trigger>): React.JSX.Element;
|
|
939
|
+
declare function SheetClose({
|
|
940
|
+
...props
|
|
941
|
+
}: React.ComponentProps<typeof Dialog$1.Close>): React.JSX.Element;
|
|
942
|
+
declare function SheetContent({
|
|
943
|
+
className,
|
|
944
|
+
children,
|
|
945
|
+
side,
|
|
946
|
+
showCloseButton,
|
|
947
|
+
...props
|
|
948
|
+
}: React.ComponentProps<typeof Dialog$1.Content> & {
|
|
949
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
950
|
+
showCloseButton?: boolean;
|
|
951
|
+
}): React.JSX.Element;
|
|
952
|
+
declare function SheetHeader({
|
|
953
|
+
className,
|
|
954
|
+
...props
|
|
955
|
+
}: React.ComponentProps<"div">): React.JSX.Element;
|
|
956
|
+
declare function SheetFooter({
|
|
957
|
+
className,
|
|
958
|
+
...props
|
|
959
|
+
}: React.ComponentProps<"div">): React.JSX.Element;
|
|
960
|
+
declare function SheetTitle({
|
|
961
|
+
className,
|
|
962
|
+
...props
|
|
963
|
+
}: React.ComponentProps<typeof Dialog$1.Title>): React.JSX.Element;
|
|
964
|
+
declare function SheetDescription({
|
|
965
|
+
className,
|
|
966
|
+
...props
|
|
967
|
+
}: React.ComponentProps<typeof Dialog$1.Description>): React.JSX.Element;
|
|
968
|
+
//#endregion
|
|
969
|
+
//#region src/ui/skeleton.d.ts
|
|
970
|
+
declare function Skeleton({
|
|
971
|
+
className,
|
|
972
|
+
...props
|
|
973
|
+
}: React.ComponentProps<"div">): React.JSX.Element;
|
|
974
|
+
//#endregion
|
|
975
|
+
//#region src/ui/tooltip.d.ts
|
|
976
|
+
declare function TooltipProvider({
|
|
977
|
+
delayDuration,
|
|
978
|
+
...props
|
|
979
|
+
}: React.ComponentProps<typeof Tooltip$1.Provider>): React.JSX.Element;
|
|
980
|
+
declare function Tooltip({
|
|
981
|
+
...props
|
|
982
|
+
}: React.ComponentProps<typeof Tooltip$1.Root>): React.JSX.Element;
|
|
983
|
+
declare function TooltipTrigger({
|
|
984
|
+
...props
|
|
985
|
+
}: React.ComponentProps<typeof Tooltip$1.Trigger>): React.JSX.Element;
|
|
986
|
+
declare function TooltipContent({
|
|
987
|
+
className,
|
|
988
|
+
sideOffset,
|
|
989
|
+
children,
|
|
990
|
+
...props
|
|
991
|
+
}: React.ComponentProps<typeof Tooltip$1.Content>): React.JSX.Element;
|
|
992
|
+
//#endregion
|
|
993
|
+
//#region src/ui/sonner.d.ts
|
|
994
|
+
declare const Toaster: ({
|
|
995
|
+
...props
|
|
996
|
+
}: ToasterProps) => React.JSX.Element;
|
|
997
|
+
//#endregion
|
|
998
|
+
//#region src/hooks/use-mobile.d.ts
|
|
999
|
+
declare function useIsMobile(): boolean;
|
|
1000
|
+
//#endregion
|
|
1001
|
+
//#region src/hooks/use-copy.d.ts
|
|
1002
|
+
declare function useCopyToClipboard(resetMs?: number): {
|
|
1003
|
+
copied: boolean;
|
|
1004
|
+
copy: (text: string) => void;
|
|
1005
|
+
};
|
|
1006
|
+
//#endregion
|
|
1007
|
+
//#region src/hooks/use-confirm-action.d.ts
|
|
1008
|
+
declare function useConfirmAction(action: () => void, ms?: number): {
|
|
1009
|
+
confirming: boolean;
|
|
1010
|
+
trigger: () => void;
|
|
1011
|
+
};
|
|
1012
|
+
//#endregion
|
|
1013
|
+
//#region src/components/filters/use-click-outside.d.ts
|
|
1014
|
+
declare function useClickOutside(ref: RefObject<HTMLElement | null>, onClose: () => void): void;
|
|
1015
|
+
//#endregion
|
|
1016
|
+
//#region src/lib/utils.d.ts
|
|
1017
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
1018
|
+
//#endregion
|
|
1019
|
+
//#region src/lib/theme.d.ts
|
|
1020
|
+
declare const THEME_PREFS: readonly ["light", "system", "dark"];
|
|
1021
|
+
type ThemePref = (typeof THEME_PREFS)[number];
|
|
1022
|
+
declare function getThemePref(): ThemePref;
|
|
1023
|
+
declare function applyThemePref(pref: ThemePref): void;
|
|
1024
|
+
declare function setThemePref(pref: ThemePref): void;
|
|
1025
|
+
declare function watchSystemTheme(getPref: () => ThemePref): () => void;
|
|
1026
|
+
//#endregion
|
|
1027
|
+
//#region src/lib/json-highlight.d.ts
|
|
1028
|
+
type JsonTokenKind = "key" | "str" | "num" | "bool" | "null" | "punc";
|
|
1029
|
+
declare const JSON_TOKEN_COLOR: Record<JsonTokenKind, string>;
|
|
1030
|
+
declare function tokenizeJson(src: string): {
|
|
1031
|
+
text: string;
|
|
1032
|
+
kind: JsonTokenKind;
|
|
1033
|
+
}[];
|
|
1034
|
+
type ParsedJson = {
|
|
1035
|
+
ok: true;
|
|
1036
|
+
value: unknown;
|
|
1037
|
+
} | {
|
|
1038
|
+
ok: false;
|
|
1039
|
+
error: string;
|
|
1040
|
+
};
|
|
1041
|
+
declare function parseJson(raw: string): ParsedJson;
|
|
1042
|
+
declare function highlightedJsonSpans(text: string): {
|
|
1043
|
+
key: number;
|
|
1044
|
+
text: string;
|
|
1045
|
+
color: string;
|
|
1046
|
+
bold: boolean;
|
|
1047
|
+
italic: boolean;
|
|
1048
|
+
}[];
|
|
1049
|
+
//#endregion
|
|
1050
|
+
//#region src/lib/format.d.ts
|
|
1051
|
+
declare function formatError(error: StepErrorInfo): string;
|
|
1052
|
+
declare function formatDuration(ms?: number | null): string;
|
|
1053
|
+
declare function formatTime(iso?: string | null): string;
|
|
1054
|
+
declare function formatNextFire(iso?: string | null): string;
|
|
1055
|
+
declare function formatRelative(iso?: string | null): string;
|
|
1056
|
+
//#endregion
|
|
1057
|
+
//#region src/lib/status-label.d.ts
|
|
1058
|
+
declare const STATUS_LABELS: Record<RunStatus | StepStatus, string>;
|
|
1059
|
+
//#endregion
|
|
1060
|
+
//#region src/lib/run-progress.d.ts
|
|
1061
|
+
declare function currentStepNumber(run: Run): number;
|
|
1062
|
+
declare function expectedStepTotals(runs: Run[]): Map<string, number>;
|
|
1063
|
+
declare function stepCellLabel(run: Run, expectedTotal?: number): string;
|
|
1064
|
+
declare function stepProgress(run: Run, steps: Step[]): {
|
|
1065
|
+
ix: number;
|
|
1066
|
+
total: number;
|
|
1067
|
+
};
|
|
1068
|
+
//#endregion
|
|
1069
|
+
//#region src/lib/app-color.d.ts
|
|
1070
|
+
declare function appHue(name: string): string;
|
|
1071
|
+
//#endregion
|
|
1072
|
+
//#region src/lib/control-action.d.ts
|
|
1073
|
+
declare const ACTION_LABELS: Record<ControlActionKind, string>;
|
|
1074
|
+
declare function actorLabel(actor?: string): string;
|
|
1075
|
+
declare function describeControlDetail(a: ControlAction): string;
|
|
1076
|
+
//#endregion
|
|
1077
|
+
export { ACTION_LABELS, ALL_FILTER, AnimatedDurablexMark, AppFilter, AppShell, AppStatusBadge, AppTag, AppsView, BulkReplayButton, Button, CursorPager, DEFAULT_RUN_SORT, DEFAULT_TIME_RANGE, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DurablexLogo, type EventRunOption, EventsList, EventsView, FLOW_ADAPTERS, Facts, FilterDropdown, FilterDropdownButton, FilterDropdownItem, type FlowAdapter, FlowControlBadge, FlowControlSection, type FlowRow, FlowSummary, GlyphBadge, Input, JSON_TOKEN_COLOR, JsonBlock, JsonEditor, type JsonTokenKind, LogList, MARK_BARS, Meta, type NavGroup, type NavItem, OverviewView, type ParsedJson, RESUME_TRIANGLE, RUN_SORT_KEYS, RUN_TYPE_FILTERS, ReplayRunDialog, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResumeMark, RetryFromStepButton, RunCancelButton, RunCharts, RunControlHistory, RunInspector, RunInspectorActions, type RunInspectorProps, RunPauseButton, type RunSort, type RunSortKey, type RunTypeFilter, RunnerLiveBadge, RunsFilterBar, RunsTable, RunsTableHead, RunsTableLoader, RunsTablePlaceholder, RunsTableRow, RunsView, type RunsViewProps, type RunsViewState, SORT_DIRS, STATUS_LABELS, ScheduledBadge, SectionHeader, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, Skeleton, type SortDir, type StatTile, StatTileGrid, StatsTiles, StatusBadge, type StatusFilter, TABLE_HEAD_CLASS, THEME_PREFS, TIME_OPTIONS, TIME_ZONES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TableStatusRows, type ThemePref, TimeRangeFilter, TimeZoneFilter, type TimeZoneMode, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Topbar, TriggerEventDialog, TriggerEventResult, WebhooksView, WorkflowDetail, WorkflowRunAction, WorkflowRunDialog, type WorkflowRunPlan, WorkflowsView, actorLabel, appHue, applyThemePref, bucketTickLabel, buttonVariants, cn, currentStepNumber, describeControlDetail, expectedStepTotals, flowControlRows, formatDuration, formatError, formatNextFire, formatRelative, formatTime, getThemePref, hasFlowControl, highlightedJsonSpans, localTimeZone, parseJson, parseWindowMs, seriesBucketSeconds, setThemePref, stepCellLabel, stepProgress, timeLabel, toggleRunSort, tokenizeJson, useClickOutside, useConfirmAction, useCopyToClipboard, useIsMobile, useKeysetPager, watchSystemTheme, windowSince, workflowRunPlan };
|
|
1078
|
+
//# sourceMappingURL=index.d.ts.map
|