@reactra/replay-devtools 0.1.0-alpha.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Append the panel stylesheet and the shared token block once per document.
3
+ * No-op outside a browser.
4
+ *
5
+ * @param target - Optional popup document for pop-out support.
6
+ */
7
+ export declare const ensureStyles: (target?: Document) => void;
8
+ /** Test hook: lets unit tests assert single-injection semantics. */
9
+ export declare const __resetStylesForTest: () => void;
10
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,QAAQ,KAAG,IAUhD,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAA"}
package/dist/styles.js ADDED
@@ -0,0 +1,388 @@
1
+ // @reactra/replay-devtools — injected stylesheet.
2
+ //
3
+ // Owner: reactra-runtime-spec.md §2 (UI-companion tier): no `.css` imports in
4
+ // packages/*/src (a CSS import breaks plain-Node module loading), so the
5
+ // panel ships its styles as a string and injects ONE <style> tag per document
6
+ // (the popup-out window gets its own), behind a `typeof document` guard.
7
+ // All selectors are prefixed `.rrd-`; the `.rdt-root` token block is injected
8
+ // separately via `@reactra/replay-devtools/tokens` `ensureTokens` — never
9
+ // duplicated here. Event-type colors (`eventStyle`) are `--rdt-ev-*` tokens —
10
+ // theme-aware (a fixed hue like the near-white keyframe is invisible on a light
11
+ // track), but the GLYPH/HUE language is constant across themes.
12
+ import { ensureTokens } from "./tokens.js";
13
+ let injected = new WeakSet();
14
+ /**
15
+ * Append the panel stylesheet and the shared token block once per document.
16
+ * No-op outside a browser.
17
+ *
18
+ * @param target - Optional popup document for pop-out support.
19
+ */
20
+ export const ensureStyles = (target) => {
21
+ const doc = target ?? (typeof document === "undefined" ? undefined : document);
22
+ if (!doc || injected.has(doc))
23
+ return;
24
+ injected.add(doc);
25
+ // Tokens first — the panel CSS references `var(--rdt-*)`.
26
+ ensureTokens(doc);
27
+ const tag = doc.createElement("style");
28
+ tag.setAttribute("data-reactra-replay-devtools", "");
29
+ tag.textContent = CSS;
30
+ doc.head.appendChild(tag);
31
+ };
32
+ /** Test hook: lets unit tests assert single-injection semantics. */
33
+ export const __resetStylesForTest = () => {
34
+ injected = new WeakSet();
35
+ };
36
+ const CSS = `
37
+ /* ---- Pill ---- */
38
+ .rrd-pill {
39
+ position: fixed; right: 16px; bottom: 16px; z-index: 2147483000;
40
+ display: inline-flex; align-items: center; gap: 6px;
41
+ background: var(--rdt-bg-raised); color: var(--rdt-text);
42
+ border: 1px solid var(--rdt-border-med);
43
+ border-radius: 999px; padding: 6px 14px; cursor: pointer;
44
+ font: 600 var(--rdt-sz-base)/1.2 var(--rdt-font);
45
+ box-shadow: 0 4px 14px rgba(0,0,0,.35);
46
+ }
47
+ .rrd-pill:hover { border-color: var(--rdt-border-focus); }
48
+ .rrd-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rdt-rec); }
49
+
50
+ /* ---- Panel shell ---- */
51
+ .rrd-panel {
52
+ position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000;
53
+ height: 380px; display: flex; flex-direction: column;
54
+ background: var(--rdt-bg-base); color: var(--rdt-text);
55
+ border-top: 1px solid var(--rdt-border-med);
56
+ font: var(--rdt-sz-base)/1.45 var(--rdt-font);
57
+ box-shadow: 0 -6px 24px rgba(0,0,0,.4); outline: none;
58
+ }
59
+ /* Popup: takes over the whole window; static, no border. */
60
+ .rrd-panel--popup {
61
+ position: static; height: 100vh; border-top: none; box-shadow: none;
62
+ }
63
+ /* Minimized: collapse to the header bar only (body not rendered). */
64
+ .rrd-panel--min { height: auto; }
65
+
66
+ /* Drag-resize handle — 4px strip at the top of the docked panel. */
67
+ .rrd-resize-handle {
68
+ position: absolute; top: 0; left: 0; right: 0; height: 4px;
69
+ cursor: ns-resize; z-index: 1;
70
+ }
71
+ .rrd-resize-handle:hover { background: var(--rdt-border-focus); opacity: .5; }
72
+
73
+ .rrd-head {
74
+ display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
75
+ padding: 7px 12px; background: var(--rdt-bg-raised);
76
+ border-bottom: 1px solid var(--rdt-border);
77
+ }
78
+ .rrd-title { font-weight: 700; color: var(--rdt-text-bright); margin-right: 4px; }
79
+ .rrd-kbd-hint { color: var(--rdt-text-faint); font-size: var(--rdt-sz-sm); }
80
+ .rrd-spacer { flex: 1; }
81
+ .rrd-btn {
82
+ background: var(--rdt-btn-bg); color: var(--rdt-text);
83
+ border: 1px solid var(--rdt-btn-border);
84
+ border-radius: 6px; padding: 3px 10px; cursor: pointer; font: inherit;
85
+ }
86
+ .rrd-btn:hover:not(:disabled) { border-color: var(--rdt-border-focus); color: var(--rdt-text-bright); }
87
+ .rrd-btn:disabled { opacity: .4; cursor: default; }
88
+ .rrd-btn:focus-visible { outline: 2px solid var(--rdt-focus-ring); outline-offset: 2px; }
89
+ /* Semantic buttons read their fg from tokens too (NOT the flipping --rdt-text),
90
+ so the dark bg stays readable in light mode. */
91
+ .rrd-btn--accent {
92
+ background: var(--rdt-btn-accent-bg); border-color: var(--rdt-btn-accent-border);
93
+ color: var(--rdt-btn-accent-fg);
94
+ }
95
+ .rrd-btn--danger {
96
+ background: var(--rdt-btn-danger-bg); border-color: var(--rdt-btn-danger-border);
97
+ color: var(--rdt-btn-danger-fg);
98
+ }
99
+ .rrd-btn--live { background: #5b2026; border-color: #a33; color: #ffd7d7; }
100
+ .rrd-mini { font-size: var(--rdt-sz-xs); padding: 3px 7px; }
101
+ /* Square icon button — equal hit target for single-glyph actions (⟷ ⧉ 🗑 ⟳),
102
+ flex-centered so the color emoji 🗑 lines up with the monochrome glyphs and
103
+ the text "load" button (which shares the 22px min-height below). */
104
+ .rrd-icon-btn {
105
+ width: 22px; height: 22px; padding: 0;
106
+ display: inline-flex; align-items: center; justify-content: center;
107
+ line-height: 1; font-size: var(--rdt-sz-sm);
108
+ }
109
+ .rrd-input {
110
+ background: var(--rdt-bg-deep); color: var(--rdt-text);
111
+ border: 1px solid var(--rdt-btn-border);
112
+ border-radius: 6px; padding: 3px 8px; font: inherit; min-width: 180px;
113
+ }
114
+ .rrd-err { color: var(--rdt-err); }
115
+ .rrd-hint { color: var(--rdt-text-faint); }
116
+
117
+ /* Indeterminate loading bar — shown while a server fetch (list/bundle) runs. */
118
+ .rrd-loading-label { color: var(--rdt-text-faint); font-size: var(--rdt-sz-sm); margin-bottom: 4px; }
119
+ .rrd-loading {
120
+ height: 3px; margin: 0 0 6px; border-radius: 2px;
121
+ background: var(--rdt-bg-raised); overflow: hidden; position: relative;
122
+ }
123
+ .rrd-loading::after {
124
+ content: ""; position: absolute; top: 0; bottom: 0; width: 40%;
125
+ border-radius: 2px; background: var(--rdt-border-focus);
126
+ animation: rrd-loading-slide 1s ease-in-out infinite;
127
+ }
128
+ @keyframes rrd-loading-slide {
129
+ 0% { transform: translateX(-120%); }
130
+ 100% { transform: translateX(320%); }
131
+ }
132
+
133
+ /* ---- Body layout ---- */
134
+ .rrd-body { display: flex; flex: 1; min-height: 0; }
135
+ /* In normal mode the inner wrapper carries the same flex layout as .rrd-body. */
136
+ .rrd-body-inner { display: flex; flex: 1; min-height: 0; }
137
+ .rrd-sessions {
138
+ width: 250px; flex: none; overflow-y: auto;
139
+ border-right: 1px solid var(--rdt-border);
140
+ padding: 8px 10px;
141
+ }
142
+ .rrd-sessions h4 {
143
+ margin: 0 0 6px; font-size: var(--rdt-sz-sm); color: var(--rdt-text-dim);
144
+ text-transform: uppercase; letter-spacing: .06em;
145
+ }
146
+ .rrd-session {
147
+ padding: 6px 8px; border-radius: 6px; margin-bottom: 6px;
148
+ border: 1px solid transparent;
149
+ }
150
+ .rrd-session:hover { background: var(--rdt-bg-raised); border-color: var(--rdt-border); }
151
+ .rrd-session code { color: var(--rdt-kind-fg); font-size: var(--rdt-sz-sm); }
152
+ /* Metadata line: event count + status + meta tags (info, wraps freely). */
153
+ .rrd-session-meta {
154
+ display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 4px;
155
+ }
156
+ /* Action line: all buttons on one row, equal-height (22px). The destructive
157
+ delete is right-aligned (pushed to the far edge of the rail) to separate it
158
+ from the load/compare/copy actions. */
159
+ .rrd-session-actions {
160
+ display: flex; align-items: center; gap: 4px; margin-top: 6px;
161
+ }
162
+ .rrd-session-actions .rrd-btn { min-height: 22px; }
163
+ .rrd-session-del { margin-left: auto; }
164
+ .rrd-meta-tag {
165
+ background: var(--rdt-kind-bg); color: var(--rdt-kind-fg);
166
+ border-radius: 5px; padding: 0 5px; font-size: var(--rdt-sz-xs);
167
+ }
168
+
169
+ .rrd-main {
170
+ flex: 1; min-width: 0; display: flex; flex-direction: column;
171
+ padding: 8px 12px; gap: 6px;
172
+ }
173
+ .rrd-info {
174
+ display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
175
+ color: var(--rdt-text-dim);
176
+ }
177
+ .rrd-src { border-radius: 5px; padding: 0 6px; font-size: var(--rdt-sz-xs); font-weight: 700; }
178
+ .rrd-src--local { background: var(--rdt-ok-bg); color: var(--rdt-ok); }
179
+ .rrd-src--server { background: var(--rdt-kind-bg); color: var(--rdt-kind-fg); }
180
+
181
+ /* ---- Timeline (track + brush + playhead + scale) ---- */
182
+ .rrd-track {
183
+ position: relative; height: 30px; background: var(--rdt-bg-deep);
184
+ border: 1px solid var(--rdt-border); border-radius: 6px; cursor: pointer;
185
+ }
186
+ .rrd-tick { position: absolute; top: 7px; width: 2px; height: 12px; border-radius: 1px; }
187
+ .rrd-tick--kf { top: 4px; height: 18px; width: 3px; }
188
+ /* Elapsed progress fill (window start → playhead) */
189
+ .rrd-progress {
190
+ position: absolute; top: 0; bottom: 0;
191
+ background: rgba(77, 163, 255, .16); pointer-events: none;
192
+ }
193
+ .rrd-grid {
194
+ position: absolute; top: 0; bottom: 0; width: 1px;
195
+ background: var(--rdt-bg-raised); pointer-events: none;
196
+ }
197
+ .rrd-playhead {
198
+ position: absolute; top: -6px; bottom: -2px; width: 14px;
199
+ transform: translateX(-7px); cursor: grab; touch-action: none; z-index: 2;
200
+ }
201
+ .rrd-playhead:active { cursor: grabbing; }
202
+ .rrd-playhead::before {
203
+ content: ""; position: absolute; left: 6px; top: 8px; bottom: 0; width: 2px;
204
+ background: var(--rdt-text-bright); opacity: .9;
205
+ }
206
+ .rrd-playhead::after {
207
+ content: ""; position: absolute; left: 2px; top: 0; width: 10px; height: 10px;
208
+ box-sizing: border-box; border-radius: 50%;
209
+ background: var(--rdt-text-bright); border: 2px solid var(--rdt-border-focus);
210
+ }
211
+ .rrd-playhead:hover::after {
212
+ background: var(--rdt-border-focus); border-color: var(--rdt-text-bright);
213
+ }
214
+ .rrd-scale { position: relative; height: 13px; margin-top: 1px; }
215
+ .rrd-scale-label {
216
+ position: absolute; transform: translateX(-50%);
217
+ font-size: 9px; color: var(--rdt-text-faint);
218
+ white-space: nowrap; user-select: none;
219
+ }
220
+ .rrd-scale-label:first-child { transform: none; }
221
+ /* Brush (from/to window) */
222
+ .rrd-dim {
223
+ position: absolute; top: 0; bottom: 0;
224
+ background: rgba(8, 9, 12, .65); pointer-events: none;
225
+ }
226
+ .rrd-handle {
227
+ position: absolute; top: -3px; bottom: -3px; width: 8px;
228
+ background: var(--rdt-border-focus); border-radius: 3px;
229
+ cursor: ew-resize; opacity: .55; touch-action: none; z-index: 1;
230
+ }
231
+ .rrd-handle:hover, .rrd-handle:active { opacity: 1; }
232
+
233
+ /* ---- Transport controls ---- */
234
+ .rrd-transport { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
235
+ .rrd-pos { color: var(--rdt-text-dim); min-width: 130px; }
236
+ .rrd-select {
237
+ background: var(--rdt-btn-bg); color: var(--rdt-text);
238
+ border: 1px solid var(--rdt-btn-border);
239
+ border-radius: 6px; font: inherit; padding: 2px 4px;
240
+ }
241
+
242
+ /* ---- Filters (chip toggles) ---- */
243
+ .rrd-filters { display: flex; gap: 6px; flex-wrap: wrap; }
244
+ .rrd-chip {
245
+ border-radius: 999px; border: 1px solid var(--rdt-btn-border);
246
+ padding: 1px 9px; cursor: pointer;
247
+ background: var(--rdt-btn-bg); color: var(--rdt-text-dim);
248
+ font: inherit; font-size: var(--rdt-sz-sm);
249
+ }
250
+ .rrd-chip--on { color: var(--rdt-text-bright); border-color: var(--rdt-border-focus); background: var(--rdt-kind-bg); }
251
+
252
+ /* ---- Content area (state cards + event table) ---- */
253
+ .rrd-content { display: flex; gap: 10px; flex: 1; min-height: 0; }
254
+ .rrd-states {
255
+ width: 320px; flex: none; overflow-y: auto;
256
+ display: flex; flex-direction: column; gap: 6px;
257
+ }
258
+ .rrd-card {
259
+ background: var(--rdt-bg-raised); border: 1px solid var(--rdt-border);
260
+ border-radius: 6px; padding: 6px 8px;
261
+ }
262
+ .rrd-card-id { color: var(--rdt-kind-fg); font-weight: 700; margin-bottom: 3px; }
263
+ .rrd-kv { display: flex; gap: 6px; }
264
+ .rrd-k { color: var(--rdt-text-dim); flex: none; }
265
+ .rrd-k--jumpable { cursor: pointer; }
266
+ .rrd-k--jumpable:hover { color: var(--rdt-text); text-decoration: underline dotted; }
267
+ .rrd-v { color: var(--rdt-text); word-break: break-all; white-space: pre-wrap; }
268
+ .rrd-v--changed { color: var(--rdt-changed); }
269
+
270
+ .rrd-events {
271
+ flex: 1; min-width: 0; overflow-y: auto;
272
+ border: 1px solid var(--rdt-border); border-radius: 6px;
273
+ }
274
+ .rrd-events table { width: 100%; border-collapse: collapse; }
275
+ .rrd-events th {
276
+ position: sticky; top: 0; background: var(--rdt-bg-raised);
277
+ color: var(--rdt-text-dim); text-align: left; padding: 4px 8px;
278
+ font-size: var(--rdt-sz-xs); text-transform: uppercase; letter-spacing: .05em;
279
+ }
280
+ .rrd-events td {
281
+ padding: 3px 8px; border-top: 1px solid var(--rdt-border); vertical-align: top;
282
+ }
283
+ .rrd-events tr { cursor: pointer; }
284
+ .rrd-events tr:hover td { background: var(--rdt-bg-hover); }
285
+ .rrd-row--current td { background: var(--rdt-kind-bg) !important; }
286
+ .rrd-row--future td { opacity: .45; }
287
+ .rrd-glyph {
288
+ display: inline-block; width: 14px; text-align: center; margin-right: 4px;
289
+ }
290
+ .rrd-detail { word-break: break-all; color: var(--rdt-text-dim); }
291
+
292
+ /* ---- Compare mode ---- */
293
+ .rrd-compare {
294
+ display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden;
295
+ }
296
+ .rrd-compare-head {
297
+ display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
298
+ padding: 6px 12px; background: var(--rdt-bg-raised);
299
+ border-bottom: 1px solid var(--rdt-border);
300
+ }
301
+ .rrd-compare-label { color: var(--rdt-text-dim); font-size: var(--rdt-sz-sm); }
302
+ .rrd-compare-vs { color: var(--rdt-text-faint); }
303
+ .rrd-compare-sid { color: var(--rdt-kind-fg); font-size: var(--rdt-sz-sm); }
304
+ .rrd-compare-note { color: var(--rdt-text-faint); font-size: var(--rdt-sz-xs); padding: 2px 12px; }
305
+ .rrd-compare-notices { display: flex; gap: 8px; flex-wrap: wrap; padding: 4px 12px; }
306
+ .rrd-compare-notice { color: var(--rdt-text-faint); font-size: var(--rdt-sz-sm); }
307
+ .rrd-compare-notice--warn { color: var(--rdt-err); font-weight: 700; }
308
+ .rrd-compare-body {
309
+ display: flex; flex: 1; min-height: 0;
310
+ }
311
+ .rrd-compare-left {
312
+ width: 260px; flex: none; overflow-y: auto;
313
+ border-right: 1px solid var(--rdt-border);
314
+ padding: 8px 10px; display: flex; flex-direction: column; gap: 6px;
315
+ }
316
+ .rrd-compare-right {
317
+ flex: 1; min-width: 0; display: flex; flex-direction: column;
318
+ padding: 8px 12px; gap: 8px; overflow-y: auto;
319
+ }
320
+ .rrd-compare-divlist { display: flex; flex-direction: column; gap: 2px; }
321
+ .rrd-compare-divlist-head {
322
+ color: var(--rdt-text-dim); font-size: var(--rdt-sz-xs);
323
+ text-transform: uppercase; letter-spacing: .06em;
324
+ margin-bottom: 4px;
325
+ }
326
+ .rrd-compare-agree { color: var(--rdt-ok); font-size: var(--rdt-sz-sm); padding: 4px 0; }
327
+ .rrd-compare-row {
328
+ display: flex; align-items: baseline; gap: 6px; cursor: pointer;
329
+ padding: 3px 5px; border-radius: 4px;
330
+ border: 1px solid transparent;
331
+ }
332
+ .rrd-compare-row:hover { background: var(--rdt-bg-raised); border-color: var(--rdt-border); }
333
+ .rrd-compare-row--selected { background: var(--rdt-kind-bg); border-color: var(--rdt-border-focus); }
334
+ .rrd-compare-row--event { cursor: default; color: var(--rdt-text-dim); }
335
+ .rrd-compare-ordinal { color: var(--rdt-text-faint); font-size: var(--rdt-sz-xs); flex: none; min-width: 22px; }
336
+ .rrd-compare-key { color: var(--rdt-text); font-size: var(--rdt-sz-sm); flex: none; }
337
+ .rrd-compare-aside { color: var(--rdt-text-faint); font-size: var(--rdt-sz-xs); margin-left: auto; }
338
+ .rrd-compare-ab {
339
+ display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap;
340
+ margin-left: auto;
341
+ }
342
+ .rrd-compare-val { font-size: var(--rdt-sz-xs); word-break: break-all; }
343
+ .rrd-compare-val--a { color: var(--rdt-changed); }
344
+ .rrd-compare-val--b { color: var(--rdt-ok); }
345
+ .rrd-compare-neq { color: var(--rdt-text-faint); font-size: var(--rdt-sz-xs); }
346
+ .rrd-compare-tail {
347
+ margin-top: 8px; display: flex; flex-direction: column; gap: 3px;
348
+ }
349
+ .rrd-compare-unpaired {
350
+ color: var(--rdt-text-faint); font-size: var(--rdt-sz-xs);
351
+ padding: 3px 5px; border-left: 2px solid var(--rdt-border-focus); border-radius: 2px;
352
+ }
353
+ .rrd-compare-timelines {
354
+ display: flex; flex-direction: column; gap: 4px;
355
+ }
356
+ .rrd-compare-track-label {
357
+ color: var(--rdt-text-dim); font-size: var(--rdt-sz-xs);
358
+ margin-bottom: 1px;
359
+ }
360
+ .rrd-compare-cards { display: flex; flex-direction: column; gap: 6px; }
361
+ .rrd-compare-cards-head {
362
+ color: var(--rdt-text-dim); font-size: var(--rdt-sz-xs);
363
+ }
364
+ .rrd-compare-cards-row { display: flex; gap: 10px; }
365
+ .rrd-compare-card {
366
+ flex: 1; background: var(--rdt-bg-raised);
367
+ border: 1px solid var(--rdt-border); border-radius: 6px;
368
+ padding: 6px 8px; min-width: 0;
369
+ }
370
+ .rrd-compare-card--a { border-color: var(--rdt-changed); }
371
+ .rrd-compare-card--b { border-color: var(--rdt-ok); }
372
+ .rrd-compare-card-head {
373
+ display: flex; align-items: center; gap: 6px; margin-bottom: 4px;
374
+ }
375
+ .rrd-compare-card-label {
376
+ font-size: var(--rdt-sz-xs); font-weight: 700;
377
+ color: var(--rdt-text-dim); text-transform: uppercase;
378
+ }
379
+ .rrd-compare-card-id { font-size: var(--rdt-sz-sm); color: var(--rdt-kind-fg); }
380
+ .rrd-compare-kv-list { display: flex; flex-direction: column; gap: 2px; }
381
+ /* Session-rail compare-pick affordance */
382
+ .rrd-btn--compare {
383
+ background: var(--rdt-btn-compare-bg); border-color: var(--rdt-btn-compare-border);
384
+ color: var(--rdt-btn-compare-fg);
385
+ }
386
+ .rrd-btn--compare-active { background: #1a4a2a; border-color: #2a7a4a; color: #a0ffc0; }
387
+ `;
388
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAY,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAiB,EAAQ,EAAE;IACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC9E,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,0DAA0D;IAC1D,YAAY,CAAC,GAAG,CAAC,CAAA;IACjB,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;IACpD,GAAG,CAAC,WAAW,GAAG,GAAG,CAAA;IACrB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC7C,QAAQ,GAAG,IAAI,OAAO,EAAY,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+VX,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { type ReactNode } from "react";
2
+ import type { ReplayEvent, SessionBundle } from "@reactra/behaviours/replayable";
3
+ export { clampWindowEdge, describeEvent, diffKeys, eventStops, eventStyle, formatOffset, formatScaleTick, instanceIds, playbackDelay, stopIndexAt, timeScaleTicks, } from "./helpers.ts";
4
+ export { ensureStyles } from "./styles.ts";
5
+ /** The from/to brush window (offsets in ms from the bundle start). */
6
+ export interface TimelineWindow {
7
+ from: number;
8
+ to: number;
9
+ }
10
+ /** Props of the controlled timeline track (Runtime §3 `/timeline`). */
11
+ export interface TimelineProps {
12
+ /** The session being navigated (Replay §3 format — consumed, never extended). */
13
+ bundle: SessionBundle;
14
+ /** Current playhead offset (ms from `bundle.startTime`). */
15
+ offset: number;
16
+ /** The from/to brush window; null = the full session. */
17
+ window: TimelineWindow | null;
18
+ /** Event visibility predicate (the host's chip filters). Default: all visible. */
19
+ visible?: (e: ReplayEvent) => boolean;
20
+ /** Scrub to an offset. The component clamps to the active window first. */
21
+ onScrub: (offset: number) => void;
22
+ /** Brush edits (edge drags). `null` never originates here — hosts clear via their own reset control. */
23
+ onWindowChange: (win: TimelineWindow) => void;
24
+ /** Fired when the playhead is grabbed — hosts pause auto-playback. */
25
+ onGrab?: () => void;
26
+ }
27
+ /**
28
+ * The shared timeline track: color-coded event ticks, time-scale gridlines +
29
+ * label ruler, elapsed-progress fill, the Chrome-Network-style from/to brush
30
+ * (pointer-capture edge handles), and the grabbable playhead. Controlled —
31
+ * all state lives in the host; this renders and translates pointer gestures.
32
+ */
33
+ export declare const Timeline: (props: TimelineProps) => ReactNode;
34
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AASA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAWhF,OAAO,EACL,eAAe,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,MAAM,EAAE,aAAa,CAAA;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAC7B,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,CAAA;IACrC,2EAA2E;IAC3E,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,wGAAwG;IACxG,cAAc,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,KAAG,SA2J/C,CAAA"}
@@ -0,0 +1,144 @@
1
+ // @reactra/replay-devtools/timeline — the shared timeline primitives.
2
+ //
3
+ // Owner: reactra-runtime-spec.md §3 (`/timeline` subpath row, v1.2): the
4
+ // controlled track component (ticks / gridlines / brush / playhead /
5
+ // progress / time scale) + the pure helpers both devtools panels compose
6
+ // (`<ReplayDevtools>` here; `<ReactraDevtools>` per the Devtools spec §3).
7
+ // Extracted from panel.ts with behaviour unchanged; same `.rrd-*` classes,
8
+ // same injected sheet (`ensureStyles` — consumers call it, never duplicate).
9
+ import { createElement as h, useRef } from "react";
10
+ import { clampWindowEdge, eventStyle, formatOffset, formatScaleTick, timeScaleTicks, } from "./helpers.js";
11
+ // The subpath's helper surface (Runtime §3): everything a timeline consumer
12
+ // needs, re-exported from the package-internal module.
13
+ export { clampWindowEdge, describeEvent, diffKeys, eventStops, eventStyle, formatOffset, formatScaleTick, instanceIds, playbackDelay, stopIndexAt, timeScaleTicks, } from "./helpers.js";
14
+ export { ensureStyles } from "./styles.js";
15
+ /**
16
+ * The shared timeline track: color-coded event ticks, time-scale gridlines +
17
+ * label ruler, elapsed-progress fill, the Chrome-Network-style from/to brush
18
+ * (pointer-capture edge handles), and the grabbable playhead. Controlled —
19
+ * all state lives in the host; this renders and translates pointer gestures.
20
+ */
21
+ export const Timeline = (props) => {
22
+ const { bundle, offset, window: win, onScrub, onWindowChange, onGrab } = props;
23
+ const visible = props.visible ?? (() => true);
24
+ const trackRef = useRef(null);
25
+ const draggingRef = useRef(null);
26
+ const winFrom = win?.from ?? 0;
27
+ const winTo = win?.to ?? bundle.duration;
28
+ const pct = (t) => (bundle.duration > 0 ? (t / bundle.duration) * 100 : 0);
29
+ const scaleTicks = timeScaleTicks(bundle.duration);
30
+ const offsetAtPointer = (clientX) => {
31
+ const el = trackRef.current;
32
+ if (!el || bundle.duration === 0)
33
+ return 0;
34
+ const rect = el.getBoundingClientRect();
35
+ const frac = Math.min(1, Math.max(0, (clientX - rect.left) / rect.width));
36
+ return Math.round(frac * bundle.duration);
37
+ };
38
+ /** Scrub clamped into the active window — every gesture funnels through here. */
39
+ const scrubClamped = (t) => onScrub(Math.min(Math.max(t, winFrom), winTo));
40
+ const onHandleDown = (edge) => (e) => {
41
+ e.stopPropagation();
42
+ draggingRef.current = edge;
43
+ e.currentTarget.setPointerCapture(e.pointerId);
44
+ };
45
+ const onHandleMove = (e) => {
46
+ const edge = draggingRef.current;
47
+ if (edge !== "from" && edge !== "to")
48
+ return;
49
+ const t = offsetAtPointer(e.clientX);
50
+ // Absolute-position math: each move recomputes from the pointer, so a
51
+ // stale `window` prop between renders cannot accumulate drift.
52
+ const v = clampWindowEdge(edge, t, edge === "from" ? winTo : winFrom, bundle.duration);
53
+ onWindowChange(edge === "from" ? { from: v, to: winTo } : { from: winFrom, to: v });
54
+ };
55
+ const onHandleUp = () => {
56
+ if (draggingRef.current !== "from" && draggingRef.current !== "to")
57
+ return;
58
+ draggingRef.current = null;
59
+ // The drag may have pushed the cursor outside the window — snap it back
60
+ // in (the host re-drives, if driving) so the transport stays inside.
61
+ if (win) {
62
+ const snapped = Math.min(Math.max(offset, win.from), win.to);
63
+ if (snapped !== offset)
64
+ onScrub(snapped);
65
+ }
66
+ };
67
+ const onPlayheadDown = (e) => {
68
+ e.stopPropagation();
69
+ onGrab?.();
70
+ draggingRef.current = "playhead";
71
+ e.currentTarget.setPointerCapture(e.pointerId);
72
+ };
73
+ const onPlayheadMove = (e) => {
74
+ if (draggingRef.current !== "playhead")
75
+ return;
76
+ scrubClamped(offsetAtPointer(e.clientX));
77
+ };
78
+ const onPlayheadUp = () => {
79
+ if (draggingRef.current === "playhead")
80
+ draggingRef.current = null;
81
+ };
82
+ return h("div", null, h("div", {
83
+ className: "rrd-track",
84
+ ref: trackRef,
85
+ title: "Click to scrub · drag the playhead · drag the edge handles to window the session",
86
+ onClick: (e) => scrubClamped(offsetAtPointer(e.clientX)),
87
+ },
88
+ // Time-scale gridlines (faint, behind the ticks).
89
+ ...scaleTicks.map((t) => h("span", { key: `g${t}`, className: "rrd-grid", style: { left: `${pct(t)}%` } })),
90
+ // Elapsed-progress fill: window start → the playhead.
91
+ h("span", {
92
+ className: "rrd-progress",
93
+ style: {
94
+ left: `${pct(winFrom)}%`,
95
+ width: `${Math.max(0, pct(Math.min(Math.max(offset, winFrom), winTo)) - pct(winFrom))}%`,
96
+ },
97
+ }), ...bundle.events.filter(visible).map((e, i) => {
98
+ const s = eventStyle(e);
99
+ const t = e.timestamp - bundle.startTime;
100
+ const kf = e.type === "state_snapshot" && e.keyframe;
101
+ const outside = t < winFrom || t > winTo;
102
+ return h("span", {
103
+ key: i,
104
+ className: kf ? "rrd-tick rrd-tick--kf" : "rrd-tick",
105
+ style: { left: `${pct(t)}%`, background: s.color, ...(outside ? { opacity: 0.18 } : {}) },
106
+ title: `${formatOffset(t)} ${e.componentId} ${e.type}`,
107
+ });
108
+ }),
109
+ // The brush: shaded outside-the-window regions + draggable edge handles.
110
+ win && h("span", { className: "rrd-dim", style: { left: 0, width: `${pct(win.from)}%` } }), win &&
111
+ h("span", {
112
+ className: "rrd-dim",
113
+ style: { left: `${pct(win.to)}%`, width: `${100 - pct(win.to)}%` },
114
+ }), h("span", {
115
+ className: "rrd-handle",
116
+ style: { left: `calc(${pct(winFrom)}% - 4px)` },
117
+ title: "Drag: window start",
118
+ onPointerDown: onHandleDown("from"),
119
+ onPointerMove: onHandleMove,
120
+ onPointerUp: onHandleUp,
121
+ onClick: (e) => e.stopPropagation(),
122
+ }), h("span", {
123
+ className: "rrd-handle",
124
+ style: { left: `calc(${pct(winTo)}% - 4px)` },
125
+ title: "Drag: window end",
126
+ onPointerDown: onHandleDown("to"),
127
+ onPointerMove: onHandleMove,
128
+ onPointerUp: onHandleUp,
129
+ onClick: (e) => e.stopPropagation(),
130
+ }),
131
+ // The playhead: a grabbable knob + line marking the CURRENT position.
132
+ h("span", {
133
+ className: "rrd-playhead",
134
+ style: { left: `${pct(offset)}%` },
135
+ title: `current position ${formatOffset(offset)} — drag to scrub`,
136
+ onPointerDown: onPlayheadDown,
137
+ onPointerMove: onPlayheadMove,
138
+ onPointerUp: onPlayheadUp,
139
+ onClick: (e) => e.stopPropagation(),
140
+ })),
141
+ // The time scale under the track.
142
+ h("div", { className: "rrd-scale" }, ...scaleTicks.map((t) => h("span", { key: t, className: "rrd-scale-label", style: { left: `${pct(t)}%` } }, formatScaleTick(t)))));
143
+ };
144
+ //# sourceMappingURL=timeline.js.map