@nowline/preview-shell 0.7.0 → 0.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/apply-result.d.ts +46 -0
- package/dist/apply-result.d.ts.map +1 -0
- package/dist/apply-result.js +82 -0
- package/dist/apply-result.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/markup.js +2 -2
- package/dist/mount.d.ts +6 -0
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +22 -3
- package/dist/mount.js.map +1 -1
- package/dist/styles.d.ts +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +4 -1
- package/dist/styles.js.map +1 -1
- package/package.json +2 -2
- package/src/apply-result.ts +89 -0
- package/src/index.ts +6 -0
- package/src/markup.ts +2 -2
- package/src/mount.ts +25 -3
- package/src/styles.ts +4 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { DiagnosticRow, RenderResult } from '@nowline/browser';
|
|
2
|
+
import type { NowOverride, PreviewHandle, ThemeOverride } from './mount.js';
|
|
3
|
+
/**
|
|
4
|
+
* Maps the browser pipeline's `RenderResult` to the VS Code extension
|
|
5
|
+
* host's `RenderOutcome` shape. Warnings on the svg branch are silently
|
|
6
|
+
* dropped — a successful render shows the diagram, not an overlay. Use
|
|
7
|
+
* this in host-side rendering (e.g. `render-pipeline.ts`) so the
|
|
8
|
+
* svg-vs-diagnostics decision has one source of truth.
|
|
9
|
+
*
|
|
10
|
+
* This is the type-level twin of `applyRenderResult` for surfaces that
|
|
11
|
+
* split the "decide" step from the "apply to shell" step (e.g. VS Code,
|
|
12
|
+
* where the extension host decides and the webview applies separately).
|
|
13
|
+
*/
|
|
14
|
+
export declare function classifyRenderResult(result: RenderResult): {
|
|
15
|
+
kind: 'svg';
|
|
16
|
+
svg: string;
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'diagnostics';
|
|
19
|
+
rows: DiagnosticRow[];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Apply a `RenderResult` to a `PreviewHandle` using the shared convention:
|
|
23
|
+
* svg shows the diagram; error diagnostics trigger the overlay; non-error
|
|
24
|
+
* warnings/insights on a successful render show the non-dimming table.
|
|
25
|
+
*
|
|
26
|
+
* Call this (or override it in `mountLivePreview`) instead of calling
|
|
27
|
+
* `setSvg` / `setDiagnostics` by hand in every surface.
|
|
28
|
+
*/
|
|
29
|
+
export declare function applyRenderResult(handle: PreviewHandle, result: RenderResult): void;
|
|
30
|
+
/**
|
|
31
|
+
* Coerce a shell `ThemeOverride` to the renderer's `ThemeName`.
|
|
32
|
+
* `'auto'` and `undefined` both return `undefined` so the renderer uses
|
|
33
|
+
* its own default — matches the embed's `theme: 'auto'` posture and lets
|
|
34
|
+
* the renderer respond to `prefers-color-scheme` when it supports it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function themeOverrideToDiagramTheme(theme: ThemeOverride | undefined): 'light' | 'dark' | 'grayscale' | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Coerce a shell `NowOverride` to the `today` input accepted by
|
|
39
|
+
* `renderSource`.
|
|
40
|
+
*
|
|
41
|
+
* - `'today'` / `undefined` → `undefined` (pipeline uses local civil date).
|
|
42
|
+
* - `'hide'` → `null` (suppresses the now-line).
|
|
43
|
+
* - `'YYYY-MM-DD'` → passes through so the pipeline parses it.
|
|
44
|
+
*/
|
|
45
|
+
export declare function nowOverrideToToday(now: NowOverride | undefined): Date | string | null | undefined;
|
|
46
|
+
//# sourceMappingURL=apply-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-result.d.ts","sourceRoot":"","sources":["../src/apply-result.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,YAAY,GACrB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAI/E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CASnF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,aAAa,GAAG,SAAS,GACjC,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAY5C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAIjG"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Pure convention helpers — the one-definition home for the shared rule that
|
|
2
|
+
// every surface driving @nowline/preview-shell with @nowline/browser follows:
|
|
3
|
+
//
|
|
4
|
+
// "A successful render shows the diagram. Warnings do not veil it.
|
|
5
|
+
// Only errors trigger the diagnostics overlay."
|
|
6
|
+
//
|
|
7
|
+
// These functions have **no runtime dependency on @nowline/browser**. They
|
|
8
|
+
// import only its types so preview-shell's bundle stays free of the
|
|
9
|
+
// parse/layout/render engine — VS Code's webview can still use mountPreview
|
|
10
|
+
// directly without pulling in Langium.
|
|
11
|
+
//
|
|
12
|
+
// Convention reference: specs/architecture.md § Surfaces / @nowline/preview-shell.
|
|
13
|
+
/**
|
|
14
|
+
* Maps the browser pipeline's `RenderResult` to the VS Code extension
|
|
15
|
+
* host's `RenderOutcome` shape. Warnings on the svg branch are silently
|
|
16
|
+
* dropped — a successful render shows the diagram, not an overlay. Use
|
|
17
|
+
* this in host-side rendering (e.g. `render-pipeline.ts`) so the
|
|
18
|
+
* svg-vs-diagnostics decision has one source of truth.
|
|
19
|
+
*
|
|
20
|
+
* This is the type-level twin of `applyRenderResult` for surfaces that
|
|
21
|
+
* split the "decide" step from the "apply to shell" step (e.g. VS Code,
|
|
22
|
+
* where the extension host decides and the webview applies separately).
|
|
23
|
+
*/
|
|
24
|
+
export function classifyRenderResult(result) {
|
|
25
|
+
return result.kind === 'svg'
|
|
26
|
+
? { kind: 'svg', svg: result.svg }
|
|
27
|
+
: { kind: 'diagnostics', rows: result.diagnostics };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Apply a `RenderResult` to a `PreviewHandle` using the shared convention:
|
|
31
|
+
* svg shows the diagram; error diagnostics trigger the overlay; non-error
|
|
32
|
+
* warnings/insights on a successful render show the non-dimming table.
|
|
33
|
+
*
|
|
34
|
+
* Call this (or override it in `mountLivePreview`) instead of calling
|
|
35
|
+
* `setSvg` / `setDiagnostics` by hand in every surface.
|
|
36
|
+
*/
|
|
37
|
+
export function applyRenderResult(handle, result) {
|
|
38
|
+
if (result.kind === 'svg') {
|
|
39
|
+
handle.setSvg(result.svg);
|
|
40
|
+
if (result.warnings.length > 0) {
|
|
41
|
+
handle.setDiagnostics(result.warnings);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
handle.setDiagnostics(result.diagnostics);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Coerce a shell `ThemeOverride` to the renderer's `ThemeName`.
|
|
50
|
+
* `'auto'` and `undefined` both return `undefined` so the renderer uses
|
|
51
|
+
* its own default — matches the embed's `theme: 'auto'` posture and lets
|
|
52
|
+
* the renderer respond to `prefers-color-scheme` when it supports it.
|
|
53
|
+
*/
|
|
54
|
+
export function themeOverrideToDiagramTheme(theme) {
|
|
55
|
+
switch (theme) {
|
|
56
|
+
case 'light':
|
|
57
|
+
return 'light';
|
|
58
|
+
case 'dark':
|
|
59
|
+
return 'dark';
|
|
60
|
+
case 'grayscale':
|
|
61
|
+
case 'greyscale':
|
|
62
|
+
return 'grayscale';
|
|
63
|
+
default:
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Coerce a shell `NowOverride` to the `today` input accepted by
|
|
69
|
+
* `renderSource`.
|
|
70
|
+
*
|
|
71
|
+
* - `'today'` / `undefined` → `undefined` (pipeline uses local civil date).
|
|
72
|
+
* - `'hide'` → `null` (suppresses the now-line).
|
|
73
|
+
* - `'YYYY-MM-DD'` → passes through so the pipeline parses it.
|
|
74
|
+
*/
|
|
75
|
+
export function nowOverrideToToday(now) {
|
|
76
|
+
if (now === undefined || now === 'today')
|
|
77
|
+
return undefined;
|
|
78
|
+
if (now === 'hide')
|
|
79
|
+
return null;
|
|
80
|
+
return now;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=apply-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-result.js","sourceRoot":"","sources":["../src/apply-result.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8EAA8E;AAC9E,EAAE;AACF,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,2EAA2E;AAC3E,oEAAoE;AACpE,4EAA4E;AAC5E,uCAAuC;AACvC,EAAE;AACF,mFAAmF;AAKnF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK;QACxB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAoB;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACvC,KAAgC;IAEhC,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,OAAO;YACR,OAAO,OAAO,CAAC;QACnB,KAAK,MAAM;YACP,OAAO,MAAM,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC;QACvB;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA4B;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3D,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { DiagnosticRow } from '@nowline/browser';
|
|
2
|
+
export { applyRenderResult, classifyRenderResult, nowOverrideToToday, themeOverrideToDiagramTheme, } from './apply-result.js';
|
|
2
3
|
export { __resetPreviewShellStylesheetForTests, type DiagnosticGoto, type ExportRequest, type InitialFit, type MountPreviewOptions, mountPreview, type NowOverride, type PreviewHandle, type ThemeOverride, type ViewBaseline, type ViewOptionsOverrides, } from './mount.js';
|
|
3
4
|
export { PREVIEW_SHELL_CSS, VSCODE_THEME_BRIDGE_CSS } from './styles.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACH,qCAAqC,EACrC,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,qCAAqC,EACrC,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// imperative handle. Consumers feed in SVG + diagnostics; user
|
|
6
6
|
// interactions surface via callback options. No assumed text editor,
|
|
7
7
|
// no assumed message bus, no VS Code coupling.
|
|
8
|
+
export { applyRenderResult, classifyRenderResult, nowOverrideToToday, themeOverrideToDiagramTheme, } from './apply-result.js';
|
|
8
9
|
export { __resetPreviewShellStylesheetForTests, mountPreview, } from './mount.js';
|
|
9
10
|
export { PREVIEW_SHELL_CSS, VSCODE_THEME_BRIDGE_CSS } from './styles.js';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,+DAA+D;AAC/D,qEAAqE;AACrE,+CAA+C;AAG/C,OAAO,EACH,qCAAqC,EAKrC,YAAY,GAMf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,+DAA+D;AAC/D,qEAAqE;AACrE,+CAA+C;AAG/C,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,qCAAqC,EAKrC,YAAY,GAMf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/markup.js
CHANGED
|
@@ -24,7 +24,7 @@ const TEMPLATE = `
|
|
|
24
24
|
<div class="dropdown">
|
|
25
25
|
<button class="btn more-toggle" title="More options">\u25be more</button>
|
|
26
26
|
<div class="more-menu" hidden>
|
|
27
|
-
<div class="more-row">
|
|
27
|
+
<div class="more-row format-control-row">
|
|
28
28
|
<span class="more-label">Format:</span>
|
|
29
29
|
<div class="dropdown">
|
|
30
30
|
<button class="btn more-sub-toggle format-toggle">SVG \u25be</button>
|
|
@@ -38,7 +38,7 @@ const TEMPLATE = `
|
|
|
38
38
|
<button class="btn copy-action" title="Copy to clipboard"><span>Copy</span><span class="action-ico" aria-hidden="true">${COPY_ICON}</span></button>
|
|
39
39
|
<button class="btn export-action" title="Export file"><span>Export</span><span class="action-ico" aria-hidden="true">${DOWNLOAD_ICON}</span></button>
|
|
40
40
|
</div>
|
|
41
|
-
<div class="more-divider"></div>
|
|
41
|
+
<div class="more-divider export-divider"></div>
|
|
42
42
|
<div class="more-row theme-control-row">
|
|
43
43
|
<span class="more-label">Theme:</span>
|
|
44
44
|
<div class="dropdown">
|
package/dist/mount.d.ts
CHANGED
|
@@ -70,6 +70,12 @@ export interface MountPreviewOptions {
|
|
|
70
70
|
* Defaults to `'show'`.
|
|
71
71
|
*/
|
|
72
72
|
themeControl?: 'show' | 'hide';
|
|
73
|
+
/**
|
|
74
|
+
* Whether to show Format / Copy / Export in the more-menu.
|
|
75
|
+
* Defaults to `'show'`. Hide in sandboxed hosts (e.g. MCP Apps)
|
|
76
|
+
* where clipboard/download are unreliable and export is tool-owned.
|
|
77
|
+
*/
|
|
78
|
+
exportControls?: 'show' | 'hide';
|
|
73
79
|
/**
|
|
74
80
|
* Diagram themes available in the Theme dropdown. **Auto** is
|
|
75
81
|
* always prepended. Defaults to `['light', 'dark', 'grayscale']`.
|
package/dist/mount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|
package/dist/mount.js
CHANGED
|
@@ -362,11 +362,18 @@ export function mountPreview(rootEl, options = {}) {
|
|
|
362
362
|
}
|
|
363
363
|
function showDiagnosticsMode(rows) {
|
|
364
364
|
els.empty.classList.add('hidden');
|
|
365
|
-
|
|
365
|
+
populateDiagnostics(rows);
|
|
366
|
+
// Dim the (now stale) diagram only when an error blocked a fresh
|
|
367
|
+
// render. Warnings accompany a valid diagram — setDiagnostics([])
|
|
368
|
+
// or an all-warning list should never veil the canvas.
|
|
369
|
+
const hasError = rows.some((r) => r.severity === 'error');
|
|
370
|
+
if (state.svgString && hasError) {
|
|
366
371
|
els.canvas.classList.add('dimmed');
|
|
367
372
|
}
|
|
368
|
-
|
|
369
|
-
|
|
373
|
+
else {
|
|
374
|
+
els.canvas.classList.remove('dimmed');
|
|
375
|
+
}
|
|
376
|
+
els.diagnostics.classList.toggle('show', rows.length > 0);
|
|
370
377
|
}
|
|
371
378
|
function showFatal(message) {
|
|
372
379
|
const fakeRow = {
|
|
@@ -1095,6 +1102,18 @@ export function mountPreview(rootEl, options = {}) {
|
|
|
1095
1102
|
if (themeRow)
|
|
1096
1103
|
themeRow.style.display = 'none';
|
|
1097
1104
|
}
|
|
1105
|
+
// ===== Export control visibility =====
|
|
1106
|
+
if (options.exportControls === 'hide') {
|
|
1107
|
+
const formatRow = els.formatMenu.closest('.format-control-row');
|
|
1108
|
+
if (formatRow)
|
|
1109
|
+
formatRow.style.display = 'none';
|
|
1110
|
+
const actionRow = els.copyAction.closest('.action-row');
|
|
1111
|
+
if (actionRow)
|
|
1112
|
+
actionRow.style.display = 'none';
|
|
1113
|
+
const exportDivider = els.moreMenu.querySelector('.export-divider');
|
|
1114
|
+
if (exportDivider)
|
|
1115
|
+
exportDivider.style.display = 'none';
|
|
1116
|
+
}
|
|
1098
1117
|
// ===== Apply initial theme menu + baselines =====
|
|
1099
1118
|
buildThemeMenu(options.availableThemes ?? ['light', 'dark', 'grayscale']);
|
|
1100
1119
|
if (options.viewBaseline) {
|
package/dist/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.d.ts
CHANGED
|
@@ -13,5 +13,5 @@ export declare const VSCODE_THEME_BRIDGE_CSS = "\n:root {\n --nl-preview-bg:
|
|
|
13
13
|
* for every `--nl-preview-*` token and both dark/light `--nl-chrome-*`
|
|
14
14
|
* palettes so the viewport works on a blank page without any bridge CSS.
|
|
15
15
|
*/
|
|
16
|
-
export declare const PREVIEW_SHELL_CSS = "\n:root {\n color-scheme: light dark;\n --nl-preview-bg: #1e1e1e;\n --nl-preview-fg: #d4d4d4;\n --nl-preview-font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --nl-preview-font-size: 13px;\n --nl-preview-widget-bg: rgba(40,40,40,0.9);\n --nl-preview-widget-border: rgba(255,255,255,0.1);\n --nl-preview-description: #999;\n --nl-preview-error: #f48771;\n --nl-preview-warning: #cca700;\n --nl-preview-link: #3794ff;\n --nl-preview-focus: #007acc;\n --nl-preview-code-bg: rgba(255,255,255,0.05);\n --nl-preview-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n.nl-preview-root {\n position: relative;\n width: 100%; height: 100%;\n background: var(--nl-preview-bg);\n color: var(--nl-preview-fg);\n font-family: var(--nl-preview-font-family);\n font-size: var(--nl-preview-font-size);\n overflow: hidden;\n /* Shared positioning gutter for all floating elements */\n --nl-preview-gutter: 8px;\n /* Chrome palette \u2014 dark default */\n --nl-chrome-bg: rgba(30, 30, 30, 0.93);\n --nl-chrome-border: rgba(255, 255, 255, 0.11);\n --nl-chrome-fg: #d4d4d4;\n --nl-chrome-hover: rgba(255, 255, 255, 0.08);\n --nl-chrome-active: rgba(255, 255, 255, 0.13);\n --nl-chrome-muted: #888;\n --nl-chrome-chip-bg: rgba(255, 255, 255, 0.07);\n --nl-chrome-shadow: rgba(0, 0, 0, 0.32);\n}\n/* Chrome palette \u2014 light mode override (driven by data-nl-mode, never by workbench) */\n.nl-preview-root[data-nl-mode=\"light\"] {\n --nl-chrome-bg: rgba(248, 248, 248, 0.96);\n --nl-chrome-border: rgba(0, 0, 0, 0.13);\n --nl-chrome-fg: #3c3c3c;\n --nl-chrome-hover: rgba(0, 0, 0, 0.06);\n --nl-chrome-active: rgba(0, 0, 0, 0.10);\n --nl-chrome-muted: #717171;\n --nl-chrome-chip-bg: rgba(0, 0, 0, 0.06);\n --nl-chrome-shadow: rgba(0, 0, 0, 0.14);\n}\n.nl-preview-root .viewport {\n position: absolute; inset: 0;\n overflow: auto;\n display: flex;\n}\n.nl-preview-root .canvas {\n /* flex-shrink:0 + margin:auto: centers the diagram when it fits,\n allows overflow scroll when it's larger than the viewport */\n flex-shrink: 0;\n margin: auto;\n transform-origin: 0 0;\n will-change: transform;\n}\n.nl-preview-root .canvas svg { display: block; max-width: none; height: auto; }\n.nl-preview-root .canvas.dimmed { opacity: 0.25; pointer-events: none; }\n\n/* === Toolbar (floating, repositionable) === */\n.nl-preview-root .chrome {\n position: absolute;\n top: var(--nl-preview-gutter);\n right: var(--nl-preview-gutter);\n display: flex; gap: 4px;\n /* Keep the toolbar at its natural width so a narrowing viewport\n shifts it left (handled in JS) instead of squishing the row. */\n width: max-content;\n transition: opacity 200ms ease;\n z-index: 10;\n}\n.nl-preview-root .chrome.faded { opacity: 0.2; pointer-events: none; }\n.nl-preview-root .chrome:hover { opacity: 1; pointer-events: auto; }\n.nl-preview-root .toolbar {\n display: flex; align-items: center; gap: 2px;\n flex-wrap: nowrap;\n white-space: nowrap;\n padding: 2px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 2px 8px var(--nl-chrome-shadow);\n color: var(--nl-chrome-fg);\n user-select: none;\n}\n\n/* Collapsed puck: hide everything but the drag grip + restore arrow,\n and dim it so it stays out of the way until hovered. */\n.nl-preview-root .restore-btn { display: none; }\n.nl-preview-root .chrome.collapsed .toolbar > :not(.toolbar-handle):not(.restore-btn) {\n display: none;\n}\n.nl-preview-root .chrome.collapsed .restore-btn { display: inline-flex; }\n.nl-preview-root .chrome.collapsed .toolbar { opacity: 0.55; }\n.nl-preview-root .chrome.collapsed:hover .toolbar { opacity: 1; }\n.nl-preview-root .toolbar .sep {\n width: 1px; height: 18px;\n background: var(--nl-chrome-border);\n margin: 0 3px;\n flex-shrink: 0;\n}\n.nl-preview-root .toolbar-handle {\n display: flex; align-items: center; justify-content: center;\n padding: 4px 5px;\n cursor: grab;\n color: var(--nl-chrome-muted);\n font-size: 13px;\n line-height: 1;\n opacity: 0.7;\n flex-shrink: 0;\n touch-action: none;\n}\n.nl-preview-root .toolbar-handle:hover { opacity: 1; }\n.nl-preview-root .chrome.dragging .toolbar-handle { cursor: grabbing; }\n.nl-preview-root .btn {\n appearance: none;\n background: transparent;\n color: inherit;\n border: 0;\n padding: 3px 7px;\n border-radius: 4px;\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n line-height: 1;\n min-width: 20px;\n flex-shrink: 0;\n /* Suppress the sticky focus ring left behind after a mouse click;\n keyboard focus is restored via :focus-visible below. */\n outline: none;\n}\n.nl-preview-root .btn:hover { background: var(--nl-chrome-hover); }\n.nl-preview-root .btn:active { background: var(--nl-chrome-active); }\n.nl-preview-root .btn:focus-visible {\n outline: 1px solid var(--nl-preview-focus);\n outline-offset: -1px;\n}\n.nl-preview-root .btn.zoom-label {\n min-width: 44px;\n font-variant-numeric: tabular-nums;\n}\n.nl-preview-root .btn.glyph { font-size: 15px; line-height: 1; padding: 3px 5px; }\n.nl-preview-root .dropdown { position: relative; }\n\n/* === More-menu panel === */\n.nl-preview-root .more-menu {\n position: absolute; top: calc(100% + 4px); right: 0;\n padding: 5px;\n min-width: 210px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 14px var(--nl-chrome-shadow);\n z-index: 20;\n color: var(--nl-chrome-fg);\n}\n/* Opens right-aligned by default; flipped to left-aligned in JS when the\n toolbar sits near the left edge and the menu would clip the gutter. */\n.nl-preview-root .more-menu.flip { right: auto; left: 0; }\n.nl-preview-root .more-row {\n display: flex; align-items: center; justify-content: space-between;\n padding: 2px 4px;\n gap: 8px;\n}\n.nl-preview-root .more-row.action-row {\n gap: 6px;\n justify-content: stretch;\n padding-top: 6px;\n padding-bottom: 2px;\n}\n/* Copy / Export each take half the row and center their label+icon. */\n.nl-preview-root .action-row .btn {\n flex: 1 1 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n}\n.nl-preview-root .action-ico { display: inline-flex; line-height: 0; }\n.nl-preview-root .action-ico svg { display: block; }\n.nl-preview-root .more-label {\n font-size: 0.88em;\n color: var(--nl-chrome-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n.nl-preview-root .more-divider {\n height: 1px;\n margin: 4px 0;\n background: var(--nl-chrome-border);\n}\n\n/* === Sub-menus inside more-menu === */\n.nl-preview-root .more-sub-toggle {\n font-size: 0.88em;\n padding: 3px 6px;\n}\n.nl-preview-root .more-sub-menu {\n position: absolute; top: calc(100% + 2px); left: 0;\n list-style: none; padding: 4px;\n /* Size to the widest option (plus the checkmark gutter) rather than\n a fixed min-width, so there's no dead whitespace to the right. */\n width: max-content; min-width: 0; max-width: 280px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--nl-chrome-shadow);\n z-index: 25;\n color: var(--nl-chrome-fg);\n}\n/* Flyout flipped to open toward the left (set in JS when the default\n right-ward opening would overflow the viewport gutter). */\n.nl-preview-root .more-sub-menu.flip { left: auto; right: 0; }\n.nl-preview-root .more-sub-menu li { padding: 0; }\n.nl-preview-root .more-sub-menu .btn {\n display: block; width: 100%; text-align: left;\n /* Generous left gutter keeps the checkmark off the label text. */\n padding: 5px 12px 5px 26px;\n position: relative;\n font-size: 0.88em;\n}\n.nl-preview-root .more-sub-menu .btn[data-active=\"true\"]::before {\n content: '\\2713';\n position: absolute;\n left: 9px;\n}\n\n/* === Code-style chip for real theme/format tokens === */\n.nl-preview-root .code-chip {\n font-family: var(--nl-preview-mono);\n font-size: 0.9em;\n background: var(--nl-chrome-chip-bg);\n border-radius: 3px;\n padding: 1px 4px;\n font-style: normal;\n}\n\n/* === Diagnostic overlay menu (for old .menu usage in diagnostics) === */\n.nl-preview-root .menu {\n position: absolute; top: 100%; right: 0; margin-top: 4px;\n list-style: none; padding: 4px; min-width: 140px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--nl-chrome-shadow);\n z-index: 20;\n color: var(--nl-chrome-fg);\n}\n.nl-preview-root .menu li { padding: 0; }\n.nl-preview-root .menu .btn {\n display: block; width: 100%; text-align: left;\n padding: 6px 10px;\n}\n.nl-preview-root .menu li.menu-section {\n padding: 4px 10px 2px;\n font-size: 0.85em;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--nl-chrome-muted);\n}\n.nl-preview-root .menu li.menu-divider {\n height: 1px;\n margin: 4px 6px;\n background: var(--nl-chrome-border);\n}\n\n/* === Minimap (subordinate floating widget) === */\n.nl-preview-root .minimap {\n position: absolute;\n bottom: var(--nl-preview-gutter);\n right: var(--nl-preview-gutter);\n width: 120px; max-height: 90px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 5px;\n overflow: hidden;\n box-shadow: 0 2px 6px var(--nl-chrome-shadow);\n z-index: 8;\n transition: opacity 200ms ease;\n}\n.nl-preview-root .minimap.hidden { display: none; }\n.nl-preview-root .minimap.faded { opacity: 0.2; pointer-events: none; }\n.nl-preview-root .minimap-canvas {\n display: block;\n cursor: pointer;\n user-select: none;\n}\n.nl-preview-root .minimap-canvas svg {\n display: block;\n width: 100%;\n height: auto;\n pointer-events: none;\n}\n.nl-preview-root .minimap-rect {\n position: absolute;\n border: 2px solid var(--nl-preview-focus);\n background-color: color-mix(in srgb, var(--nl-preview-focus) 18%, transparent);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n/* === Calendar picker === */\n.nl-preview-root .now-picker {\n position: absolute; top: calc(100% + 2px); left: 0;\n padding: 8px;\n min-width: 200px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 14px var(--nl-chrome-shadow);\n z-index: 26;\n color: var(--nl-chrome-fg);\n}\n/* Calendar flips to open toward the left when opening rightward would\n push it past the viewport's right gutter (see placeFlyout). */\n.nl-preview-root .now-picker.flip { left: auto; right: 0; }\n.nl-preview-root .cal-nav {\n display: flex; align-items: center; justify-content: space-between;\n margin-bottom: 6px;\n}\n.nl-preview-root .cal-heading {\n font-size: 0.85em;\n font-weight: 600;\n}\n.nl-preview-root .cal-nav-btn {\n padding: 2px 6px;\n min-width: unset;\n font-size: 14px;\n}\n.nl-preview-root .cal-grid {\n display: grid; grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n margin-bottom: 6px;\n}\n.nl-preview-root .cal-dow {\n text-align: center;\n font-size: 0.75em;\n color: var(--nl-chrome-muted);\n padding: 2px 0;\n}\n.nl-preview-root .cal-empty {\n /* placeholder for days before the 1st of the month */\n}\n.nl-preview-root .cal-day {\n padding: 3px 2px;\n min-width: unset;\n font-size: 0.8em;\n text-align: center;\n border-radius: 3px;\n}\n.nl-preview-root .cal-day.is-today { font-weight: 700; }\n.nl-preview-root .cal-day.is-selected {\n background: var(--nl-chrome-hover);\n outline: 1px solid var(--nl-chrome-border);\n}\n.nl-preview-root .cal-footer {\n display: flex; gap: 4px;\n border-top: 1px solid var(--nl-chrome-border);\n padding-top: 6px;\n margin-top: 2px;\n}\n.nl-preview-root .cal-footer-btn {\n flex: 1;\n text-align: center;\n font-size: 0.82em;\n padding: 4px 6px;\n min-width: unset;\n}\n\n/* === Diagnostics overlay === */\n.nl-preview-root .diagnostics {\n position: absolute; left: 0; right: 0; bottom: 0;\n max-height: 60%;\n background: var(--nl-preview-widget-bg);\n border-top: 1px solid var(--nl-preview-widget-border);\n overflow: auto;\n z-index: 12;\n padding: 0;\n display: none;\n}\n.nl-preview-root .diagnostics.show { display: block; }\n.nl-preview-root .diag-header {\n position: sticky; top: 0;\n display: flex; align-items: center; justify-content: space-between;\n padding: 6px 12px;\n background: inherit;\n border-bottom: 1px solid var(--nl-preview-widget-border);\n font-weight: 600;\n}\n.nl-preview-root .diag-summary {\n color: var(--nl-preview-error);\n}\n.nl-preview-root .diag-summary.warn-only {\n color: var(--nl-preview-warning);\n}\n.nl-preview-root .diag-summary.clean {\n color: var(--nl-preview-description);\n font-weight: normal;\n}\n.nl-preview-root .open-problems {\n color: var(--nl-preview-link);\n cursor: pointer;\n text-decoration: none;\n font-weight: normal;\n}\n.nl-preview-root .open-problems:hover { text-decoration: underline; }\n.nl-preview-root .diag-table {\n width: 100%;\n border-collapse: collapse;\n}\n.nl-preview-root .diag-table tr {\n cursor: pointer;\n border-bottom: 1px solid var(--nl-preview-widget-border);\n}\n.nl-preview-root .diag-table tr:hover {\n background: rgba(255,255,255,0.04);\n}\n.nl-preview-root .diag-table td {\n padding: 6px 8px;\n vertical-align: top;\n}\n.nl-preview-root .sev-cell {\n width: 24px; text-align: center;\n font-weight: bold;\n}\n.nl-preview-root .sev-error { color: var(--nl-preview-error); }\n.nl-preview-root .sev-warning { color: var(--nl-preview-warning); }\n.nl-preview-root .loc-cell {\n white-space: nowrap;\n color: var(--nl-preview-description);\n font-variant-numeric: tabular-nums;\n width: 90px;\n}\n.nl-preview-root .code-cell {\n white-space: nowrap;\n width: 1%;\n}\n.nl-preview-root .code-pill {\n display: inline-block;\n padding: 1px 6px;\n border-radius: 3px;\n background: var(--nl-preview-code-bg);\n color: var(--nl-preview-description);\n font-family: var(--nl-preview-mono);\n font-size: 0.9em;\n}\n.nl-preview-root .msg-cell { word-break: break-word; }\n.nl-preview-root .suggestion {\n display: block; margin-top: 2px;\n color: var(--nl-preview-description);\n font-style: italic;\n font-size: 0.95em;\n}\n\n/* === Empty state === */\n.nl-preview-root .empty {\n position: absolute; inset: 0;\n display: flex; align-items: center; justify-content: center;\n color: var(--nl-preview-description);\n pointer-events: none;\n}\n.nl-preview-root .empty.hidden { display: none; }\n";
|
|
16
|
+
export declare const PREVIEW_SHELL_CSS = "\n:root {\n color-scheme: light dark;\n --nl-preview-bg: #1e1e1e;\n --nl-preview-fg: #d4d4d4;\n --nl-preview-font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --nl-preview-font-size: 13px;\n --nl-preview-widget-bg: rgba(40,40,40,0.9);\n --nl-preview-widget-border: rgba(255,255,255,0.1);\n --nl-preview-description: #999;\n --nl-preview-error: #f48771;\n --nl-preview-warning: #cca700;\n --nl-preview-link: #3794ff;\n --nl-preview-focus: #007acc;\n --nl-preview-code-bg: rgba(255,255,255,0.05);\n --nl-preview-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n.nl-preview-root {\n position: relative;\n width: 100%; height: 100%;\n background: var(--nl-preview-bg);\n color: var(--nl-preview-fg);\n font-family: var(--nl-preview-font-family);\n font-size: var(--nl-preview-font-size);\n overflow: hidden;\n /* Shared positioning gutter for all floating elements */\n --nl-preview-gutter: 8px;\n /* Chrome palette \u2014 dark default */\n --nl-chrome-bg: rgba(30, 30, 30, 0.93);\n --nl-chrome-border: rgba(255, 255, 255, 0.11);\n --nl-chrome-fg: #d4d4d4;\n --nl-chrome-hover: rgba(255, 255, 255, 0.08);\n --nl-chrome-active: rgba(255, 255, 255, 0.13);\n --nl-chrome-muted: #888;\n --nl-chrome-chip-bg: rgba(255, 255, 255, 0.07);\n --nl-chrome-shadow: rgba(0, 0, 0, 0.32);\n}\n/* Chrome + viewport palette \u2014 light mode override (driven by data-nl-mode, never by workbench) */\n.nl-preview-root[data-nl-mode=\"light\"] {\n /* Viewport background: white matches the embed's default canvas. */\n --nl-preview-bg: #ffffff;\n --nl-preview-fg: #1e1e1e;\n --nl-chrome-bg: rgba(248, 248, 248, 0.96);\n --nl-chrome-border: rgba(0, 0, 0, 0.13);\n --nl-chrome-fg: #3c3c3c;\n --nl-chrome-hover: rgba(0, 0, 0, 0.06);\n --nl-chrome-active: rgba(0, 0, 0, 0.10);\n --nl-chrome-muted: #717171;\n --nl-chrome-chip-bg: rgba(0, 0, 0, 0.06);\n --nl-chrome-shadow: rgba(0, 0, 0, 0.14);\n}\n.nl-preview-root .viewport {\n position: absolute; inset: 0;\n overflow: auto;\n display: flex;\n}\n.nl-preview-root .canvas {\n /* flex-shrink:0 + margin:auto: centers the diagram when it fits,\n allows overflow scroll when it's larger than the viewport */\n flex-shrink: 0;\n margin: auto;\n transform-origin: 0 0;\n will-change: transform;\n}\n.nl-preview-root .canvas svg { display: block; max-width: none; height: auto; }\n.nl-preview-root .canvas.dimmed { opacity: 0.25; pointer-events: none; }\n\n/* === Toolbar (floating, repositionable) === */\n.nl-preview-root .chrome {\n position: absolute;\n top: var(--nl-preview-gutter);\n right: var(--nl-preview-gutter);\n display: flex; gap: 4px;\n /* Keep the toolbar at its natural width so a narrowing viewport\n shifts it left (handled in JS) instead of squishing the row. */\n width: max-content;\n transition: opacity 200ms ease;\n z-index: 10;\n}\n.nl-preview-root .chrome.faded { opacity: 0.2; pointer-events: none; }\n.nl-preview-root .chrome:hover { opacity: 1; pointer-events: auto; }\n.nl-preview-root .toolbar {\n display: flex; align-items: center; gap: 2px;\n flex-wrap: nowrap;\n white-space: nowrap;\n padding: 2px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 2px 8px var(--nl-chrome-shadow);\n color: var(--nl-chrome-fg);\n user-select: none;\n}\n\n/* Collapsed puck: hide everything but the drag grip + restore arrow,\n and dim it so it stays out of the way until hovered. */\n.nl-preview-root .restore-btn { display: none; }\n.nl-preview-root .chrome.collapsed .toolbar > :not(.toolbar-handle):not(.restore-btn) {\n display: none;\n}\n.nl-preview-root .chrome.collapsed .restore-btn { display: inline-flex; }\n.nl-preview-root .chrome.collapsed .toolbar { opacity: 0.55; }\n.nl-preview-root .chrome.collapsed:hover .toolbar { opacity: 1; }\n.nl-preview-root .toolbar .sep {\n width: 1px; height: 18px;\n background: var(--nl-chrome-border);\n margin: 0 3px;\n flex-shrink: 0;\n}\n.nl-preview-root .toolbar-handle {\n display: flex; align-items: center; justify-content: center;\n padding: 4px 5px;\n cursor: grab;\n color: var(--nl-chrome-muted);\n font-size: 13px;\n line-height: 1;\n opacity: 0.7;\n flex-shrink: 0;\n touch-action: none;\n}\n.nl-preview-root .toolbar-handle:hover { opacity: 1; }\n.nl-preview-root .chrome.dragging .toolbar-handle { cursor: grabbing; }\n.nl-preview-root .btn {\n appearance: none;\n background: transparent;\n color: inherit;\n border: 0;\n padding: 3px 7px;\n border-radius: 4px;\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n line-height: 1;\n min-width: 20px;\n flex-shrink: 0;\n /* Suppress the sticky focus ring left behind after a mouse click;\n keyboard focus is restored via :focus-visible below. */\n outline: none;\n}\n.nl-preview-root .btn:hover { background: var(--nl-chrome-hover); }\n.nl-preview-root .btn:active { background: var(--nl-chrome-active); }\n.nl-preview-root .btn:focus-visible {\n outline: 1px solid var(--nl-preview-focus);\n outline-offset: -1px;\n}\n.nl-preview-root .btn.zoom-label {\n min-width: 44px;\n font-variant-numeric: tabular-nums;\n}\n.nl-preview-root .btn.glyph { font-size: 15px; line-height: 1; padding: 3px 5px; }\n.nl-preview-root .dropdown { position: relative; }\n\n/* === More-menu panel === */\n.nl-preview-root .more-menu {\n position: absolute; top: calc(100% + 4px); right: 0;\n padding: 5px;\n min-width: 210px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 14px var(--nl-chrome-shadow);\n z-index: 20;\n color: var(--nl-chrome-fg);\n}\n/* Opens right-aligned by default; flipped to left-aligned in JS when the\n toolbar sits near the left edge and the menu would clip the gutter. */\n.nl-preview-root .more-menu.flip { right: auto; left: 0; }\n.nl-preview-root .more-row {\n display: flex; align-items: center; justify-content: space-between;\n padding: 2px 4px;\n gap: 8px;\n}\n.nl-preview-root .more-row.action-row {\n gap: 6px;\n justify-content: stretch;\n padding-top: 6px;\n padding-bottom: 2px;\n}\n/* Copy / Export each take half the row and center their label+icon. */\n.nl-preview-root .action-row .btn {\n flex: 1 1 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n}\n.nl-preview-root .action-ico { display: inline-flex; line-height: 0; }\n.nl-preview-root .action-ico svg { display: block; }\n.nl-preview-root .more-label {\n font-size: 0.88em;\n color: var(--nl-chrome-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n.nl-preview-root .more-divider {\n height: 1px;\n margin: 4px 0;\n background: var(--nl-chrome-border);\n}\n\n/* === Sub-menus inside more-menu === */\n.nl-preview-root .more-sub-toggle {\n font-size: 0.88em;\n padding: 3px 6px;\n}\n.nl-preview-root .more-sub-menu {\n position: absolute; top: calc(100% + 2px); left: 0;\n list-style: none; padding: 4px;\n /* Size to the widest option (plus the checkmark gutter) rather than\n a fixed min-width, so there's no dead whitespace to the right. */\n width: max-content; min-width: 0; max-width: 280px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--nl-chrome-shadow);\n z-index: 25;\n color: var(--nl-chrome-fg);\n}\n/* Flyout flipped to open toward the left (set in JS when the default\n right-ward opening would overflow the viewport gutter). */\n.nl-preview-root .more-sub-menu.flip { left: auto; right: 0; }\n.nl-preview-root .more-sub-menu li { padding: 0; }\n.nl-preview-root .more-sub-menu .btn {\n display: block; width: 100%; text-align: left;\n /* Generous left gutter keeps the checkmark off the label text. */\n padding: 5px 12px 5px 26px;\n position: relative;\n font-size: 0.88em;\n}\n.nl-preview-root .more-sub-menu .btn[data-active=\"true\"]::before {\n content: '\\2713';\n position: absolute;\n left: 9px;\n}\n\n/* === Code-style chip for real theme/format tokens === */\n.nl-preview-root .code-chip {\n font-family: var(--nl-preview-mono);\n font-size: 0.9em;\n background: var(--nl-chrome-chip-bg);\n border-radius: 3px;\n padding: 1px 4px;\n font-style: normal;\n}\n\n/* === Diagnostic overlay menu (for old .menu usage in diagnostics) === */\n.nl-preview-root .menu {\n position: absolute; top: 100%; right: 0; margin-top: 4px;\n list-style: none; padding: 4px; min-width: 140px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--nl-chrome-shadow);\n z-index: 20;\n color: var(--nl-chrome-fg);\n}\n.nl-preview-root .menu li { padding: 0; }\n.nl-preview-root .menu .btn {\n display: block; width: 100%; text-align: left;\n padding: 6px 10px;\n}\n.nl-preview-root .menu li.menu-section {\n padding: 4px 10px 2px;\n font-size: 0.85em;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--nl-chrome-muted);\n}\n.nl-preview-root .menu li.menu-divider {\n height: 1px;\n margin: 4px 6px;\n background: var(--nl-chrome-border);\n}\n\n/* === Minimap (subordinate floating widget) === */\n.nl-preview-root .minimap {\n position: absolute;\n bottom: var(--nl-preview-gutter);\n right: var(--nl-preview-gutter);\n width: 120px; max-height: 90px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 5px;\n overflow: hidden;\n box-shadow: 0 2px 6px var(--nl-chrome-shadow);\n z-index: 8;\n transition: opacity 200ms ease;\n}\n.nl-preview-root .minimap.hidden { display: none; }\n.nl-preview-root .minimap.faded { opacity: 0.2; pointer-events: none; }\n.nl-preview-root .minimap-canvas {\n display: block;\n cursor: pointer;\n user-select: none;\n}\n.nl-preview-root .minimap-canvas svg {\n display: block;\n width: 100%;\n height: auto;\n pointer-events: none;\n}\n.nl-preview-root .minimap-rect {\n position: absolute;\n border: 2px solid var(--nl-preview-focus);\n background-color: color-mix(in srgb, var(--nl-preview-focus) 18%, transparent);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n/* === Calendar picker === */\n.nl-preview-root .now-picker {\n position: absolute; top: calc(100% + 2px); left: 0;\n padding: 8px;\n min-width: 200px;\n background: var(--nl-chrome-bg);\n border: 1px solid var(--nl-chrome-border);\n border-radius: 6px;\n box-shadow: 0 4px 14px var(--nl-chrome-shadow);\n z-index: 26;\n color: var(--nl-chrome-fg);\n}\n/* Calendar flips to open toward the left when opening rightward would\n push it past the viewport's right gutter (see placeFlyout). */\n.nl-preview-root .now-picker.flip { left: auto; right: 0; }\n.nl-preview-root .cal-nav {\n display: flex; align-items: center; justify-content: space-between;\n margin-bottom: 6px;\n}\n.nl-preview-root .cal-heading {\n font-size: 0.85em;\n font-weight: 600;\n}\n.nl-preview-root .cal-nav-btn {\n padding: 2px 6px;\n min-width: unset;\n font-size: 14px;\n}\n.nl-preview-root .cal-grid {\n display: grid; grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n margin-bottom: 6px;\n}\n.nl-preview-root .cal-dow {\n text-align: center;\n font-size: 0.75em;\n color: var(--nl-chrome-muted);\n padding: 2px 0;\n}\n.nl-preview-root .cal-empty {\n /* placeholder for days before the 1st of the month */\n}\n.nl-preview-root .cal-day {\n padding: 3px 2px;\n min-width: unset;\n font-size: 0.8em;\n text-align: center;\n border-radius: 3px;\n}\n.nl-preview-root .cal-day.is-today { font-weight: 700; }\n.nl-preview-root .cal-day.is-selected {\n background: var(--nl-chrome-hover);\n outline: 1px solid var(--nl-chrome-border);\n}\n.nl-preview-root .cal-footer {\n display: flex; gap: 4px;\n border-top: 1px solid var(--nl-chrome-border);\n padding-top: 6px;\n margin-top: 2px;\n}\n.nl-preview-root .cal-footer-btn {\n flex: 1;\n text-align: center;\n font-size: 0.82em;\n padding: 4px 6px;\n min-width: unset;\n}\n\n/* === Diagnostics overlay === */\n.nl-preview-root .diagnostics {\n position: absolute; left: 0; right: 0; bottom: 0;\n max-height: 60%;\n background: var(--nl-preview-widget-bg);\n border-top: 1px solid var(--nl-preview-widget-border);\n overflow: auto;\n z-index: 12;\n padding: 0;\n display: none;\n}\n.nl-preview-root .diagnostics.show { display: block; }\n.nl-preview-root .diag-header {\n position: sticky; top: 0;\n display: flex; align-items: center; justify-content: space-between;\n padding: 6px 12px;\n background: inherit;\n border-bottom: 1px solid var(--nl-preview-widget-border);\n font-weight: 600;\n}\n.nl-preview-root .diag-summary {\n color: var(--nl-preview-error);\n}\n.nl-preview-root .diag-summary.warn-only {\n color: var(--nl-preview-warning);\n}\n.nl-preview-root .diag-summary.clean {\n color: var(--nl-preview-description);\n font-weight: normal;\n}\n.nl-preview-root .open-problems {\n color: var(--nl-preview-link);\n cursor: pointer;\n text-decoration: none;\n font-weight: normal;\n}\n.nl-preview-root .open-problems:hover { text-decoration: underline; }\n.nl-preview-root .diag-table {\n width: 100%;\n border-collapse: collapse;\n}\n.nl-preview-root .diag-table tr {\n cursor: pointer;\n border-bottom: 1px solid var(--nl-preview-widget-border);\n}\n.nl-preview-root .diag-table tr:hover {\n background: rgba(255,255,255,0.04);\n}\n.nl-preview-root .diag-table td {\n padding: 6px 8px;\n vertical-align: top;\n}\n.nl-preview-root .sev-cell {\n width: 24px; text-align: center;\n font-weight: bold;\n}\n.nl-preview-root .sev-error { color: var(--nl-preview-error); }\n.nl-preview-root .sev-warning { color: var(--nl-preview-warning); }\n.nl-preview-root .loc-cell {\n white-space: nowrap;\n color: var(--nl-preview-description);\n font-variant-numeric: tabular-nums;\n width: 90px;\n}\n.nl-preview-root .code-cell {\n white-space: nowrap;\n width: 1%;\n}\n.nl-preview-root .code-pill {\n display: inline-block;\n padding: 1px 6px;\n border-radius: 3px;\n background: var(--nl-preview-code-bg);\n color: var(--nl-preview-description);\n font-family: var(--nl-preview-mono);\n font-size: 0.9em;\n}\n.nl-preview-root .msg-cell { word-break: break-word; }\n.nl-preview-root .suggestion {\n display: block; margin-top: 2px;\n color: var(--nl-preview-description);\n font-style: italic;\n font-size: 0.95em;\n}\n\n/* === Empty state === */\n.nl-preview-root .empty {\n position: absolute; inset: 0;\n display: flex; align-items: center; justify-content: center;\n color: var(--nl-preview-description);\n pointer-events: none;\n}\n.nl-preview-root .empty.hidden { display: none; }\n";
|
|
17
17
|
//# sourceMappingURL=styles.d.ts.map
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAcA;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,m9BAgBnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAcA;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,m9BAgBnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,o9dAsd7B,CAAC"}
|
package/dist/styles.js
CHANGED
|
@@ -79,8 +79,11 @@ export const PREVIEW_SHELL_CSS = `
|
|
|
79
79
|
--nl-chrome-chip-bg: rgba(255, 255, 255, 0.07);
|
|
80
80
|
--nl-chrome-shadow: rgba(0, 0, 0, 0.32);
|
|
81
81
|
}
|
|
82
|
-
/* Chrome palette — light mode override (driven by data-nl-mode, never by workbench) */
|
|
82
|
+
/* Chrome + viewport palette — light mode override (driven by data-nl-mode, never by workbench) */
|
|
83
83
|
.nl-preview-root[data-nl-mode="light"] {
|
|
84
|
+
/* Viewport background: white matches the embed's default canvas. */
|
|
85
|
+
--nl-preview-bg: #ffffff;
|
|
86
|
+
--nl-preview-fg: #1e1e1e;
|
|
84
87
|
--nl-chrome-bg: rgba(248, 248, 248, 0.96);
|
|
85
88
|
--nl-chrome-border: rgba(0, 0, 0, 0.13);
|
|
86
89
|
--nl-chrome-fg: #3c3c3c;
|
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,EAAE;AACF,uEAAuE;AACvE,iEAAiE;AACjE,0DAA0D;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;CAgBtC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,EAAE;AACF,uEAAuE;AACvE,iEAAiE;AACjE,0DAA0D;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;CAgBtC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsdhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/preview-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "A framework-agnostic preview pane for Nowline diagrams — zoom, pan, fit, minimap, and a table of issues. Used by the VS Code preview and browser surfaces.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"engines": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"minimap"
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@nowline/browser": "0.
|
|
43
|
+
"@nowline/browser": "0.8.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^25.9.1",
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Pure convention helpers — the one-definition home for the shared rule that
|
|
2
|
+
// every surface driving @nowline/preview-shell with @nowline/browser follows:
|
|
3
|
+
//
|
|
4
|
+
// "A successful render shows the diagram. Warnings do not veil it.
|
|
5
|
+
// Only errors trigger the diagnostics overlay."
|
|
6
|
+
//
|
|
7
|
+
// These functions have **no runtime dependency on @nowline/browser**. They
|
|
8
|
+
// import only its types so preview-shell's bundle stays free of the
|
|
9
|
+
// parse/layout/render engine — VS Code's webview can still use mountPreview
|
|
10
|
+
// directly without pulling in Langium.
|
|
11
|
+
//
|
|
12
|
+
// Convention reference: specs/architecture.md § Surfaces / @nowline/preview-shell.
|
|
13
|
+
|
|
14
|
+
import type { DiagnosticRow, RenderResult } from '@nowline/browser';
|
|
15
|
+
import type { NowOverride, PreviewHandle, ThemeOverride } from './mount.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Maps the browser pipeline's `RenderResult` to the VS Code extension
|
|
19
|
+
* host's `RenderOutcome` shape. Warnings on the svg branch are silently
|
|
20
|
+
* dropped — a successful render shows the diagram, not an overlay. Use
|
|
21
|
+
* this in host-side rendering (e.g. `render-pipeline.ts`) so the
|
|
22
|
+
* svg-vs-diagnostics decision has one source of truth.
|
|
23
|
+
*
|
|
24
|
+
* This is the type-level twin of `applyRenderResult` for surfaces that
|
|
25
|
+
* split the "decide" step from the "apply to shell" step (e.g. VS Code,
|
|
26
|
+
* where the extension host decides and the webview applies separately).
|
|
27
|
+
*/
|
|
28
|
+
export function classifyRenderResult(
|
|
29
|
+
result: RenderResult,
|
|
30
|
+
): { kind: 'svg'; svg: string } | { kind: 'diagnostics'; rows: DiagnosticRow[] } {
|
|
31
|
+
return result.kind === 'svg'
|
|
32
|
+
? { kind: 'svg', svg: result.svg }
|
|
33
|
+
: { kind: 'diagnostics', rows: result.diagnostics };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Apply a `RenderResult` to a `PreviewHandle` using the shared convention:
|
|
38
|
+
* svg shows the diagram; error diagnostics trigger the overlay; non-error
|
|
39
|
+
* warnings/insights on a successful render show the non-dimming table.
|
|
40
|
+
*
|
|
41
|
+
* Call this (or override it in `mountLivePreview`) instead of calling
|
|
42
|
+
* `setSvg` / `setDiagnostics` by hand in every surface.
|
|
43
|
+
*/
|
|
44
|
+
export function applyRenderResult(handle: PreviewHandle, result: RenderResult): void {
|
|
45
|
+
if (result.kind === 'svg') {
|
|
46
|
+
handle.setSvg(result.svg);
|
|
47
|
+
if (result.warnings.length > 0) {
|
|
48
|
+
handle.setDiagnostics(result.warnings);
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
handle.setDiagnostics(result.diagnostics);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Coerce a shell `ThemeOverride` to the renderer's `ThemeName`.
|
|
57
|
+
* `'auto'` and `undefined` both return `undefined` so the renderer uses
|
|
58
|
+
* its own default — matches the embed's `theme: 'auto'` posture and lets
|
|
59
|
+
* the renderer respond to `prefers-color-scheme` when it supports it.
|
|
60
|
+
*/
|
|
61
|
+
export function themeOverrideToDiagramTheme(
|
|
62
|
+
theme: ThemeOverride | undefined,
|
|
63
|
+
): 'light' | 'dark' | 'grayscale' | undefined {
|
|
64
|
+
switch (theme) {
|
|
65
|
+
case 'light':
|
|
66
|
+
return 'light';
|
|
67
|
+
case 'dark':
|
|
68
|
+
return 'dark';
|
|
69
|
+
case 'grayscale':
|
|
70
|
+
case 'greyscale':
|
|
71
|
+
return 'grayscale';
|
|
72
|
+
default:
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Coerce a shell `NowOverride` to the `today` input accepted by
|
|
79
|
+
* `renderSource`.
|
|
80
|
+
*
|
|
81
|
+
* - `'today'` / `undefined` → `undefined` (pipeline uses local civil date).
|
|
82
|
+
* - `'hide'` → `null` (suppresses the now-line).
|
|
83
|
+
* - `'YYYY-MM-DD'` → passes through so the pipeline parses it.
|
|
84
|
+
*/
|
|
85
|
+
export function nowOverrideToToday(now: NowOverride | undefined): Date | string | null | undefined {
|
|
86
|
+
if (now === undefined || now === 'today') return undefined;
|
|
87
|
+
if (now === 'hide') return null;
|
|
88
|
+
return now;
|
|
89
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
// no assumed message bus, no VS Code coupling.
|
|
8
8
|
|
|
9
9
|
export type { DiagnosticRow } from '@nowline/browser';
|
|
10
|
+
export {
|
|
11
|
+
applyRenderResult,
|
|
12
|
+
classifyRenderResult,
|
|
13
|
+
nowOverrideToToday,
|
|
14
|
+
themeOverrideToDiagramTheme,
|
|
15
|
+
} from './apply-result.js';
|
|
10
16
|
export {
|
|
11
17
|
__resetPreviewShellStylesheetForTests,
|
|
12
18
|
type DiagnosticGoto,
|
package/src/markup.ts
CHANGED
|
@@ -82,7 +82,7 @@ const TEMPLATE = `
|
|
|
82
82
|
<div class="dropdown">
|
|
83
83
|
<button class="btn more-toggle" title="More options">\u25be more</button>
|
|
84
84
|
<div class="more-menu" hidden>
|
|
85
|
-
<div class="more-row">
|
|
85
|
+
<div class="more-row format-control-row">
|
|
86
86
|
<span class="more-label">Format:</span>
|
|
87
87
|
<div class="dropdown">
|
|
88
88
|
<button class="btn more-sub-toggle format-toggle">SVG \u25be</button>
|
|
@@ -96,7 +96,7 @@ const TEMPLATE = `
|
|
|
96
96
|
<button class="btn copy-action" title="Copy to clipboard"><span>Copy</span><span class="action-ico" aria-hidden="true">${COPY_ICON}</span></button>
|
|
97
97
|
<button class="btn export-action" title="Export file"><span>Export</span><span class="action-ico" aria-hidden="true">${DOWNLOAD_ICON}</span></button>
|
|
98
98
|
</div>
|
|
99
|
-
<div class="more-divider"></div>
|
|
99
|
+
<div class="more-divider export-divider"></div>
|
|
100
100
|
<div class="more-row theme-control-row">
|
|
101
101
|
<span class="more-label">Theme:</span>
|
|
102
102
|
<div class="dropdown">
|
package/src/mount.ts
CHANGED
|
@@ -91,6 +91,12 @@ export interface MountPreviewOptions {
|
|
|
91
91
|
* Defaults to `'show'`.
|
|
92
92
|
*/
|
|
93
93
|
themeControl?: 'show' | 'hide';
|
|
94
|
+
/**
|
|
95
|
+
* Whether to show Format / Copy / Export in the more-menu.
|
|
96
|
+
* Defaults to `'show'`. Hide in sandboxed hosts (e.g. MCP Apps)
|
|
97
|
+
* where clipboard/download are unreliable and export is tool-owned.
|
|
98
|
+
*/
|
|
99
|
+
exportControls?: 'show' | 'hide';
|
|
94
100
|
/**
|
|
95
101
|
* Diagram themes available in the Theme dropdown. **Auto** is
|
|
96
102
|
* always prepended. Defaults to `['light', 'dark', 'grayscale']`.
|
|
@@ -575,11 +581,17 @@ export function mountPreview(
|
|
|
575
581
|
|
|
576
582
|
function showDiagnosticsMode(rows: DiagnosticRow[]): void {
|
|
577
583
|
els.empty.classList.add('hidden');
|
|
578
|
-
|
|
584
|
+
populateDiagnostics(rows);
|
|
585
|
+
// Dim the (now stale) diagram only when an error blocked a fresh
|
|
586
|
+
// render. Warnings accompany a valid diagram — setDiagnostics([])
|
|
587
|
+
// or an all-warning list should never veil the canvas.
|
|
588
|
+
const hasError = rows.some((r) => r.severity === 'error');
|
|
589
|
+
if (state.svgString && hasError) {
|
|
579
590
|
els.canvas.classList.add('dimmed');
|
|
591
|
+
} else {
|
|
592
|
+
els.canvas.classList.remove('dimmed');
|
|
580
593
|
}
|
|
581
|
-
|
|
582
|
-
els.diagnostics.classList.add('show');
|
|
594
|
+
els.diagnostics.classList.toggle('show', rows.length > 0);
|
|
583
595
|
}
|
|
584
596
|
|
|
585
597
|
function showFatal(message: string): void {
|
|
@@ -1355,6 +1367,16 @@ export function mountPreview(
|
|
|
1355
1367
|
if (themeRow) themeRow.style.display = 'none';
|
|
1356
1368
|
}
|
|
1357
1369
|
|
|
1370
|
+
// ===== Export control visibility =====
|
|
1371
|
+
if (options.exportControls === 'hide') {
|
|
1372
|
+
const formatRow = els.formatMenu.closest<HTMLElement>('.format-control-row');
|
|
1373
|
+
if (formatRow) formatRow.style.display = 'none';
|
|
1374
|
+
const actionRow = els.copyAction.closest<HTMLElement>('.action-row');
|
|
1375
|
+
if (actionRow) actionRow.style.display = 'none';
|
|
1376
|
+
const exportDivider = els.moreMenu.querySelector<HTMLElement>('.export-divider');
|
|
1377
|
+
if (exportDivider) exportDivider.style.display = 'none';
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1358
1380
|
// ===== Apply initial theme menu + baselines =====
|
|
1359
1381
|
buildThemeMenu(options.availableThemes ?? ['light', 'dark', 'grayscale']);
|
|
1360
1382
|
|
package/src/styles.ts
CHANGED
|
@@ -81,8 +81,11 @@ export const PREVIEW_SHELL_CSS = `
|
|
|
81
81
|
--nl-chrome-chip-bg: rgba(255, 255, 255, 0.07);
|
|
82
82
|
--nl-chrome-shadow: rgba(0, 0, 0, 0.32);
|
|
83
83
|
}
|
|
84
|
-
/* Chrome palette — light mode override (driven by data-nl-mode, never by workbench) */
|
|
84
|
+
/* Chrome + viewport palette — light mode override (driven by data-nl-mode, never by workbench) */
|
|
85
85
|
.nl-preview-root[data-nl-mode="light"] {
|
|
86
|
+
/* Viewport background: white matches the embed's default canvas. */
|
|
87
|
+
--nl-preview-bg: #ffffff;
|
|
88
|
+
--nl-preview-fg: #1e1e1e;
|
|
86
89
|
--nl-chrome-bg: rgba(248, 248, 248, 0.96);
|
|
87
90
|
--nl-chrome-border: rgba(0, 0, 0, 0.13);
|
|
88
91
|
--nl-chrome-fg: #3c3c3c;
|