@nowline/preview 0.8.6 → 0.10.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.
@@ -1,7 +1,7 @@
1
1
  import { type RenderOptions, type RenderResult } from '@nowline/browser';
2
- import { type DiagnosticRow, type MountPreviewOptions, type NowOverride, type PreviewHandle, type ThemeOverride, type ViewOptionsOverrides } from '@nowline/preview-shell';
2
+ import { type DiagnosticRow, type MountPreviewOptions, type NonWorkingOverride, type NowOverride, type PreviewHandle, type ThemeOverride, type ViewOptionsOverrides } from '@nowline/preview-shell';
3
3
  /** Options forwarded to every `renderSource` call (view-state fields managed internally). */
4
- export type LiveRenderOptions = Omit<RenderOptions, 'theme' | 'today' | 'showLinks'>;
4
+ export type LiveRenderOptions = Omit<RenderOptions, 'theme' | 'today' | 'showLinks' | 'nonWorking'>;
5
5
  /** Signature for an injectable render function. */
6
6
  export type RenderFn = (source: string, opts: RenderOptions) => Promise<RenderResult>;
7
7
  /** Signature for an injectable apply policy. */
@@ -9,10 +9,15 @@ export type ApplyFn = (handle: PreviewHandle, result: RenderResult) => void;
9
9
  export interface MountLivePreviewOptions extends Omit<MountPreviewOptions, 'onViewOptions' | 'viewBaseline' | 'onModeChange'> {
10
10
  /** Source string to render on mount (may be omitted for late-set callers). */
11
11
  source?: string;
12
- /** Seed view-state (theme, now, showLinks). The shell toolbar reflects these. */
12
+ /**
13
+ * Seed view-state (theme, now, nonWorking, showLinks). The shell toolbar
14
+ * reflects these. `nonWorking` `'file'` (or omitted) leaves the choice to
15
+ * the file's own key.
16
+ */
13
17
  initialView?: {
14
18
  theme?: ThemeOverride;
15
19
  now?: NowOverride;
20
+ nonWorking?: NonWorkingOverride;
16
21
  showLinks?: boolean;
17
22
  };
18
23
  /** Static render options threaded into every render call. */
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,YAAY,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,KAAK,aAAa,EAElB,KAAK,mBAAmB,EAExB,KAAK,WAAW,EAEhB,KAAK,aAAa,EAClB,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;AAErF,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEtF,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,uBACb,SAAQ,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;IACpF,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,mEAAmE;IACnE,MAAM,EAAE,aAAa,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wEAAwE;IACxE,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChD,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,uBAA4B,GACnC,iBAAiB,CAsHnB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,YAAY,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,KAAK,aAAa,EAElB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAGhB,KAAK,aAAa,EAClB,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;AAEpG,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEtF,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,uBACb,SAAQ,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;IACpF,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,GAAG,CAAC,EAAE,WAAW,CAAC;QAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC;QAChC,SAAS,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,mEAAmE;IACnE,MAAM,EAAE,aAAa,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wEAAwE;IACxE,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChD,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,uBAA4B,GACnC,iBAAiB,CA0HnB"}
@@ -10,7 +10,7 @@
10
10
  // The raw PreviewHandle is always exposed so callers can call zoom/fit/etc.
11
11
  // directly without the controller modelling each command.
12
12
  import { renderSource as defaultRenderSource, } from '@nowline/browser';
13
- import { applyRenderResult as defaultApply, mountPreview, nowOverrideToToday, themeOverrideToDiagramTheme, } from '@nowline/preview-shell';
13
+ import { applyRenderResult as defaultApply, mountPreview, nonWorkingOverrideToDisplay, nowOverrideToToday, themeOverrideToDiagramTheme, } from '@nowline/preview-shell';
14
14
  /**
15
15
  * Mount a live-preview controller.
16
16
  *
@@ -32,6 +32,7 @@ export function mountLivePreview(rootEl, opts = {}) {
32
32
  const viewState = {
33
33
  theme: (initialView?.theme ?? 'auto'),
34
34
  now: (initialView?.now ?? 'today'),
35
+ nonWorking: (initialView?.nonWorking ?? 'file'),
35
36
  showLinks: initialView?.showLinks !== false,
36
37
  };
37
38
  let renderOpts = initialRenderOpts;
@@ -43,6 +44,7 @@ export function mountLivePreview(rootEl, opts = {}) {
43
44
  const viewBaseline = {
44
45
  theme: viewState.theme,
45
46
  now: viewState.now,
47
+ nonWorking: viewState.nonWorking,
46
48
  showLinks: viewState.showLinks,
47
49
  };
48
50
  const handle = mountPreview(rootEl, {
@@ -60,6 +62,8 @@ export function mountLivePreview(rootEl, opts = {}) {
60
62
  viewState.theme = overrides.theme;
61
63
  if (overrides.now !== undefined)
62
64
  viewState.now = overrides.now;
65
+ if (overrides.nonWorking !== undefined)
66
+ viewState.nonWorking = overrides.nonWorking;
63
67
  if (overrides.showLinks !== undefined)
64
68
  viewState.showLinks = overrides.showLinks;
65
69
  callerOnViewOptions?.(overrides);
@@ -72,6 +76,7 @@ export function mountLivePreview(rootEl, opts = {}) {
72
76
  ...renderOpts,
73
77
  theme: diagramTheme,
74
78
  today: nowOverrideToToday(viewState.now),
79
+ nonWorking: nonWorkingOverrideToDisplay(viewState.nonWorking),
75
80
  showLinks: viewState.showLinks,
76
81
  };
77
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nowline/preview",
3
- "version": "0.8.6",
3
+ "version": "0.10.0",
4
4
  "description": "Live-preview controller for Nowline diagrams — mounts the preview-shell viewport and owns the renderSource → applyRenderResult loop. Every entry point is injectable.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -38,14 +38,14 @@
38
38
  "viewport"
39
39
  ],
40
40
  "dependencies": {
41
- "@nowline/browser": "0.8.6",
42
- "@nowline/preview-shell": "0.8.6"
41
+ "@nowline/browser": "0.10.0",
42
+ "@nowline/preview-shell": "0.10.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@types/node": "^26.6.3",
46
- "happy-dom": "^20.14.5",
45
+ "@types/node": "^26.6.5",
46
+ "happy-dom": "^21.0.4",
47
47
  "typescript": "^7.0.2",
48
- "vitest": "^5.0.2"
48
+ "vitest": "^5.0.5"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "tsc -b tsconfig.json",
package/src/controller.ts CHANGED
@@ -20,7 +20,9 @@ import {
20
20
  applyRenderResult as defaultApply,
21
21
  type MountPreviewOptions,
22
22
  mountPreview,
23
+ type NonWorkingOverride,
23
24
  type NowOverride,
25
+ nonWorkingOverrideToDisplay,
24
26
  nowOverrideToToday,
25
27
  type PreviewHandle,
26
28
  type ThemeOverride,
@@ -30,7 +32,7 @@ import {
30
32
  } from '@nowline/preview-shell';
31
33
 
32
34
  /** Options forwarded to every `renderSource` call (view-state fields managed internally). */
33
- export type LiveRenderOptions = Omit<RenderOptions, 'theme' | 'today' | 'showLinks'>;
35
+ export type LiveRenderOptions = Omit<RenderOptions, 'theme' | 'today' | 'showLinks' | 'nonWorking'>;
34
36
 
35
37
  /** Signature for an injectable render function. */
36
38
  export type RenderFn = (source: string, opts: RenderOptions) => Promise<RenderResult>;
@@ -42,8 +44,17 @@ export interface MountLivePreviewOptions
42
44
  extends Omit<MountPreviewOptions, 'onViewOptions' | 'viewBaseline' | 'onModeChange'> {
43
45
  /** Source string to render on mount (may be omitted for late-set callers). */
44
46
  source?: string;
45
- /** Seed view-state (theme, now, showLinks). The shell toolbar reflects these. */
46
- initialView?: { theme?: ThemeOverride; now?: NowOverride; showLinks?: boolean };
47
+ /**
48
+ * Seed view-state (theme, now, nonWorking, showLinks). The shell toolbar
49
+ * reflects these. `nonWorking` `'file'` (or omitted) leaves the choice to
50
+ * the file's own key.
51
+ */
52
+ initialView?: {
53
+ theme?: ThemeOverride;
54
+ now?: NowOverride;
55
+ nonWorking?: NonWorkingOverride;
56
+ showLinks?: boolean;
57
+ };
47
58
  /** Static render options threaded into every render call. */
48
59
  renderOptions?: LiveRenderOptions;
49
60
  /**
@@ -117,6 +128,7 @@ export function mountLivePreview(
117
128
  const viewState = {
118
129
  theme: (initialView?.theme ?? 'auto') as ThemeOverride,
119
130
  now: (initialView?.now ?? 'today') as NowOverride,
131
+ nonWorking: (initialView?.nonWorking ?? 'file') as NonWorkingOverride,
120
132
  showLinks: initialView?.showLinks !== false,
121
133
  };
122
134
 
@@ -130,6 +142,7 @@ export function mountLivePreview(
130
142
  const viewBaseline: ViewBaseline = {
131
143
  theme: viewState.theme,
132
144
  now: viewState.now,
145
+ nonWorking: viewState.nonWorking,
133
146
  showLinks: viewState.showLinks,
134
147
  };
135
148
 
@@ -144,6 +157,7 @@ export function mountLivePreview(
144
157
  onViewOptions(overrides: ViewOptionsOverrides) {
145
158
  if (overrides.theme !== undefined) viewState.theme = overrides.theme;
146
159
  if (overrides.now !== undefined) viewState.now = overrides.now;
160
+ if (overrides.nonWorking !== undefined) viewState.nonWorking = overrides.nonWorking;
147
161
  if (overrides.showLinks !== undefined) viewState.showLinks = overrides.showLinks;
148
162
  callerOnViewOptions?.(overrides);
149
163
  scheduleRender(false);
@@ -157,6 +171,7 @@ export function mountLivePreview(
157
171
  ...renderOpts,
158
172
  theme: diagramTheme,
159
173
  today: nowOverrideToToday(viewState.now),
174
+ nonWorking: nonWorkingOverrideToDisplay(viewState.nonWorking),
160
175
  showLinks: viewState.showLinks,
161
176
  };
162
177
  }