@book.dev/sdk 1.72.0 → 1.74.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/content.d.ts +33 -11
- package/dist/content.js +44 -13
- package/dist/content.js.map +1 -1
- package/dist/dataColors.d.ts +75 -0
- package/dist/dataColors.js +135 -0
- package/dist/dataColors.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mtime.d.ts +3 -3
- package/dist/mtime.js +2 -2
- package/dist/mtime.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/content.d.ts
CHANGED
|
@@ -1,23 +1,45 @@
|
|
|
1
1
|
import type { PageSnapshot } from './types';
|
|
2
|
-
/** Flatten a page snapshot (
|
|
2
|
+
/** Flatten a page snapshot (legacy stored or block-editor) into plain text. */
|
|
3
3
|
export declare function snapshotText(data: PageSnapshot | null | undefined): string;
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Turn plain text into block-native paragraph blocks (one per non-empty line):
|
|
6
|
+
* the JSON-projection shape a `blockdoc` stores (`{id, type, text: runs}`), NOT
|
|
7
|
+
* the legacy EditorJS `{type, data}` shape. Fed into {@link textSnapshot} and
|
|
8
|
+
* the block branch of {@link appendTextToSnapshot}.
|
|
9
|
+
*/
|
|
5
10
|
export declare function paragraphBlocks(content: string, idPrefix?: string): Array<{
|
|
6
11
|
id: string;
|
|
7
12
|
type: 'paragraph';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
13
|
+
text: Array<{
|
|
14
|
+
t: string;
|
|
15
|
+
}>;
|
|
11
16
|
}>;
|
|
12
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Build a fresh page snapshot whose document is the given plain text — a
|
|
19
|
+
* block-native `blockdoc` (`editor: 'blocks'`), so pages created by the AI
|
|
20
|
+
* agent, the MCP server, and plugins carry the CRDT block editor's shape from
|
|
21
|
+
* birth and never hit the legacy migrate-on-open path. The blockdoc is the
|
|
22
|
+
* JSON-projection form (no CRDT `update`); the editor rebuilds the Y.Doc from
|
|
23
|
+
* `blocks` on first load and stamps a real update on the first save (exactly
|
|
24
|
+
* like {@link appendBlocksToSnapshot}). `editorjs` is kept as an empty
|
|
25
|
+
* placeholder — the retained storage key every reader tolerates.
|
|
26
|
+
*/
|
|
13
27
|
export declare function textSnapshot(content?: string, idPrefix?: string): PageSnapshot;
|
|
14
28
|
/**
|
|
15
29
|
* Append plain text to a page snapshot as paragraph blocks, returning the new
|
|
16
|
-
* snapshot
|
|
17
|
-
*
|
|
18
|
-
*
|
|
30
|
+
* snapshot (or `data` unchanged when there's nothing to add). Used by the agent
|
|
31
|
+
* and the MCP server.
|
|
32
|
+
*
|
|
33
|
+
* A block-editor page (or any snapshot already carrying a `blockdoc`) gets the
|
|
34
|
+
* paragraphs merged into its blockdoc JSON projection — the stale CRDT `update`
|
|
35
|
+
* is dropped so a live client re-merges from `blocks` on next load (this
|
|
36
|
+
* server-side path has no live editor; mirrors {@link appendBlocksToSnapshot}).
|
|
37
|
+
* A pre-existing LEGACY page (no blockdoc) keeps its stored `editorjs` shape —
|
|
38
|
+
* its content upgrades to blockdoc only when the editor opens it
|
|
39
|
+
* (migrateLegacyBlocks) — so appended paragraphs use the legacy `{type, data}`
|
|
40
|
+
* shape there, never mixing dialects in one block list.
|
|
19
41
|
*/
|
|
20
|
-
export declare function appendTextToSnapshot(data: PageSnapshot, content: string, idPrefix?: string): PageSnapshot
|
|
42
|
+
export declare function appendTextToSnapshot(data: PageSnapshot, content: string, idPrefix?: string): PageSnapshot;
|
|
21
43
|
/** A block to append to a block-editor page (the agent / MCP write path). */
|
|
22
44
|
export interface AppendBlock {
|
|
23
45
|
type: string;
|
|
@@ -27,7 +49,7 @@ export interface AppendBlock {
|
|
|
27
49
|
}
|
|
28
50
|
/**
|
|
29
51
|
* Append blocks to a **block-editor** page's JSON projection, returning the new
|
|
30
|
-
* snapshot — or `null` for legacy
|
|
52
|
+
* snapshot — or `null` for legacy stored pages (use {@link appendTextToSnapshot}
|
|
31
53
|
* there). This mutates only the JSON projection (`blockdoc.blocks`), NOT the
|
|
32
54
|
* CRDT `update` — so a *live* editor on that page should apply the change
|
|
33
55
|
* through the editor bridge instead (one CRDT transaction, undoable). This
|
package/dist/content.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const stripHtml = (s) => s.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim();
|
|
2
|
-
/** Flatten a page snapshot (
|
|
2
|
+
/** Flatten a page snapshot (legacy stored or block-editor) into plain text. */
|
|
3
3
|
export function snapshotText(data) {
|
|
4
4
|
if (!data)
|
|
5
5
|
return '';
|
|
@@ -20,7 +20,7 @@ export function snapshotText(data) {
|
|
|
20
20
|
walk(blockdoc.blocks);
|
|
21
21
|
return parts.join('\n').trim();
|
|
22
22
|
}
|
|
23
|
-
//
|
|
23
|
+
// Legacy stored pages: pull the text-ish fields out of each block.
|
|
24
24
|
const blocks = data.editorjs?.blocks ?? [];
|
|
25
25
|
for (const b of blocks) {
|
|
26
26
|
const d = b.data ?? {};
|
|
@@ -48,28 +48,59 @@ export function snapshotText(data) {
|
|
|
48
48
|
}
|
|
49
49
|
return parts.join('\n').trim();
|
|
50
50
|
}
|
|
51
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Turn plain text into block-native paragraph blocks (one per non-empty line):
|
|
53
|
+
* the JSON-projection shape a `blockdoc` stores (`{id, type, text: runs}`), NOT
|
|
54
|
+
* the legacy EditorJS `{type, data}` shape. Fed into {@link textSnapshot} and
|
|
55
|
+
* the block branch of {@link appendTextToSnapshot}.
|
|
56
|
+
*/
|
|
52
57
|
export function paragraphBlocks(content, idPrefix = 'gen') {
|
|
53
58
|
return content
|
|
54
59
|
.split('\n')
|
|
55
60
|
.map((l) => l.trim())
|
|
56
61
|
.filter(Boolean)
|
|
57
|
-
.map((text, i) => ({ id: `${idPrefix}-${i}`, type: 'paragraph',
|
|
62
|
+
.map((text, i) => ({ id: `${idPrefix}-${i}`, type: 'paragraph', text: [{ t: text }] }));
|
|
58
63
|
}
|
|
59
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Build a fresh page snapshot whose document is the given plain text — a
|
|
66
|
+
* block-native `blockdoc` (`editor: 'blocks'`), so pages created by the AI
|
|
67
|
+
* agent, the MCP server, and plugins carry the CRDT block editor's shape from
|
|
68
|
+
* birth and never hit the legacy migrate-on-open path. The blockdoc is the
|
|
69
|
+
* JSON-projection form (no CRDT `update`); the editor rebuilds the Y.Doc from
|
|
70
|
+
* `blocks` on first load and stamps a real update on the first save (exactly
|
|
71
|
+
* like {@link appendBlocksToSnapshot}). `editorjs` is kept as an empty
|
|
72
|
+
* placeholder — the retained storage key every reader tolerates.
|
|
73
|
+
*/
|
|
60
74
|
export function textSnapshot(content = '', idPrefix = 'gen') {
|
|
61
|
-
return { editorjs: { blocks:
|
|
75
|
+
return { editorjs: { blocks: [] }, values: [], names: [], editor: 'blocks', blockdoc: { blocks: paragraphBlocks(content, idPrefix) } };
|
|
62
76
|
}
|
|
63
77
|
/**
|
|
64
78
|
* Append plain text to a page snapshot as paragraph blocks, returning the new
|
|
65
|
-
* snapshot
|
|
66
|
-
*
|
|
67
|
-
*
|
|
79
|
+
* snapshot (or `data` unchanged when there's nothing to add). Used by the agent
|
|
80
|
+
* and the MCP server.
|
|
81
|
+
*
|
|
82
|
+
* A block-editor page (or any snapshot already carrying a `blockdoc`) gets the
|
|
83
|
+
* paragraphs merged into its blockdoc JSON projection — the stale CRDT `update`
|
|
84
|
+
* is dropped so a live client re-merges from `blocks` on next load (this
|
|
85
|
+
* server-side path has no live editor; mirrors {@link appendBlocksToSnapshot}).
|
|
86
|
+
* A pre-existing LEGACY page (no blockdoc) keeps its stored `editorjs` shape —
|
|
87
|
+
* its content upgrades to blockdoc only when the editor opens it
|
|
88
|
+
* (migrateLegacyBlocks) — so appended paragraphs use the legacy `{type, data}`
|
|
89
|
+
* shape there, never mixing dialects in one block list.
|
|
68
90
|
*/
|
|
69
91
|
export function appendTextToSnapshot(data, content, idPrefix = 'gen') {
|
|
70
|
-
if (data.editor === 'blocks')
|
|
71
|
-
|
|
72
|
-
|
|
92
|
+
if (data.editor === 'blocks' || data.blockdoc) {
|
|
93
|
+
const added = paragraphBlocks(content, idPrefix);
|
|
94
|
+
if (added.length === 0)
|
|
95
|
+
return data;
|
|
96
|
+
const blockdoc = data.blockdoc ?? { blocks: [] };
|
|
97
|
+
return { ...data, editor: 'blocks', blockdoc: { ...blockdoc, update: undefined, blocks: [...(blockdoc.blocks ?? []), ...added] } };
|
|
98
|
+
}
|
|
99
|
+
const added = content
|
|
100
|
+
.split('\n')
|
|
101
|
+
.map((l) => l.trim())
|
|
102
|
+
.filter(Boolean)
|
|
103
|
+
.map((text, i) => ({ id: `${idPrefix}-${i}`, type: 'paragraph', data: { text } }));
|
|
73
104
|
if (added.length === 0)
|
|
74
105
|
return data;
|
|
75
106
|
const editorjs = data.editorjs ?? { blocks: [] };
|
|
@@ -77,7 +108,7 @@ export function appendTextToSnapshot(data, content, idPrefix = 'gen') {
|
|
|
77
108
|
}
|
|
78
109
|
/**
|
|
79
110
|
* Append blocks to a **block-editor** page's JSON projection, returning the new
|
|
80
|
-
* snapshot — or `null` for legacy
|
|
111
|
+
* snapshot — or `null` for legacy stored pages (use {@link appendTextToSnapshot}
|
|
81
112
|
* there). This mutates only the JSON projection (`blockdoc.blocks`), NOT the
|
|
82
113
|
* CRDT `update` — so a *live* editor on that page should apply the change
|
|
83
114
|
* through the editor bridge instead (one CRDT transaction, undoable). This
|
package/dist/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAiBA,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAEhG
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical data-colour palette — the single source for every colour OpenBook
|
|
3
|
+
* paints *data* with: select-option chips, tag dots/swatches, chart series
|
|
4
|
+
* (kit + database), and status lights.
|
|
5
|
+
*
|
|
6
|
+
* The default **Pastel** scheme is the owner-selected soft-pastel set (rendered
|
|
7
|
+
* candidates reviewed 2026-07-05): light fills/chips + a per-hue dark chip and a
|
|
8
|
+
* dark dot/series fill. The **Vivid** and **Muted** schemes are the
|
|
9
|
+
* contrast-solved sets from `docs/design/ob-375-palette-audit.mjs` and are not
|
|
10
|
+
* rendered yet (they land with the "Data colours" control, OB-379).
|
|
11
|
+
*
|
|
12
|
+
* Plain data, no DOM. The UI consumes it as CSS variables at runtime
|
|
13
|
+
* (`applyDataColors` in `@book.dev/ui`) and inlines the resolved values at
|
|
14
|
+
* export time (exports are self-contained HTML/PDF and must not read live
|
|
15
|
+
* CSS variables).
|
|
16
|
+
*
|
|
17
|
+
* The 9 {@link SELECT_COLORS} names (database.ts) are a strict subset of
|
|
18
|
+
* {@link DATA_COLOR_TOKENS}; `teal`/`cyan`/`indigo` are extension tokens that
|
|
19
|
+
* are NOT storable on select options and are not part of the rendered pastel
|
|
20
|
+
* cycle (stored enum stays 9 — rendering-only).
|
|
21
|
+
*/
|
|
22
|
+
export type DataColorToken = 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'teal' | 'cyan' | 'indigo';
|
|
23
|
+
export type DataColorScheme = 'pastel' | 'vivid' | 'muted';
|
|
24
|
+
export interface ChipColors {
|
|
25
|
+
bg: string;
|
|
26
|
+
fg: string;
|
|
27
|
+
}
|
|
28
|
+
export interface DataColor {
|
|
29
|
+
/** Dot/swatch, chart-series and status-lamp fill in **light** mode. */
|
|
30
|
+
fill: string;
|
|
31
|
+
/** The same, in **dark** mode (dots/swatches flip; equals `fill` when the
|
|
32
|
+
* scheme is mode-invariant — i.e. every token bar the pastel select set). */
|
|
33
|
+
fillDark: string;
|
|
34
|
+
chip: {
|
|
35
|
+
light: ChipColors;
|
|
36
|
+
dark: ChipColors;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export declare const DATA_COLOR_TOKENS: readonly ["gray", "brown", "orange", "yellow", "green", "blue", "purple", "pink", "red", "teal", "cyan", "indigo"];
|
|
40
|
+
export declare const DATA_COLOR_SCHEMES: readonly ["pastel", "vivid", "muted"];
|
|
41
|
+
export declare const DEFAULT_DATA_COLOR_SCHEME: DataColorScheme;
|
|
42
|
+
export declare const isDataColorToken: (v: unknown) => v is DataColorToken;
|
|
43
|
+
/**
|
|
44
|
+
* Canonical series cycling order for charts (kit + database) — the 9 select
|
|
45
|
+
* tokens, blue-first, giving 9 distinguishable series before repeating. The
|
|
46
|
+
* extension tokens (`teal`/`cyan`/`indigo`) sit outside the cycle.
|
|
47
|
+
*/
|
|
48
|
+
export declare const SERIES_ORDER: readonly ["blue", "orange", "green", "purple", "pink", "yellow", "red", "brown", "gray"];
|
|
49
|
+
/**
|
|
50
|
+
* Hairline stroke carried by chart shapes, swatch dots and status lamps in the
|
|
51
|
+
* pastel/muted schemes, **light mode only** (soft-pastel fills sit low against a
|
|
52
|
+
* white page; the hairline keeps them legible). Vivid and dark mode get none.
|
|
53
|
+
*/
|
|
54
|
+
export declare const DATA_STROKE = "rgba(0,0,0,0.12)";
|
|
55
|
+
/** The scheme's hairline stroke for a light surface ('none' for vivid). */
|
|
56
|
+
export declare const dataStroke: (scheme: DataColorScheme) => string;
|
|
57
|
+
type Palette = Record<DataColorToken, DataColor>;
|
|
58
|
+
export declare const DATA_PALETTE: Record<DataColorScheme, Palette>;
|
|
59
|
+
/** The light-mode fill for chart series `i` (cycles over {@link SERIES_ORDER}). */
|
|
60
|
+
export declare const seriesColor: (i: number, scheme?: DataColorScheme) => string;
|
|
61
|
+
/**
|
|
62
|
+
* Semantic token behind each status-light state. Warn is **yellow** (not orange):
|
|
63
|
+
* at the soft-pastel saturations orange and red are near-identical, so the trio
|
|
64
|
+
* uses green / yellow / red for a glanceable traffic light.
|
|
65
|
+
*/
|
|
66
|
+
export declare const STATUS_TOKENS: {
|
|
67
|
+
readonly ok: "green";
|
|
68
|
+
readonly warn: "yellow";
|
|
69
|
+
readonly bad: "red";
|
|
70
|
+
};
|
|
71
|
+
/** The status-lamp light-mode fill for a state (`ok → green`, `warn → yellow`, `bad → red`). */
|
|
72
|
+
export declare const statusColor: (s: "ok" | "warn" | "bad", scheme?: DataColorScheme) => string;
|
|
73
|
+
/** A `#rrggbb` hex as an `rgba()` string at the given alpha (for export inlining). */
|
|
74
|
+
export declare function hexAlpha(hex: string, alpha: number): string;
|
|
75
|
+
export {};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical data-colour palette — the single source for every colour OpenBook
|
|
3
|
+
* paints *data* with: select-option chips, tag dots/swatches, chart series
|
|
4
|
+
* (kit + database), and status lights.
|
|
5
|
+
*
|
|
6
|
+
* The default **Pastel** scheme is the owner-selected soft-pastel set (rendered
|
|
7
|
+
* candidates reviewed 2026-07-05): light fills/chips + a per-hue dark chip and a
|
|
8
|
+
* dark dot/series fill. The **Vivid** and **Muted** schemes are the
|
|
9
|
+
* contrast-solved sets from `docs/design/ob-375-palette-audit.mjs` and are not
|
|
10
|
+
* rendered yet (they land with the "Data colours" control, OB-379).
|
|
11
|
+
*
|
|
12
|
+
* Plain data, no DOM. The UI consumes it as CSS variables at runtime
|
|
13
|
+
* (`applyDataColors` in `@book.dev/ui`) and inlines the resolved values at
|
|
14
|
+
* export time (exports are self-contained HTML/PDF and must not read live
|
|
15
|
+
* CSS variables).
|
|
16
|
+
*
|
|
17
|
+
* The 9 {@link SELECT_COLORS} names (database.ts) are a strict subset of
|
|
18
|
+
* {@link DATA_COLOR_TOKENS}; `teal`/`cyan`/`indigo` are extension tokens that
|
|
19
|
+
* are NOT storable on select options and are not part of the rendered pastel
|
|
20
|
+
* cycle (stored enum stays 9 — rendering-only).
|
|
21
|
+
*/
|
|
22
|
+
export const DATA_COLOR_TOKENS = [
|
|
23
|
+
'gray', 'brown', 'orange', 'yellow', 'green', 'blue',
|
|
24
|
+
'purple', 'pink', 'red', 'teal', 'cyan', 'indigo',
|
|
25
|
+
];
|
|
26
|
+
export const DATA_COLOR_SCHEMES = ['pastel', 'vivid', 'muted'];
|
|
27
|
+
export const DEFAULT_DATA_COLOR_SCHEME = 'pastel';
|
|
28
|
+
export const isDataColorToken = (v) => typeof v === 'string' && DATA_COLOR_TOKENS.includes(v);
|
|
29
|
+
/**
|
|
30
|
+
* Canonical series cycling order for charts (kit + database) — the 9 select
|
|
31
|
+
* tokens, blue-first, giving 9 distinguishable series before repeating. The
|
|
32
|
+
* extension tokens (`teal`/`cyan`/`indigo`) sit outside the cycle.
|
|
33
|
+
*/
|
|
34
|
+
export const SERIES_ORDER = [
|
|
35
|
+
'blue', 'orange', 'green', 'purple', 'pink', 'yellow', 'red', 'brown', 'gray',
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* Hairline stroke carried by chart shapes, swatch dots and status lamps in the
|
|
39
|
+
* pastel/muted schemes, **light mode only** (soft-pastel fills sit low against a
|
|
40
|
+
* white page; the hairline keeps them legible). Vivid and dark mode get none.
|
|
41
|
+
*/
|
|
42
|
+
export const DATA_STROKE = 'rgba(0,0,0,0.12)';
|
|
43
|
+
/** The scheme's hairline stroke for a light surface ('none' for vivid). */
|
|
44
|
+
export const dataStroke = (scheme) => scheme === 'vivid' ? 'none' : DATA_STROKE;
|
|
45
|
+
/** `fillDark` defaults to `fill` — the mode-invariant case (vivid/muted, and the
|
|
46
|
+
* pastel extension tokens). The pastel select tokens pass a distinct dark dot;
|
|
47
|
+
* so do the muted status trio (green/yellow/red), whose LIGHT fill is punched up
|
|
48
|
+
* for a clearer traffic light while the dark fill stays the desaturated wash. */
|
|
49
|
+
const entry = (fill, lightBg, lightFg, darkBg, darkFg, fillDark = fill) => ({
|
|
50
|
+
fill,
|
|
51
|
+
fillDark,
|
|
52
|
+
chip: { light: { bg: lightBg, fg: lightFg }, dark: { bg: darkBg, fg: darkFg } },
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Pastel (default) — the owner-selected soft-pastel set. Light fill / chip bg /
|
|
56
|
+
* chip fg / dark dot-fill are owner values (rendered-candidate pick, 2026-07-05);
|
|
57
|
+
* the per-hue dark chip (deep muted bg + light on-hue fg, all ≥ 4.5:1) is derived
|
|
58
|
+
* — see the derivation guard in `dataColors.test.ts`. `teal`/`cyan`/`indigo` are
|
|
59
|
+
* unrendered extension tokens (kept from the audit set, mode-invariant).
|
|
60
|
+
*/
|
|
61
|
+
const PASTEL = {
|
|
62
|
+
gray: entry('#c3c6cb', '#e3e2e0', '#5c6475', '#31363f', '#cccfd7', '#b0b5bf'),
|
|
63
|
+
brown: entry('#d7af9d', '#eee0da', '#9d4c2a', '#4f2f22', '#e8c8ba', '#ddac98'),
|
|
64
|
+
orange: entry('#debea6', '#fadec9', '#935425', '#4f3522', '#e8ceba', '#e3bda1'),
|
|
65
|
+
yellow: entry('#dac495', '#fdecc8', '#876622', '#4f4022', '#e8d9ba', '#e0c690'),
|
|
66
|
+
green: entry('#9fdf9f', '#dbeddb', '#1e761e', '#224f22', '#bae8ba', '#9ae49a'),
|
|
67
|
+
blue: entry('#a9ccdf', '#d3e5ef', '#24698f', '#223f4f', '#bad8e8', '#a5cde4'),
|
|
68
|
+
purple: entry('#cdade1', '#e8deee', '#9032c8', '#3e224f', '#d7bae8', '#cfa8e6'),
|
|
69
|
+
pink: entry('#dea6be', '#f5e0e9', '#b82e69', '#4f2235', '#e8bace', '#e3a1bd'),
|
|
70
|
+
red: entry('#deaea6', '#ffe2dd', '#b4412d', '#4f2822', '#e8c1ba', '#e3aaa1'),
|
|
71
|
+
teal: entry('#5eead4', '#99f6e4', '#115e59', '#203836', '#99f6e4'),
|
|
72
|
+
cyan: entry('#67e8f9', '#a5f3fc', '#155e75', '#213840', '#a5f3fc'),
|
|
73
|
+
indigo: entry('#a5b4fc', '#c7d2fe', '#3730a3', '#2c2b4c', '#c7d2fe'),
|
|
74
|
+
};
|
|
75
|
+
/** Vivid: today's saturated `SWATCH_HEX` look (orange `#f59e0b` → `#f97316`). */
|
|
76
|
+
const VIVID = {
|
|
77
|
+
gray: entry('#9ca3af', '#d4d4d8', '#32373e', '#484b51', '#cdd0d6'),
|
|
78
|
+
brown: entry('#b08968', '#bdac9e', '#45372b', '#534437', '#d8d1ca'),
|
|
79
|
+
orange: entry('#f97316', '#fdba74', '#603110', '#693e21', '#e7cdbb'),
|
|
80
|
+
yellow: entry('#eab308', '#fde047', '#5f4c11', '#685721', '#e7dcbc'),
|
|
81
|
+
green: entry('#22c55e', '#86efac', '#1a5630', '#2a603e', '#c1e1cd'),
|
|
82
|
+
blue: entry('#3b82f6', '#93c5fd', '#122f5e', '#223d67', '#bccce6'),
|
|
83
|
+
purple: entry('#a855f7', '#d8b4fe', '#39125e', '#462267', '#d2bce6'),
|
|
84
|
+
pink: entry('#ec4899', '#f9a8d4', '#5a1638', '#642644', '#e4bed1'),
|
|
85
|
+
red: entry('#ef4444', '#fca5a5', '#5c1515', '#652525', '#e4bebe'),
|
|
86
|
+
teal: entry('#14b8a6', '#5eead4', '#165a52', '#26635d', '#bfe4df'),
|
|
87
|
+
cyan: entry('#06b6d4', '#67e8f9', '#105460', '#215e69', '#bbe0e7'),
|
|
88
|
+
indigo: entry('#6366f1', '#a5b4fc', '#15165b', '#252764', '#bebfe4'),
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Muted: hue preserved, saturation compressed — greyed washes. The status trio
|
|
92
|
+
* (green/yellow/red) carries a punched-up **light** fill (+12% saturation, hue
|
|
93
|
+
* kept) so the status lamps read as a clear red/yellow/green traffic light while
|
|
94
|
+
* still sitting in the muted family (well below vivid); their dark fill keeps the
|
|
95
|
+
* desaturated wash (OB-379 review). No other muted value moves.
|
|
96
|
+
*/
|
|
97
|
+
const MUTED = {
|
|
98
|
+
gray: entry('#8d929a', '#e4e5e7', '#4d5056', '#3b3d40', '#c4c6ca'),
|
|
99
|
+
brown: entry('#9f9389', '#e8e5e3', '#59514a', '#413d3a', '#cac7c3'),
|
|
100
|
+
orange: entry('#b28e75', '#ebe5e0', '#694d3a', '#463c34', '#d2c5bc'),
|
|
101
|
+
yellow: entry('#bfa969', '#ebe8e0', '#685d3b', '#464235', '#d1ccbc', '#b2a376'),
|
|
102
|
+
green: entry('#70b88b', '#e2e9e4', '#40634d', '#37443b', '#bfcfc5', '#7dab8e'),
|
|
103
|
+
blue: entry('#778db1', '#e0e4eb', '#3b4c68', '#353b46', '#bdc4d1'),
|
|
104
|
+
purple: entry('#9577b1', '#e6e0eb', '#523b68', '#3d3546', '#c7bdd1'),
|
|
105
|
+
pink: entry('#ae7a94', '#eae1e5', '#653e51', '#45363d', '#d0bec7'),
|
|
106
|
+
red: entry('#bc6c6c', '#eae1e1', '#663d3d', '#453535', '#d0bdbd', '#af7979'),
|
|
107
|
+
teal: entry('#7aaea8', '#e1eae9', '#3e6561', '#364543', '#bed0ce'),
|
|
108
|
+
cyan: entry('#76a9b2', '#e0e9eb', '#3a6269', '#354346', '#bcced2'),
|
|
109
|
+
indigo: entry('#797aaf', '#e1e1ea', '#3d3e66', '#363645', '#bebed0'),
|
|
110
|
+
};
|
|
111
|
+
export const DATA_PALETTE = {
|
|
112
|
+
pastel: PASTEL,
|
|
113
|
+
vivid: VIVID,
|
|
114
|
+
muted: MUTED,
|
|
115
|
+
};
|
|
116
|
+
// ── Derivations ──────────────────────────────────────────────────────────────
|
|
117
|
+
/** The light-mode fill for chart series `i` (cycles over {@link SERIES_ORDER}). */
|
|
118
|
+
export const seriesColor = (i, scheme = DEFAULT_DATA_COLOR_SCHEME) => DATA_PALETTE[scheme][SERIES_ORDER[i % SERIES_ORDER.length]].fill;
|
|
119
|
+
/**
|
|
120
|
+
* Semantic token behind each status-light state. Warn is **yellow** (not orange):
|
|
121
|
+
* at the soft-pastel saturations orange and red are near-identical, so the trio
|
|
122
|
+
* uses green / yellow / red for a glanceable traffic light.
|
|
123
|
+
*/
|
|
124
|
+
export const STATUS_TOKENS = { ok: 'green', warn: 'yellow', bad: 'red' };
|
|
125
|
+
/** The status-lamp light-mode fill for a state (`ok → green`, `warn → yellow`, `bad → red`). */
|
|
126
|
+
export const statusColor = (s, scheme = DEFAULT_DATA_COLOR_SCHEME) => DATA_PALETTE[scheme][STATUS_TOKENS[s]].fill;
|
|
127
|
+
/** A `#rrggbb` hex as an `rgba()` string at the given alpha (for export inlining). */
|
|
128
|
+
export function hexAlpha(hex, alpha) {
|
|
129
|
+
const m = /^#([0-9a-f]{6})$/i.exec(hex);
|
|
130
|
+
if (!m)
|
|
131
|
+
return hex;
|
|
132
|
+
const n = parseInt(m[1], 16);
|
|
133
|
+
return `rgba(${(n >> 16) & 0xff},${(n >> 8) & 0xff},${n & 0xff},${alpha})`;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=dataColors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataColors.js","sourceRoot":"","sources":["../src/dataColors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { API, type ApiError, type CompactResult } from './routes';
|
|
|
4
4
|
export type { DataClient, PageSubscription, FetchLike, LiveSourceLike, HttpDataClientOptions, IdentityCredential } from './client';
|
|
5
5
|
export { HttpDataClient } from './client';
|
|
6
6
|
export { ForwardingApiError, ForwardingClient, TunnelClient, MemoryKeyStore, mintSiteKeypair, signWithSiteKey, verifyWithSiteKey, FORWARDED_HEADER, signRosterAssertion, verifyRosterAssertion, ROSTER_ASSERTION_VERSION, ROSTER_ASSERTION_SKEW_MS, type KeyStore, type SiteIdentity, type ForwardingClientOptions, type TunnelStatus, type RosterAssertionPayload, type SignRosterAssertionInput, type VerifyRosterAssertionInput, } from './forwarding';
|
|
7
|
+
export { DATA_PALETTE, DATA_COLOR_TOKENS, DATA_COLOR_SCHEMES, DEFAULT_DATA_COLOR_SCHEME, SERIES_ORDER, DATA_STROKE, STATUS_TOKENS, dataStroke, isDataColorToken, seriesColor, statusColor, hexAlpha, type DataColorToken, type DataColorScheme, type DataColor, type ChipColors, } from './dataColors';
|
|
7
8
|
export type { DatabasePropertyType, NumberFormat, NumberDisplay, StatusGroup, RollupFunction, RollupConfig, RelationCardinality, DatabaseSelectOption, DatabaseProperty, DateRange, LocationValue, PropertyGroup, RowTemplate, DatabaseViewType, ChartAggregate, SummaryType, FilterOperator, FilterConjunction, DatabaseFilter, DatabaseFilterGroup, FilterNode, SortDirection, DatabaseSort, DatabaseView, DatabaseMetric, ColorRule, DatabaseSchema, StoredDatabase, DatabaseInput, DatabaseUpdate, DatabaseRow, RowInput, RowUpdate, RowGroup, ChartDatum, ChartSeries, ChartSegment, ChartGroup, ChartMatrix, DateSpan, GraphNode, GraphEdge, DependencyGraph, InverseUpdate, RowTreeNode, } from './database';
|
|
8
9
|
export { TITLE_PROPERTY_ID, SELECT_COLORS, NO_VALUE_GROUP, STATUS_GROUPS, RELATIVE_DATE_OPS, projectExports, rowValue, matchesFilter, rowMatchesCondition, applyView, viewFilterRoot, isFilterGroup, shortId, defaultDatabaseSchema, defaultView, defaultStatusOptions, removeProperty, formatNumber, formatUniqueId, numberProgress, groupRows, groupRowsBy, groupRowsByParent, PARENT_GROUP_ID, NO_PARENT_GROUP, aggregateRows, aggregateMatrix, CHART_TOTAL_SERIES, summarizeColumn, dateStart, dateEnd, parseDay, rowDateSpan, rowLocation, asLocation, dependencyGraph, syncInverseUpdates, relationSides, buildRowTree, flattenRowTree, isImageUrl, firstImageUrl, coverImageUrl, } from './database';
|
|
9
10
|
export { evaluateFormula, formulaReferences, FormulaError, type FormulaValue, type FormulaResolver, } from './formula';
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { emptyPageSnapshot, PAGE_VISIBILITIES } from './types';
|
|
|
2
2
|
export { API } from './routes';
|
|
3
3
|
export { HttpDataClient } from './client';
|
|
4
4
|
export { ForwardingApiError, ForwardingClient, TunnelClient, MemoryKeyStore, mintSiteKeypair, signWithSiteKey, verifyWithSiteKey, FORWARDED_HEADER, signRosterAssertion, verifyRosterAssertion, ROSTER_ASSERTION_VERSION, ROSTER_ASSERTION_SKEW_MS, } from './forwarding';
|
|
5
|
+
export { DATA_PALETTE, DATA_COLOR_TOKENS, DATA_COLOR_SCHEMES, DEFAULT_DATA_COLOR_SCHEME, SERIES_ORDER, DATA_STROKE, STATUS_TOKENS, dataStroke, isDataColorToken, seriesColor, statusColor, hexAlpha, } from './dataColors';
|
|
5
6
|
export { TITLE_PROPERTY_ID, SELECT_COLORS, NO_VALUE_GROUP, STATUS_GROUPS, RELATIVE_DATE_OPS, projectExports, rowValue, matchesFilter, rowMatchesCondition, applyView, viewFilterRoot, isFilterGroup, shortId, defaultDatabaseSchema, defaultView, defaultStatusOptions, removeProperty, formatNumber, formatUniqueId, numberProgress, groupRows, groupRowsBy, groupRowsByParent, PARENT_GROUP_ID, NO_PARENT_GROUP, aggregateRows, aggregateMatrix, CHART_TOTAL_SERIES, summarizeColumn, dateStart, dateEnd, parseDay, rowDateSpan, rowLocation, asLocation, dependencyGraph, syncInverseUpdates, relationSides, buildRowTree, flattenRowTree, isImageUrl, firstImageUrl, coverImageUrl, } from './database';
|
|
6
7
|
export { evaluateFormula, formulaReferences, FormulaError, } from './formula';
|
|
7
8
|
export { OWNER_PROPERTY_ID, VERIFICATION_PROPERTY_ID, BACKLINKS_PROPERTY_ID, THEME_PROPERTY_ID, COVER_PROPERTY_ID, FONTS_PROPERTY_ID, ICON_PROPERTY_ID, FULLWIDTH_PROPERTY_ID, SYSTEM_PAGE_PROPERTIES, isVerified, verificationExpired, isVerificationActive, makeVerification, extractMentionIds, propertiesReferencePage, } from './pageProperties';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mtime.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Pure and isomorphic (no DOM, no Node): it reads whichever block projection a
|
|
9
9
|
* page uses — the CRDT block editor's JSON projection (`blockdoc.blocks`) or the
|
|
10
|
-
* legacy
|
|
10
|
+
* legacy stored blocks (`editorjs.blocks`) — so the same logic runs on the
|
|
11
11
|
* server write path and in unit tests.
|
|
12
12
|
*/
|
|
13
13
|
import type { PageSnapshot } from './types';
|
|
@@ -28,8 +28,8 @@ export interface BlockDigest {
|
|
|
28
28
|
export declare function contentHash(input: string): string;
|
|
29
29
|
/**
|
|
30
30
|
* The ordered list of a snapshot's top-level blocks, each as a {@link BlockDigest}.
|
|
31
|
-
* Reads the block-editor projection for `editor: 'blocks'` pages and the
|
|
32
|
-
* blocks otherwise. A block with no explicit id falls back to a positional id so
|
|
31
|
+
* Reads the block-editor projection for `editor: 'blocks'` pages and the legacy
|
|
32
|
+
* stored `editorjs` blocks otherwise. A block with no explicit id falls back to a positional id so
|
|
33
33
|
* an unchanged document still matches itself across versions.
|
|
34
34
|
*/
|
|
35
35
|
export declare function snapshotBlocks(data: PageSnapshot | null | undefined): BlockDigest[];
|
package/dist/mtime.js
CHANGED
|
@@ -24,8 +24,8 @@ function stableStringify(value) {
|
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* The ordered list of a snapshot's top-level blocks, each as a {@link BlockDigest}.
|
|
27
|
-
* Reads the block-editor projection for `editor: 'blocks'` pages and the
|
|
28
|
-
* blocks otherwise. A block with no explicit id falls back to a positional id so
|
|
27
|
+
* Reads the block-editor projection for `editor: 'blocks'` pages and the legacy
|
|
28
|
+
* stored `editorjs` blocks otherwise. A block with no explicit id falls back to a positional id so
|
|
29
29
|
* an unchanged document still matches itself across versions.
|
|
30
30
|
*/
|
|
31
31
|
export function snapshotBlocks(data) {
|
package/dist/mtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtime.js","sourceRoot":"","sources":["../src/mtime.ts"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,2DAA2D;QAC3D,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,+EAA+E;AAC/E,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAqC;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAiD,CAAC;IACxE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YACrD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAC;SACvG,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"mtime.js","sourceRoot":"","sources":["../src/mtime.ts"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,2DAA2D;QAC3D,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,+EAA+E;AAC/E,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAqC;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAiD,CAAC;IACxE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YACrD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAC;SACvG,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAI,IAAI,CAAC,QAAiD,EAAE,MAAM,IAAI,EAAE,CAAC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACrD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACrD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;KACjE,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAqC,EACrC,IAAkB,EAClB,MAAc;IAEd,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAiB,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IAE9D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAoB,EAAE;QACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAqC,EACrC,IAAkB,EAClB,SAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAEzC,OAAO,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAC,CAAC;AACnE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,IAAqC;IACpE,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,GAAG,MAAM;YAAE,MAAM,GAAG,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -10,12 +10,17 @@
|
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
12
|
* The serialized form of a reactive document. Three sibling keys:
|
|
13
|
-
* - `editorjs` —
|
|
14
|
-
*
|
|
13
|
+
* - `editorjs` — the block-native export projection (`{blocks}`), and for
|
|
14
|
+
* legacy pages the stored block list. **The JSON key name `editorjs` is a
|
|
15
|
+
* RETAINED storage / back-compat alias** — do not rename it on disk; every
|
|
16
|
+
* persisted snapshot uses it and renaming would strand stored data. In
|
|
17
|
+
* memory this shape is `ExportDoc` (see ui `exportBlocks.ts`). Kept opaque
|
|
18
|
+
* here so the SDK has no dependency on the editor; cast at the edit site.
|
|
15
19
|
* - `values` — `[cellId, value]` pairs from the reactive store.
|
|
16
20
|
* - `names` — `[name, cellId]` pairs (the name index).
|
|
17
21
|
*/
|
|
18
22
|
export interface PageSnapshot {
|
|
23
|
+
/** Retained storage/back-compat alias for the export projection; see doc above. */
|
|
19
24
|
editorjs: unknown;
|
|
20
25
|
values: Array<[string, unknown]>;
|
|
21
26
|
names: Array<[string, string]>;
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAAC,CAAC;IACpD,QAAQ,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC;IACtB,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACV,CAAC,CAAC;AAgGH;4EAC4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,SAAS;IACT,QAAQ;IACR,eAAe;IACf,SAAS;IACT,YAAY;CACb,CAAC"}
|