@blankdotpage/cake 0.1.14 → 0.1.16
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/README.md +4 -0
- package/dist/cake/core/runtime.d.ts +32 -72
- package/dist/cake/core/runtime.d.ts.map +1 -1
- package/dist/cake/core/runtime.js +260 -235
- package/dist/cake/dom/dom-map.d.ts.map +1 -1
- package/dist/cake/dom/dom-map.js +3 -1
- package/dist/cake/dom/render.d.ts +3 -3
- package/dist/cake/dom/render.d.ts.map +1 -1
- package/dist/cake/dom/render.js +12 -27
- package/dist/cake/editor/cake-editor.d.ts +42 -5
- package/dist/cake/editor/cake-editor.d.ts.map +1 -1
- package/dist/cake/editor/cake-editor.js +228 -69
- package/dist/cake/editor/extension-types.d.ts +7 -0
- package/dist/cake/editor/extension-types.d.ts.map +1 -0
- package/dist/cake/editor/extension-types.js +1 -0
- package/dist/cake/editor/selection/selection-geometry-dom.d.ts.map +1 -1
- package/dist/cake/editor/selection/selection-geometry-dom.js +2 -1
- package/dist/cake/editor/selection/selection-layout-dom.d.ts.map +1 -1
- package/dist/cake/editor/selection/selection-layout-dom.js +2 -2
- package/dist/cake/editor/selection/selection-navigation.d.ts.map +1 -1
- package/dist/cake/editor/selection/selection-navigation.js +5 -1
- package/dist/cake/extensions/blockquote/blockquote.d.ts +2 -1
- package/dist/cake/extensions/blockquote/blockquote.d.ts.map +1 -1
- package/dist/cake/extensions/blockquote/blockquote.js +15 -12
- package/dist/cake/extensions/bold/bold.d.ts +2 -1
- package/dist/cake/extensions/bold/bold.d.ts.map +1 -1
- package/dist/cake/extensions/bold/bold.js +23 -18
- package/dist/cake/extensions/combined-emphasis/combined-emphasis.d.ts +2 -1
- package/dist/cake/extensions/combined-emphasis/combined-emphasis.d.ts.map +1 -1
- package/dist/cake/extensions/combined-emphasis/combined-emphasis.js +5 -6
- package/dist/cake/extensions/heading/heading.d.ts +2 -1
- package/dist/cake/extensions/heading/heading.d.ts.map +1 -1
- package/dist/cake/extensions/heading/heading.js +21 -15
- package/dist/cake/extensions/image/image.d.ts +2 -1
- package/dist/cake/extensions/image/image.d.ts.map +1 -1
- package/dist/cake/extensions/image/image.js +15 -12
- package/dist/cake/extensions/italic/italic.d.ts +2 -1
- package/dist/cake/extensions/italic/italic.d.ts.map +1 -1
- package/dist/cake/extensions/italic/italic.js +23 -18
- package/dist/cake/extensions/link/link-popover.d.ts +3 -15
- package/dist/cake/extensions/link/link-popover.d.ts.map +1 -1
- package/dist/cake/extensions/link/link-popover.js +30 -3
- package/dist/cake/extensions/link/link.d.ts +2 -1
- package/dist/cake/extensions/link/link.d.ts.map +1 -1
- package/dist/cake/extensions/link/link.js +23 -26
- package/dist/cake/extensions/list/list.d.ts +2 -1
- package/dist/cake/extensions/list/list.d.ts.map +1 -1
- package/dist/cake/extensions/list/list.js +13 -10
- package/dist/cake/extensions/scrollbar/index.d.ts +2 -1
- package/dist/cake/extensions/scrollbar/index.d.ts.map +1 -1
- package/dist/cake/extensions/scrollbar/index.js +10 -8
- package/dist/cake/extensions/strikethrough/strikethrough.d.ts +2 -1
- package/dist/cake/extensions/strikethrough/strikethrough.d.ts.map +1 -1
- package/dist/cake/extensions/strikethrough/strikethrough.js +23 -18
- package/dist/cake/extensions/types.d.ts +1 -1
- package/dist/cake/extensions/types.d.ts.map +1 -1
- package/dist/cake/extensions/underline/underline.d.ts +2 -1
- package/dist/cake/extensions/underline/underline.d.ts.map +1 -1
- package/dist/cake/extensions/underline/underline.js +40 -21
- package/dist/cake/index.d.ts +1 -1
- package/dist/cake/index.d.ts.map +1 -1
- package/dist/cake/react/index.d.ts.map +1 -1
- package/dist/cake/react/index.js +7 -49
- package/dist/cake/test/harness.d.ts +1 -1
- package/dist/cake/test/harness.d.ts.map +1 -1
- package/dist/cake/test/harness.js +4 -50
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -1
package/dist/cake/dom/render.js
CHANGED
|
@@ -5,7 +5,7 @@ function normalizeNodes(result) {
|
|
|
5
5
|
}
|
|
6
6
|
return Array.isArray(result) ? result : [result];
|
|
7
7
|
}
|
|
8
|
-
export function renderDocContent(doc,
|
|
8
|
+
export function renderDocContent(doc, dom, root) {
|
|
9
9
|
const runs = [];
|
|
10
10
|
let cursorOffset = 0;
|
|
11
11
|
let lineIndex = 0;
|
|
@@ -79,12 +79,8 @@ export function renderDocContent(doc, extensions, root) {
|
|
|
79
79
|
return "unknown";
|
|
80
80
|
}
|
|
81
81
|
function reconcileInline(inline, existing) {
|
|
82
|
-
for (const
|
|
83
|
-
const
|
|
84
|
-
if (!render) {
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
const result = render(inline, context);
|
|
82
|
+
for (const renderInline of dom.inlineRenderers) {
|
|
83
|
+
const result = renderInline(inline, context);
|
|
88
84
|
if (result) {
|
|
89
85
|
return normalizeNodes(result);
|
|
90
86
|
}
|
|
@@ -157,7 +153,8 @@ export function renderDocContent(doc, extensions, root) {
|
|
|
157
153
|
const newChildren = [];
|
|
158
154
|
mergedInlines.forEach((inline, i) => {
|
|
159
155
|
const existingChild = existingChildren[i] ?? null;
|
|
160
|
-
const canReuse = existingChild &&
|
|
156
|
+
const canReuse = existingChild &&
|
|
157
|
+
getInlineElementKey(existingChild) === getInlineKey(inline);
|
|
161
158
|
const nodes = reconcileInline(inline, canReuse ? existingChild : null);
|
|
162
159
|
newChildren.push(...nodes);
|
|
163
160
|
});
|
|
@@ -171,12 +168,8 @@ export function renderDocContent(doc, extensions, root) {
|
|
|
171
168
|
return reconcileInline(inline, null);
|
|
172
169
|
}
|
|
173
170
|
function reconcileBlock(block, existing) {
|
|
174
|
-
for (const
|
|
175
|
-
const
|
|
176
|
-
if (!render) {
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
const result = render(block, context);
|
|
171
|
+
for (const renderBlock of dom.blockRenderers) {
|
|
172
|
+
const result = renderBlock(block, context);
|
|
180
173
|
if (result) {
|
|
181
174
|
return normalizeNodes(result);
|
|
182
175
|
}
|
|
@@ -311,7 +304,7 @@ export function renderDocContent(doc, extensions, root) {
|
|
|
311
304
|
});
|
|
312
305
|
return { content: contentNodes, map: createDomMap(runs) };
|
|
313
306
|
}
|
|
314
|
-
export function renderDoc(doc,
|
|
307
|
+
export function renderDoc(doc, dom) {
|
|
315
308
|
const root = document.createElement("div");
|
|
316
309
|
root.className = "cake-content";
|
|
317
310
|
root.setAttribute("contenteditable", "true");
|
|
@@ -335,12 +328,8 @@ export function renderDoc(doc, extensions) {
|
|
|
335
328
|
},
|
|
336
329
|
};
|
|
337
330
|
function renderInline(inline) {
|
|
338
|
-
for (const
|
|
339
|
-
const
|
|
340
|
-
if (!render) {
|
|
341
|
-
continue;
|
|
342
|
-
}
|
|
343
|
-
const result = render(inline, context);
|
|
331
|
+
for (const renderInline of dom.inlineRenderers) {
|
|
332
|
+
const result = renderInline(inline, context);
|
|
344
333
|
if (result) {
|
|
345
334
|
return normalizeNodes(result);
|
|
346
335
|
}
|
|
@@ -374,12 +363,8 @@ export function renderDoc(doc, extensions) {
|
|
|
374
363
|
return [];
|
|
375
364
|
}
|
|
376
365
|
function renderBlock(block) {
|
|
377
|
-
for (const
|
|
378
|
-
const
|
|
379
|
-
if (!render) {
|
|
380
|
-
continue;
|
|
381
|
-
}
|
|
382
|
-
const result = render(block, context);
|
|
366
|
+
for (const renderBlock of dom.blockRenderers) {
|
|
367
|
+
const result = renderBlock(block, context);
|
|
383
368
|
if (result) {
|
|
384
369
|
return normalizeNodes(result);
|
|
385
370
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Selection } from "../core/types";
|
|
2
|
-
import { type
|
|
1
|
+
import type { Block, Inline, Selection } from "../core/types";
|
|
2
|
+
import { type EditCommand, type KeyBinding, type ParseBlockResult, type ParseInlineResult, type SerializeBlockResult, type SerializeInlineResult, type RuntimeState, type ToggleInlineSpec, type DomBlockRenderer, type DomInlineRenderer, type ExtensionContext, type InlineWrapperAffinity, type EditResult } from "../core/runtime";
|
|
3
|
+
import type { CakeExtension, CakeUIComponent } from "./extension-types";
|
|
3
4
|
import type { SelectionRect } from "./selection/selection-geometry";
|
|
4
5
|
type EngineOptions = {
|
|
5
6
|
container: HTMLElement;
|
|
@@ -23,7 +24,21 @@ export type RenderPerf = {
|
|
|
23
24
|
export declare class CakeEditor {
|
|
24
25
|
private container;
|
|
25
26
|
private runtime;
|
|
26
|
-
private
|
|
27
|
+
private toggleMarkerToSpec;
|
|
28
|
+
private inclusiveAtEndByKind;
|
|
29
|
+
private parseBlockFns;
|
|
30
|
+
private parseInlineFns;
|
|
31
|
+
private serializeBlockFns;
|
|
32
|
+
private serializeInlineFns;
|
|
33
|
+
private normalizeBlockFns;
|
|
34
|
+
private normalizeInlineFns;
|
|
35
|
+
private onEditFns;
|
|
36
|
+
private keybindings;
|
|
37
|
+
private onPasteTextHandlers;
|
|
38
|
+
private domInlineRenderers;
|
|
39
|
+
private domBlockRenderers;
|
|
40
|
+
private uiComponents;
|
|
41
|
+
private extensionDisposers;
|
|
27
42
|
private _state;
|
|
28
43
|
private get state();
|
|
29
44
|
private set state(value);
|
|
@@ -49,8 +64,10 @@ export declare class CakeEditor {
|
|
|
49
64
|
private scrollCaretIntoViewId;
|
|
50
65
|
private selectionRectElements;
|
|
51
66
|
private lastSelectionRects;
|
|
52
|
-
private
|
|
53
|
-
private
|
|
67
|
+
private onChangeOption?;
|
|
68
|
+
private onSelectionChangeOption?;
|
|
69
|
+
private changeSubscribers;
|
|
70
|
+
private selectionChangeSubscribers;
|
|
54
71
|
private readOnly;
|
|
55
72
|
private spellCheckEnabled;
|
|
56
73
|
private extensionsRoot;
|
|
@@ -93,6 +110,21 @@ export declare class CakeEditor {
|
|
|
93
110
|
private lastTouchTime;
|
|
94
111
|
private isTouchDevice;
|
|
95
112
|
constructor(options: EngineOptions);
|
|
113
|
+
installExtensions(extensions: CakeExtension[]): void;
|
|
114
|
+
registerInlineWrapperAffinity(specs: InlineWrapperAffinity[]): () => void;
|
|
115
|
+
registerToggleInline(toggle: ToggleInlineSpec): () => void;
|
|
116
|
+
registerParseBlock(fn: (source: string, start: number, context: ExtensionContext) => ParseBlockResult): () => void;
|
|
117
|
+
registerParseInline(fn: (source: string, start: number, end: number, context: ExtensionContext) => ParseInlineResult): () => void;
|
|
118
|
+
registerSerializeBlock(fn: (block: Block, context: ExtensionContext) => SerializeBlockResult | null): () => void;
|
|
119
|
+
registerSerializeInline(fn: (inline: Inline, context: ExtensionContext) => SerializeInlineResult | null): () => void;
|
|
120
|
+
registerNormalizeBlock(fn: (block: Block) => Block | null): () => void;
|
|
121
|
+
registerNormalizeInline(fn: (inline: Inline) => Inline | null): () => void;
|
|
122
|
+
registerOnEdit(fn: (command: EditCommand, state: RuntimeState) => EditResult | EditCommand | null): () => void;
|
|
123
|
+
registerOnPasteText(fn: (text: string, state: RuntimeState) => EditCommand | null): () => void;
|
|
124
|
+
registerKeybindings(bindings: KeyBinding[]): () => void;
|
|
125
|
+
registerInlineRenderer(fn: DomInlineRenderer): () => void;
|
|
126
|
+
registerBlockRenderer(fn: DomBlockRenderer): () => void;
|
|
127
|
+
registerUI(component: CakeUIComponent): () => void;
|
|
96
128
|
destroy(): void;
|
|
97
129
|
setReadOnly(readOnly: boolean): void;
|
|
98
130
|
setSpellCheckEnabled(enabled: boolean): void;
|
|
@@ -104,6 +136,9 @@ export declare class CakeEditor {
|
|
|
104
136
|
getContentRoot(): HTMLElement | null;
|
|
105
137
|
getLines(): import("./selection/selection-layout").LineInfo[];
|
|
106
138
|
getOverlayRoot(): HTMLDivElement;
|
|
139
|
+
getUIComponents(): CakeUIComponent[];
|
|
140
|
+
onChange(callback: (value: string, selection: Selection) => void): () => void;
|
|
141
|
+
onSelectionChange(callback: (selection: Selection) => void): () => void;
|
|
107
142
|
syncPlaceholder(): void;
|
|
108
143
|
insertText(text: string): void;
|
|
109
144
|
replaceText(oldText: string, newText: string): void;
|
|
@@ -191,6 +226,8 @@ export declare class CakeEditor {
|
|
|
191
226
|
private resolveCollapsedReconcileAffinity;
|
|
192
227
|
private markBeforeInputHandled;
|
|
193
228
|
private suppressSelectionChangeForTick;
|
|
229
|
+
private notifyChange;
|
|
230
|
+
private notifySelectionChange;
|
|
194
231
|
private markCompositionCommit;
|
|
195
232
|
private clearCompositionCommit;
|
|
196
233
|
private handleScroll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"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"}
|