@reopt-ai/opt-ui 1.9.0 → 1.11.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.
Files changed (64) hide show
  1. package/COMPONENT_CATALOG.md +177 -66
  2. package/README.md +21 -5
  3. package/dist/core/index.cjs +106 -104
  4. package/dist/core/index.d.cts +3 -3
  5. package/dist/core/index.d.ts +3 -3
  6. package/dist/core/index.js +3 -3
  7. package/dist/docs/02-components/01-core.md +92 -41
  8. package/dist/docs/02-components/02-visuals.md +1 -1
  9. package/dist/docs/02-components/03-shells.md +96 -26
  10. package/dist/docs/02-components/04-surfaces.md +1 -1
  11. package/dist/docs/02-components/index.md +5 -5
  12. package/dist/{field-sidebar-B5vk3luQ.d.cts → field-sidebar-B5SQC35J.d.cts} +226 -3
  13. package/dist/field-sidebar-B5SQC35J.d.cts.map +1 -0
  14. package/dist/{field-sidebar-B7QkWvMG.js → field-sidebar-BXl5RJ3q.js} +599 -43
  15. package/dist/field-sidebar-BXl5RJ3q.js.map +1 -0
  16. package/dist/{field-sidebar-Dk9gJGA_.d.ts → field-sidebar-CBeWE8xX.d.ts} +226 -3
  17. package/dist/field-sidebar-CBeWE8xX.d.ts.map +1 -0
  18. package/dist/{field-sidebar-mFHemxBz.cjs → field-sidebar-DAuN4jPV.cjs} +883 -309
  19. package/dist/id-registry.cjs +46 -6
  20. package/dist/id-registry.d.cts.map +1 -1
  21. package/dist/id-registry.d.ts.map +1 -1
  22. package/dist/id-registry.js +46 -6
  23. package/dist/id-registry.js.map +1 -1
  24. package/dist/id-registry.json +97 -12
  25. package/dist/index.cjs +593 -587
  26. package/dist/index.d.cts +10 -6
  27. package/dist/index.d.cts.map +1 -1
  28. package/dist/index.d.ts +10 -6
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +20 -19
  31. package/dist/index.js.map +1 -1
  32. package/dist/{key-pad-menu-D8OS_VCT.d.cts → key-pad-menu-BxTy_u0Q.d.cts} +152 -51
  33. package/dist/key-pad-menu-BxTy_u0Q.d.cts.map +1 -0
  34. package/dist/{key-pad-menu-DoGskWbp.cjs → key-pad-menu-Cg6rZBie.cjs} +670 -923
  35. package/dist/{key-pad-menu-EEb6Ho5h.d.ts → key-pad-menu-u5GTJl9B.d.ts} +152 -51
  36. package/dist/key-pad-menu-u5GTJl9B.d.ts.map +1 -0
  37. package/dist/{key-pad-menu-BFd79JoS.js → key-pad-menu-wXkWn1I1.js} +500 -699
  38. package/dist/key-pad-menu-wXkWn1I1.js.map +1 -0
  39. package/dist/meta.cjs +486 -9
  40. package/dist/meta.d.cts.map +1 -1
  41. package/dist/meta.d.ts.map +1 -1
  42. package/dist/meta.js +486 -9
  43. package/dist/meta.js.map +1 -1
  44. package/dist/shells/index.cjs +4 -1
  45. package/dist/shells/index.d.cts +2 -2
  46. package/dist/shells/index.d.ts +2 -2
  47. package/dist/shells/index.js +2 -2
  48. package/dist/{highlight-CGcrYGMC.cjs → text-truncate-BZdL1k5Z.cjs} +608 -83
  49. package/dist/{highlight-C2sfnJN8.js → text-truncate-C17HHCR-.js} +534 -87
  50. package/dist/text-truncate-C17HHCR-.js.map +1 -0
  51. package/dist/{field-token-CSOrU5gl.d.ts → text-truncate-DW78lg4S.d.cts} +63 -4
  52. package/dist/text-truncate-DW78lg4S.d.cts.map +1 -0
  53. package/dist/{field-token-CSOrU5gl.d.cts → text-truncate-DW78lg4S.d.ts} +63 -4
  54. package/dist/text-truncate-DW78lg4S.d.ts.map +1 -0
  55. package/package.json +2 -2
  56. package/dist/field-sidebar-B5vk3luQ.d.cts.map +0 -1
  57. package/dist/field-sidebar-B7QkWvMG.js.map +0 -1
  58. package/dist/field-sidebar-Dk9gJGA_.d.ts.map +0 -1
  59. package/dist/field-token-CSOrU5gl.d.cts.map +0 -1
  60. package/dist/field-token-CSOrU5gl.d.ts.map +0 -1
  61. package/dist/highlight-C2sfnJN8.js.map +0 -1
  62. package/dist/key-pad-menu-BFd79JoS.js.map +0 -1
  63. package/dist/key-pad-menu-D8OS_VCT.d.cts.map +0 -1
  64. package/dist/key-pad-menu-EEb6Ho5h.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
 
2
- import { C as FailureItem, D as FormFieldDef, F as StatCard, H as ToolbarButtonDef, I as TabDef, M as ProjectDef, O as MenuDef, P as SelectOption, _ as DeploymentStep, g as CommandDef, j as NavItemDef, n as FieldDataType, s as BranchDef, v as DomainDef, w as FaqItem, y as EnvGroupDef } from "./field-token-CSOrU5gl.cjs";
2
+ import { A as FormFieldDef, D as FaqItem, E as FailureItem, F as ProjectDef, G as ToolbarButtonDef, L as SelectOption, P as NavItemDef, R as StatCard, S as EnvGroupDef, a as FieldDataType, b as DeploymentStep, j as MenuDef, r as TruncationSide, u as BranchDef, x as DomainDef, y as CommandDef, z as TabDef } from "./text-truncate-DW78lg4S.cjs";
3
3
  import * as React from "react";
4
4
  import { ReactNode, Ref } from "react";
5
5
  import { TimeGranularity, TimeRange, TimeRange as TimeRange$1, TimeSeriesAnnotation, TimeSeriesChartProps, TimeSeriesDef, TimeSeriesPoint } from "@reopt-ai/opt-charts";
@@ -491,6 +491,217 @@ declare namespace WorkflowCanvas {
491
491
  var displayName: string;
492
492
  }
493
493
  //#endregion
494
+ //#region src/shells/event-timeline.d.ts
495
+ /** Semantic colour of a timeline node. */
496
+ type EventTimelineTone = "default" | "accent" | "success" | "warning" | "danger";
497
+ /** One event on the timeline. */
498
+ interface EventTimelineItem {
499
+ id: string;
500
+ /** Event name — the headline of the row. */
501
+ name: ReactNode;
502
+ /** ISO timestamp. Drives the shown time and the gap from the previous row. */
503
+ timestamp: string;
504
+ /** Secondary line locating the event: a path, a target, an object id. */
505
+ detail?: ReactNode;
506
+ icon?: ReactNode;
507
+ tone?: EventTimelineTone;
508
+ /**
509
+ * Payload revealed when the row is expanded. Rendering it inline rather
510
+ * than in a separate panel is what lets someone read a sequence and its
511
+ * evidence without losing their place in the sequence.
512
+ */
513
+ properties?: Record<string, unknown>;
514
+ /** Replaces the default property table when the payload needs shaping. */
515
+ content?: ReactNode;
516
+ href?: string;
517
+ }
518
+ /** A run of events that belong together — typically one session. */
519
+ interface EventTimelineGroup {
520
+ id: string;
521
+ title: ReactNode;
522
+ /** Facts about the run: duration, event count, entry channel. */
523
+ meta?: ReactNode;
524
+ href?: string;
525
+ items: EventTimelineItem[];
526
+ /** Collapsed groups still show their header, so the shape stays readable. */
527
+ defaultOpen?: boolean;
528
+ }
529
+ /** Localized strings for the event timeline. */
530
+ interface EventTimelineLabels {
531
+ emptyTitle?: string;
532
+ emptyDescription?: string;
533
+ expand?: string;
534
+ collapse?: string;
535
+ loadMore?: string;
536
+ /** Gap between two adjacent events, e.g. "+2 minutes". */
537
+ gap?: (duration: string) => string;
538
+ /** Announced for a gap the reader cannot see, e.g. across a collapsed group. */
539
+ properties?: string;
540
+ openGroup?: (title: string) => string;
541
+ }
542
+ /** Props for the event timeline component. */
543
+ interface EventTimelineProps {
544
+ /** Flat list. Ignored when `groups` is given. */
545
+ items?: EventTimelineItem[];
546
+ /** Grouped list — the shape a user's history takes once it spans sessions. */
547
+ groups?: EventTimelineGroup[];
548
+ /**
549
+ * Show the elapsed time between adjacent events. This is the difference
550
+ * between a list of things that happened and a record of how someone moved:
551
+ * a four-minute pause before a checkout event is the finding.
552
+ */
553
+ showGaps?: boolean;
554
+ /** Reading direction of the supplied items. */
555
+ order?: "desc" | "asc";
556
+ /** Suppress gap labels below this many milliseconds. */
557
+ minGapMs?: number;
558
+ loading?: boolean;
559
+ hasMore?: boolean;
560
+ onLoadMore?: () => void;
561
+ onItemSelect?: (item: EventTimelineItem) => void;
562
+ locale?: string;
563
+ labels?: EventTimelineLabels;
564
+ className?: string;
565
+ }
566
+ /**
567
+ * EventTimeline — a sequence of events, read as a sequence.
568
+ *
569
+ * A table of events answers "what happened" and hides "how it went": the rows
570
+ * are evenly spaced no matter whether they were two seconds or two hours
571
+ * apart, and the payload that would explain a row lives in a column nobody
572
+ * widened. This renders the same data as an ordered rail, labels the elapsed
573
+ * time between adjacent events, and opens each payload in place. Grouping by
574
+ * session restores the boundary that makes a history legible.
575
+ *
576
+ * @example
577
+ * ```tsx
578
+ * <EventTimeline
579
+ * groups={sessions.map((session) => ({
580
+ * id: session.id,
581
+ * title: session.entryPath,
582
+ * meta: `${session.duration} · ${session.events} events`,
583
+ * items: session.events,
584
+ * }))}
585
+ * showGaps
586
+ * />
587
+ * ```
588
+ */
589
+ declare function EventTimeline({ items, groups, showGaps, order, minGapMs, loading, hasMore, onLoadMore, onItemSelect, locale, labels: customLabels, className }: EventTimelineProps): import("react").JSX.Element;
590
+ declare namespace EventTimeline {
591
+ var displayName: string;
592
+ }
593
+ //#endregion
594
+ //#region src/shells/score-breakdown.d.ts
595
+ /** One contributing dimension of a composite score. */
596
+ interface ScoreAxis {
597
+ id: string;
598
+ label: string;
599
+ /** Value on the same scale as the headline score. */
600
+ value: number;
601
+ /**
602
+ * What the axis measures. A composite score that cannot be taken apart is
603
+ * a number people learn to ignore; naming each axis is what makes a low
604
+ * one actionable.
605
+ */
606
+ hint?: string;
607
+ /** Share of the total this axis carries, 0–1. Rendered so the sum audits. */
608
+ weight?: number;
609
+ }
610
+ /** A named range of the score, used to colour and caption the headline. */
611
+ interface ScoreBand {
612
+ /** Lowest value in the band, inclusive. */
613
+ min: number;
614
+ label: string;
615
+ tone?: "default" | "success" | "warning" | "error";
616
+ }
617
+ /** Localized strings for the score breakdown. */
618
+ interface ScoreBreakdownLabels {
619
+ title?: string;
620
+ outOf?: (max: number) => string;
621
+ weight?: (percent: string) => string;
622
+ empty?: string;
623
+ }
624
+ /** Props for the score breakdown component. */
625
+ interface ScoreBreakdownProps {
626
+ score: number;
627
+ max?: number;
628
+ axes: ScoreAxis[];
629
+ bands?: ScoreBand[];
630
+ /** Sentence under the headline explaining how the score is derived. */
631
+ formula?: ReactNode;
632
+ loading?: boolean;
633
+ labels?: ScoreBreakdownLabels;
634
+ className?: string;
635
+ }
636
+ /**
637
+ * ScoreBreakdown — a composite score you can argue with.
638
+ *
639
+ * Engagement, health and risk scores all collapse several signals into one
640
+ * number, and the number alone tells nobody what to do about it. Showing the
641
+ * axes and their weights beside the headline turns "43" into "recent, but
642
+ * shallow", which is a finding rather than a verdict.
643
+ */
644
+ declare function ScoreBreakdown({ score, max, axes, bands, formula, loading, labels: customLabels, className }: ScoreBreakdownProps): import("react").JSX.Element;
645
+ declare namespace ScoreBreakdown {
646
+ var displayName: string;
647
+ }
648
+ //#endregion
649
+ //#region src/shells/flyout.d.ts
650
+ /** Localized strings for the flyout. */
651
+ interface FlyoutLabels {
652
+ close?: string;
653
+ }
654
+ /** Props for the flyout component. */
655
+ interface FlyoutProps {
656
+ open: boolean;
657
+ onClose: () => void;
658
+ title?: ReactNode;
659
+ /** One line under the title — what this panel is showing. */
660
+ description?: ReactNode;
661
+ /**
662
+ * `overlay` floats the panel over the page. `inline` renders a plain
663
+ * `<aside>` and leaves placement to the parent's layout, which is how a
664
+ * list keeps both itself and the preview visible on a wide screen.
665
+ */
666
+ type?: "overlay" | "inline";
667
+ side?: "right" | "left";
668
+ size?: "sm" | "md" | "lg";
669
+ /** Controls above the close button — "open full page", "next record". */
670
+ actions?: ReactNode;
671
+ footer?: ReactNode;
672
+ /** Dim the page behind an overlay panel. Off by default: the list stays readable. */
673
+ scrim?: boolean;
674
+ closeOnOutsideClick?: boolean;
675
+ hideCloseButton?: boolean;
676
+ labels?: FlyoutLabels;
677
+ className?: string;
678
+ children: ReactNode;
679
+ }
680
+ /**
681
+ * Flyout — a detail panel that does not take the page away.
682
+ *
683
+ * Navigating from a list to a record and back costs the reader their scroll
684
+ * position, their filters and their place in the scan. A flyout keeps the list
685
+ * on screen and shows the record beside it, so comparing three rows is three
686
+ * clicks rather than six navigations.
687
+ *
688
+ * Deliberately **not** a modal: no focus trap, no `aria-modal`, no inert page.
689
+ * The list behind it is still the point, and a reader who tabs out of the panel
690
+ * to change a filter is doing the expected thing. Escape closes; focus returns
691
+ * to whatever opened it.
692
+ *
693
+ * @example
694
+ * ```tsx
695
+ * <Flyout open={Boolean(selected)} onClose={clear} title={selected?.name}>
696
+ * <DescriptionList items={fields} />
697
+ * </Flyout>
698
+ * ```
699
+ */
700
+ declare function Flyout({ open, onClose, title, description, type, side, size, actions, footer, scrim, closeOnOutsideClick, hideCloseButton, labels: customLabels, className, children }: FlyoutProps): import("react").JSX.Element | null;
701
+ declare namespace Flyout {
702
+ var displayName: string;
703
+ }
704
+ //#endregion
494
705
  //#region src/shells/time-range-control.d.ts
495
706
  /** A named window offered in the quick-select list. */
496
707
  interface TimeRangePreset {
@@ -698,6 +909,18 @@ interface LogColumn<Row> {
698
909
  * same one lands on the same hue in every session.
699
910
  */
700
911
  marker?: boolean;
912
+ /**
913
+ * Cut the value somewhere other than the end.
914
+ *
915
+ * CSS can only drop the tail, which is the wrong end for a path or a URL
916
+ * whose rows differ in their last segment — `/e2e/smoke-a` and `/e2e/smoke-b`
917
+ * both truncate to `/e2e/smoke…`. Setting this measures the real text against
918
+ * the real column width and cuts where you say.
919
+ *
920
+ * It costs a resize observer and a canvas measurement per visible cell, so
921
+ * set it on the one or two columns that need it rather than on all of them.
922
+ */
923
+ truncate?: TruncationSide;
701
924
  }
702
925
  /** Where a column should move to. */
703
926
  type LogColumnMove = "left" | "right";
@@ -1054,5 +1277,5 @@ declare namespace FieldSidebar {
1054
1277
  var displayName: string;
1055
1278
  }
1056
1279
  //#endregion
1057
- export { FailureListProps as $, LogTable as A, SidebarNav as At, TimeRangeControlLabels as B, CommandPaletteTrigger as Bt, withFieldValue as C, SettingsFormProps as Ct, LogColumnPriority as D, ContentTabsProps as Dt, LogColumn as E, ContentTabs as Et, TimeSeriesPanelLabels as F, StatusSelectProps as Ft, WorkflowCanvasProps as G, TimeRangePreset as H, CommandPalette as Ht, TimeSeriesPanelProps as I, SearchCombobox as It, KeyValueEditorLabels as J, WorkflowCanvasStep as K, DEFAULT_TIME_PRESETS as L, SearchComboboxProps as Lt, LogTableLabels as M, AppMenubar as Mt, LogTableProps as N, AppMenubarProps as Nt, LogDensity as O, EditorToolbar as Ot, TimeSeriesPanel as P, StatusSelect as Pt, FailureListLabels as Q, RefreshSetting as R, DashboardGrid as Rt, removeClause as S, SettingsForm as St, LogCellAction as T, FaqAccordionProps as Tt, WorkflowCanvas as U, CommandPaletteProps as Ut, TimeRangeControlProps as V, CommandPaletteTriggerProps as Vt, WorkflowCanvasConnection as W, KeyValueEntry as X, KeyValueEditorProps as Y, FailureList as Z, addClause as _, EnvPanelProps as _t, FieldValueCount as a, ToastProviderProps as at, isEmptyQuery as b, DeploymentTimeline as bt, QueryBarProps as c, useToast as ct, Query as d, DataTableProps as dt, NotificationToast as et, QueryCellAction as f, DomainTable as ft, QueryTermClause as g, EnvPanel as gt, QueryOperator as h, BranchSelectProps as ht, FieldSummary as i, ToastProvider as it, LogTableHandle as j, SidebarNavProps as jt, LogSort as k, EditorToolbarProps as kt, QueryField as l, ColumnDef as lt, QueryFieldClause as m, BranchSelect as mt, FieldSidebarLabels as n, ToastContextValue as nt, QueryBar as o, ToastVariant as ot, QueryClause as p, DomainTableProps as pt, KeyValueEditor as q, FieldSidebarProps as r, ToastMessage as rt, QueryBarLabels as s, toast as st, FieldSidebar as t, ToastAction as tt, EMPTY_QUERY as u, DataTable as ut, applyCellAction as v, ProjectSwitcher as vt, withoutField as w, FaqAccordion as wt, queryFields as x, DeploymentTimelineProps as xt, fieldValues as y, ProjectSwitcherProps as yt, TimeRangeControl as z, DashboardGridProps as zt };
1058
- //# sourceMappingURL=field-sidebar-B5vk3luQ.d.cts.map
1280
+ export { EventTimelineItem as $, DashboardGridProps as $t, LogTable as A, EnvPanel as At, TimeRangeControlLabels as B, ContentTabs as Bt, withFieldValue as C, ColumnDef as Ct, LogColumnPriority as D, DomainTableProps as Dt, LogColumn as E, DomainTable as Et, TimeSeriesPanelLabels as F, DeploymentTimelineProps as Ft, FlyoutProps as G, SidebarNavProps as Gt, TimeRangePreset as H, EditorToolbar as Ht, TimeSeriesPanelProps as I, SettingsForm as It, ScoreBreakdown as J, StatusSelect as Jt, ScoreAxis as K, AppMenubar as Kt, DEFAULT_TIME_PRESETS as L, SettingsFormProps as Lt, LogTableLabels as M, ProjectSwitcher as Mt, LogTableProps as N, ProjectSwitcherProps as Nt, LogDensity as O, BranchSelect as Ot, TimeSeriesPanel as P, DeploymentTimeline as Pt, EventTimelineGroup as Q, DashboardGrid as Qt, RefreshSetting as R, FaqAccordion as Rt, removeClause as S, useToast as St, LogCellAction as T, DataTableProps as Tt, Flyout as U, EditorToolbarProps as Ut, TimeRangeControlProps as V, ContentTabsProps as Vt, FlyoutLabels as W, SidebarNav as Wt, ScoreBreakdownProps as X, SearchCombobox as Xt, ScoreBreakdownLabels as Y, StatusSelectProps as Yt, EventTimeline as Z, SearchComboboxProps as Zt, addClause as _, ToastMessage as _t, FieldValueCount as a, WorkflowCanvasProps as at, isEmptyQuery as b, ToastVariant as bt, QueryBarProps as c, KeyValueEditorLabels as ct, Query as d, FailureList as dt, CommandPaletteTrigger as en, EventTimelineLabels as et, QueryCellAction as f, FailureListLabels as ft, QueryTermClause as g, ToastContextValue as gt, QueryOperator as h, ToastAction as ht, FieldSummary as i, WorkflowCanvasConnection as it, LogTableHandle as j, EnvPanelProps as jt, LogSort as k, BranchSelectProps as kt, QueryField as l, KeyValueEditorProps as lt, QueryFieldClause as m, NotificationToast as mt, FieldSidebarLabels as n, CommandPalette as nn, EventTimelineTone as nt, QueryBar as o, WorkflowCanvasStep as ot, QueryClause as p, FailureListProps as pt, ScoreBand as q, AppMenubarProps as qt, FieldSidebarProps as r, CommandPaletteProps as rn, WorkflowCanvas as rt, QueryBarLabels as s, KeyValueEditor as st, FieldSidebar as t, CommandPaletteTriggerProps as tn, EventTimelineProps as tt, EMPTY_QUERY as u, KeyValueEntry as ut, applyCellAction as v, ToastProvider as vt, withoutField as w, DataTable as wt, queryFields as x, toast as xt, fieldValues as y, ToastProviderProps as yt, TimeRangeControl as z, FaqAccordionProps as zt };
1281
+ //# sourceMappingURL=field-sidebar-B5SQC35J.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-sidebar-B5SQC35J.d.cts","names":[],"sources":["../src/shells/command-palette.tsx","../src/shells/command-palette-trigger.tsx","../src/shells/dashboard-grid.tsx","../src/shells/search-combobox.tsx","../src/shells/status-select.tsx","../src/shells/app-menubar.tsx","../src/shells/sidebar-nav.tsx","../src/shells/editor-toolbar.tsx","../src/shells/content-tabs.tsx","../src/shells/faq-accordion.tsx","../src/shells/settings-form.tsx","../src/shells/deployment-timeline.tsx","../src/shells/project-switcher.tsx","../src/shells/env-panel.tsx","../src/shells/branch-select.tsx","../src/shells/domain-table.tsx","../src/shells/data-table.tsx","../src/shells/notification-toast.tsx","../src/shells/failure-list.tsx","../src/shells/key-value-editor.tsx","../src/shells/workflow-canvas.tsx","../src/shells/event-timeline.tsx","../src/shells/score-breakdown.tsx","../src/shells/flyout.tsx","../src/shells/time-range-control.tsx","../src/shells/time-series-panel.tsx","../src/shells/log-table.tsx","../src/lib/query/query-ast.ts","../src/shells/query-bar.tsx","../src/shells/field-sidebar.tsx"],"mappings":"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"}