@brett_lamy/docstream 1.7.0 → 1.8.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/dist/demo/DemoViewer.d.ts +8 -0
- package/dist/demo/DemoViewer.d.ts.map +1 -1
- package/dist/demo/DemoViewer.js +74 -1
- package/dist/demo/DemoViewer.js.map +1 -1
- package/dist/demo/PathBreadcrumb.d.ts +54 -0
- package/dist/demo/PathBreadcrumb.d.ts.map +1 -0
- package/dist/demo/PathBreadcrumb.js +245 -0
- package/dist/demo/PathBreadcrumb.js.map +1 -0
- package/dist/styles.css +226 -4
- package/package.json +1 -1
- package/src/demo/DemoViewer.tsx +94 -2
- package/src/demo/PathBreadcrumb.tsx +367 -0
- package/src/styles.css +226 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathBreadcrumb.js","sourceRoot":"","sources":["../../src/demo/PathBreadcrumb.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -2064,13 +2064,76 @@
|
|
|
2064
2064
|
.docs-demo-files {
|
|
2065
2065
|
flex-shrink: 0;
|
|
2066
2066
|
box-sizing: border-box;
|
|
2067
|
-
|
|
2067
|
+
/* --docs-demo-files-w is set (px) once the reader drags the handle; 188px until then. */
|
|
2068
|
+
width: var(--docs-demo-files-w, 188px);
|
|
2068
2069
|
padding: 8px;
|
|
2069
2070
|
overflow-y: auto;
|
|
2070
2071
|
border-right: 1px solid var(--gb-border);
|
|
2071
2072
|
background: var(--gb-muted);
|
|
2072
2073
|
}
|
|
2073
2074
|
|
|
2075
|
+
/* The drag handle between the file list and the source: zero layout width, with a wider hit area
|
|
2076
|
+
and the same grip as the preview handle straddling the divider. */
|
|
2077
|
+
.docs-demo-files-handle {
|
|
2078
|
+
position: relative;
|
|
2079
|
+
z-index: 2;
|
|
2080
|
+
flex: 0 0 0;
|
|
2081
|
+
width: 0;
|
|
2082
|
+
cursor: col-resize;
|
|
2083
|
+
touch-action: none;
|
|
2084
|
+
}
|
|
2085
|
+
|
|
2086
|
+
.docs-demo-files-handle::before {
|
|
2087
|
+
position: absolute;
|
|
2088
|
+
top: 0;
|
|
2089
|
+
bottom: 0;
|
|
2090
|
+
left: -5px;
|
|
2091
|
+
width: 10px;
|
|
2092
|
+
content: "";
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
.docs-demo-files-handle::after {
|
|
2096
|
+
position: absolute;
|
|
2097
|
+
top: 50%;
|
|
2098
|
+
left: -2.5px;
|
|
2099
|
+
width: 5px;
|
|
2100
|
+
height: 40px;
|
|
2101
|
+
margin-top: -20px;
|
|
2102
|
+
border-radius: 3px;
|
|
2103
|
+
background: var(--gb-stage-dot);
|
|
2104
|
+
content: "";
|
|
2105
|
+
opacity: 0;
|
|
2106
|
+
transition: opacity 150ms ease, background 150ms ease, height 200ms ease, margin 200ms ease;
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
.docs-demo-code:hover .docs-demo-files-handle::after {
|
|
2110
|
+
opacity: 1;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
.docs-demo-files-handle:hover::after,
|
|
2114
|
+
.docs-demo-files-handle:focus-visible::after,
|
|
2115
|
+
.docs-demo-files-handle[data-dragging]::after {
|
|
2116
|
+
height: 56px;
|
|
2117
|
+
margin-top: -28px;
|
|
2118
|
+
background: var(--gb-primary);
|
|
2119
|
+
opacity: 1;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
.docs-demo-files-handle:focus-visible {
|
|
2123
|
+
outline: none;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
.docs-demo-files-handle:focus-visible::before {
|
|
2127
|
+
outline: 2px solid var(--gb-primary);
|
|
2128
|
+
outline-offset: -1px;
|
|
2129
|
+
border-radius: 2px;
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
.docs-demo-code[data-dragging] {
|
|
2133
|
+
cursor: col-resize;
|
|
2134
|
+
user-select: none;
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2074
2137
|
.docs-demo-files-h {
|
|
2075
2138
|
padding: 6px 8px 8px;
|
|
2076
2139
|
color: var(--gb-muted-foreground);
|
|
@@ -2143,18 +2206,174 @@
|
|
|
2143
2206
|
align-items: center;
|
|
2144
2207
|
justify-content: space-between;
|
|
2145
2208
|
gap: 8px;
|
|
2146
|
-
padding: 5px 6px 5px
|
|
2209
|
+
padding: 5px 6px 5px 8px;
|
|
2147
2210
|
border-bottom: 1px solid var(--gb-border);
|
|
2148
2211
|
color: var(--gb-muted-foreground);
|
|
2149
2212
|
font: 12px/1 var(--docs-demo-mono);
|
|
2150
2213
|
}
|
|
2151
2214
|
|
|
2152
|
-
|
|
2215
|
+
/* Breadcrumb path: one button per segment. The list is clipped to the header; the fit logic in
|
|
2216
|
+
PathBreadcrumb collapses the middle to a "…" before that matters. */
|
|
2217
|
+
.docs-demo-crumbs {
|
|
2218
|
+
position: relative;
|
|
2219
|
+
flex: 1;
|
|
2220
|
+
min-width: 0;
|
|
2221
|
+
overflow: hidden;
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
.docs-demo-crumbs > .docs-demo-crumbs-list {
|
|
2225
|
+
display: flex;
|
|
2226
|
+
align-items: center;
|
|
2227
|
+
margin: 0;
|
|
2228
|
+
padding: 0;
|
|
2229
|
+
list-style: none;
|
|
2230
|
+
white-space: nowrap;
|
|
2231
|
+
}
|
|
2232
|
+
|
|
2233
|
+
.docs-demo-crumbs > .docs-demo-crumbs-measure {
|
|
2234
|
+
position: absolute;
|
|
2235
|
+
top: 0;
|
|
2236
|
+
left: 0;
|
|
2237
|
+
height: 0;
|
|
2238
|
+
visibility: hidden;
|
|
2239
|
+
pointer-events: none;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
.docs-demo-crumbs-list > .docs-demo-crumb-item {
|
|
2243
|
+
display: flex;
|
|
2244
|
+
flex: 0 0 auto;
|
|
2245
|
+
align-items: center;
|
|
2246
|
+
min-width: 0;
|
|
2247
|
+
margin: 0;
|
|
2248
|
+
padding: 0;
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
.docs-demo-crumbs-list > .docs-demo-crumb-item[data-last] {
|
|
2252
|
+
flex: 0 1 auto;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
.docs-demo-crumb-sep {
|
|
2256
|
+
flex-shrink: 0;
|
|
2257
|
+
color: var(--gb-muted-foreground);
|
|
2258
|
+
opacity: 0.7;
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
.docs-demo-crumb {
|
|
2262
|
+
display: inline-flex;
|
|
2263
|
+
align-items: center;
|
|
2264
|
+
gap: 5px;
|
|
2265
|
+
min-width: 0;
|
|
2266
|
+
box-sizing: border-box;
|
|
2267
|
+
height: 24px;
|
|
2268
|
+
padding: 0 6px;
|
|
2269
|
+
border: 0;
|
|
2270
|
+
border-radius: 6px;
|
|
2271
|
+
background: none;
|
|
2272
|
+
color: var(--gb-muted-foreground);
|
|
2273
|
+
font: inherit;
|
|
2274
|
+
cursor: pointer;
|
|
2275
|
+
transition: background 150ms ease, color 150ms ease;
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
.docs-demo-crumb svg {
|
|
2279
|
+
flex-shrink: 0;
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
.docs-demo-crumb-text {
|
|
2153
2283
|
overflow: hidden;
|
|
2154
2284
|
text-overflow: ellipsis;
|
|
2155
2285
|
white-space: nowrap;
|
|
2156
2286
|
}
|
|
2157
2287
|
|
|
2288
|
+
.docs-demo-crumb:hover,
|
|
2289
|
+
.docs-demo-crumb[aria-expanded="true"] {
|
|
2290
|
+
background: var(--gb-hover);
|
|
2291
|
+
color: var(--gb-panel-foreground);
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
.docs-demo-crumb[data-current] {
|
|
2295
|
+
color: var(--gb-panel-foreground);
|
|
2296
|
+
font-weight: 600;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
.docs-demo-crumb[data-current] svg {
|
|
2300
|
+
color: var(--gb-primary);
|
|
2301
|
+
}
|
|
2302
|
+
|
|
2303
|
+
.docs-demo-crumb:focus-visible {
|
|
2304
|
+
outline: 2px solid var(--gb-primary);
|
|
2305
|
+
outline-offset: -2px;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
/* The sibling / hidden-segment menu. Portalled next to the docs root (so it isn't clipped by the
|
|
2309
|
+
viewer) and fixed under its trigger; --crumb-x / --crumb-y are set from the trigger's rect. */
|
|
2310
|
+
.docs-demo-crumb-menu {
|
|
2311
|
+
position: fixed;
|
|
2312
|
+
top: var(--crumb-y, 0);
|
|
2313
|
+
left: var(--crumb-x, 0);
|
|
2314
|
+
z-index: 60;
|
|
2315
|
+
box-sizing: border-box;
|
|
2316
|
+
min-width: 160px;
|
|
2317
|
+
max-width: min(320px, calc(100vw - 16px));
|
|
2318
|
+
max-height: min(320px, calc(100vh - 16px));
|
|
2319
|
+
padding: 4px;
|
|
2320
|
+
overflow-y: auto;
|
|
2321
|
+
border: 1px solid var(--gb-border);
|
|
2322
|
+
border-radius: 10px;
|
|
2323
|
+
background: var(--gb-panel);
|
|
2324
|
+
box-shadow: var(--gb-menu-shadow);
|
|
2325
|
+
color: var(--gb-panel-foreground);
|
|
2326
|
+
font: 12.5px/1.3 var(--docs-demo-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
.docs-demo-crumb-option {
|
|
2330
|
+
display: flex;
|
|
2331
|
+
align-items: center;
|
|
2332
|
+
gap: 7px;
|
|
2333
|
+
box-sizing: border-box;
|
|
2334
|
+
width: 100%;
|
|
2335
|
+
padding: 6px 8px;
|
|
2336
|
+
border: 0;
|
|
2337
|
+
border-radius: 6px;
|
|
2338
|
+
background: none;
|
|
2339
|
+
color: inherit;
|
|
2340
|
+
font: inherit;
|
|
2341
|
+
text-align: left;
|
|
2342
|
+
cursor: pointer;
|
|
2343
|
+
}
|
|
2344
|
+
|
|
2345
|
+
.docs-demo-crumb-option svg {
|
|
2346
|
+
flex-shrink: 0;
|
|
2347
|
+
color: var(--gb-muted-foreground);
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
.docs-demo-crumb-option:hover,
|
|
2351
|
+
.docs-demo-crumb-option:focus-visible {
|
|
2352
|
+
outline: none;
|
|
2353
|
+
background: var(--gb-hover);
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
.docs-demo-crumb-option[data-current] {
|
|
2357
|
+
color: var(--gb-primary);
|
|
2358
|
+
font-weight: 600;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
.docs-demo-crumb-option[data-current] svg {
|
|
2362
|
+
color: var(--gb-primary);
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
.docs-demo-crumb-option-text {
|
|
2366
|
+
flex: 1;
|
|
2367
|
+
min-width: 0;
|
|
2368
|
+
overflow: hidden;
|
|
2369
|
+
text-overflow: ellipsis;
|
|
2370
|
+
white-space: nowrap;
|
|
2371
|
+
}
|
|
2372
|
+
|
|
2373
|
+
.docs-demo-crumb-option .docs-demo-crumb-check {
|
|
2374
|
+
margin-left: auto;
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2158
2377
|
.docs-demo-source-body {
|
|
2159
2378
|
flex: 1;
|
|
2160
2379
|
min-height: 0;
|
|
@@ -2195,7 +2414,8 @@
|
|
|
2195
2414
|
}
|
|
2196
2415
|
|
|
2197
2416
|
.docs-demo-files-h,
|
|
2198
|
-
.docs-demo-dir
|
|
2417
|
+
.docs-demo-dir,
|
|
2418
|
+
.docs-demo-files-handle {
|
|
2199
2419
|
display: none;
|
|
2200
2420
|
}
|
|
2201
2421
|
|
|
@@ -2338,6 +2558,8 @@
|
|
|
2338
2558
|
}
|
|
2339
2559
|
|
|
2340
2560
|
.docs-demo-handle::after,
|
|
2561
|
+
.docs-demo-files-handle::after,
|
|
2562
|
+
.docs-demo-crumb,
|
|
2341
2563
|
.docs-page-actions-more svg {
|
|
2342
2564
|
transition: none;
|
|
2343
2565
|
}
|
package/package.json
CHANGED
package/src/demo/DemoViewer.tsx
CHANGED
|
@@ -38,6 +38,7 @@ import { PillTabs, Segmented, rovingKeyDown } from "../docs/controls"
|
|
|
38
38
|
import { useDemoResolver, useDemoRuntime } from "./context"
|
|
39
39
|
import { createDocstreamClipboard, type DemoSourceSnapshot, type DocstreamClipboard } from "./clipboard"
|
|
40
40
|
import { CopyDemoButton } from "./copy-demo"
|
|
41
|
+
import { PathBreadcrumb } from "./PathBreadcrumb"
|
|
41
42
|
import { languageForPath } from "./glob"
|
|
42
43
|
import { useDemoVFSContext, useDemoVFSEntry, type DemoVFS } from "./vfs"
|
|
43
44
|
import { cssToSurface, surfaceStyle, surfaceToCss } from "./surface"
|
|
@@ -455,6 +456,22 @@ function fileTree(files: DemoFile[]): TreeRow[] {
|
|
|
455
456
|
return rows
|
|
456
457
|
}
|
|
457
458
|
|
|
459
|
+
export const FILES_DEFAULT_WIDTH = 188
|
|
460
|
+
export const FILES_MIN_WIDTH = 140
|
|
461
|
+
/** The file list never takes more than this share of the viewer, so the source pane can't collapse. */
|
|
462
|
+
export const FILES_MAX_SHARE = 0.6
|
|
463
|
+
|
|
464
|
+
/** The widest the file list may be inside a viewer `container` px wide (never below the minimum). */
|
|
465
|
+
export function filesMaxWidth(container: number): number {
|
|
466
|
+
return Math.max(FILES_MIN_WIDTH, Math.floor(container * FILES_MAX_SHARE))
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/** Clamp a file list width to [min, 60% of the viewer]. An unmeasured viewer (0) only enforces the minimum. */
|
|
470
|
+
export function clampFilesWidth(width: number, container: number): number {
|
|
471
|
+
const max = container > 0 ? filesMaxWidth(container) : Infinity
|
|
472
|
+
return Math.round(Math.min(max, Math.max(FILES_MIN_WIDTH, width)))
|
|
473
|
+
}
|
|
474
|
+
|
|
458
475
|
function CodeView({ src, files, height, id }: { src: string; files: DemoFile[]; height: string; id: string }) {
|
|
459
476
|
const [active, setActive] = useState(files[0]?.path ?? "")
|
|
460
477
|
useEffect(() => {
|
|
@@ -465,8 +482,67 @@ function CodeView({ src, files, height, id }: { src: string; files: DemoFile[];
|
|
|
465
482
|
const paths = files.map((f) => f.path)
|
|
466
483
|
const tabId = (path: string) => `${id}-file-${paths.indexOf(path)}`
|
|
467
484
|
const panelId = `${id}-source`
|
|
485
|
+
|
|
486
|
+
// The file list width is the user's choice (null: the default). It lives here, so it survives file switches.
|
|
487
|
+
const code = useRef<HTMLDivElement | null>(null)
|
|
488
|
+
const [chosen, setChosen] = useState<number | null>(null)
|
|
489
|
+
const [container, setContainer] = useState(0)
|
|
490
|
+
const [dragging, setDragging] = useState(false)
|
|
491
|
+
useEffect(() => {
|
|
492
|
+
const el = code.current
|
|
493
|
+
if (!el || typeof ResizeObserver === "undefined") return
|
|
494
|
+
const observer = new ResizeObserver(() => setContainer(Math.round(el.getBoundingClientRect().width)))
|
|
495
|
+
observer.observe(el)
|
|
496
|
+
return () => observer.disconnect()
|
|
497
|
+
}, [])
|
|
498
|
+
const width = clampFilesWidth(chosen ?? FILES_DEFAULT_WIDTH, container)
|
|
499
|
+
const max = container > 0 ? filesMaxWidth(container) : undefined
|
|
500
|
+
|
|
501
|
+
const startDrag = (event: ReactPointerEvent<HTMLDivElement>) => {
|
|
502
|
+
const el = code.current
|
|
503
|
+
if (!el || event.button !== 0) return
|
|
504
|
+
event.preventDefault()
|
|
505
|
+
const handle = event.currentTarget
|
|
506
|
+
const pointer = event.pointerId
|
|
507
|
+
try {
|
|
508
|
+
handle.setPointerCapture(pointer)
|
|
509
|
+
} catch {
|
|
510
|
+
/* not capturable (synthetic event): the window listeners still follow the drag */
|
|
511
|
+
}
|
|
512
|
+
const left = el.getBoundingClientRect().left
|
|
513
|
+
setDragging(true)
|
|
514
|
+
const move = (ev: PointerEvent) => setChosen(clampFilesWidth(ev.clientX - left, el.getBoundingClientRect().width))
|
|
515
|
+
const up = () => {
|
|
516
|
+
setDragging(false)
|
|
517
|
+
if (handle.hasPointerCapture?.(pointer)) handle.releasePointerCapture(pointer)
|
|
518
|
+
window.removeEventListener("pointermove", move)
|
|
519
|
+
window.removeEventListener("pointerup", up)
|
|
520
|
+
window.removeEventListener("pointercancel", up)
|
|
521
|
+
}
|
|
522
|
+
window.addEventListener("pointermove", move)
|
|
523
|
+
window.addEventListener("pointerup", up)
|
|
524
|
+
window.addEventListener("pointercancel", up)
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
const onResizeKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {
|
|
528
|
+
const step = event.shiftKey ? 50 : 10
|
|
529
|
+
let next: number | undefined
|
|
530
|
+
if (event.key === "ArrowLeft") next = width - step
|
|
531
|
+
else if (event.key === "ArrowRight") next = width + step
|
|
532
|
+
else if (event.key === "Home") next = FILES_MIN_WIDTH
|
|
533
|
+
else if (event.key === "End") next = max ?? width
|
|
534
|
+
if (next === undefined) return
|
|
535
|
+
event.preventDefault()
|
|
536
|
+
setChosen(clampFilesWidth(next, container))
|
|
537
|
+
}
|
|
538
|
+
|
|
468
539
|
return (
|
|
469
|
-
<div
|
|
540
|
+
<div
|
|
541
|
+
ref={code}
|
|
542
|
+
className="docs-demo-code"
|
|
543
|
+
style={{ height, ...(chosen === null ? null : { "--docs-demo-files-w": `${width}px` }) } as CSSProperties}
|
|
544
|
+
data-dragging={dragging || undefined}
|
|
545
|
+
>
|
|
470
546
|
<div
|
|
471
547
|
className="docs-demo-files"
|
|
472
548
|
role="tablist"
|
|
@@ -502,9 +578,25 @@ function CodeView({ src, files, height, id }: { src: string; files: DemoFile[];
|
|
|
502
578
|
),
|
|
503
579
|
)}
|
|
504
580
|
</div>
|
|
581
|
+
<div
|
|
582
|
+
className="docs-demo-files-handle"
|
|
583
|
+
role="separator"
|
|
584
|
+
tabIndex={0}
|
|
585
|
+
aria-orientation="vertical"
|
|
586
|
+
aria-label="Resize file list"
|
|
587
|
+
aria-controls={panelId}
|
|
588
|
+
aria-valuemin={FILES_MIN_WIDTH}
|
|
589
|
+
aria-valuemax={max}
|
|
590
|
+
aria-valuenow={width}
|
|
591
|
+
aria-valuetext={`${width} pixels wide`}
|
|
592
|
+
data-dragging={dragging || undefined}
|
|
593
|
+
onPointerDown={startDrag}
|
|
594
|
+
onKeyDown={onResizeKey}
|
|
595
|
+
onDoubleClick={() => setChosen(null)}
|
|
596
|
+
/>
|
|
505
597
|
<div className="docs-demo-source" role="tabpanel" id={panelId} aria-labelledby={file ? tabId(file.path) : undefined}>
|
|
506
598
|
<div className="docs-demo-source-h">
|
|
507
|
-
|
|
599
|
+
{file ? <PathBreadcrumb src={src} path={file.path} paths={paths} onSelect={setActive} /> : <span className="docs-demo-crumbs" />}
|
|
508
600
|
{file ? <CopyButton text={file.content} label={`Copy ${file.path}`} /> : null}
|
|
509
601
|
</div>
|
|
510
602
|
<div className="docs-demo-source-body" tabIndex={0} aria-label={file ? `${file.path} source` : undefined}>
|