@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 +53 -3
- package/dist/index.d.ts +23 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +345 -14
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
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
|
|
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
|
-
|
|
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
|
|
24
|
-
* skin
|
|
25
|
-
* theme
|
|
26
|
-
* toolbar
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
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
|
|
24
|
-
* skin
|
|
25
|
-
* theme
|
|
26
|
-
* toolbar
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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.
|
|
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.
|
|
39
|
-
"@openleaf-editor/
|
|
40
|
-
"@openleaf-editor/
|
|
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"
|