@shadow-garden/bapbong-editor 0.1.0 → 0.2.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.
@@ -16,12 +16,12 @@ export interface SectionBoundary {
16
16
  width: number;
17
17
  } | null;
18
18
  }
19
- export type { EditorChange, EditorPlugin, PluginContext } from '@shadow-garden/bapbong-contracts';
19
+ export type { EditorChange, EditorPlugin, PluginContext, } from '@shadow-garden/bapbong-contracts';
20
20
  export { RenderCore } from '@shadow-garden/bapbong-view';
21
21
  import { Collection } from '@shadow-garden/bapbong-contracts';
22
22
  import type { FindPlugin } from './find-plugin';
23
23
  import type { TableSelectionPlugin } from './table-selection-plugin';
24
- export type { TableSelectionPlugin, CellBlock, SelectedCell } from './table-selection-plugin';
24
+ export type { TableSelectionPlugin, CellBlock, SelectedCell, } from './table-selection-plugin';
25
25
  export type { FindPlugin, FindState } from './find-plugin';
26
26
  export interface BapbongEditorOptions {
27
27
  /** The scroll viewport the page stack lives in (used for virtualization and
@@ -36,6 +36,15 @@ export interface BapbongEditorOptions {
36
36
  measureText?: MeasureText;
37
37
  /** Vertical-metrics provider paired with {@link measureText}. */
38
38
  measureMetrics?: MeasureMetrics;
39
+ /** Fallback clipboard reader for hosts whose webview denies the async
40
+ * Clipboard API (e.g. the desktop shell reads the OS clipboard natively).
41
+ * Return every flavor present; null when empty / unavailable. */
42
+ readClipboardFallback?: () => Promise<{
43
+ html?: string;
44
+ text?: string;
45
+ image?: Uint8Array;
46
+ imageMime?: string;
47
+ } | null>;
39
48
  }
40
49
  /**
41
50
  * The framework-agnostic core of bapbong: it owns the render → edit loop
@@ -77,6 +86,7 @@ export declare class BapbongEditor {
77
86
  * Built from the shared command layer; the same ops run on a backend.
78
87
  * (Plugin-contributed commands are an additive follow-up.) */
79
88
  readonly commands: Collection<EditorCommand>;
89
+ private readonly readClipboardFallback?;
80
90
  constructor(stack: HTMLElement, opts?: BapbongEditorOptions);
81
91
  /** The controlled surface handed to each plugin (live state + geometry). */
82
92
  private makePluginContext;
@@ -141,8 +151,22 @@ export declare class BapbongEditor {
141
151
  copy(): boolean;
142
152
  /** Cut the selection to the clipboard. */
143
153
  cut(): boolean;
144
- /** Paste clipboard content (HTML parsed by the schema, else plain text). */
154
+ /** Paste clipboard content HTML parsed by the schema, image blobs as
155
+ * embedded images, else plain text.
156
+ *
157
+ * Menu-driven paste can't ride a native ClipboardEvent, so it climbs a
158
+ * ladder of acquisition strategies until one yields content:
159
+ * 1. the host's native clipboard reader (`readClipboardFallback`) when
160
+ * provided — on WKWebView every programmatic clipboard READ (both
161
+ * `navigator.clipboard.*` and execCommand) pops a "Paste" permission
162
+ * callout and pends until the user taps it, so the desktop shell
163
+ * must never touch the DOM clipboard from a menu click;
164
+ * 2. async Clipboard API (`navigator.clipboard.read`) — browsers, where
165
+ * a user-gesture read is granted silently;
166
+ * 3. `document.execCommand('paste')` — legacy last resort. */
145
167
  paste(): Promise<void>;
168
+ private pasteViaClipboardApi;
169
+ private pasteViaHostClipboard;
146
170
  /** Paste clipboard text as plain text (no formatting). */
147
171
  pasteText(): Promise<void>;
148
172
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"bapbong-editor.d.ts","sourceRoot":"","sources":["../../src/lib/bapbong-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bapbong-editor.d.ts","sourceRoot":"","sources":["../../src/lib/bapbong-editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { EditorView } from 'prosemirror-view';
2
+ /** Image blobs in a DataTransfer (clipboard or drop), in item order. */
3
+ export declare function imageFilesIn(dt: DataTransfer | null): File[];
4
+ /** Insert image blobs at the selection as inline image nodes (one
5
+ * transaction). Resolves true if anything was inserted. */
6
+ export declare function insertImageBlobs(view: EditorView, blobs: Blob[]): Promise<boolean>;
7
+ /** editorProps.handlePaste: claim the event only when the clipboard's best
8
+ * payload is an image. Rich HTML (real text content) wins over the blob —
9
+ * ProseMirror's default paste parses it through the schema; but HTML that is
10
+ * merely an <img> wrapper (how browsers copy a picture) would lose the image
11
+ * there (remote srcs are rejected by the schema), so the blob is used. */
12
+ export declare function imagePasteHandler(view: EditorView, event: ClipboardEvent): boolean;
13
+ //# sourceMappingURL=paste-images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paste-images.d.ts","sourceRoot":"","sources":["../../src/lib/paste-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBnD,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,EAAE,CAS5D;AAwBD;4DAC4D;AAC5D,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;;;2EAI2E;AAC3E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,cAAc,GACpB,OAAO,CAaT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shadow-garden/bapbong-editor",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "bapbong — canvas-rendered DOCX editor for the browser (work in progress)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -55,11 +55,12 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "prosemirror-model": "^1.25.7",
58
- "@shadow-garden/bapbong-commands": "^0.1.0",
59
- "@shadow-garden/bapbong-contracts": "^0.1.0",
60
- "@shadow-garden/bapbong-selection": "^0.1.0",
61
- "@shadow-garden/bapbong-model": "^0.1.0",
62
- "@shadow-garden/bapbong-input-bridge": "^0.1.0",
63
- "@shadow-garden/bapbong-view": "^0.1.0"
58
+ "prosemirror-view": "^1.41.3",
59
+ "@shadow-garden/bapbong-contracts": "^0.1.1",
60
+ "@shadow-garden/bapbong-input-bridge": "^0.1.1",
61
+ "@shadow-garden/bapbong-commands": "^0.2.0",
62
+ "@shadow-garden/bapbong-selection": "^0.1.1",
63
+ "@shadow-garden/bapbong-view": "^0.2.0",
64
+ "@shadow-garden/bapbong-model": "^0.2.0"
64
65
  }
65
66
  }