@openleaf-editor/element 0.1.0-beta.0 → 0.1.0-beta.2

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 CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  The `<openleaf-editor>` custom element: OpenLeaf's drop-in for CMS forms. HTML in, HTML out, syncs to a textarea.
4
4
 
5
- This is a **beta**. APIs may still change.
5
+ This is a **beta** (`0.1.0-beta.2`). APIs may still change. It has not been
6
+ used in production, and it has not been driven by a real screen reader.
6
7
 
7
8
  ## Install
8
9
 
@@ -23,20 +24,69 @@ import '@openleaf-editor/element'
23
24
  </form>
24
25
  ```
25
26
 
26
- Optional plugins, each a separate package:
27
+ Optional plugins, each a separate package. Keep the `@beta` tag:
28
+
29
+ ```bash
30
+ npm install @openleaf-editor/plugins-table@beta \
31
+ @openleaf-editor/plugins-colour@beta \
32
+ @openleaf-editor/plugins-highlight@beta \
33
+ @openleaf-editor/plugins-import@beta \
34
+ @openleaf-editor/plugins-import-docx@beta \
35
+ @openleaf-editor/plugins-session@beta \
36
+ @openleaf-editor/plugins-insert@beta
37
+ ```
27
38
 
28
39
  ```ts
29
40
  import { installTableEditing } from '@openleaf-editor/plugins-table'
41
+ import { installColourPicker } from '@openleaf-editor/plugins-colour'
30
42
  import { installSyntaxHighlighting } from '@openleaf-editor/plugins-highlight'
31
43
  import { installImport } from '@openleaf-editor/plugins-import'
32
44
  import { installDocxImport } from '@openleaf-editor/plugins-import-docx'
45
+ import { installSessionTools } from '@openleaf-editor/plugins-session'
46
+ import { installInsertTools } from '@openleaf-editor/plugins-insert'
33
47
 
34
48
  installTableEditing()
49
+ installColourPicker()
35
50
  installSyntaxHighlighting()
36
51
  installImport()
37
52
  installDocxImport()
53
+ installSessionTools()
54
+ installInsertTools()
55
+ ```
56
+
57
+ **Keep every `@openleaf-editor/*` package on the same version.** They pin each
58
+ other exactly, so mixing versions installs two copies of the schema and the
59
+ toolbar registry — and a table node built by one is not a node type the other
60
+ accepts.
61
+
62
+ ## Alignment and image upload
63
+
64
+ Both are in this package; neither needs a plugin. Alignment is four toolbar items
65
+ (`alignLeft alignCenter alignRight alignJustify`) and `Mod+Shift+L/E/R/J`.
66
+
67
+ Image upload is a hook you point at your own endpoint. Register one and the image
68
+ dialog grows a file picker, and dropping or pasting an image file routes through
69
+ it. Register nothing and the dialog stays insert-by-URL — there is deliberately no
70
+ `data:` URL fallback, because the schema refuses `data:` URLs and content that
71
+ vanishes on save is worse than a missing picker.
72
+
73
+ ```ts
74
+ import { registerImageUploader } from '@openleaf-editor/element'
75
+
76
+ registerImageUploader(async (file) => {
77
+ const body = new FormData()
78
+ body.append('file', file)
79
+ const res = await fetch('/admin/media', { method: 'POST', body })
80
+ if (!res.ok) throw new Error('The server rejected the upload.')
81
+ const { url, width, height } = await res.json()
82
+ return { src: url, width, height }
83
+ })
38
84
  ```
39
85
 
40
- Sanitize submitted HTML on the server. `@openleaf-editor/sanitize` ships the same allowlist as data.
86
+ Whatever that function throws is shown to the author verbatim, so write the
87
+ message for them. For one editor with its own endpoint, set
88
+ `element.imageUploader` instead.
89
+
90
+ Sanitize submitted HTML on the server. `@openleaf-editor/sanitize` ships the same allowlist as data — including the narrow `style` allowance that alignment and colour need. If you sanitize with DOMPurify, install `styleAttributeHook` as well; the config alone cannot filter CSS per element.
41
91
 
42
92
  See the [project README](https://github.com/PeytonNowlin/openleaf) for the rest.
package/dist/index.d.ts CHANGED
@@ -20,12 +20,23 @@
20
20
  * reads `$_POST['body']` keeps working untouched.
21
21
  *
22
22
  * Attributes:
23
- * for id of the textarea to bind to
24
- * skin named appearance: midnight, paper, contrast, compact
25
- * theme light | dark | auto (default: follow the visitor's system)
26
- * toolbar space-separated item ids, `|` for a separator; `none` to omit
27
- * readonly render but do not allow editing
28
- * aria-label accessible name for the editable region
23
+ * for id of the textarea to bind to
24
+ * skin named appearance: midnight, paper, contrast, compact
25
+ * theme light | dark | auto (default: follow the visitor's system)
26
+ * toolbar space-separated item ids, `|` for a separator; `none` to omit
27
+ * toolbar2 a second toolbar, same grammar
28
+ * menubar space-separated menu ids, or omit to hide; `none` also hides
29
+ * contextmenu `none` to disable; default is link, image and table menus
30
+ * selection-toolbar floating bar for a non-empty selection; `none` disables
31
+ * insert-toolbar floating bar for an empty block; `none` disables
32
+ * formats `p.lead=Lead|h2=Section` entries for the formats dropdown
33
+ * content-css comma-separated URLs scoped onto the canvas
34
+ * lang UI locale, matched against registerTranslations()
35
+ * inline hide chrome until the editor is focused
36
+ * autoresize grow the canvas with the document
37
+ * toolbar-overflow collapse overflowing groups into a More menu
38
+ * readonly render but do not allow editing
39
+ * aria-label accessible name for the editable region
29
40
  */
30
41
  import { Toolbar } from '@openleaf-editor/ui';
31
42
  import { EditorView } from 'prosemirror-view';
@@ -84,6 +95,12 @@ export declare class OpenLeafEditor extends HTMLElement {
84
95
  * clipboard HTML somewhere other than the editor.
85
96
  */
86
97
  export { normalizePastedHtml } from '@openleaf-editor/paste';
98
+ /**
99
+ * Re-exported so a plain `<script>` integration can register an upload endpoint
100
+ * without a build step: `OpenLeaf.registerImageUploader(fn)`. Setting
101
+ * `element.imageUploader` overrides it for one editor.
102
+ */
103
+ export { registerFilePicker, registerImageClasses, registerImageList, registerImageUploader, registerLinkList, registerTranslations, setUiLocale, type FilePicker, type FilePickerKind, type ImageUploadResult, type ImageUploader, type ListedResource, type PickedResource, } from '@openleaf-editor/ui';
87
104
  /** Idempotent: safe to import twice, or alongside a bundled copy. */
88
105
  export declare function defineOpenLeafEditor(tag?: string): void;
89
106
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAaH,OAAO,EAEL,OAAO,EAOR,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AACvD,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAEzD,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA6C5C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,IAAI,IAAI;IAuLzB,oBAAoB,IAAI,IAAI;IAiB5B,0CAA0C;IAC1C,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAWrB;IAED,yEAAyE;IACzE,IAAI,IAAI,IAAI,UAAU,GAAG,IAAI,CAE5B;IAED,6CAA6C;IAC7C,IAAI,MAAM,IAAI,OAAO,mBAAmB,EAAE,MAAM,CAE/C;IAED,wEAAwE;IACxE,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAE5B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;CA0IF;AAED;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,GAAG,SAAoB,GAAG,IAAI,CAIlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAkBH,OAAO,EAYL,OAAO,EAgBR,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AACvD,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAEzD,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAuD5C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,IAAI,IAAI;IAiPzB,oBAAoB,IAAI,IAAI;IAkC5B,0CAA0C;IAC1C,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAWrB;IAED,yEAAyE;IACzE,IAAI,IAAI,IAAI,UAAU,GAAG,IAAI,CAE5B;IAED,6CAA6C;IAC7C,IAAI,MAAM,IAAI,OAAO,mBAAmB,EAAE,MAAM,CAE/C;IAED,wEAAwE;IACxE,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAE5B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;CAmXF;AAED;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D;;;;GAIG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAA;AAE5B,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,GAAG,SAAoB,GAAG,IAAI,CAIlE"}
package/dist/index.js CHANGED
@@ -20,20 +20,31 @@
20
20
  * reads `$_POST['body']` keeps working untouched.
21
21
  *
22
22
  * Attributes:
23
- * for id of the textarea to bind to
24
- * skin named appearance: midnight, paper, contrast, compact
25
- * theme light | dark | auto (default: follow the visitor's system)
26
- * toolbar space-separated item ids, `|` for a separator; `none` to omit
27
- * readonly render but do not allow editing
28
- * aria-label accessible name for the editable region
23
+ * for id of the textarea to bind to
24
+ * skin named appearance: midnight, paper, contrast, compact
25
+ * theme light | dark | auto (default: follow the visitor's system)
26
+ * toolbar space-separated item ids, `|` for a separator; `none` to omit
27
+ * toolbar2 a second toolbar, same grammar
28
+ * menubar space-separated menu ids, or omit to hide; `none` also hides
29
+ * contextmenu `none` to disable; default is link, image and table menus
30
+ * selection-toolbar floating bar for a non-empty selection; `none` disables
31
+ * insert-toolbar floating bar for an empty block; `none` disables
32
+ * formats `p.lead=Lead|h2=Section` entries for the formats dropdown
33
+ * content-css comma-separated URLs scoped onto the canvas
34
+ * lang UI locale, matched against registerTranslations()
35
+ * inline hide chrome until the editor is focused
36
+ * autoresize grow the canvas with the document
37
+ * toolbar-overflow collapse overflowing groups into a More menu
38
+ * readonly render but do not allow editing
39
+ * aria-label accessible name for the editable region
29
40
  */
30
- import { buildKeymap, coreSchema, createRegisteredPlugins, onEditorPluginsChange, onSchemaExtensionsChange, parseHtml, serializeHtml, } from '@openleaf-editor/core';
41
+ import { autolinkPlugin, buildKeymap, coreSchema, createRegisteredPlugins, insertImage, nonEditablePlugin, onEditorPluginsChange, onSchemaExtensionsChange, parseFormatList, parseHtml, serializeHtml, visualAidsPlugin, } from '@openleaf-editor/core';
31
42
  import { normalizePastedHtml } from '@openleaf-editor/paste';
32
- import { SOURCE_TOGGLE_EVENT, Toolbar, applyColourScheme, applySkin, ensureSkins, ensureStyles, registerDefaultItems, } from '@openleaf-editor/ui';
43
+ import { DEFAULT_INSERT_LAYOUT, DEFAULT_SELECTION_LAYOUT, FULLSCREEN_TOGGLE_EVENT, FloatingToolbars, IMAGE_CONTEXT_ITEMS, LINK_CONTEXT_ITEMS, MenuBar, PopupMenu, SOURCE_TOGGLE_EVENT, selectMenus, TABLE_CONTEXT_ITEMS, Toolbar, VISUAL_AIDS_TOGGLE_EVENT, applyColourScheme, applySkin, canUploadImages, contentCssUrls, ensureSkins, ensureStyles, imageFilesFrom, imageUploaderFor, loadContentCss, promptForImage, promptHelp, registerDefaultItems, runUploader, } from '@openleaf-editor/ui';
33
44
  import { baseKeymap } from 'prosemirror-commands';
34
45
  import { history } from 'prosemirror-history';
35
46
  import { keymap } from 'prosemirror-keymap';
36
- import { EditorState, Plugin } from 'prosemirror-state';
47
+ import { EditorState, Plugin, TextSelection } from 'prosemirror-state';
37
48
  import { EditorView } from 'prosemirror-view';
38
49
  let hintCounter = 0;
39
50
  /**
@@ -48,7 +59,7 @@ export const SOURCE_OPEN_EVENT = 'openleaf:source-open';
48
59
  export const SOURCE_CLOSE_EVENT = 'openleaf:source-close';
49
60
  export class OpenLeafEditor extends HTMLElement {
50
61
  static get observedAttributes() {
51
- return ['for', 'readonly', 'skin', 'theme'];
62
+ return ['for', 'readonly', 'skin', 'theme', 'lang'];
52
63
  }
53
64
  /**
54
65
  * Appearance attributes are applied on change as well as at build time, so a
@@ -64,6 +75,8 @@ export class OpenLeafEditor extends HTMLElement {
64
75
  this.#applyReadonly();
65
76
  if (name === 'for')
66
77
  this.#rebindTextarea();
78
+ if (name === 'lang')
79
+ this.#applyLocale();
67
80
  }
68
81
  #colourScheme() {
69
82
  const value = this.getAttribute('theme');
@@ -71,6 +84,10 @@ export class OpenLeafEditor extends HTMLElement {
71
84
  }
72
85
  #view = null;
73
86
  #toolbar = null;
87
+ #toolbar2 = null;
88
+ #menubar = null;
89
+ #contextMenu = null;
90
+ #floating = null;
74
91
  #textarea = null;
75
92
  #form = null;
76
93
  #contentHost = null;
@@ -83,6 +100,11 @@ export class OpenLeafEditor extends HTMLElement {
83
100
  #pluginCache = new Map();
84
101
  #unwatchPlugins;
85
102
  #unwatchSchema;
103
+ #resizeObserver = null;
104
+ #visualAids = true;
105
+ #fullscreen = false;
106
+ /** True while a real fullscreen session is ours, as opposed to the fallback. */
107
+ #nativeFullscreen = false;
86
108
  #onSubmit = () => this.#syncToTextarea();
87
109
  #onFormData = (event) => {
88
110
  this.#syncToTextarea();
@@ -149,14 +171,49 @@ export class OpenLeafEditor extends HTMLElement {
149
171
  nestedTextarea?.remove();
150
172
  this.innerHTML = '';
151
173
  this.classList.add('ol-editor');
174
+ if (this.hasAttribute('inline'))
175
+ this.classList.add('ol-inline');
176
+ if (this.hasAttribute('autoresize'))
177
+ this.classList.add('ol-autoresize');
178
+ this.#visualAids = this.getAttribute('visualaids') !== 'false';
179
+ if (this.#visualAids)
180
+ this.classList.add('ol-visual-aids');
181
+ const formats = parseFormatList(this.getAttribute('formats'));
182
+ const overflow = this.hasAttribute('toolbar-overflow');
152
183
  const layout = this.getAttribute('toolbar');
153
184
  const wantsToolbar = layout !== 'none';
185
+ const menubarAttr = this.getAttribute('menubar');
186
+ const wantsMenubar = menubarAttr !== null && menubarAttr !== 'none';
187
+ if (wantsMenubar) {
188
+ // The attribute is a list, not a flag: `menubar="edit help"` asks for those
189
+ // two menus in that order. An unrecognised list leaves no menubar rather
190
+ // than an empty one with nothing in it.
191
+ const menus = selectMenus(menubarAttr);
192
+ if (menus.length > 0) {
193
+ this.#menubar = new MenuBar(this, this.ownerDocument, menus, this.getAttribute('lang'));
194
+ this.appendChild(this.#menubar.el);
195
+ }
196
+ }
154
197
  if (wantsToolbar) {
155
198
  this.#toolbar = new Toolbar(this, this.ownerDocument, {
156
199
  ...(layout ? { layout } : {}),
200
+ overflow,
201
+ formats,
202
+ locale: this.getAttribute('lang'),
157
203
  });
158
204
  this.appendChild(this.#toolbar.el);
159
205
  }
206
+ const toolbar2 = this.getAttribute('toolbar2');
207
+ if (toolbar2 && toolbar2 !== 'none') {
208
+ this.#toolbar2 = new Toolbar(this, this.ownerDocument, {
209
+ layout: toolbar2,
210
+ label: 'More formatting',
211
+ overflow,
212
+ formats,
213
+ locale: this.getAttribute('lang'),
214
+ });
215
+ this.appendChild(this.#toolbar2.el);
216
+ }
160
217
  const contentHost = this.ownerDocument.createElement('div');
161
218
  contentHost.className = 'ol-content';
162
219
  this.appendChild(contentHost);
@@ -180,18 +237,24 @@ export class OpenLeafEditor extends HTMLElement {
180
237
  // Building a second one is what dropped undo when a plugin registered late.
181
238
  this.#basePlugins = [
182
239
  history(),
183
- // Alt+F10 is bound before the shared keymap so it cannot be shadowed.
184
240
  keymap({
185
241
  'Alt-F10': () => {
186
242
  this.#toolbar?.focusToolbar();
187
243
  return true;
188
244
  },
245
+ F1: () => {
246
+ promptHelp(this.ownerDocument);
247
+ return true;
248
+ },
189
249
  }),
190
- // The shared shortcut table, so toolbar tooltips and any help dialog
191
- // render the real bindings rather than a duplicate list that drifts.
192
250
  keymap(buildKeymap()),
193
251
  keymap(baseKeymap),
252
+ nonEditablePlugin(),
194
253
  ];
254
+ if (this.getAttribute('autolink') !== 'false')
255
+ this.#basePlugins.push(autolinkPlugin());
256
+ if (this.#visualAids)
257
+ this.#basePlugins.push(visualAidsPlugin());
195
258
  this.#schema = coreSchema();
196
259
  this.#view = new EditorView(contentHost, {
197
260
  state: EditorState.create({
@@ -214,6 +277,10 @@ export class OpenLeafEditor extends HTMLElement {
214
277
  // structure as proprietary CSS, so without this a pasted list arrives as
215
278
  // a wall of paragraphs with stray bullet characters in the text.
216
279
  transformPastedHTML: (html) => normalizePastedHtml(html),
280
+ // Dropping or pasting an image file is the way most people expect to add
281
+ // one, and both arrive as a File rather than as markup.
282
+ handleDrop: (view, event) => this.#handleImageFiles(view, event, event.dataTransfer),
283
+ handlePaste: (view, event) => this.#handleImageFiles(view, event, event.clipboardData),
217
284
  dispatchTransaction: (tr) => {
218
285
  const view = this.#view;
219
286
  if (!view)
@@ -235,6 +302,8 @@ export class OpenLeafEditor extends HTMLElement {
235
302
  // chatty. Guarded because everything it calls may be third-party code.
236
303
  try {
237
304
  this.#toolbar?.update(view.state, tr);
305
+ this.#toolbar2?.update(view.state, tr);
306
+ this.#floating?.update(view.state);
238
307
  }
239
308
  catch (error) {
240
309
  console.error('@openleaf-editor/element: toolbar update failed', error);
@@ -242,7 +311,17 @@ export class OpenLeafEditor extends HTMLElement {
242
311
  },
243
312
  });
244
313
  this.#toolbar?.mount(this.#view);
314
+ this.#toolbar2?.mount(this.#view);
315
+ this.#menubar?.mount(this.#view);
316
+ this.#mountFloating();
317
+ this.#mountContextMenu();
318
+ this.#mountInline();
319
+ this.#mountAutoresize();
320
+ void this.#mountContentCss();
245
321
  this.addEventListener(SOURCE_TOGGLE_EVENT, this.#onToggleSource);
322
+ this.addEventListener(FULLSCREEN_TOGGLE_EVENT, this.#onToggleFullscreen);
323
+ this.ownerDocument.addEventListener('fullscreenchange', this.#onFullscreenChange);
324
+ this.addEventListener(VISUAL_AIDS_TOGGLE_EVENT, this.#onToggleVisualAids);
246
325
  if (nestedTextarea) {
247
326
  nestedTextarea.hidden = true;
248
327
  this.appendChild(nestedTextarea);
@@ -272,6 +351,8 @@ export class OpenLeafEditor extends HTMLElement {
272
351
  ],
273
352
  }));
274
353
  this.#toolbar?.update(view.state);
354
+ this.#toolbar2?.update(view.state);
355
+ this.#floating?.update(view.state);
275
356
  });
276
357
  // Belt and braces: `submit` covers ordinary posts, `formdata` covers
277
358
  // fetch-based submissions built from a FormData snapshot.
@@ -281,6 +362,8 @@ export class OpenLeafEditor extends HTMLElement {
281
362
  this.#form?.addEventListener('submit', this.#onSubmit);
282
363
  this.#form?.addEventListener('formdata', this.#onFormData);
283
364
  this.#form?.addEventListener('reset', this.#onReset);
365
+ this.#toolbar?.setItemState('visualAids', { active: this.#visualAids });
366
+ this.#toolbar2?.setItemState('visualAids', { active: this.#visualAids });
284
367
  this.#syncToTextarea();
285
368
  }
286
369
  disconnectedCallback() {
@@ -292,8 +375,25 @@ export class OpenLeafEditor extends HTMLElement {
292
375
  this.#form?.removeEventListener('formdata', this.#onFormData);
293
376
  this.#form?.removeEventListener('reset', this.#onReset);
294
377
  this.removeEventListener(SOURCE_TOGGLE_EVENT, this.#onToggleSource);
378
+ this.removeEventListener(FULLSCREEN_TOGGLE_EVENT, this.#onToggleFullscreen);
379
+ this.ownerDocument.removeEventListener('fullscreenchange', this.#onFullscreenChange);
380
+ this.removeEventListener(VISUAL_AIDS_TOGGLE_EVENT, this.#onToggleVisualAids);
381
+ this.removeEventListener('contextmenu', this.#onContextMenu);
382
+ this.ownerDocument.removeEventListener('pointerdown', this.#onContextPointer, true);
383
+ this.removeEventListener('focusin', this.#onInlineFocus);
384
+ this.removeEventListener('focusout', this.#onInlineBlur);
385
+ this.#resizeObserver?.disconnect();
386
+ this.#resizeObserver = null;
295
387
  this.#unwatchPlugins?.();
296
388
  this.#unwatchSchema?.();
389
+ this.#floating?.destroy();
390
+ this.#floating = null;
391
+ this.#contextMenu?.destroy();
392
+ this.#contextMenu = null;
393
+ this.#menubar?.destroy();
394
+ this.#menubar = null;
395
+ this.#toolbar2?.destroy();
396
+ this.#toolbar2 = null;
297
397
  this.#toolbar?.destroy();
298
398
  this.#toolbar = null;
299
399
  this.#view?.destroy();
@@ -362,6 +462,7 @@ export class OpenLeafEditor extends HTMLElement {
362
462
  this.#sourceArea = area;
363
463
  this.#sourceMode = true;
364
464
  this.#toolbar?.setItemState('source', { active: true });
465
+ this.#toolbar2?.setItemState('source', { active: true });
365
466
  // Announced before focus so an enhancer can wrap the textarea while it is
366
467
  // still inert; focusing first would move the caret and then move the
367
468
  // element out from under it.
@@ -375,6 +476,7 @@ export class OpenLeafEditor extends HTMLElement {
375
476
  this.#teardownSource({ apply: !this.hasAttribute('readonly') });
376
477
  contentHost.hidden = false;
377
478
  this.#toolbar?.setItemState('source', { active: false });
479
+ this.#toolbar2?.setItemState('source', { active: false });
378
480
  view.focus();
379
481
  };
380
482
  /**
@@ -448,6 +550,77 @@ export class OpenLeafEditor extends HTMLElement {
448
550
  return;
449
551
  this.#textarea.value = serializeHtml(this.#view.state.doc);
450
552
  }
553
+ /**
554
+ * Claim a drop or paste that carries image files.
555
+ *
556
+ * Returns false -- declining, so ProseMirror and anything listening further up
557
+ * behave as they did -- unless this editor can actually upload. A drop that is
558
+ * intercepted and then silently does nothing is worse than one that falls
559
+ * through to the browser.
560
+ *
561
+ * `stopPropagation` is not tidiness. The import bundle listens for file drops
562
+ * at the DOCUMENT level and claims any drop over an editor, so without it a
563
+ * dropped PNG would be handled here AND handed to the import converters, which
564
+ * would announce that they cannot read a .png over the top of a working upload.
565
+ */
566
+ #handleImageFiles(view, event, transfer) {
567
+ if (this.hasAttribute('readonly'))
568
+ return false;
569
+ if (!canUploadImages(this))
570
+ return false;
571
+ const files = imageFilesFrom(transfer);
572
+ if (files.length === 0)
573
+ return false;
574
+ event.preventDefault();
575
+ event.stopPropagation();
576
+ // Insert where the author dropped, not where the caret happens to be. The
577
+ // position is resolved now, while the coordinates are still meaningful: the
578
+ // dialog that follows is modal and the pointer will have moved.
579
+ if (event instanceof DragEvent) {
580
+ const at = view.posAtCoords({ left: event.clientX, top: event.clientY });
581
+ if (at) {
582
+ view.dispatch(view.state.tr.setSelection(TextSelection.near(view.state.doc.resolve(at.pos))));
583
+ }
584
+ }
585
+ void this.#uploadImages(view, files);
586
+ return true;
587
+ }
588
+ /**
589
+ * Upload dropped files one at a time, asking for a description of each.
590
+ *
591
+ * Sequential rather than concurrent, and it is a deliberate trade of speed for
592
+ * a property worth more: every image OpenLeaf inserts has been described or
593
+ * explicitly marked decorative. Uploading in parallel would mean either
594
+ * stacking modal dialogs or inserting undescribed images and asking later --
595
+ * and "later" has no UI, because there is no image-editing dialog yet.
596
+ */
597
+ async #uploadImages(view, files) {
598
+ const uploader = imageUploaderFor(this);
599
+ if (!uploader)
600
+ return;
601
+ for (const file of files) {
602
+ const result = await promptForImage(this.ownerDocument, {
603
+ file,
604
+ upload: (chosen) => runUploader(uploader, chosen, this),
605
+ host: this,
606
+ });
607
+ // A cancelled description skips this file and moves to the next, rather
608
+ // than abandoning the rest of a multi-file drop.
609
+ if (!result)
610
+ continue;
611
+ insertImage({
612
+ src: result.src,
613
+ alt: result.alt,
614
+ title: result.title,
615
+ width: result.width,
616
+ height: result.height,
617
+ align: result.align,
618
+ className: result.className,
619
+ ...(result.caption ? { caption: result.caption } : {}),
620
+ })(view.state, view.dispatch, view);
621
+ }
622
+ view.focus();
623
+ }
451
624
  #applyReadonly() {
452
625
  // `editable()` already reads the attribute; the view has to be told to
453
626
  // re-evaluate it. Without this, adding readonly after mount leaves
@@ -455,9 +628,161 @@ export class OpenLeafEditor extends HTMLElement {
455
628
  this.#view?.setProps({});
456
629
  if (this.#sourceArea)
457
630
  this.#sourceArea.readOnly = this.hasAttribute('readonly');
458
- if (this.#view)
631
+ if (this.#view) {
459
632
  this.#toolbar?.update(this.#view.state);
633
+ this.#toolbar2?.update(this.#view.state);
634
+ }
635
+ }
636
+ /**
637
+ * Relabel this editor's chrome for its own `lang`.
638
+ *
639
+ * Deliberately not `setUiLocale`, which is the document-wide default: two
640
+ * editors with different `lang` values on one page both ended up in whichever
641
+ * built last, because every subscribed toolbar re-rendered on the change.
642
+ */
643
+ #applyLocale() {
644
+ const lang = this.getAttribute('lang');
645
+ this.#toolbar?.setLocale(lang);
646
+ this.#toolbar2?.setLocale(lang);
647
+ }
648
+ #mountFloating() {
649
+ const view = this.#view;
650
+ if (!view)
651
+ return;
652
+ const selection = this.getAttribute('selection-toolbar');
653
+ const insert = this.getAttribute('insert-toolbar');
654
+ const selectionLayout = selection === null ? null : selection === 'none' ? null : selection || DEFAULT_SELECTION_LAYOUT;
655
+ const insertLayout = insert === null ? null : insert === 'none' ? null : insert || DEFAULT_INSERT_LAYOUT;
656
+ if (!selectionLayout && !insertLayout)
657
+ return;
658
+ this.#floating = new FloatingToolbars(this, this.ownerDocument, {
659
+ selectionLayout,
660
+ insertLayout,
661
+ });
662
+ this.#floating.mount(view);
663
+ }
664
+ #mountContextMenu() {
665
+ if (this.getAttribute('contextmenu') === 'none')
666
+ return;
667
+ this.#contextMenu = new PopupMenu(this, this.ownerDocument);
668
+ if (this.#view)
669
+ this.#contextMenu.attach(this.#view);
670
+ this.appendChild(this.#contextMenu.el);
671
+ this.addEventListener('contextmenu', this.#onContextMenu);
672
+ this.ownerDocument.addEventListener('pointerdown', this.#onContextPointer, true);
460
673
  }
674
+ #onContextPointer = (event) => {
675
+ const menu = this.#contextMenu;
676
+ if (!menu?.open)
677
+ return;
678
+ if (event.target instanceof Node && menu.el.contains(event.target))
679
+ return;
680
+ menu.close();
681
+ };
682
+ #onContextMenu = (event) => {
683
+ const view = this.#view;
684
+ const menu = this.#contextMenu;
685
+ if (!view || !menu)
686
+ return;
687
+ const target = event.target;
688
+ if (!(target instanceof Element) || !this.#contentHost?.contains(target))
689
+ return;
690
+ const items = target.closest('a')
691
+ ? LINK_CONTEXT_ITEMS
692
+ : target.closest('img')
693
+ ? IMAGE_CONTEXT_ITEMS
694
+ : target.closest('table')
695
+ ? TABLE_CONTEXT_ITEMS
696
+ : null;
697
+ if (!items)
698
+ return;
699
+ event.preventDefault();
700
+ menu.show(items, event.clientX, event.clientY, () => view.focus());
701
+ };
702
+ #mountInline() {
703
+ if (!this.hasAttribute('inline'))
704
+ return;
705
+ this.addEventListener('focusin', this.#onInlineFocus);
706
+ this.addEventListener('focusout', this.#onInlineBlur);
707
+ }
708
+ #onInlineFocus = () => {
709
+ this.classList.add('ol-inline-active');
710
+ };
711
+ #onInlineBlur = (event) => {
712
+ const next = event.relatedTarget;
713
+ if (next instanceof Node && this.contains(next))
714
+ return;
715
+ this.classList.remove('ol-inline-active');
716
+ };
717
+ #mountAutoresize() {
718
+ const host = this.#contentHost;
719
+ const view = this.#view;
720
+ if (!host || !view || !this.hasAttribute('autoresize'))
721
+ return;
722
+ const apply = () => {
723
+ const pm = host.querySelector('.ProseMirror');
724
+ if (!pm)
725
+ return;
726
+ pm.style.height = 'auto';
727
+ pm.style.height = `${pm.scrollHeight}px`;
728
+ };
729
+ apply();
730
+ if (typeof ResizeObserver !== 'undefined') {
731
+ this.#resizeObserver = new ResizeObserver(apply);
732
+ this.#resizeObserver.observe(host);
733
+ }
734
+ }
735
+ async #mountContentCss() {
736
+ const urls = contentCssUrls(this.getAttribute('content-css'));
737
+ if (urls.length === 0)
738
+ return;
739
+ await loadContentCss(this.ownerDocument, urls);
740
+ }
741
+ #applyFullscreen(active) {
742
+ this.#fullscreen = active;
743
+ this.classList.toggle('ol-fullscreen', active);
744
+ this.#toolbar?.setItemState('fullscreen', { active });
745
+ this.#toolbar2?.setItemState('fullscreen', { active });
746
+ }
747
+ /**
748
+ * Reconcile with a fullscreen session that ended somewhere else.
749
+ *
750
+ * Escape and the browser's own control leave fullscreen without going through
751
+ * the toolbar. The `ol-fullscreen` class carries the fixed-position fallback,
752
+ * so left set it kept the editor covering the page, and the next press of the
753
+ * button only cleared the stale state instead of entering fullscreen.
754
+ *
755
+ * Guarded on `#nativeFullscreen`, because no `fullscreenchange` fires when
756
+ * `requestFullscreen` is unavailable and the class-based fallback is all there
757
+ * is -- an event about some other element must not tear that down.
758
+ */
759
+ #onFullscreenChange = () => {
760
+ const native = this.ownerDocument.fullscreenElement === this;
761
+ if (native)
762
+ this.#applyFullscreen(true);
763
+ else if (this.#nativeFullscreen)
764
+ this.#applyFullscreen(false);
765
+ this.#nativeFullscreen = native;
766
+ };
767
+ #onToggleFullscreen = () => {
768
+ const next = !this.#fullscreen;
769
+ this.#applyFullscreen(next);
770
+ if (next) {
771
+ void Promise.resolve(this.requestFullscreen?.()).catch(() => {
772
+ /* class-based fallback already applied */
773
+ });
774
+ }
775
+ else if (this.ownerDocument.fullscreenElement === this) {
776
+ void this.ownerDocument.exitFullscreen?.();
777
+ }
778
+ this.#view?.focus();
779
+ };
780
+ #onToggleVisualAids = () => {
781
+ this.#visualAids = !this.#visualAids;
782
+ this.classList.toggle('ol-visual-aids', this.#visualAids);
783
+ this.#toolbar?.setItemState('visualAids', { active: this.#visualAids });
784
+ this.#toolbar2?.setItemState('visualAids', { active: this.#visualAids });
785
+ };
461
786
  #rebindTextarea() {
462
787
  if (!this.#view)
463
788
  return;
@@ -471,6 +796,12 @@ export class OpenLeafEditor extends HTMLElement {
471
796
  * clipboard HTML somewhere other than the editor.
472
797
  */
473
798
  export { normalizePastedHtml } from '@openleaf-editor/paste';
799
+ /**
800
+ * Re-exported so a plain `<script>` integration can register an upload endpoint
801
+ * without a build step: `OpenLeaf.registerImageUploader(fn)`. Setting
802
+ * `element.imageUploader` overrides it for one editor.
803
+ */
804
+ export { registerFilePicker, registerImageClasses, registerImageList, registerImageUploader, registerLinkList, registerTranslations, setUiLocale, } from '@openleaf-editor/ui';
474
805
  /** Idempotent: safe to import twice, or alongside a bundled copy. */
475
806
  export function defineOpenLeafEditor(tag = 'openleaf-editor') {
476
807
  if (typeof customElements === 'undefined')
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openleaf-editor/element",
3
- "version": "0.1.0-beta.0",
3
+ "version": "0.1.0-beta.2",
4
4
  "description": "The <openleaf-editor> custom element: OpenLeaf's drop-in for CMS forms. HTML in, HTML out, syncs to a textarea.",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -35,9 +35,9 @@
35
35
  "prosemirror-state": "^1.4.3",
36
36
  "prosemirror-transform": "^1.10.2",
37
37
  "prosemirror-view": "^1.37.0",
38
- "@openleaf-editor/core": "0.1.0-beta.0",
39
- "@openleaf-editor/paste": "0.1.0-beta.0",
40
- "@openleaf-editor/ui": "0.1.0-beta.0"
38
+ "@openleaf-editor/core": "0.1.0-beta.2",
39
+ "@openleaf-editor/ui": "0.1.0-beta.2",
40
+ "@openleaf-editor/paste": "0.1.0-beta.2"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "tsc -p tsconfig.json"