@vantageos/mosaic 0.4.0 → 0.5.0
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/CHANGELOG.md +39 -15
- package/README.md +114 -5
- package/dist/PipelineBoard-FucyGArR.d.cts +759 -0
- package/dist/PipelineBoard-FucyGArR.d.ts +759 -0
- package/dist/PipelineBoard.markdown-DIcvrS-2.d.cts +16 -0
- package/dist/PipelineBoard.markdown-DIcvrS-2.d.ts +16 -0
- package/dist/{StatusBadge.schema-1tOjB4Ir.d.cts → StatusBadge.schema-BEjSH2_4.d.cts} +2 -2
- package/dist/{StatusBadge.schema-1tOjB4Ir.d.ts → StatusBadge.schema-BEjSH2_4.d.ts} +2 -2
- package/dist/{Tabs.schema-BzcEyeq8.d.cts → Tabs.schema-Dqr6vwV3.d.cts} +2 -2
- package/dist/{Tabs.schema-BzcEyeq8.d.ts → Tabs.schema-Dqr6vwV3.d.ts} +2 -2
- package/dist/Timeline-Coo_3tA_.d.cts +114 -0
- package/dist/Timeline-Coo_3tA_.d.ts +114 -0
- package/dist/Timeline.markdown-C6UPDv1H.d.cts +4 -0
- package/dist/Timeline.markdown-C6UPDv1H.d.ts +4 -0
- package/dist/TransactionPreview-BzWDn8kE.d.cts +391 -0
- package/dist/TransactionPreview-BzWDn8kE.d.ts +391 -0
- package/dist/TransactionPreview.markdown-Dpb0VYgN.d.cts +7 -0
- package/dist/TransactionPreview.markdown-Dpb0VYgN.d.ts +7 -0
- package/dist/artifacts.cjs +186 -2
- package/dist/artifacts.cjs.map +1 -1
- package/dist/artifacts.js +186 -2
- package/dist/artifacts.js.map +1 -1
- package/dist/confirmation.cjs +724 -2
- package/dist/confirmation.cjs.map +1 -1
- package/dist/confirmation.d.cts +2 -1
- package/dist/confirmation.d.ts +2 -1
- package/dist/confirmation.js +722 -4
- package/dist/confirmation.js.map +1 -1
- package/dist/display.cjs +1551 -203
- package/dist/display.cjs.map +1 -1
- package/dist/display.d.cts +6 -229
- package/dist/display.d.ts +6 -229
- package/dist/display.js +1535 -206
- package/dist/display.js.map +1 -1
- package/dist/forms.cjs +139 -46
- package/dist/forms.cjs.map +1 -1
- package/dist/forms.d.cts +2 -2
- package/dist/forms.d.ts +2 -2
- package/dist/forms.js +139 -46
- package/dist/forms.js.map +1 -1
- package/dist/host.cjs +822 -0
- package/dist/host.cjs.map +1 -0
- package/dist/host.d.cts +287 -0
- package/dist/host.d.ts +287 -0
- package/dist/host.js +794 -0
- package/dist/host.js.map +1 -0
- package/dist/{index-CwXVgtGb.d.cts → index-BadRcCbm.d.cts} +28 -11
- package/dist/{index-CwXVgtGb.d.ts → index-BadRcCbm.d.ts} +28 -11
- package/dist/index.cjs +2198 -247
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -8
- package/dist/index.d.ts +42 -8
- package/dist/index.js +2163 -251
- package/dist/index.js.map +1 -1
- package/dist/input.d.cts +2 -2
- package/dist/input.d.ts +2 -2
- package/dist/media.cjs +186 -2
- package/dist/media.cjs.map +1 -1
- package/dist/media.d.cts +1 -1
- package/dist/media.d.ts +1 -1
- package/dist/media.js +186 -2
- package/dist/media.js.map +1 -1
- package/dist/preact/artifacts.js +186 -2
- package/dist/preact/artifacts.js.map +1 -1
- package/dist/preact/confirmation.d.ts +321 -1
- package/dist/preact/confirmation.js +625 -4
- package/dist/preact/confirmation.js.map +1 -1
- package/dist/preact/display.d.ts +544 -47
- package/dist/preact/display.js +1190 -126
- package/dist/preact/display.js.map +1 -1
- package/dist/preact/forms.d.ts +32 -15
- package/dist/preact/forms.js +139 -46
- package/dist/preact/forms.js.map +1 -1
- package/dist/preact/host.d.ts +307 -0
- package/dist/preact/host.js +875 -0
- package/dist/preact/host.js.map +1 -0
- package/dist/preact/media.d.ts +37 -1
- package/dist/preact/media.js +423 -0
- package/dist/preact/media.js.map +1 -1
- package/dist/preact/progress.d.ts +92 -1
- package/dist/preact/progress.js +465 -3
- package/dist/preact/progress.js.map +1 -1
- package/dist/progress.cjs +521 -2
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.d.cts +2 -1
- package/dist/progress.d.ts +2 -1
- package/dist/progress.js +518 -3
- package/dist/progress.js.map +1 -1
- package/dist/react/artifacts.cjs +186 -2
- package/dist/react/artifacts.cjs.map +1 -1
- package/dist/react/artifacts.js +186 -2
- package/dist/react/artifacts.js.map +1 -1
- package/dist/react/confirmation.cjs +626 -2
- package/dist/react/confirmation.cjs.map +1 -1
- package/dist/react/confirmation.d.cts +3 -3
- package/dist/react/confirmation.d.ts +3 -3
- package/dist/react/confirmation.js +625 -4
- package/dist/react/confirmation.js.map +1 -1
- package/dist/react/display.cjs +1076 -123
- package/dist/react/display.cjs.map +1 -1
- package/dist/react/display.d.cts +13 -27
- package/dist/react/display.d.ts +13 -27
- package/dist/react/display.js +1064 -126
- package/dist/react/display.js.map +1 -1
- package/dist/react/forms.cjs +139 -46
- package/dist/react/forms.cjs.map +1 -1
- package/dist/react/forms.d.cts +1 -1
- package/dist/react/forms.d.ts +1 -1
- package/dist/react/forms.js +139 -46
- package/dist/react/forms.js.map +1 -1
- package/dist/react/host.cjs +910 -0
- package/dist/react/host.cjs.map +1 -0
- package/dist/react/host.d.cts +24 -0
- package/dist/react/host.d.ts +24 -0
- package/dist/react/host.js +875 -0
- package/dist/react/host.js.map +1 -0
- package/dist/react/input.d.cts +1 -1
- package/dist/react/input.d.ts +1 -1
- package/dist/react/media.cjs +426 -0
- package/dist/react/media.cjs.map +1 -1
- package/dist/react/media.d.cts +19 -1
- package/dist/react/media.d.ts +19 -1
- package/dist/react/media.js +423 -0
- package/dist/react/media.js.map +1 -1
- package/dist/react/progress.cjs +467 -2
- package/dist/react/progress.cjs.map +1 -1
- package/dist/react/progress.d.cts +1 -1
- package/dist/react/progress.d.ts +1 -1
- package/dist/react/progress.js +465 -3
- package/dist/react/progress.js.map +1 -1
- package/dist/server/resource.cjs +151 -0
- package/dist/server/resource.cjs.map +1 -0
- package/dist/server/resource.d.cts +90 -0
- package/dist/server/resource.d.ts +90 -0
- package/dist/server/resource.js +147 -0
- package/dist/server/resource.js.map +1 -0
- package/dist/server.cjs +1100 -25
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +84 -5
- package/dist/server.d.ts +84 -5
- package/dist/server.js +1087 -27
- package/dist/server.js.map +1 -1
- package/package.json +250 -233
- package/registry.yaml +44 -2
- package/dist/Alert.schema-LPJE5gFP.d.cts +0 -71
- package/dist/Alert.schema-LPJE5gFP.d.ts +0 -71
- package/dist/ProgressBar.schema-CdVYx0Wq.d.cts +0 -22
- package/dist/ProgressBar.schema-CdVYx0Wq.d.ts +0 -22
- package/dist/{ConfirmDialog-B3CQQGmJ.d.cts → ConfirmDialog-BCtOcmHe.d.cts} +1 -1
- package/dist/{ConfirmDialog-B3CQQGmJ.d.ts → ConfirmDialog-BCtOcmHe.d.ts} +1 -1
package/dist/preact/display.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ComponentChildren, h } from 'preact';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import { ReactNode } from 'react';
|
|
6
|
+
export { StatusBadge, StatusBadgeProps, StatusBadgePropsSchema, validateStatusBadgeProps } from './media.js';
|
|
6
7
|
import { Observable } from 'rxjs';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -31,8 +32,8 @@ declare const EmptyStatePropsSchema: z.ZodObject<{
|
|
|
31
32
|
}>>;
|
|
32
33
|
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
33
34
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
title: string;
|
|
35
35
|
locale: "en" | "fr";
|
|
36
|
+
title: string;
|
|
36
37
|
description?: string | undefined;
|
|
37
38
|
action?: {
|
|
38
39
|
label: string;
|
|
@@ -40,12 +41,12 @@ declare const EmptyStatePropsSchema: z.ZodObject<{
|
|
|
40
41
|
} | undefined;
|
|
41
42
|
}, {
|
|
42
43
|
title: string;
|
|
44
|
+
locale?: "en" | "fr" | undefined;
|
|
43
45
|
description?: string | undefined;
|
|
44
46
|
action?: {
|
|
45
47
|
label: string;
|
|
46
48
|
variant?: "primary" | "secondary" | undefined;
|
|
47
49
|
} | undefined;
|
|
48
|
-
locale?: "en" | "fr" | undefined;
|
|
49
50
|
}>;
|
|
50
51
|
type EmptyStatePropsSchemaOutput = z.output<typeof EmptyStatePropsSchema>;
|
|
51
52
|
/**
|
|
@@ -123,16 +124,16 @@ declare const SkeletonPropsSchema: z.ZodObject<{
|
|
|
123
124
|
animation: z.ZodDefault<z.ZodEnum<["pulse", "wave", "none"]>>;
|
|
124
125
|
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
125
126
|
}, "strip", z.ZodTypeAny, {
|
|
126
|
-
variant: "circle" | "rect" | "text";
|
|
127
127
|
locale: "en" | "fr";
|
|
128
|
+
variant: "rect" | "circle" | "text";
|
|
128
129
|
count: number;
|
|
129
130
|
animation: "none" | "pulse" | "wave";
|
|
130
131
|
width?: string | number | undefined;
|
|
131
132
|
height?: string | number | undefined;
|
|
132
133
|
}, {
|
|
133
|
-
variant?: "circle" | "rect" | "text" | undefined;
|
|
134
134
|
locale?: "en" | "fr" | undefined;
|
|
135
135
|
width?: string | number | undefined;
|
|
136
|
+
variant?: "rect" | "circle" | "text" | undefined;
|
|
136
137
|
height?: string | number | undefined;
|
|
137
138
|
count?: number | undefined;
|
|
138
139
|
animation?: "none" | "pulse" | "wave" | undefined;
|
|
@@ -239,40 +240,6 @@ declare function validateVirtualListProps(raw: unknown): VirtualListPropsSchemaO
|
|
|
239
240
|
*/
|
|
240
241
|
declare function VirtualList<T = unknown>(props: VirtualListProps<T>): react_jsx_runtime.JSX.Element;
|
|
241
242
|
|
|
242
|
-
/**
|
|
243
|
-
* StatusBadge — cross-runtime status indicator badge (Preact 10 implementation).
|
|
244
|
-
*
|
|
245
|
-
* Accepts `Record<string, unknown>` for MCP postMessage injection safety.
|
|
246
|
-
* Zod validation narrows before render. Invalid props → accessible error span.
|
|
247
|
-
*
|
|
248
|
-
* WCAG-AA:
|
|
249
|
-
* - `<output>` has implicit role="status" per ARIA spec §5.3.17
|
|
250
|
-
* - aria-label from `label` prop (falls back to `status` string)
|
|
251
|
-
* - `lang` attribute set to locale for correct AT language announcement
|
|
252
|
-
*
|
|
253
|
-
* Bilingue: EN/FR strings resolved via t() from i18n/strings — no hardcoded literals.
|
|
254
|
-
*/
|
|
255
|
-
declare function StatusBadge(raw: Record<string, unknown>): preact.JSX.Element;
|
|
256
|
-
|
|
257
|
-
declare const StatusBadgePropsSchema: z.ZodObject<{
|
|
258
|
-
status: z.ZodString;
|
|
259
|
-
variant: z.ZodDefault<z.ZodEnum<["success", "warning", "danger", "info", "neutral"]>>;
|
|
260
|
-
label: z.ZodOptional<z.ZodString>;
|
|
261
|
-
locale: z.ZodEnum<["en", "fr"]>;
|
|
262
|
-
}, "strip", z.ZodTypeAny, {
|
|
263
|
-
variant: "success" | "warning" | "danger" | "info" | "neutral";
|
|
264
|
-
status: string;
|
|
265
|
-
locale: "en" | "fr";
|
|
266
|
-
label?: string | undefined;
|
|
267
|
-
}, {
|
|
268
|
-
status: string;
|
|
269
|
-
locale: "en" | "fr";
|
|
270
|
-
label?: string | undefined;
|
|
271
|
-
variant?: "success" | "warning" | "danger" | "info" | "neutral" | undefined;
|
|
272
|
-
}>;
|
|
273
|
-
type StatusBadgeProps = z.infer<typeof StatusBadgePropsSchema>;
|
|
274
|
-
declare function validateProps(raw: unknown): StatusBadgeProps;
|
|
275
|
-
|
|
276
243
|
/**
|
|
277
244
|
* Badge — cross-runtime generic visual label primitive (Preact 10 implementation).
|
|
278
245
|
*
|
|
@@ -315,9 +282,36 @@ declare const BadgePropsSchema: z.ZodObject<{
|
|
|
315
282
|
type BadgeProps = z.infer<typeof BadgePropsSchema>;
|
|
316
283
|
declare function validateBadgeProps(raw: unknown): BadgeProps;
|
|
317
284
|
|
|
285
|
+
/**
|
|
286
|
+
* TableView pure logic (R01 / R10): sorting, selection and cell-kind rules. No React, no DOM.
|
|
287
|
+
* Shared by the React and Preact runtimes through the shared TableView implementation.
|
|
288
|
+
*/
|
|
289
|
+
type SortDirection = "asc" | "desc";
|
|
290
|
+
interface SortState {
|
|
291
|
+
key: string;
|
|
292
|
+
direction: SortDirection;
|
|
293
|
+
}
|
|
294
|
+
/** How a column's cells are compared and rendered. */
|
|
295
|
+
type ColumnKind = "text" | "number" | "amount" | "icon";
|
|
296
|
+
type SelectionMode = "none" | "single" | "multiple";
|
|
297
|
+
/**
|
|
298
|
+
* Exact comparison of decimal strings (token amounts): no Number() round trip, so values
|
|
299
|
+
* beyond 2^53 or with 18 decimals compare correctly. Unparseable input compares as equal.
|
|
300
|
+
*/
|
|
301
|
+
declare function compareDecimalStrings(a: string, b: string): number;
|
|
302
|
+
/** Stable sort; missing values last in both directions. Never mutates `items`. */
|
|
303
|
+
declare function sortItems<T>(items: readonly T[], getValue: (item: T) => unknown, kind: ColumnKind, direction: SortDirection, locale: string): T[];
|
|
304
|
+
/** Header click cycle on a column: none -> asc -> desc -> none; another column restarts at asc. */
|
|
305
|
+
declare function nextSort(current: SortState | undefined, key: string): SortState | undefined;
|
|
306
|
+
|
|
318
307
|
type ColumnDef<TRow extends Record<string, unknown> = Record<string, unknown>> = {
|
|
319
308
|
key: string;
|
|
320
309
|
header: string;
|
|
310
|
+
type?: "text" | "number" | "amount" | "icon";
|
|
311
|
+
align?: "start" | "center" | "end";
|
|
312
|
+
width?: string | number;
|
|
313
|
+
sortable?: boolean;
|
|
314
|
+
sensitive?: boolean;
|
|
321
315
|
render?: (row: TRow) => ReactNode;
|
|
322
316
|
};
|
|
323
317
|
/**
|
|
@@ -329,34 +323,128 @@ declare const TableViewPropsSchema: z.ZodObject<{
|
|
|
329
323
|
columns: z.ZodArray<z.ZodObject<{
|
|
330
324
|
key: z.ZodString;
|
|
331
325
|
header: z.ZodString;
|
|
326
|
+
/** Cell kind: drives comparison and rendering. `amount` = decimal STRING, never a float. */
|
|
327
|
+
type: z.ZodDefault<z.ZodEnum<["text", "number", "amount", "icon"]>>;
|
|
328
|
+
/** Defaults to `end` for `number` / `amount` columns, `start` otherwise. */
|
|
329
|
+
align: z.ZodOptional<z.ZodEnum<["start", "center", "end"]>>;
|
|
330
|
+
/** CSS width: a number is pixels. */
|
|
331
|
+
width: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
332
|
+
sortable: z.ZodDefault<z.ZodBoolean>;
|
|
333
|
+
/**
|
|
334
|
+
* Values of this column are masked in the A-1 markdown fallback and kept out of the HTML
|
|
335
|
+
* props of a tool result (delivered via the result `_meta`), never written to `content[]`.
|
|
336
|
+
*/
|
|
337
|
+
sensitive: z.ZodDefault<z.ZodBoolean>;
|
|
332
338
|
}, "strip", z.ZodTypeAny, {
|
|
339
|
+
type: "number" | "icon" | "text" | "amount";
|
|
333
340
|
header: string;
|
|
334
341
|
key: string;
|
|
342
|
+
sortable: boolean;
|
|
343
|
+
sensitive: boolean;
|
|
344
|
+
width?: string | number | undefined;
|
|
345
|
+
align?: "start" | "center" | "end" | undefined;
|
|
335
346
|
}, {
|
|
336
347
|
header: string;
|
|
337
348
|
key: string;
|
|
349
|
+
type?: "number" | "icon" | "text" | "amount" | undefined;
|
|
350
|
+
width?: string | number | undefined;
|
|
351
|
+
align?: "start" | "center" | "end" | undefined;
|
|
352
|
+
sortable?: boolean | undefined;
|
|
353
|
+
sensitive?: boolean | undefined;
|
|
338
354
|
}>, "many">;
|
|
355
|
+
/**
|
|
356
|
+
* Serialisable rows, for views built through `createMosaicResource` (the React props carry
|
|
357
|
+
* `rows` separately).
|
|
358
|
+
*/
|
|
359
|
+
rows: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
|
|
339
360
|
virtualizeThreshold: z.ZodDefault<z.ZodNumber>;
|
|
340
361
|
ariaLabel: z.ZodString;
|
|
341
362
|
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
363
|
+
selectionMode: z.ZodDefault<z.ZodEnum<["none", "single", "multiple"]>>;
|
|
364
|
+
/** Initial sort. */
|
|
365
|
+
sort: z.ZodOptional<z.ZodObject<{
|
|
366
|
+
key: z.ZodString;
|
|
367
|
+
direction: z.ZodEnum<["asc", "desc"]>;
|
|
368
|
+
}, "strip", z.ZodTypeAny, {
|
|
369
|
+
key: string;
|
|
370
|
+
direction: "desc" | "asc";
|
|
371
|
+
}, {
|
|
372
|
+
key: string;
|
|
373
|
+
direction: "desc" | "asc";
|
|
374
|
+
}>>;
|
|
375
|
+
stickyHeader: z.ZodDefault<z.ZodBoolean>;
|
|
376
|
+
/** Scroll region height when `stickyHeader` is on (pixels). */
|
|
377
|
+
maxHeight: z.ZodDefault<z.ZodNumber>;
|
|
378
|
+
density: z.ZodDefault<z.ZodEnum<["comfortable", "compact"]>>;
|
|
379
|
+
loading: z.ZodDefault<z.ZodBoolean>;
|
|
342
380
|
}, "strip", z.ZodTypeAny, {
|
|
343
381
|
locale: "en" | "fr";
|
|
344
382
|
columns: {
|
|
383
|
+
type: "number" | "icon" | "text" | "amount";
|
|
345
384
|
header: string;
|
|
346
385
|
key: string;
|
|
386
|
+
sortable: boolean;
|
|
387
|
+
sensitive: boolean;
|
|
388
|
+
width?: string | number | undefined;
|
|
389
|
+
align?: "start" | "center" | "end" | undefined;
|
|
347
390
|
}[];
|
|
391
|
+
maxHeight: number;
|
|
392
|
+
rows: Record<string, unknown>[];
|
|
348
393
|
virtualizeThreshold: number;
|
|
349
394
|
ariaLabel: string;
|
|
395
|
+
selectionMode: "none" | "single" | "multiple";
|
|
396
|
+
stickyHeader: boolean;
|
|
397
|
+
density: "comfortable" | "compact";
|
|
398
|
+
loading: boolean;
|
|
399
|
+
sort?: {
|
|
400
|
+
key: string;
|
|
401
|
+
direction: "desc" | "asc";
|
|
402
|
+
} | undefined;
|
|
350
403
|
}, {
|
|
351
404
|
columns: {
|
|
352
405
|
header: string;
|
|
353
406
|
key: string;
|
|
407
|
+
type?: "number" | "icon" | "text" | "amount" | undefined;
|
|
408
|
+
width?: string | number | undefined;
|
|
409
|
+
align?: "start" | "center" | "end" | undefined;
|
|
410
|
+
sortable?: boolean | undefined;
|
|
411
|
+
sensitive?: boolean | undefined;
|
|
354
412
|
}[];
|
|
355
413
|
ariaLabel: string;
|
|
414
|
+
sort?: {
|
|
415
|
+
key: string;
|
|
416
|
+
direction: "desc" | "asc";
|
|
417
|
+
} | undefined;
|
|
356
418
|
locale?: "en" | "fr" | undefined;
|
|
419
|
+
maxHeight?: number | undefined;
|
|
420
|
+
rows?: Record<string, unknown>[] | undefined;
|
|
357
421
|
virtualizeThreshold?: number | undefined;
|
|
422
|
+
selectionMode?: "none" | "single" | "multiple" | undefined;
|
|
423
|
+
stickyHeader?: boolean | undefined;
|
|
424
|
+
density?: "comfortable" | "compact" | undefined;
|
|
425
|
+
loading?: boolean | undefined;
|
|
358
426
|
}>;
|
|
359
427
|
type TableViewPropsSchemaOutput = z.output<typeof TableViewPropsSchema>;
|
|
428
|
+
/** Options shared by the static and streaming variants (R01 / R10 extension). */
|
|
429
|
+
type TableViewOptions<TRow extends Record<string, unknown>> = {
|
|
430
|
+
/** `none` (default) adds no selection column. `single` renders radios, `multiple` checkboxes. */
|
|
431
|
+
selectionMode?: SelectionMode;
|
|
432
|
+
/** Controlled selection: row keys (`id` when present, else `row-<original index>`). */
|
|
433
|
+
selectedKeys?: string[];
|
|
434
|
+
defaultSelectedKeys?: string[];
|
|
435
|
+
/** Selected rows in table order, plus their keys. Feed it to `selectionModelContext`. */
|
|
436
|
+
onSelectionChange?: (rows: Partial<TRow>[], keys: string[]) => void;
|
|
437
|
+
/** Controlled sort; `null` = unsorted. */
|
|
438
|
+
sort?: SortState | null;
|
|
439
|
+
defaultSort?: SortState;
|
|
440
|
+
onSortChange?: (sort: SortState | undefined) => void;
|
|
441
|
+
stickyHeader?: boolean;
|
|
442
|
+
/** Scroll region height in pixels when `stickyHeader` is on. Default 400. */
|
|
443
|
+
maxHeight?: number;
|
|
444
|
+
density?: "comfortable" | "compact";
|
|
445
|
+
/** Shows a Skeleton table instead of rows. */
|
|
446
|
+
loading?: boolean;
|
|
447
|
+
};
|
|
360
448
|
/**
|
|
361
449
|
* Props for the static TableView — accepts a plain array of rows.
|
|
362
450
|
* Primary API for already-fetched data (no rxjs required).
|
|
@@ -369,7 +457,7 @@ type TableViewProps<TRow extends Record<string, unknown> = Record<string, unknow
|
|
|
369
457
|
locale?: "en" | "fr";
|
|
370
458
|
/** v0.2.1+: when provided, rows become keyboard-activable (role=button + tabIndex=0 + Enter/Space). 5-BU ABSOLUTE blocker fix. */
|
|
371
459
|
onRowClick?: (row: TRow, index: number) => void;
|
|
372
|
-
}
|
|
460
|
+
} & TableViewOptions<TRow>;
|
|
373
461
|
/**
|
|
374
462
|
* Props for StreamingTableView — accepts an RxJS Observable for incremental row appending.
|
|
375
463
|
* Consumers using this variant MUST install rxjs ^7.8.0 in their project.
|
|
@@ -382,28 +470,437 @@ type StreamingTableViewProps<TRow extends Record<string, unknown> = Record<strin
|
|
|
382
470
|
locale?: "en" | "fr";
|
|
383
471
|
/** v0.2.1+: same semantics as static TableView. */
|
|
384
472
|
onRowClick?: (row: TRow, index: number) => void;
|
|
385
|
-
}
|
|
473
|
+
} & TableViewOptions<TRow>;
|
|
386
474
|
declare function validateTableViewProps(raw: unknown): TableViewPropsSchemaOutput;
|
|
387
475
|
|
|
476
|
+
type AnyRow = Record<string, unknown>;
|
|
388
477
|
/**
|
|
389
478
|
* TableView — Static rows variant (primary API).
|
|
390
479
|
*
|
|
391
480
|
* Accepts `rows: Row[]` for already-fetched data — no rxjs required.
|
|
392
481
|
* Activates TanStack Virtual v3 windowing when rows.length > virtualizeThreshold.
|
|
393
482
|
* Zod-validates serialisable props; renders role="alert" fallback on failure.
|
|
394
|
-
* Fully accessible: aria-rowcount, aria-label, scope="col".
|
|
483
|
+
* Fully accessible: aria-rowcount, aria-label, scope="col", aria-sort on sortable headers.
|
|
484
|
+
*
|
|
485
|
+
* R01 / R10 extension (additive, every new prop optional): sortable columns, single / multiple
|
|
486
|
+
* selection, sticky header, compact density, column align / width, `amount` and `icon` cell kinds
|
|
487
|
+
* and a Skeleton loading state. Claude inline cards want few rows and no nested scrolling:
|
|
488
|
+
* keep inline summaries short and offer fullscreen for the full set.
|
|
395
489
|
*/
|
|
396
|
-
declare function TableView<TRow extends
|
|
490
|
+
declare function TableView<TRow extends AnyRow = AnyRow>(props: TableViewProps<TRow>): react_jsx_runtime.JSX.Element;
|
|
397
491
|
/**
|
|
398
492
|
* StreamingTableView — Streaming rows variant (advanced, opt-in).
|
|
399
493
|
*
|
|
400
494
|
* Pattern 4 Streaming Hydration reference implementation.
|
|
401
495
|
* Consumes an RxJS Observable<Row[]> for incremental row appending.
|
|
402
496
|
* Consumers MUST install rxjs ^7.8.0 in their project.
|
|
403
|
-
*
|
|
404
|
-
|
|
405
|
-
|
|
497
|
+
* Same extension props as TableView.
|
|
498
|
+
*/
|
|
499
|
+
declare function StreamingTableView<TRow extends AnyRow = AnyRow>(props: StreamingTableViewProps<TRow>): react_jsx_runtime.JSX.Element;
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* StatCard (R08): one metric — label, value, optional trend and change.
|
|
503
|
+
*
|
|
504
|
+
* Every field has a default so `{}` parses: a ChatGPT global entrypoint opens with empty
|
|
505
|
+
* arguments (openai/mcp-extensions docs/spec.md, entrypoints) and the view then shows an empty
|
|
506
|
+
* state instead of failing. `value` is a STRING (a decimal string for money, never a float).
|
|
507
|
+
* Claude inline cards count each stat toward the "4-5 data points" cap: keep few per card.
|
|
508
|
+
*/
|
|
509
|
+
declare const StatCardPropsSchema: z.ZodObject<{
|
|
510
|
+
label: z.ZodDefault<z.ZodString>;
|
|
511
|
+
value: z.ZodDefault<z.ZodString>;
|
|
512
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
513
|
+
trend: z.ZodOptional<z.ZodEnum<["up", "down", "flat"]>>;
|
|
514
|
+
/** Pre-formatted change, e.g. "+4.2%". */
|
|
515
|
+
change: z.ZodOptional<z.ZodString>;
|
|
516
|
+
tone: z.ZodDefault<z.ZodEnum<["neutral", "success", "warning", "danger"]>>;
|
|
517
|
+
description: z.ZodOptional<z.ZodString>;
|
|
518
|
+
loading: z.ZodDefault<z.ZodBoolean>;
|
|
519
|
+
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
520
|
+
}, "strip", z.ZodTypeAny, {
|
|
521
|
+
label: string;
|
|
522
|
+
value: string;
|
|
523
|
+
locale: "en" | "fr";
|
|
524
|
+
loading: boolean;
|
|
525
|
+
tone: "success" | "warning" | "danger" | "neutral";
|
|
526
|
+
description?: string | undefined;
|
|
527
|
+
unit?: string | undefined;
|
|
528
|
+
trend?: "flat" | "up" | "down" | undefined;
|
|
529
|
+
change?: string | undefined;
|
|
530
|
+
}, {
|
|
531
|
+
description?: string | undefined;
|
|
532
|
+
label?: string | undefined;
|
|
533
|
+
value?: string | undefined;
|
|
534
|
+
locale?: "en" | "fr" | undefined;
|
|
535
|
+
loading?: boolean | undefined;
|
|
536
|
+
unit?: string | undefined;
|
|
537
|
+
trend?: "flat" | "up" | "down" | undefined;
|
|
538
|
+
change?: string | undefined;
|
|
539
|
+
tone?: "success" | "warning" | "danger" | "neutral" | undefined;
|
|
540
|
+
}>;
|
|
541
|
+
type StatCardProps = z.input<typeof StatCardPropsSchema>;
|
|
542
|
+
type StatCardPropsOutput = z.output<typeof StatCardPropsSchema>;
|
|
543
|
+
declare function validateStatCardProps(raw: unknown): StatCardPropsOutput;
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* StatCard — one KPI: label, value, optional unit, trend (word + arrow, never colour alone) and
|
|
547
|
+
* change. Skeleton while `loading`; an empty state for `{}` (ChatGPT entrypoint default).
|
|
548
|
+
* WCAG-AA: a labelled region; the trend is stated in text.
|
|
549
|
+
*/
|
|
550
|
+
declare function StatCard(raw: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* BalanceCard (R09): a wallet balance for the Fuse server views.
|
|
554
|
+
*
|
|
555
|
+
* Source shape: fuse-mcp-server `src/tools/getBalance.ts` returns `{ address, token,
|
|
556
|
+
* tokenAddress?, decimals, balanceRaw?, balanceWei?, balanceFormatted }`. `balance` is the
|
|
557
|
+
* `balanceFormatted` DECIMAL STRING — shown as given, never routed through a float. Read-only.
|
|
558
|
+
* `{}` parses (ChatGPT entrypoint default).
|
|
559
|
+
*/
|
|
560
|
+
declare const BalanceCardPropsSchema: z.ZodObject<{
|
|
561
|
+
token: z.ZodDefault<z.ZodString>;
|
|
562
|
+
balance: z.ZodDefault<z.ZodString>;
|
|
563
|
+
address: z.ZodDefault<z.ZodString>;
|
|
564
|
+
tokenAddress: z.ZodOptional<z.ZodString>;
|
|
565
|
+
decimals: z.ZodOptional<z.ZodNumber>;
|
|
566
|
+
network: z.ZodOptional<z.ZodString>;
|
|
567
|
+
testnet: z.ZodDefault<z.ZodBoolean>;
|
|
568
|
+
/** Decimal string in `currency`. */
|
|
569
|
+
usdValue: z.ZodOptional<z.ZodString>;
|
|
570
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
571
|
+
loading: z.ZodDefault<z.ZodBoolean>;
|
|
572
|
+
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
573
|
+
}, "strip", z.ZodTypeAny, {
|
|
574
|
+
locale: "en" | "fr";
|
|
575
|
+
address: string;
|
|
576
|
+
loading: boolean;
|
|
577
|
+
currency: string;
|
|
578
|
+
token: string;
|
|
579
|
+
balance: string;
|
|
580
|
+
testnet: boolean;
|
|
581
|
+
tokenAddress?: string | undefined;
|
|
582
|
+
decimals?: number | undefined;
|
|
583
|
+
network?: string | undefined;
|
|
584
|
+
usdValue?: string | undefined;
|
|
585
|
+
}, {
|
|
586
|
+
locale?: "en" | "fr" | undefined;
|
|
587
|
+
address?: string | undefined;
|
|
588
|
+
loading?: boolean | undefined;
|
|
589
|
+
currency?: string | undefined;
|
|
590
|
+
token?: string | undefined;
|
|
591
|
+
balance?: string | undefined;
|
|
592
|
+
tokenAddress?: string | undefined;
|
|
593
|
+
decimals?: number | undefined;
|
|
594
|
+
network?: string | undefined;
|
|
595
|
+
testnet?: boolean | undefined;
|
|
596
|
+
usdValue?: string | undefined;
|
|
597
|
+
}>;
|
|
598
|
+
type BalanceCardProps = z.input<typeof BalanceCardPropsSchema>;
|
|
599
|
+
type BalanceCardPropsOutput = z.output<typeof BalanceCardPropsSchema>;
|
|
600
|
+
declare function validateBalanceCardProps(raw: unknown): BalanceCardPropsOutput;
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* BalanceCard — composition of {@link StatCard} (amount + token) with the network badge, a
|
|
604
|
+
* testnet badge, the truncated address (full address in `title`) and, when the sandbox exposes
|
|
605
|
+
* the async clipboard, a copy button. Read-only; no wallet action.
|
|
606
|
+
*/
|
|
607
|
+
declare function BalanceCard(raw: BalanceCardProps): react_jsx_runtime.JSX.Element;
|
|
608
|
+
|
|
609
|
+
declare const FeedMessageSchema: z.ZodObject<{
|
|
610
|
+
id: z.ZodOptional<z.ZodString>;
|
|
611
|
+
sender: z.ZodString;
|
|
612
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
613
|
+
/** Plain text. Rendered as text, never as HTML. */
|
|
614
|
+
content: z.ZodString;
|
|
615
|
+
/** ISO 8601. */
|
|
616
|
+
timestamp: z.ZodString;
|
|
617
|
+
attachmentUrl: z.ZodOptional<z.ZodString>;
|
|
618
|
+
attachmentLabel: z.ZodOptional<z.ZodString>;
|
|
619
|
+
unread: z.ZodOptional<z.ZodBoolean>;
|
|
620
|
+
}, "strip", z.ZodTypeAny, {
|
|
621
|
+
content: string;
|
|
622
|
+
sender: string;
|
|
623
|
+
timestamp: string;
|
|
624
|
+
id?: string | undefined;
|
|
625
|
+
channel?: string | undefined;
|
|
626
|
+
attachmentUrl?: string | undefined;
|
|
627
|
+
attachmentLabel?: string | undefined;
|
|
628
|
+
unread?: boolean | undefined;
|
|
629
|
+
}, {
|
|
630
|
+
content: string;
|
|
631
|
+
sender: string;
|
|
632
|
+
timestamp: string;
|
|
633
|
+
id?: string | undefined;
|
|
634
|
+
channel?: string | undefined;
|
|
635
|
+
attachmentUrl?: string | undefined;
|
|
636
|
+
attachmentLabel?: string | undefined;
|
|
637
|
+
unread?: boolean | undefined;
|
|
638
|
+
}>;
|
|
639
|
+
type FeedMessage = z.infer<typeof FeedMessageSchema>;
|
|
640
|
+
/**
|
|
641
|
+
* MessageFeed (R03): VantagePeers messages as a READ-ONLY feed — not a chat input (Claude's
|
|
642
|
+
* design guidelines list chat inputs under patterns to avoid; the host composer exists).
|
|
643
|
+
* Messages are ordered oldest first; `maxItems` keeps the latest N (Claude inline: last few).
|
|
644
|
+
* `{}` parses (ChatGPT entrypoint default).
|
|
645
|
+
*/
|
|
646
|
+
declare const MessageFeedPropsSchema: z.ZodObject<{
|
|
647
|
+
messages: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
648
|
+
id: z.ZodOptional<z.ZodString>;
|
|
649
|
+
sender: z.ZodString;
|
|
650
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
651
|
+
/** Plain text. Rendered as text, never as HTML. */
|
|
652
|
+
content: z.ZodString;
|
|
653
|
+
/** ISO 8601. */
|
|
654
|
+
timestamp: z.ZodString;
|
|
655
|
+
attachmentUrl: z.ZodOptional<z.ZodString>;
|
|
656
|
+
attachmentLabel: z.ZodOptional<z.ZodString>;
|
|
657
|
+
unread: z.ZodOptional<z.ZodBoolean>;
|
|
658
|
+
}, "strip", z.ZodTypeAny, {
|
|
659
|
+
content: string;
|
|
660
|
+
sender: string;
|
|
661
|
+
timestamp: string;
|
|
662
|
+
id?: string | undefined;
|
|
663
|
+
channel?: string | undefined;
|
|
664
|
+
attachmentUrl?: string | undefined;
|
|
665
|
+
attachmentLabel?: string | undefined;
|
|
666
|
+
unread?: boolean | undefined;
|
|
667
|
+
}, {
|
|
668
|
+
content: string;
|
|
669
|
+
sender: string;
|
|
670
|
+
timestamp: string;
|
|
671
|
+
id?: string | undefined;
|
|
672
|
+
channel?: string | undefined;
|
|
673
|
+
attachmentUrl?: string | undefined;
|
|
674
|
+
attachmentLabel?: string | undefined;
|
|
675
|
+
unread?: boolean | undefined;
|
|
676
|
+
}>, "many">>;
|
|
677
|
+
maxItems: z.ZodOptional<z.ZodNumber>;
|
|
678
|
+
/** IANA timezone for timestamps (e.g. `hostContext.timeZone`). */
|
|
679
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
680
|
+
/** Above this many shown messages the feed is virtualised through VirtualList. */
|
|
681
|
+
virtualizeThreshold: z.ZodDefault<z.ZodNumber>;
|
|
682
|
+
loading: z.ZodDefault<z.ZodBoolean>;
|
|
683
|
+
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
684
|
+
}, "strip", z.ZodTypeAny, {
|
|
685
|
+
locale: "en" | "fr";
|
|
686
|
+
virtualizeThreshold: number;
|
|
687
|
+
loading: boolean;
|
|
688
|
+
messages: {
|
|
689
|
+
content: string;
|
|
690
|
+
sender: string;
|
|
691
|
+
timestamp: string;
|
|
692
|
+
id?: string | undefined;
|
|
693
|
+
channel?: string | undefined;
|
|
694
|
+
attachmentUrl?: string | undefined;
|
|
695
|
+
attachmentLabel?: string | undefined;
|
|
696
|
+
unread?: boolean | undefined;
|
|
697
|
+
}[];
|
|
698
|
+
timeZone?: string | undefined;
|
|
699
|
+
maxItems?: number | undefined;
|
|
700
|
+
}, {
|
|
701
|
+
locale?: "en" | "fr" | undefined;
|
|
702
|
+
virtualizeThreshold?: number | undefined;
|
|
703
|
+
loading?: boolean | undefined;
|
|
704
|
+
timeZone?: string | undefined;
|
|
705
|
+
messages?: {
|
|
706
|
+
content: string;
|
|
707
|
+
sender: string;
|
|
708
|
+
timestamp: string;
|
|
709
|
+
id?: string | undefined;
|
|
710
|
+
channel?: string | undefined;
|
|
711
|
+
attachmentUrl?: string | undefined;
|
|
712
|
+
attachmentLabel?: string | undefined;
|
|
713
|
+
unread?: boolean | undefined;
|
|
714
|
+
}[] | undefined;
|
|
715
|
+
maxItems?: number | undefined;
|
|
716
|
+
}>;
|
|
717
|
+
type MessageFeedProps = z.input<typeof MessageFeedPropsSchema>;
|
|
718
|
+
type MessageFeedPropsOutput = z.output<typeof MessageFeedPropsSchema>;
|
|
719
|
+
declare function validateMessageFeedProps(raw: unknown): MessageFeedPropsOutput;
|
|
720
|
+
|
|
721
|
+
type MessageFeedViewProps = MessageFeedProps & {
|
|
722
|
+
/**
|
|
723
|
+
* Route attachment links through the host (`ui/open-link`, see `openLink` in ./host) —
|
|
724
|
+
* sandboxed views cannot navigate. Without it an http(s) attachment is a plain anchor.
|
|
725
|
+
*/
|
|
726
|
+
onOpenLink?: (url: string) => void;
|
|
727
|
+
};
|
|
728
|
+
/**
|
|
729
|
+
* MessageFeed — read-only message feed (R03). Plain-text content, safe attachment links, the
|
|
730
|
+
* latest `maxItems` for inline cards, VirtualList above `virtualizeThreshold`. Not a chat input.
|
|
731
|
+
*/
|
|
732
|
+
declare function MessageFeed(raw?: MessageFeedViewProps): react_jsx_runtime.JSX.Element;
|
|
733
|
+
|
|
734
|
+
declare const PipelineDealSchema: z.ZodObject<{
|
|
735
|
+
id: z.ZodString;
|
|
736
|
+
title: z.ZodString;
|
|
737
|
+
/** Decimal STRING (never a float), in the board currency. */
|
|
738
|
+
amount: z.ZodOptional<z.ZodString>;
|
|
739
|
+
contact: z.ZodOptional<z.ZodString>;
|
|
740
|
+
url: z.ZodOptional<z.ZodString>;
|
|
741
|
+
}, "strip", z.ZodTypeAny, {
|
|
742
|
+
title: string;
|
|
743
|
+
id: string;
|
|
744
|
+
amount?: string | undefined;
|
|
745
|
+
url?: string | undefined;
|
|
746
|
+
contact?: string | undefined;
|
|
747
|
+
}, {
|
|
748
|
+
title: string;
|
|
749
|
+
id: string;
|
|
750
|
+
amount?: string | undefined;
|
|
751
|
+
url?: string | undefined;
|
|
752
|
+
contact?: string | undefined;
|
|
753
|
+
}>;
|
|
754
|
+
declare const PipelineStageSchema: z.ZodObject<{
|
|
755
|
+
id: z.ZodString;
|
|
756
|
+
name: z.ZodString;
|
|
757
|
+
deals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
758
|
+
id: z.ZodString;
|
|
759
|
+
title: z.ZodString;
|
|
760
|
+
/** Decimal STRING (never a float), in the board currency. */
|
|
761
|
+
amount: z.ZodOptional<z.ZodString>;
|
|
762
|
+
contact: z.ZodOptional<z.ZodString>;
|
|
763
|
+
url: z.ZodOptional<z.ZodString>;
|
|
764
|
+
}, "strip", z.ZodTypeAny, {
|
|
765
|
+
title: string;
|
|
766
|
+
id: string;
|
|
767
|
+
amount?: string | undefined;
|
|
768
|
+
url?: string | undefined;
|
|
769
|
+
contact?: string | undefined;
|
|
770
|
+
}, {
|
|
771
|
+
title: string;
|
|
772
|
+
id: string;
|
|
773
|
+
amount?: string | undefined;
|
|
774
|
+
url?: string | undefined;
|
|
775
|
+
contact?: string | undefined;
|
|
776
|
+
}>, "many">>;
|
|
777
|
+
}, "strip", z.ZodTypeAny, {
|
|
778
|
+
id: string;
|
|
779
|
+
name: string;
|
|
780
|
+
deals: {
|
|
781
|
+
title: string;
|
|
782
|
+
id: string;
|
|
783
|
+
amount?: string | undefined;
|
|
784
|
+
url?: string | undefined;
|
|
785
|
+
contact?: string | undefined;
|
|
786
|
+
}[];
|
|
787
|
+
}, {
|
|
788
|
+
id: string;
|
|
789
|
+
name: string;
|
|
790
|
+
deals?: {
|
|
791
|
+
title: string;
|
|
792
|
+
id: string;
|
|
793
|
+
amount?: string | undefined;
|
|
794
|
+
url?: string | undefined;
|
|
795
|
+
contact?: string | undefined;
|
|
796
|
+
}[] | undefined;
|
|
797
|
+
}>;
|
|
798
|
+
type PipelineDeal = z.infer<typeof PipelineDealSchema>;
|
|
799
|
+
type PipelineStage = z.infer<typeof PipelineStageSchema>;
|
|
800
|
+
/**
|
|
801
|
+
* PipelineBoard (R06): deals by stage, READ-ONLY (no drag, no stage change), fullscreen-first.
|
|
802
|
+
* `layout: "board"` is the fullscreen columns view; `"summary"` is the inline stage-totals card
|
|
803
|
+
* (see `layoutForDisplayMode`). `{}` parses: ChatGPT opens entrypoints fullscreen with empty
|
|
804
|
+
* arguments (openai/mcp-extensions docs/spec.md).
|
|
805
|
+
*/
|
|
806
|
+
declare const PipelineBoardPropsSchema: z.ZodObject<{
|
|
807
|
+
stages: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
808
|
+
id: z.ZodString;
|
|
809
|
+
name: z.ZodString;
|
|
810
|
+
deals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
811
|
+
id: z.ZodString;
|
|
812
|
+
title: z.ZodString;
|
|
813
|
+
/** Decimal STRING (never a float), in the board currency. */
|
|
814
|
+
amount: z.ZodOptional<z.ZodString>;
|
|
815
|
+
contact: z.ZodOptional<z.ZodString>;
|
|
816
|
+
url: z.ZodOptional<z.ZodString>;
|
|
817
|
+
}, "strip", z.ZodTypeAny, {
|
|
818
|
+
title: string;
|
|
819
|
+
id: string;
|
|
820
|
+
amount?: string | undefined;
|
|
821
|
+
url?: string | undefined;
|
|
822
|
+
contact?: string | undefined;
|
|
823
|
+
}, {
|
|
824
|
+
title: string;
|
|
825
|
+
id: string;
|
|
826
|
+
amount?: string | undefined;
|
|
827
|
+
url?: string | undefined;
|
|
828
|
+
contact?: string | undefined;
|
|
829
|
+
}>, "many">>;
|
|
830
|
+
}, "strip", z.ZodTypeAny, {
|
|
831
|
+
id: string;
|
|
832
|
+
name: string;
|
|
833
|
+
deals: {
|
|
834
|
+
title: string;
|
|
835
|
+
id: string;
|
|
836
|
+
amount?: string | undefined;
|
|
837
|
+
url?: string | undefined;
|
|
838
|
+
contact?: string | undefined;
|
|
839
|
+
}[];
|
|
840
|
+
}, {
|
|
841
|
+
id: string;
|
|
842
|
+
name: string;
|
|
843
|
+
deals?: {
|
|
844
|
+
title: string;
|
|
845
|
+
id: string;
|
|
846
|
+
amount?: string | undefined;
|
|
847
|
+
url?: string | undefined;
|
|
848
|
+
contact?: string | undefined;
|
|
849
|
+
}[] | undefined;
|
|
850
|
+
}>, "many">>;
|
|
851
|
+
/** ISO 4217 code used to format amounts. */
|
|
852
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
853
|
+
layout: z.ZodDefault<z.ZodEnum<["board", "summary"]>>;
|
|
854
|
+
loading: z.ZodDefault<z.ZodBoolean>;
|
|
855
|
+
locale: z.ZodDefault<z.ZodEnum<["en", "fr"]>>;
|
|
856
|
+
}, "strip", z.ZodTypeAny, {
|
|
857
|
+
locale: "en" | "fr";
|
|
858
|
+
loading: boolean;
|
|
859
|
+
currency: string;
|
|
860
|
+
stages: {
|
|
861
|
+
id: string;
|
|
862
|
+
name: string;
|
|
863
|
+
deals: {
|
|
864
|
+
title: string;
|
|
865
|
+
id: string;
|
|
866
|
+
amount?: string | undefined;
|
|
867
|
+
url?: string | undefined;
|
|
868
|
+
contact?: string | undefined;
|
|
869
|
+
}[];
|
|
870
|
+
}[];
|
|
871
|
+
layout: "summary" | "board";
|
|
872
|
+
}, {
|
|
873
|
+
locale?: "en" | "fr" | undefined;
|
|
874
|
+
loading?: boolean | undefined;
|
|
875
|
+
currency?: string | undefined;
|
|
876
|
+
stages?: {
|
|
877
|
+
id: string;
|
|
878
|
+
name: string;
|
|
879
|
+
deals?: {
|
|
880
|
+
title: string;
|
|
881
|
+
id: string;
|
|
882
|
+
amount?: string | undefined;
|
|
883
|
+
url?: string | undefined;
|
|
884
|
+
contact?: string | undefined;
|
|
885
|
+
}[] | undefined;
|
|
886
|
+
}[] | undefined;
|
|
887
|
+
layout?: "summary" | "board" | undefined;
|
|
888
|
+
}>;
|
|
889
|
+
type PipelineBoardProps = z.input<typeof PipelineBoardPropsSchema>;
|
|
890
|
+
type PipelineBoardPropsOutput = z.output<typeof PipelineBoardPropsSchema>;
|
|
891
|
+
declare function validatePipelineBoardProps(raw: unknown): PipelineBoardPropsOutput;
|
|
892
|
+
|
|
893
|
+
type PipelineBoardViewProps = PipelineBoardProps & {
|
|
894
|
+
/** Summary layout: ask the host for fullscreen (`requestDisplayMode` in ./host). */
|
|
895
|
+
onRequestFullscreen?: () => void;
|
|
896
|
+
/** Deal links go through the host (`ui/open-link`); without it deals with a url are plain text. */
|
|
897
|
+
onOpenLink?: (url: string) => void;
|
|
898
|
+
};
|
|
899
|
+
/**
|
|
900
|
+
* PipelineBoard — deals by stage, READ-ONLY. `board`: one labelled column per stage with stage
|
|
901
|
+
* filter chips (R25); `summary`: the inline stage-totals card. No drag-and-drop and no stage
|
|
902
|
+
* change (R07 deferred). Horizontal pan only; scroll padding honours the host safe-area insets.
|
|
406
903
|
*/
|
|
407
|
-
declare function
|
|
904
|
+
declare function PipelineBoard(raw?: PipelineBoardViewProps): react_jsx_runtime.JSX.Element;
|
|
408
905
|
|
|
409
|
-
export { Badge, type BadgeProps, BadgePropsSchema, EmptyState, type EmptyStateProps, EmptyStatePropsSchema, Skeleton, type SkeletonProps, SkeletonPropsSchema,
|
|
906
|
+
export { Badge, type BadgeProps, BadgePropsSchema, BalanceCard, type BalanceCardProps, type BalanceCardPropsOutput, BalanceCardPropsSchema, type ColumnDef, type ColumnKind, EmptyState, type EmptyStateProps, EmptyStatePropsSchema, type FeedMessage, MessageFeed, type MessageFeedProps, type MessageFeedPropsOutput, MessageFeedPropsSchema, type MessageFeedViewProps, PipelineBoard, type PipelineBoardProps, type PipelineBoardPropsOutput, PipelineBoardPropsSchema, type PipelineBoardViewProps, type PipelineDeal, type PipelineStage, type SelectionMode, Skeleton, type SkeletonProps, SkeletonPropsSchema, type SortDirection, type SortState, StatCard, type StatCardProps, type StatCardPropsOutput, StatCardPropsSchema, StreamingTableView, type StreamingTableViewProps, TableView, type TableViewOptions, type TableViewProps, TableViewPropsSchema, VirtualList, type VirtualListProps, VirtualListPropsSchema, compareDecimalStrings, nextSort, resolveSkeletonDimensions, sortItems, validateBadgeProps, validateBalanceCardProps, validateEmptyStateProps, validateMessageFeedProps, validatePipelineBoardProps, validateSkeletonProps, validateStatCardProps, validateTableViewProps, validateVirtualListProps };
|