@go-go-golems/rag-evaluation-site 0.1.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 (154) hide show
  1. package/README.md +80 -0
  2. package/app/App.d.ts +8 -0
  3. package/app/index.d.ts +2 -0
  4. package/app/index.js +149 -0
  5. package/components/atoms/AnnotationBadge/AnnotationBadge.d.ts +9 -0
  6. package/components/atoms/AnnotationBadge/index.d.ts +2 -0
  7. package/components/atoms/Button/Button.d.ts +11 -0
  8. package/components/atoms/Button/index.d.ts +2 -0
  9. package/components/atoms/CheckboxRow/CheckboxRow.d.ts +8 -0
  10. package/components/atoms/CheckboxRow/index.d.ts +2 -0
  11. package/components/atoms/ContextKindSwatch/ContextKindSwatch.d.ts +11 -0
  12. package/components/atoms/ContextKindSwatch/index.d.ts +2 -0
  13. package/components/atoms/ContextStudioNavIcon/ContextStudioNavIcon.d.ts +8 -0
  14. package/components/atoms/ContextStudioNavIcon/index.d.ts +2 -0
  15. package/components/atoms/ErrorCallout/ErrorCallout.d.ts +6 -0
  16. package/components/atoms/ErrorCallout/index.d.ts +2 -0
  17. package/components/atoms/IconButton/IconButton.d.ts +9 -0
  18. package/components/atoms/IconButton/index.d.ts +2 -0
  19. package/components/atoms/SelectInput/SelectInput.d.ts +5 -0
  20. package/components/atoms/SelectInput/index.d.ts +2 -0
  21. package/components/atoms/TextInput/TextInput.d.ts +5 -0
  22. package/components/atoms/TextInput/index.d.ts +2 -0
  23. package/components/atoms/TranscriptRoleBadge/TranscriptRoleBadge.d.ts +8 -0
  24. package/components/atoms/TranscriptRoleBadge/index.d.ts +2 -0
  25. package/components/atoms/UploadGlyph/UploadGlyph.d.ts +6 -0
  26. package/components/atoms/UploadGlyph/index.d.ts +2 -0
  27. package/components/atoms/index.d.ts +12 -0
  28. package/components/foundation/Caption/Caption.d.ts +11 -0
  29. package/components/foundation/Caption/index.d.ts +2 -0
  30. package/components/foundation/CodeText/CodeText.d.ts +10 -0
  31. package/components/foundation/CodeText/index.d.ts +2 -0
  32. package/components/foundation/Divider/Divider.d.ts +6 -0
  33. package/components/foundation/Divider/index.d.ts +2 -0
  34. package/components/foundation/StatusText/StatusText.d.ts +9 -0
  35. package/components/foundation/StatusText/index.d.ts +2 -0
  36. package/components/foundation/Text/Text.d.ts +297 -0
  37. package/components/foundation/Text/index.d.ts +2 -0
  38. package/components/foundation/VisuallyHidden/VisuallyHidden.d.ts +6 -0
  39. package/components/foundation/VisuallyHidden/index.d.ts +2 -0
  40. package/components/foundation/index.d.ts +7 -0
  41. package/components/index.d.ts +6 -0
  42. package/components/layout/AppShell/AppShell.d.ts +8 -0
  43. package/components/layout/AppShell/index.d.ts +2 -0
  44. package/components/layout/DashboardGrid/DashboardGrid.d.ts +8 -0
  45. package/components/layout/DashboardGrid/index.d.ts +2 -0
  46. package/components/layout/FormRow/FormRow.d.ts +8 -0
  47. package/components/layout/FormRow/index.d.ts +2 -0
  48. package/components/layout/Inline/Inline.d.ts +11 -0
  49. package/components/layout/Inline/index.d.ts +2 -0
  50. package/components/layout/Panel/Panel.d.ts +10 -0
  51. package/components/layout/Panel/index.d.ts +2 -0
  52. package/components/layout/ScrollRegion/ScrollRegion.d.ts +7 -0
  53. package/components/layout/ScrollRegion/index.d.ts +2 -0
  54. package/components/layout/SectionBlock/SectionBlock.d.ts +11 -0
  55. package/components/layout/SectionBlock/index.d.ts +2 -0
  56. package/components/layout/SidebarShell/SidebarShell.d.ts +11 -0
  57. package/components/layout/SidebarShell/index.d.ts +2 -0
  58. package/components/layout/SlideShell/SlideShell.d.ts +16 -0
  59. package/components/layout/SlideShell/index.d.ts +2 -0
  60. package/components/layout/SplitPane/SplitPane.d.ts +10 -0
  61. package/components/layout/SplitPane/index.d.ts +2 -0
  62. package/components/layout/Stack/Stack.d.ts +10 -0
  63. package/components/layout/Stack/index.d.ts +2 -0
  64. package/components/layout/TabList/TabList.d.ts +13 -0
  65. package/components/layout/TabList/index.d.ts +2 -0
  66. package/components/layout/index.d.ts +13 -0
  67. package/components/molecules/AnchoredCommentCard/AnchoredCommentCard.d.ts +11 -0
  68. package/components/molecules/AnchoredCommentCard/index.d.ts +2 -0
  69. package/components/molecules/AnnotationNoteCard/AnnotationNoteCard.d.ts +9 -0
  70. package/components/molecules/AnnotationNoteCard/index.d.ts +2 -0
  71. package/components/molecules/AppNav/AppNav.d.ts +13 -0
  72. package/components/molecules/AppNav/index.d.ts +2 -0
  73. package/components/molecules/CheckList/CheckList.d.ts +11 -0
  74. package/components/molecules/CheckList/index.d.ts +2 -0
  75. package/components/molecules/ContextBudgetBar/ContextBudgetBar.d.ts +10 -0
  76. package/components/molecules/ContextBudgetBar/index.d.ts +2 -0
  77. package/components/molecules/ContextLegend/ContextLegend.d.ts +10 -0
  78. package/components/molecules/ContextLegend/index.d.ts +2 -0
  79. package/components/molecules/ContextStackDiagram/ContextStackDiagram.d.ts +8 -0
  80. package/components/molecules/ContextStackDiagram/index.d.ts +2 -0
  81. package/components/molecules/ContextStripDiagram/ContextStripDiagram.d.ts +10 -0
  82. package/components/molecules/ContextStripDiagram/index.d.ts +2 -0
  83. package/components/molecules/ContextTreemap/ContextTreemap.d.ts +8 -0
  84. package/components/molecules/ContextTreemap/index.d.ts +2 -0
  85. package/components/molecules/CourseStepNav/CourseStepNav.d.ts +9 -0
  86. package/components/molecules/CourseStepNav/index.d.ts +2 -0
  87. package/components/molecules/DataTable/DataTable.d.ts +19 -0
  88. package/components/molecules/DataTable/index.d.ts +2 -0
  89. package/components/molecules/DocumentListPanel/DocumentListPanel.d.ts +23 -0
  90. package/components/molecules/DocumentListPanel/index.d.ts +2 -0
  91. package/components/molecules/DocumentPreviewToolbar/DocumentPreviewToolbar.d.ts +11 -0
  92. package/components/molecules/DocumentPreviewToolbar/index.d.ts +2 -0
  93. package/components/molecules/FigureBlock/FigureBlock.d.ts +10 -0
  94. package/components/molecules/FigureBlock/index.d.ts +2 -0
  95. package/components/molecules/FileDropZone/FileDropZone.d.ts +14 -0
  96. package/components/molecules/FileDropZone/index.d.ts +2 -0
  97. package/components/molecules/KeyPointList/KeyPointList.d.ts +14 -0
  98. package/components/molecules/KeyPointList/index.d.ts +2 -0
  99. package/components/molecules/KeyValueStrip/KeyValueStrip.d.ts +10 -0
  100. package/components/molecules/KeyValueStrip/index.d.ts +2 -0
  101. package/components/molecules/MarkdownArticle/MarkdownArticle.d.ts +6 -0
  102. package/components/molecules/MarkdownArticle/index.d.ts +2 -0
  103. package/components/molecules/MetadataGrid/MetadataGrid.d.ts +14 -0
  104. package/components/molecules/MetadataGrid/index.d.ts +2 -0
  105. package/components/molecules/PersonSummary/PersonSummary.d.ts +9 -0
  106. package/components/molecules/PersonSummary/index.d.ts +2 -0
  107. package/components/molecules/SidebarNav/SidebarNav.d.ts +21 -0
  108. package/components/molecules/SidebarNav/index.d.ts +2 -0
  109. package/components/molecules/StepList/StepList.d.ts +15 -0
  110. package/components/molecules/StepList/index.d.ts +2 -0
  111. package/components/molecules/TranscriptMessageCard/TranscriptMessageCard.d.ts +11 -0
  112. package/components/molecules/TranscriptMessageCard/index.d.ts +2 -0
  113. package/components/molecules/TranscriptSessionHeader/TranscriptSessionHeader.d.ts +11 -0
  114. package/components/molecules/TranscriptSessionHeader/index.d.ts +2 -0
  115. package/components/molecules/index.d.ts +25 -0
  116. package/components/organisms/AnchoredCommentRail/AnchoredCommentRail.d.ts +10 -0
  117. package/components/organisms/AnchoredCommentRail/index.d.ts +2 -0
  118. package/components/organisms/AnnotationRailPanel/AnnotationRailPanel.d.ts +11 -0
  119. package/components/organisms/AnnotationRailPanel/index.d.ts +2 -0
  120. package/components/organisms/ContextDiagramPanel/ContextDiagramPanel.d.ts +9 -0
  121. package/components/organisms/ContextDiagramPanel/index.d.ts +2 -0
  122. package/components/organisms/ContextUploadDropArea/ContextUploadDropArea.d.ts +11 -0
  123. package/components/organisms/ContextUploadDropArea/index.d.ts +2 -0
  124. package/components/organisms/CourseLessonPanel/CourseLessonPanel.d.ts +9 -0
  125. package/components/organisms/CourseLessonPanel/index.d.ts +2 -0
  126. package/components/organisms/CourseSlidePanel/CourseSlidePanel.d.ts +13 -0
  127. package/components/organisms/CourseSlidePanel/index.d.ts +2 -0
  128. package/components/organisms/CourseStudioShell/CourseStudioShell.d.ts +13 -0
  129. package/components/organisms/CourseStudioShell/courseStudioNav.d.ts +3 -0
  130. package/components/organisms/CourseStudioShell/index.d.ts +3 -0
  131. package/components/organisms/HandoutDocumentShell/HandoutDocumentShell.d.ts +14 -0
  132. package/components/organisms/HandoutDocumentShell/index.d.ts +2 -0
  133. package/components/organisms/TranscriptReaderPanel/TranscriptReaderPanel.d.ts +13 -0
  134. package/components/organisms/TranscriptReaderPanel/index.d.ts +2 -0
  135. package/components/organisms/TranscriptWorkspacePanel/TranscriptWorkspacePanel.d.ts +13 -0
  136. package/components/organisms/TranscriptWorkspacePanel/index.d.ts +2 -0
  137. package/components/organisms/index.d.ts +11 -0
  138. package/context/fixtures.d.ts +13 -0
  139. package/context/index.d.ts +4 -0
  140. package/context/kinds.d.ts +22 -0
  141. package/context/types.d.ts +124 -0
  142. package/hooks/useWidgetPage.d.ts +19 -0
  143. package/index.d.ts +6 -0
  144. package/index.js +375 -0
  145. package/ir.js +32 -0
  146. package/package.json +58 -0
  147. package/styles.css +2 -0
  148. package/theme.css +53 -0
  149. package/useWidgetPage-B8iwybER.js +4419 -0
  150. package/widgets/WidgetRenderer.d.ts +8 -0
  151. package/widgets/actions.d.ts +19 -0
  152. package/widgets/cellRenderers.d.ts +11 -0
  153. package/widgets/index.d.ts +5 -0
  154. package/widgets/ir.d.ts +507 -0
@@ -0,0 +1,8 @@
1
+ import type { WidgetNode } from './ir';
2
+ import { type WidgetActionHandler } from './actions';
3
+ export interface WidgetRendererProps {
4
+ node: WidgetNode;
5
+ onAction?: WidgetActionHandler;
6
+ }
7
+ export declare function WidgetRenderer({ node, onAction }: WidgetRendererProps): import("react").JSX.Element;
8
+ //# sourceMappingURL=WidgetRenderer.d.ts.map
@@ -0,0 +1,19 @@
1
+ import type { ActionSpec, JsonObject } from './ir';
2
+ export interface WidgetActionContext {
3
+ row?: JsonObject;
4
+ rowKey?: string;
5
+ value?: string | number | boolean | null;
6
+ componentType?: string;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface ServerActionResult {
10
+ ok: boolean;
11
+ refresh?: boolean;
12
+ toast?: string;
13
+ patch?: JsonObject;
14
+ data?: JsonObject;
15
+ }
16
+ export type WidgetActionHandler = (action: ActionSpec, context: WidgetActionContext) => void | Promise<void>;
17
+ export declare function dispatchWidgetAction(action: ActionSpec, context?: WidgetActionContext, onAction?: WidgetActionHandler): void;
18
+ export declare function bindAction(action: ActionSpec | undefined, context: WidgetActionContext, onAction?: WidgetActionHandler): (() => void) | undefined;
19
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { CellSpec, JsonObject, RenderableValue, WidgetNode } from './ir';
3
+ export type RenderWidgetNode = (node: WidgetNode) => ReactNode;
4
+ export declare function renderCell(spec: CellSpec, row: JsonObject, renderWidgetNode: RenderWidgetNode): ReactNode;
5
+ export declare function renderRenderable(value: RenderableValue | undefined, renderWidgetNode: RenderWidgetNode): ReactNode;
6
+ export declare function rowKey(row: JsonObject, spec: string | {
7
+ field: string;
8
+ } | {
9
+ template: string;
10
+ }): string;
11
+ //# sourceMappingURL=cellRenderers.d.ts.map
@@ -0,0 +1,5 @@
1
+ export * from './actions';
2
+ export * from './cellRenderers';
3
+ export * from './ir';
4
+ export * from './WidgetRenderer';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,507 @@
1
+ import type { CaptionTone, CaptionTransform, RagStatus, TextAlign, TextAs, TextSize, TextTone, TextWeight } from '../components/foundation';
2
+ import type { ButtonSize, ButtonVariant, ContextKindSwatchSize } from '../components/atoms';
3
+ import type { DashboardGridRecipe, InlineGap, InlineJustify, StackAlign, StackGap } from '../components/layout';
4
+ import type { AnchoredComment, ContextCourse, ContextCourseAgendaItem, ContextDiagramStyle, ContextDiagramView, ContextHandoutDocument, ContextSlide, ContextPartKind, ContextWindowSnapshot, TranscriptAnnotation, TranscriptMessage, TranscriptRole } from '../context';
5
+ export type JsonPrimitive = string | number | boolean | null;
6
+ export type JsonValue = JsonPrimitive | JsonValue[] | {
7
+ [key: string]: JsonValue;
8
+ };
9
+ export type JsonObject = {
10
+ [key: string]: JsonValue;
11
+ };
12
+ export type WidgetNode = TextNode | ElementNode | ComponentNode;
13
+ export interface TextNode {
14
+ kind: 'text';
15
+ text: string;
16
+ }
17
+ export interface ElementNode {
18
+ kind: 'element';
19
+ tag: string;
20
+ attrs?: JsonObject;
21
+ children?: WidgetNode[];
22
+ }
23
+ export type RagWidgetType = 'AppShell' | 'AppNav' | 'Button' | 'Caption' | 'CodeText' | 'ContextKindSwatch' | 'AnnotationBadge' | 'ContextLegend' | 'ContextBudgetBar' | 'ContextStripDiagram' | 'ContextStackDiagram' | 'ContextTreemap' | 'ContextDiagramPanel' | 'DashboardGrid' | 'DataTable' | 'Divider' | 'FormRow' | 'Inline' | 'MetadataGrid' | 'Panel' | 'ScrollRegion' | 'SectionBlock' | 'SelectInput' | 'SidebarShell' | 'SlideShell' | 'SplitPane' | 'Stack' | 'StatusText' | 'TabList' | 'Text' | 'TextInput' | 'TranscriptRoleBadge' | 'TranscriptSessionHeader' | 'TranscriptMessageCard' | 'AnnotationNoteCard' | 'AnnotationRailPanel' | 'TranscriptReaderPanel' | 'TranscriptWorkspacePanel' | 'AnchoredCommentCard' | 'AnchoredCommentRail' | 'KeyValueStrip' | 'CheckList' | 'StepList' | 'PersonSummary' | 'FigureBlock' | 'KeyPointList' | 'SidebarNav' | 'CourseStepNav' | 'MarkdownArticle' | 'DocumentListPanel' | 'DocumentPreviewToolbar' | 'CourseLessonPanel' | 'CourseSlidePanel' | 'CourseStudioShell' | 'HandoutDocumentShell';
24
+ export interface ComponentNode {
25
+ kind: 'component';
26
+ type: RagWidgetType | string;
27
+ props?: WidgetProps;
28
+ children?: WidgetNode[];
29
+ }
30
+ export type RenderableValue = WidgetNode | string | number | boolean | null;
31
+ export type ActionSpec = NavigateActionSpec | ServerActionSpec | EventActionSpec | CopyActionSpec;
32
+ export interface NavigateActionSpec {
33
+ kind: 'navigate';
34
+ to: string;
35
+ params?: JsonObject;
36
+ }
37
+ export interface ServerActionSpec {
38
+ kind: 'server';
39
+ name: string;
40
+ payload?: JsonObject;
41
+ }
42
+ export interface EventActionSpec {
43
+ kind: 'event';
44
+ event: string;
45
+ detail?: JsonObject;
46
+ }
47
+ export interface CopyActionSpec {
48
+ kind: 'copy';
49
+ value?: string;
50
+ field?: string;
51
+ }
52
+ export interface BaseWidgetProps {
53
+ className?: string;
54
+ style?: JsonObject;
55
+ id?: string;
56
+ action?: ActionSpec;
57
+ [key: string]: unknown;
58
+ }
59
+ export interface AppShellWidgetProps extends BaseWidgetProps {
60
+ header?: WidgetNode;
61
+ sidebar?: WidgetNode;
62
+ }
63
+ export interface AppNavWidgetProps extends BaseWidgetProps {
64
+ brand: RenderableValue;
65
+ items: AppNavItemSpec[];
66
+ activeItemId: string;
67
+ }
68
+ export interface AppNavItemSpec {
69
+ id: string;
70
+ label: RenderableValue;
71
+ action?: ActionSpec;
72
+ }
73
+ export interface ButtonWidgetProps extends BaseWidgetProps {
74
+ variant?: ButtonVariant;
75
+ size?: ButtonSize;
76
+ selected?: boolean;
77
+ disabled?: boolean;
78
+ type?: 'button' | 'submit' | 'reset';
79
+ }
80
+ export interface TextWidgetProps extends BaseWidgetProps {
81
+ as?: TextAs;
82
+ size?: TextSize;
83
+ tone?: TextTone;
84
+ weight?: TextWeight;
85
+ align?: TextAlign;
86
+ truncate?: boolean;
87
+ }
88
+ export interface CodeTextWidgetProps extends BaseWidgetProps {
89
+ as?: 'code' | 'span' | 'div';
90
+ tone?: 'primary' | 'muted' | 'accent';
91
+ display?: 'inline' | 'block';
92
+ copyable?: boolean;
93
+ }
94
+ export interface DividerWidgetProps extends BaseWidgetProps {
95
+ orientation?: 'horizontal' | 'vertical';
96
+ }
97
+ export interface ContextKindSwatchWidgetProps extends BaseWidgetProps {
98
+ kind: ContextPartKind;
99
+ mode?: ContextDiagramStyle;
100
+ size?: ContextKindSwatchSize;
101
+ selected?: boolean;
102
+ }
103
+ export interface AnnotationBadgeWidgetProps extends BaseWidgetProps {
104
+ kind: ContextPartKind;
105
+ label: string;
106
+ selected?: boolean;
107
+ }
108
+ export interface TranscriptRoleBadgeWidgetProps extends BaseWidgetProps {
109
+ role: TranscriptRole;
110
+ name?: string;
111
+ }
112
+ export interface ContextLegendWidgetProps extends BaseWidgetProps {
113
+ kinds?: ContextPartKind[];
114
+ mode?: ContextDiagramStyle;
115
+ compact?: boolean;
116
+ selectedKind?: ContextPartKind;
117
+ }
118
+ export interface ContextBudgetBarWidgetProps extends BaseWidgetProps {
119
+ snapshot: ContextWindowSnapshot;
120
+ mode?: ContextDiagramStyle;
121
+ showLegend?: boolean;
122
+ selectedPartId?: string;
123
+ }
124
+ export interface ContextStripDiagramWidgetProps extends BaseWidgetProps {
125
+ snapshot: ContextWindowSnapshot;
126
+ mode?: ContextDiagramStyle;
127
+ selectedPartId?: string;
128
+ showLabels?: boolean;
129
+ }
130
+ export interface ContextStackDiagramWidgetProps extends BaseWidgetProps {
131
+ snapshot: ContextWindowSnapshot;
132
+ selectedPartId?: string;
133
+ }
134
+ export interface ContextTreemapWidgetProps extends BaseWidgetProps {
135
+ snapshot: ContextWindowSnapshot;
136
+ selectedPartId?: string;
137
+ }
138
+ export interface ContextDiagramPanelWidgetProps extends BaseWidgetProps {
139
+ snapshot: ContextWindowSnapshot;
140
+ initialView?: ContextDiagramView;
141
+ selectedPartId?: string;
142
+ }
143
+ export interface TranscriptSessionHeaderWidgetProps extends BaseWidgetProps {
144
+ title: RenderableValue;
145
+ subtitle?: RenderableValue;
146
+ messageCount?: number;
147
+ annotationCount?: number;
148
+ tokenTotal?: number;
149
+ rightSlot?: WidgetNode;
150
+ }
151
+ export interface TranscriptMessageCardWidgetProps extends BaseWidgetProps {
152
+ message: TranscriptMessage;
153
+ annotations?: TranscriptAnnotation[];
154
+ selectedAnnotationId?: string;
155
+ showAnnotationChips?: boolean;
156
+ onAnnotationSelectAction?: ActionSpec;
157
+ }
158
+ export interface AnnotationNoteCardWidgetProps extends BaseWidgetProps {
159
+ annotation: TranscriptAnnotation;
160
+ selected?: boolean;
161
+ index?: number;
162
+ }
163
+ export interface AnnotationRailPanelWidgetProps extends BaseWidgetProps {
164
+ title?: string;
165
+ description?: string;
166
+ annotations: TranscriptAnnotation[];
167
+ selectedAnnotationId?: string;
168
+ onAnnotationSelectAction?: ActionSpec;
169
+ }
170
+ export interface TranscriptReaderPanelWidgetProps extends BaseWidgetProps {
171
+ title?: string;
172
+ subtitle?: string;
173
+ messages: TranscriptMessage[];
174
+ annotations?: TranscriptAnnotation[];
175
+ selectedAnnotationId?: string;
176
+ showAnnotationChips?: boolean;
177
+ onAnnotationSelectAction?: ActionSpec;
178
+ }
179
+ export interface TranscriptWorkspacePanelWidgetProps extends BaseWidgetProps {
180
+ title?: string;
181
+ subtitle?: string;
182
+ messages: TranscriptMessage[];
183
+ annotations?: TranscriptAnnotation[];
184
+ selectedAnnotationId?: string;
185
+ showNotes?: boolean;
186
+ onAnnotationSelectAction?: ActionSpec;
187
+ }
188
+ export interface AnchoredCommentCardWidgetProps extends BaseWidgetProps {
189
+ comment: AnchoredComment;
190
+ index?: number;
191
+ selected?: boolean;
192
+ compact?: boolean;
193
+ onDismissAction?: ActionSpec;
194
+ }
195
+ export interface AnchoredCommentRailWidgetProps extends BaseWidgetProps {
196
+ title?: string;
197
+ comments: AnchoredComment[];
198
+ selectedCommentId?: string;
199
+ onCommentSelectAction?: ActionSpec;
200
+ }
201
+ export interface KeyValueStripWidgetProps extends BaseWidgetProps {
202
+ items: Array<{
203
+ key: RenderableValue;
204
+ value: RenderableValue;
205
+ }>;
206
+ }
207
+ export interface CheckListWidgetProps extends BaseWidgetProps {
208
+ items: Array<{
209
+ id?: string;
210
+ text: RenderableValue;
211
+ } | RenderableValue>;
212
+ marker?: RenderableValue;
213
+ }
214
+ export interface StepListWidgetProps extends BaseWidgetProps {
215
+ items: Array<{
216
+ id: string;
217
+ index: RenderableValue;
218
+ title: RenderableValue;
219
+ description?: RenderableValue;
220
+ meta?: RenderableValue;
221
+ }>;
222
+ activeItemId?: string;
223
+ onItemSelectAction?: ActionSpec;
224
+ }
225
+ export interface PersonSummaryWidgetProps extends BaseWidgetProps {
226
+ name: RenderableValue;
227
+ subtitle?: RenderableValue;
228
+ bio?: RenderableValue;
229
+ avatar?: RenderableValue;
230
+ }
231
+ export interface FigureBlockWidgetProps extends BaseWidgetProps {
232
+ as?: 'figure' | 'div';
233
+ caption?: RenderableValue;
234
+ legend?: WidgetNode;
235
+ frame?: 'none' | 'bordered' | 'inset';
236
+ }
237
+ export interface KeyPointListWidgetProps extends BaseWidgetProps {
238
+ items: Array<{
239
+ id?: string;
240
+ index?: RenderableValue;
241
+ title?: RenderableValue;
242
+ text: RenderableValue;
243
+ meta?: RenderableValue;
244
+ } | RenderableValue>;
245
+ markerTone?: 'accent' | 'muted';
246
+ }
247
+ export interface SidebarNavItemWidgetSpec {
248
+ id: string;
249
+ label: RenderableValue;
250
+ icon?: RenderableValue;
251
+ badge?: RenderableValue;
252
+ disabled?: boolean;
253
+ }
254
+ export interface SidebarNavSectionWidgetSpec {
255
+ id: string;
256
+ label: RenderableValue;
257
+ items: SidebarNavItemWidgetSpec[];
258
+ }
259
+ export interface SidebarNavWidgetProps extends BaseWidgetProps {
260
+ sections: SidebarNavSectionWidgetSpec[];
261
+ activeItemId?: string;
262
+ onItemSelectAction?: ActionSpec;
263
+ ariaLabel?: string;
264
+ }
265
+ export interface CourseStepNavWidgetProps extends BaseWidgetProps {
266
+ items: ContextCourseAgendaItem[];
267
+ activeItemId?: string;
268
+ onItemSelectAction?: ActionSpec;
269
+ }
270
+ export interface MarkdownArticleWidgetProps extends BaseWidgetProps {
271
+ source: string;
272
+ }
273
+ export interface DocumentListItemWidgetSpec {
274
+ id: string;
275
+ title: RenderableValue;
276
+ format?: RenderableValue;
277
+ size?: RenderableValue;
278
+ description?: RenderableValue;
279
+ icon?: RenderableValue;
280
+ disabled?: boolean;
281
+ }
282
+ export interface DocumentListPanelWidgetProps extends BaseWidgetProps {
283
+ title: RenderableValue;
284
+ description?: RenderableValue;
285
+ items: DocumentListItemWidgetSpec[];
286
+ selectedItemId?: string;
287
+ onItemSelectAction?: ActionSpec;
288
+ onDownloadAllAction?: ActionSpec;
289
+ downloadAllLabel?: RenderableValue;
290
+ emptyMessage?: RenderableValue;
291
+ showItemDescriptions?: boolean;
292
+ }
293
+ export interface DocumentPreviewToolbarWidgetProps extends BaseWidgetProps {
294
+ file: RenderableValue;
295
+ format?: RenderableValue;
296
+ size?: RenderableValue;
297
+ onDownloadAction?: ActionSpec;
298
+ downloadLabel?: RenderableValue;
299
+ rightSlot?: WidgetNode;
300
+ }
301
+ export interface CourseLessonPanelWidgetProps extends BaseWidgetProps {
302
+ course: ContextCourse;
303
+ activeAgendaItemId?: string;
304
+ onAgendaItemSelectAction?: ActionSpec;
305
+ }
306
+ export interface CourseSlidePanelWidgetProps extends BaseWidgetProps {
307
+ slide: ContextSlide;
308
+ snapshot: ContextWindowSnapshot;
309
+ index?: number;
310
+ total?: number;
311
+ visualSide?: 'left' | 'right';
312
+ onPreviousAction?: ActionSpec;
313
+ onNextAction?: ActionSpec;
314
+ }
315
+ export interface CourseStudioShellWidgetProps extends BaseWidgetProps {
316
+ sections: SidebarNavSectionWidgetSpec[];
317
+ activeItemId?: string;
318
+ onNavigateAction?: ActionSpec;
319
+ title?: RenderableValue;
320
+ subtitle?: RenderableValue;
321
+ sidebarFooter?: WidgetNode;
322
+ }
323
+ export interface HandoutDocumentShellWidgetProps extends BaseWidgetProps {
324
+ intro: RenderableValue;
325
+ documents: ContextHandoutDocument[];
326
+ selectedDocumentId?: string;
327
+ onDocumentSelectAction?: ActionSpec;
328
+ onDownloadAction?: ActionSpec;
329
+ onDownloadAllAction?: ActionSpec;
330
+ title?: RenderableValue;
331
+ emptyMessage?: RenderableValue;
332
+ }
333
+ export interface CaptionWidgetProps extends BaseWidgetProps {
334
+ tone?: CaptionTone;
335
+ transform?: CaptionTransform;
336
+ truncate?: boolean;
337
+ }
338
+ export interface DashboardGridWidgetProps extends BaseWidgetProps {
339
+ recipe?: DashboardGridRecipe;
340
+ }
341
+ export interface DataTableWidgetProps extends BaseWidgetProps {
342
+ columns: DataTableColumnSpec[];
343
+ rows: JsonObject[];
344
+ getRowKey: RowKeySpec;
345
+ selectedKey?: string | null;
346
+ onRowSelect?: ActionSpec;
347
+ emptyMessage?: RenderableValue;
348
+ }
349
+ export interface DataTableColumnSpec {
350
+ id: string;
351
+ header: RenderableValue;
352
+ cell: CellSpec;
353
+ align?: 'start' | 'end' | 'center';
354
+ maxWidth?: number | string;
355
+ }
356
+ export type RowKeySpec = string | {
357
+ field: string;
358
+ } | {
359
+ template: string;
360
+ };
361
+ export type CellSpec = FieldCellSpec | NumberCellSpec | StatusCellSpec | CaptionCellSpec | TemplateCellSpec | LinkCellSpec | ConstantCellSpec;
362
+ export interface FieldCellSpec {
363
+ kind: 'field';
364
+ field: string;
365
+ fallback?: string;
366
+ }
367
+ export interface NumberCellSpec {
368
+ kind: 'number';
369
+ field: string;
370
+ format?: 'integer' | 'fixed';
371
+ digits?: number;
372
+ fallback?: string;
373
+ }
374
+ export interface StatusCellSpec {
375
+ kind: 'status';
376
+ field: string;
377
+ icon?: boolean;
378
+ fallback?: RagStatus | string;
379
+ }
380
+ export interface CaptionCellSpec {
381
+ kind: 'caption';
382
+ field: string;
383
+ tone?: CaptionTone;
384
+ fallback?: string;
385
+ }
386
+ export interface TemplateCellSpec {
387
+ kind: 'template';
388
+ template: string;
389
+ }
390
+ export interface LinkCellSpec {
391
+ kind: 'link';
392
+ hrefField: string;
393
+ labelField: string;
394
+ target?: '_blank' | '_self' | '_parent' | '_top';
395
+ fallbackLabel?: string;
396
+ }
397
+ export interface ConstantCellSpec {
398
+ kind: 'constant';
399
+ value: RenderableValue;
400
+ }
401
+ export interface FormRowWidgetProps extends BaseWidgetProps {
402
+ label: RenderableValue;
403
+ control: WidgetNode;
404
+ hint?: RenderableValue;
405
+ }
406
+ export interface InlineWidgetProps extends BaseWidgetProps {
407
+ gap?: InlineGap;
408
+ justify?: InlineJustify;
409
+ wrap?: boolean;
410
+ }
411
+ export interface MetadataGridWidgetProps extends BaseWidgetProps {
412
+ items: MetadataGridItemSpec[];
413
+ density?: 'normal' | 'compact';
414
+ }
415
+ export interface MetadataGridItemSpec {
416
+ key: RenderableValue;
417
+ value: RenderableValue;
418
+ copyValue?: string;
419
+ }
420
+ export interface PanelWidgetProps extends BaseWidgetProps {
421
+ title?: RenderableValue;
422
+ actions?: RenderableValue;
423
+ density?: 'normal' | 'condensed';
424
+ fill?: boolean;
425
+ }
426
+ export interface ScrollRegionWidgetProps extends BaseWidgetProps {
427
+ axis?: 'y' | 'x' | 'both';
428
+ }
429
+ export interface SectionBlockWidgetProps extends BaseWidgetProps {
430
+ as?: 'section' | 'article' | 'div';
431
+ label?: RenderableValue;
432
+ caption?: RenderableValue;
433
+ density?: 'normal' | 'spacious';
434
+ divider?: 'none' | 'top' | 'bottom' | 'both';
435
+ }
436
+ export interface SplitPaneWidgetProps extends BaseWidgetProps {
437
+ left: WidgetNode;
438
+ right: WidgetNode;
439
+ ratio?: 'balanced' | 'leftNarrow' | 'rightNarrow' | 'course' | 'sidebar';
440
+ divider?: boolean;
441
+ gutter?: 'none' | 'md' | 'lg';
442
+ }
443
+ export interface SidebarShellWidgetProps extends BaseWidgetProps {
444
+ sidebar?: WidgetNode;
445
+ sidebarWidth?: number;
446
+ contentPadding?: 'none' | 'md' | 'lg';
447
+ header?: WidgetNode;
448
+ footer?: WidgetNode;
449
+ }
450
+ export interface SlideShellWidgetProps extends BaseWidgetProps {
451
+ as?: 'article' | 'section' | 'div';
452
+ eyebrow?: RenderableValue;
453
+ counter?: RenderableValue;
454
+ title: RenderableValue;
455
+ subtitle?: RenderableValue;
456
+ primary: WidgetNode;
457
+ secondary?: WidgetNode;
458
+ primarySide?: 'left' | 'right';
459
+ ratio?: 'balanced' | 'primaryWide' | 'secondaryWide';
460
+ divider?: boolean;
461
+ footer?: WidgetNode;
462
+ }
463
+ export interface SelectInputWidgetProps extends BaseWidgetProps {
464
+ name?: string;
465
+ value?: string | number;
466
+ disabled?: boolean;
467
+ options?: SelectOptionSpec[];
468
+ }
469
+ export interface SelectOptionSpec {
470
+ value: string | number;
471
+ label: RenderableValue;
472
+ selected?: boolean;
473
+ disabled?: boolean;
474
+ }
475
+ export interface StackWidgetProps extends BaseWidgetProps {
476
+ gap?: StackGap;
477
+ align?: StackAlign;
478
+ }
479
+ export interface StatusTextWidgetProps extends BaseWidgetProps {
480
+ status: RagStatus | string;
481
+ icon?: boolean;
482
+ }
483
+ export interface TabListWidgetProps extends BaseWidgetProps {
484
+ items: TabListItemSpec[];
485
+ activeId: string;
486
+ ariaLabel?: string;
487
+ onChange?: ActionSpec;
488
+ }
489
+ export interface TabListItemSpec {
490
+ id: string;
491
+ label: RenderableValue;
492
+ }
493
+ export interface TextInputWidgetProps extends BaseWidgetProps {
494
+ name?: string;
495
+ value?: string | number;
496
+ placeholder?: string;
497
+ type?: string;
498
+ disabled?: boolean;
499
+ min?: number;
500
+ max?: number;
501
+ }
502
+ export type WidgetProps = AppShellWidgetProps | AppNavWidgetProps | ButtonWidgetProps | TextWidgetProps | CodeTextWidgetProps | DividerWidgetProps | ContextKindSwatchWidgetProps | AnnotationBadgeWidgetProps | TranscriptRoleBadgeWidgetProps | ContextLegendWidgetProps | ContextBudgetBarWidgetProps | ContextStripDiagramWidgetProps | ContextStackDiagramWidgetProps | ContextTreemapWidgetProps | ContextDiagramPanelWidgetProps | TranscriptSessionHeaderWidgetProps | TranscriptMessageCardWidgetProps | AnnotationNoteCardWidgetProps | AnnotationRailPanelWidgetProps | TranscriptReaderPanelWidgetProps | TranscriptWorkspacePanelWidgetProps | AnchoredCommentCardWidgetProps | AnchoredCommentRailWidgetProps | KeyValueStripWidgetProps | CheckListWidgetProps | StepListWidgetProps | PersonSummaryWidgetProps | FigureBlockWidgetProps | KeyPointListWidgetProps | SidebarNavWidgetProps | CourseStepNavWidgetProps | MarkdownArticleWidgetProps | DocumentListPanelWidgetProps | DocumentPreviewToolbarWidgetProps | CourseLessonPanelWidgetProps | CourseSlidePanelWidgetProps | CourseStudioShellWidgetProps | HandoutDocumentShellWidgetProps | CaptionWidgetProps | DashboardGridWidgetProps | DataTableWidgetProps | FormRowWidgetProps | InlineWidgetProps | MetadataGridWidgetProps | PanelWidgetProps | ScrollRegionWidgetProps | SectionBlockWidgetProps | SplitPaneWidgetProps | SidebarShellWidgetProps | SlideShellWidgetProps | SelectInputWidgetProps | StackWidgetProps | StatusTextWidgetProps | TabListWidgetProps | TextInputWidgetProps | BaseWidgetProps;
503
+ export declare function text(value: string | number | boolean): TextNode;
504
+ export declare function element(tag: string, attrs?: JsonObject, children?: WidgetNode[]): ElementNode;
505
+ export declare function component(type: RagWidgetType | string, props?: WidgetProps, children?: WidgetNode[]): ComponentNode;
506
+ export declare function isWidgetNode(value: unknown): value is WidgetNode;
507
+ //# sourceMappingURL=ir.d.ts.map