@openleaf-editor/ui 0.1.0-beta.2 → 0.1.0-beta.4
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 +85 -0
- package/dist/block-type.d.ts +5 -0
- package/dist/block-type.d.ts.map +1 -0
- package/dist/block-type.js +133 -0
- package/dist/block-type.js.map +1 -0
- package/dist/content-css.d.ts +18 -0
- package/dist/content-css.d.ts.map +1 -1
- package/dist/content-css.js +231 -16
- package/dist/content-css.js.map +1 -1
- package/dist/css.d.ts +23 -0
- package/dist/css.d.ts.map +1 -0
- package/dist/css.js +846 -0
- package/dist/css.js.map +1 -0
- package/dist/dialog.d.ts +93 -0
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.js +414 -86
- package/dist/dialog.js.map +1 -1
- package/dist/floating.d.ts +4 -0
- package/dist/floating.d.ts.map +1 -1
- package/dist/floating.js +50 -2
- package/dist/floating.js.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +29 -5
- package/dist/help.js.map +1 -1
- package/dist/i18n.d.ts +8 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +32 -7
- package/dist/i18n.js.map +1 -1
- package/dist/icons.d.ts +7 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +6 -2
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/items.d.ts +0 -1
- package/dist/items.d.ts.map +1 -1
- package/dist/items.js +211 -20
- package/dist/items.js.map +1 -1
- package/dist/live.d.ts +42 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +83 -0
- package/dist/live.js.map +1 -0
- package/dist/menu.d.ts +31 -2
- package/dist/menu.d.ts.map +1 -1
- package/dist/menu.js +163 -23
- package/dist/menu.js.map +1 -1
- package/dist/openleaf.css +147 -12
- package/dist/overflow.d.ts +47 -4
- package/dist/overflow.d.ts.map +1 -1
- package/dist/overflow.js +338 -83
- package/dist/overflow.js.map +1 -1
- package/dist/registry.d.ts +72 -18
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -6
- package/dist/registry.js.map +1 -1
- package/dist/skins.d.ts.map +1 -1
- package/dist/skins.js +48 -14
- package/dist/skins.js.map +1 -1
- package/dist/styles.d.ts +61 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +77 -637
- package/dist/styles.js.map +1 -1
- package/dist/testing.d.ts +3 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +3 -0
- package/dist/testing.js.map +1 -0
- package/dist/toolbar.d.ts +71 -12
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +410 -166
- package/dist/toolbar.js.map +1 -1
- package/dist/upload.d.ts +32 -7
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +64 -8
- package/dist/upload.js.map +1 -1
- package/package.json +17 -3
package/dist/menu.js
CHANGED
|
@@ -42,6 +42,9 @@ export const DEFAULT_MENUBAR = [
|
|
|
42
42
|
{ id: 'alignRight' },
|
|
43
43
|
{ id: 'alignJustify' },
|
|
44
44
|
'|',
|
|
45
|
+
{ id: 'indent' },
|
|
46
|
+
{ id: 'outdent' },
|
|
47
|
+
'|',
|
|
45
48
|
{ id: 'bulletList' },
|
|
46
49
|
{ id: 'orderedList' },
|
|
47
50
|
{ id: 'blockquote' },
|
|
@@ -104,6 +107,18 @@ function enabled(spec, state, host) {
|
|
|
104
107
|
return spec.command(state);
|
|
105
108
|
return true;
|
|
106
109
|
}
|
|
110
|
+
/** Menus are named after the trigger that opened them, which needs an id. */
|
|
111
|
+
let menuCounter = 0;
|
|
112
|
+
/**
|
|
113
|
+
* Separate from `menuCounter`, because one menu is opened by MANY triggers.
|
|
114
|
+
*
|
|
115
|
+
* A menubar shares a single `PopupMenu` across every menu on it, so an id
|
|
116
|
+
* derived from the popup's own name was the same string for every trigger:
|
|
117
|
+
* open Edit, then Insert, and two buttons carried one DOM id. `aria-labelledby`
|
|
118
|
+
* resolves to the first match in tree order, so every menu after the first was
|
|
119
|
+
* announced under the first one's name.
|
|
120
|
+
*/
|
|
121
|
+
let triggerCounter = 0;
|
|
107
122
|
export class PopupMenu {
|
|
108
123
|
el;
|
|
109
124
|
#doc;
|
|
@@ -111,12 +126,14 @@ export class PopupMenu {
|
|
|
111
126
|
#view = null;
|
|
112
127
|
#items = [];
|
|
113
128
|
#onClose;
|
|
129
|
+
#trigger = null;
|
|
114
130
|
constructor(host, doc) {
|
|
115
131
|
this.#host = host;
|
|
116
132
|
this.#doc = doc;
|
|
117
133
|
ensureStyles(doc);
|
|
118
134
|
this.el = doc.createElement('div');
|
|
119
135
|
this.el.className = 'ol-menu';
|
|
136
|
+
this.el.id = `ol-menu-${(menuCounter += 1)}`;
|
|
120
137
|
this.el.setAttribute('role', 'menu');
|
|
121
138
|
this.el.hidden = true;
|
|
122
139
|
this.el.addEventListener('keydown', this.#onKeydown);
|
|
@@ -134,26 +151,98 @@ export class PopupMenu {
|
|
|
134
151
|
get open() {
|
|
135
152
|
return !this.el.hidden;
|
|
136
153
|
}
|
|
137
|
-
|
|
154
|
+
/**
|
|
155
|
+
* Open at a point, named by whatever opened it.
|
|
156
|
+
*
|
|
157
|
+
* `trigger` is not optional decoration: without it the menu has no accessible
|
|
158
|
+
* name at all -- a screen reader announces "menu", with nothing to say which
|
|
159
|
+
* one -- and Escape has nowhere to put focus back, so it lands on the document
|
|
160
|
+
* and the author is out of the menubar entirely.
|
|
161
|
+
*/
|
|
162
|
+
show(items, x, y, options = {}) {
|
|
138
163
|
this.#items = items;
|
|
139
|
-
this.#onClose = onClose;
|
|
164
|
+
this.#onClose = options.onClose;
|
|
165
|
+
const trigger = options.trigger ?? null;
|
|
166
|
+
this.#trigger = trigger;
|
|
167
|
+
if (trigger) {
|
|
168
|
+
if (!trigger.id)
|
|
169
|
+
trigger.id = `${this.el.id}-trigger-${(triggerCounter += 1)}`;
|
|
170
|
+
this.el.setAttribute('aria-labelledby', trigger.id);
|
|
171
|
+
this.el.removeAttribute('aria-label');
|
|
172
|
+
trigger.setAttribute('aria-controls', this.el.id);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.el.removeAttribute('aria-labelledby');
|
|
176
|
+
this.el.setAttribute('aria-label', t(options.label ?? 'Editor menu'));
|
|
177
|
+
}
|
|
140
178
|
this.#render();
|
|
141
179
|
this.el.hidden = false;
|
|
180
|
+
this.#place(x, y);
|
|
181
|
+
this.#focusItem(this.el.querySelector('[role="menuitem"]'));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Keep the menu on screen.
|
|
185
|
+
*
|
|
186
|
+
* A right-click near the bottom of the viewport otherwise renders it below the
|
|
187
|
+
* fold, where the item the author asked for cannot be seen or scrolled to --
|
|
188
|
+
* the menu is positioned, so the page does not grow to contain it.
|
|
189
|
+
*
|
|
190
|
+
* Flipping is measured against the TRIGGER, not against the point the menu was
|
|
191
|
+
* asked to open at. Those differ by the height of the trigger, and using the
|
|
192
|
+
* point puts a flipped menu on top of the menubar it came from -- covering the
|
|
193
|
+
* next menu along, which is exactly where the pointer is going.
|
|
194
|
+
*/
|
|
195
|
+
#place(x, y) {
|
|
142
196
|
const hostBox = this.#host.getBoundingClientRect();
|
|
143
|
-
this.el.
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
|
|
197
|
+
const box = this.el.getBoundingClientRect();
|
|
198
|
+
const win = this.#doc.defaultView;
|
|
199
|
+
const vw = win?.innerWidth ?? 0;
|
|
200
|
+
const vh = win?.innerHeight ?? 0;
|
|
201
|
+
const left = vw > 0 ? Math.max(4, Math.min(x, vw - box.width - 4)) : x;
|
|
202
|
+
let top = y;
|
|
203
|
+
if (vh > 0 && y + box.height > vh) {
|
|
204
|
+
const above = (this.#trigger?.getBoundingClientRect().top ?? y) - 4 - box.height;
|
|
205
|
+
// Above only when it genuinely fits there. Sliding a menu that fits
|
|
206
|
+
// NEITHER side up to the viewport edge lands it on its own menubar, which
|
|
207
|
+
// trades a menu below the fold for a menubar that cannot be clicked. The
|
|
208
|
+
// stylesheet caps the height, so this is the rare deep menu on a short
|
|
209
|
+
// window rather than the normal case.
|
|
210
|
+
if (above >= 4)
|
|
211
|
+
top = above;
|
|
212
|
+
}
|
|
213
|
+
this.el.style.left = `${Math.round(left - hostBox.left)}px`;
|
|
214
|
+
this.el.style.top = `${Math.round(top - hostBox.top)}px`;
|
|
147
215
|
}
|
|
148
|
-
|
|
216
|
+
/**
|
|
217
|
+
* Close, and put focus somewhere real.
|
|
218
|
+
*
|
|
219
|
+
* `replaceChildren()` removes the node that currently has focus, and a browser
|
|
220
|
+
* whose focused element disappears falls back to `<body>` -- so without the
|
|
221
|
+
* return the author's next Tab starts from the top of the page.
|
|
222
|
+
*/
|
|
223
|
+
close(returnFocus = false) {
|
|
149
224
|
if (this.el.hidden)
|
|
150
225
|
return;
|
|
226
|
+
const trigger = this.#trigger;
|
|
227
|
+
if (returnFocus && trigger?.isConnected)
|
|
228
|
+
trigger.focus();
|
|
151
229
|
this.el.hidden = true;
|
|
152
230
|
this.el.replaceChildren();
|
|
231
|
+
trigger?.removeAttribute('aria-controls');
|
|
232
|
+
this.#trigger = null;
|
|
153
233
|
const close = this.#onClose;
|
|
154
234
|
this.#onClose = undefined;
|
|
155
235
|
close?.();
|
|
156
236
|
}
|
|
237
|
+
#focusItem(next) {
|
|
238
|
+
if (!next)
|
|
239
|
+
return;
|
|
240
|
+
// Roving, so Tab leaves the menu instead of walking through every item in it.
|
|
241
|
+
for (const item of this.el.querySelectorAll('[role="menuitem"]')) {
|
|
242
|
+
item.tabIndex = item === next ? 0 : -1;
|
|
243
|
+
}
|
|
244
|
+
next.focus();
|
|
245
|
+
}
|
|
157
246
|
#render() {
|
|
158
247
|
this.el.replaceChildren();
|
|
159
248
|
const view = this.#view;
|
|
@@ -175,9 +264,10 @@ export class PopupMenu {
|
|
|
175
264
|
button.className = 'ol-menu-item';
|
|
176
265
|
button.setAttribute('role', 'menuitem');
|
|
177
266
|
button.dataset['olId'] = spec.id;
|
|
178
|
-
button.textContent = t(entry.label ?? spec.label);
|
|
267
|
+
button.textContent = t(entry.label ?? spec.labelFor?.(view.state) ?? spec.label);
|
|
179
268
|
const isEnabled = enabled(spec, view.state, this.#host);
|
|
180
269
|
button.setAttribute('aria-disabled', isEnabled ? 'false' : 'true');
|
|
270
|
+
button.tabIndex = -1;
|
|
181
271
|
this.el.appendChild(button);
|
|
182
272
|
}
|
|
183
273
|
}
|
|
@@ -189,16 +279,23 @@ export class PopupMenu {
|
|
|
189
279
|
const view = this.#view;
|
|
190
280
|
if (!spec || !view)
|
|
191
281
|
return;
|
|
192
|
-
|
|
282
|
+
// Closed first, but with focus put back on the trigger before the item is
|
|
283
|
+
// removed. Running the command first instead would let `close()` steal focus
|
|
284
|
+
// from a dialog the command had just opened.
|
|
285
|
+
this.close(true);
|
|
193
286
|
invoke(spec, view, this.#host);
|
|
194
287
|
};
|
|
195
288
|
#onKeydown = (event) => {
|
|
196
289
|
const items = [...this.el.querySelectorAll('[role="menuitem"]')];
|
|
197
290
|
const index = items.indexOf(event.target);
|
|
198
|
-
|
|
291
|
+
// Tab closes rather than walking on through the menu: a menu left open
|
|
292
|
+
// behind a keyboard user is a widget with no exit.
|
|
293
|
+
if (event.key === 'Escape' || event.key === 'Tab') {
|
|
199
294
|
event.preventDefault();
|
|
200
|
-
this
|
|
201
|
-
this
|
|
295
|
+
const trigger = this.#trigger;
|
|
296
|
+
this.close(true);
|
|
297
|
+
if (!trigger)
|
|
298
|
+
this.#view?.focus();
|
|
202
299
|
return;
|
|
203
300
|
}
|
|
204
301
|
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
@@ -206,12 +303,29 @@ export class PopupMenu {
|
|
|
206
303
|
if (items.length === 0)
|
|
207
304
|
return;
|
|
208
305
|
const delta = event.key === 'ArrowDown' ? 1 : -1;
|
|
209
|
-
|
|
210
|
-
|
|
306
|
+
this.#focusItem(items[(index + delta + items.length) % items.length]);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
if (event.key === 'Home' || event.key === 'End') {
|
|
310
|
+
event.preventDefault();
|
|
311
|
+
this.#focusItem(event.key === 'Home' ? items[0] : items[items.length - 1]);
|
|
312
|
+
return;
|
|
211
313
|
}
|
|
212
314
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
213
315
|
event.preventDefault();
|
|
214
316
|
event.target.click();
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
// Typeahead. A menubar user looking for "Italic" presses I, the way they do
|
|
320
|
+
// in every other menu they have ever used.
|
|
321
|
+
if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
322
|
+
const char = event.key.toLowerCase();
|
|
323
|
+
const from = index + 1;
|
|
324
|
+
const found = [...items.slice(from), ...items.slice(0, Math.max(0, from))].find((item) => (item.textContent ?? '').trim().toLowerCase().startsWith(char));
|
|
325
|
+
if (found) {
|
|
326
|
+
event.preventDefault();
|
|
327
|
+
this.#focusItem(found);
|
|
328
|
+
}
|
|
215
329
|
}
|
|
216
330
|
};
|
|
217
331
|
}
|
|
@@ -272,10 +386,18 @@ export class MenuBar {
|
|
|
272
386
|
if (!this.#popup.el.isConnected)
|
|
273
387
|
this.#host.appendChild(this.#popup.el);
|
|
274
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Detach the menubar AND take its DOM with it -- see `Toolbar.destroy()`.
|
|
391
|
+
* The host reads its own `innerHTML` back as content when it rebuilds, so a
|
|
392
|
+
* menubar row left behind here would become the author's document.
|
|
393
|
+
*
|
|
394
|
+
* Idempotent: `.remove()` on a detached node is a no-op.
|
|
395
|
+
*/
|
|
275
396
|
destroy() {
|
|
276
397
|
this.#doc.removeEventListener('pointerdown', this.#onPointerDown, true);
|
|
277
398
|
this.el.removeEventListener('keydown', this.#onKeydown);
|
|
278
399
|
this.#popup.destroy();
|
|
400
|
+
this.el.remove();
|
|
279
401
|
}
|
|
280
402
|
#render() {
|
|
281
403
|
withLocale(this.#locale, () => this.#renderScoped());
|
|
@@ -291,10 +413,22 @@ export class MenuBar {
|
|
|
291
413
|
button.setAttribute('aria-expanded', 'false');
|
|
292
414
|
button.dataset['olMenu'] = menu.id;
|
|
293
415
|
button.textContent = t(menu.label);
|
|
416
|
+
// Roving: `role="menubar"` is ONE tab stop, and five native buttons at the
|
|
417
|
+
// default tabindex made it five -- so Tab from the content walked the
|
|
418
|
+
// author through every menu before reaching anything they wanted.
|
|
419
|
+
button.tabIndex = this.el.childElementCount === 0 ? 0 : -1;
|
|
294
420
|
button.addEventListener('click', () => this.#toggle(menu, button));
|
|
295
421
|
this.el.appendChild(button);
|
|
296
422
|
}
|
|
297
423
|
}
|
|
424
|
+
#focusTrigger(next) {
|
|
425
|
+
if (!next)
|
|
426
|
+
return;
|
|
427
|
+
for (const button of this.el.querySelectorAll('.ol-menu-trigger')) {
|
|
428
|
+
button.tabIndex = button === next ? 0 : -1;
|
|
429
|
+
}
|
|
430
|
+
next.focus();
|
|
431
|
+
}
|
|
298
432
|
#toggle(menu, trigger) {
|
|
299
433
|
if (this.#openId === menu.id && this.#popup.open) {
|
|
300
434
|
this.#close();
|
|
@@ -307,13 +441,16 @@ export class MenuBar {
|
|
|
307
441
|
this.#openId = menu.id;
|
|
308
442
|
trigger.setAttribute('aria-expanded', 'true');
|
|
309
443
|
const rect = trigger.getBoundingClientRect();
|
|
310
|
-
this.#popup.show(menu.items, rect.left, rect.bottom + 2,
|
|
311
|
-
trigger
|
|
312
|
-
|
|
444
|
+
this.#popup.show(menu.items, rect.left, rect.bottom + 2, {
|
|
445
|
+
trigger,
|
|
446
|
+
onClose: () => {
|
|
447
|
+
trigger.setAttribute('aria-expanded', 'false');
|
|
448
|
+
this.#openId = null;
|
|
449
|
+
},
|
|
313
450
|
});
|
|
314
451
|
}
|
|
315
|
-
#close() {
|
|
316
|
-
this.#popup.close();
|
|
452
|
+
#close(returnFocus = false) {
|
|
453
|
+
this.#popup.close(returnFocus);
|
|
317
454
|
for (const button of this.el.querySelectorAll('[aria-expanded]')) {
|
|
318
455
|
button.setAttribute('aria-expanded', 'false');
|
|
319
456
|
}
|
|
@@ -324,11 +461,14 @@ export class MenuBar {
|
|
|
324
461
|
const index = triggers.indexOf(event.target);
|
|
325
462
|
if (index < 0)
|
|
326
463
|
return;
|
|
327
|
-
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {
|
|
464
|
+
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft' || event.key === 'Home' || event.key === 'End') {
|
|
328
465
|
event.preventDefault();
|
|
329
|
-
const
|
|
330
|
-
|
|
331
|
-
|
|
466
|
+
const next = event.key === 'Home'
|
|
467
|
+
? triggers[0]
|
|
468
|
+
: event.key === 'End'
|
|
469
|
+
? triggers[triggers.length - 1]
|
|
470
|
+
: triggers[(index + (event.key === 'ArrowRight' ? 1 : -1) + triggers.length) % triggers.length];
|
|
471
|
+
this.#focusTrigger(next);
|
|
332
472
|
if (this.#popup.open && next) {
|
|
333
473
|
const menu = this.#menus.find((m) => m.id === next.dataset['olMenu']);
|
|
334
474
|
if (menu)
|
package/dist/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../src/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/openleaf.css
CHANGED
|
@@ -14,8 +14,11 @@
|
|
|
14
14
|
--ol-surface-hover: var(--openleaf-color-surface-hover, #f0f1f3);
|
|
15
15
|
--ol-surface-active: var(--openleaf-color-surface-active, #dbe9ff);
|
|
16
16
|
--ol-border: var(--openleaf-color-border, #d1d9e0);
|
|
17
|
+
/* Control boundaries, not decoration. See "Two border tokens" above. */
|
|
18
|
+
--ol-border-strong: var(--openleaf-color-border-strong, #6e7781);
|
|
17
19
|
--ol-accent: var(--openleaf-color-accent, #0550ae);
|
|
18
20
|
--ol-focus: var(--openleaf-color-focus, #0969da);
|
|
21
|
+
--ol-danger: var(--openleaf-color-danger, #cf222e);
|
|
19
22
|
--ol-button-size: var(--openleaf-button-size, 32px);
|
|
20
23
|
--ol-icon-size: var(--openleaf-icon-size, 16px);
|
|
21
24
|
--ol-gap: var(--openleaf-gap, 2px);
|
|
@@ -50,8 +53,10 @@
|
|
|
50
53
|
--ol-surface-hover: var(--openleaf-color-surface-hover, #21262d);
|
|
51
54
|
--ol-surface-active: var(--openleaf-color-surface-active, #1f3a5f);
|
|
52
55
|
--ol-border: var(--openleaf-color-border, #3d444d);
|
|
56
|
+
--ol-border-strong: var(--openleaf-color-border-strong, #8b949e);
|
|
53
57
|
--ol-accent: var(--openleaf-color-accent, #79c0ff);
|
|
54
58
|
--ol-focus: var(--openleaf-color-focus, #79c0ff);
|
|
59
|
+
--ol-danger: var(--openleaf-color-danger, #ff8182);
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
|
|
@@ -62,8 +67,10 @@
|
|
|
62
67
|
--ol-surface-hover: var(--openleaf-color-surface-hover, #21262d);
|
|
63
68
|
--ol-surface-active: var(--openleaf-color-surface-active, #1f3a5f);
|
|
64
69
|
--ol-border: var(--openleaf-color-border, #3d444d);
|
|
70
|
+
--ol-border-strong: var(--openleaf-color-border-strong, #8b949e);
|
|
65
71
|
--ol-accent: var(--openleaf-color-accent, #79c0ff);
|
|
66
72
|
--ol-focus: var(--openleaf-color-focus, #79c0ff);
|
|
73
|
+
--ol-danger: var(--openleaf-color-danger, #ff8182);
|
|
67
74
|
}
|
|
68
75
|
|
|
69
76
|
.ol-editor[data-ol-scheme="dark"] {
|
|
@@ -73,8 +80,10 @@
|
|
|
73
80
|
--ol-surface-hover: var(--openleaf-color-surface-hover, #21262d);
|
|
74
81
|
--ol-surface-active: var(--openleaf-color-surface-active, #1f3a5f);
|
|
75
82
|
--ol-border: var(--openleaf-color-border, #3d444d);
|
|
83
|
+
--ol-border-strong: var(--openleaf-color-border-strong, #8b949e);
|
|
76
84
|
--ol-accent: var(--openleaf-color-accent, #79c0ff);
|
|
77
85
|
--ol-focus: var(--openleaf-color-focus, #79c0ff);
|
|
86
|
+
--ol-danger: var(--openleaf-color-danger, #ff8182);
|
|
78
87
|
}
|
|
79
88
|
|
|
80
89
|
/* Native widget chrome -- the popup a `select` opens, scrollbars, the caret,
|
|
@@ -100,7 +109,7 @@
|
|
|
100
109
|
box-sizing: border-box;
|
|
101
110
|
margin: 0;
|
|
102
111
|
padding: 4px;
|
|
103
|
-
border: 1px solid var(--ol-border);
|
|
112
|
+
border: 1px solid var(--ol-border-strong);
|
|
104
113
|
border-bottom: 0;
|
|
105
114
|
border-radius: var(--ol-radius) var(--ol-radius) 0 0;
|
|
106
115
|
background: var(--ol-surface);
|
|
@@ -121,7 +130,12 @@
|
|
|
121
130
|
after it -- a stranded line floating at the end of a row. Wrapping begins
|
|
122
131
|
around 690-740px, well inside ordinary desktop widths (a CMS sidebar, a
|
|
123
132
|
half-width split pane), so this was not a 360px-only edge case.
|
|
124
|
-
border-inline-start rather than border-left, so it flips under RTL.
|
|
133
|
+
border-inline-start rather than border-left, so it flips under RTL.
|
|
134
|
+
|
|
135
|
+
This selector is why the renderer emits NO element between groups. It used to
|
|
136
|
+
emit an .ol-sep div, which made the two groups non-adjacent and stopped this
|
|
137
|
+
rule from ever matching -- so no divider rendered in any theme, and every bar
|
|
138
|
+
carried inert empty divs. Adding a separator element back here breaks this. */
|
|
125
139
|
.ol-editor .ol-group + .ol-group {
|
|
126
140
|
border-inline-start: 1px solid var(--ol-border);
|
|
127
141
|
padding-inline-start: 5px;
|
|
@@ -200,7 +214,7 @@
|
|
|
200
214
|
removed from the roving tabindex and cannot be reached or announced, so an
|
|
201
215
|
author using a screen reader cannot discover that the control exists. */
|
|
202
216
|
.ol-editor .ol-btn[aria-disabled="true"] {
|
|
203
|
-
opacity: 0.
|
|
217
|
+
opacity: 0.55;
|
|
204
218
|
cursor: default;
|
|
205
219
|
}
|
|
206
220
|
|
|
@@ -226,7 +240,7 @@
|
|
|
226
240
|
max-width: 11em;
|
|
227
241
|
padding: 0 22px 0 6px;
|
|
228
242
|
margin: 0;
|
|
229
|
-
border: 1px solid var(--ol-border);
|
|
243
|
+
border: 1px solid var(--ol-border-strong);
|
|
230
244
|
border-radius: var(--ol-radius);
|
|
231
245
|
background-color: transparent;
|
|
232
246
|
background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
|
|
@@ -247,6 +261,10 @@
|
|
|
247
261
|
-webkit-appearance: none;
|
|
248
262
|
}
|
|
249
263
|
|
|
264
|
+
.ol-editor .ol-select--wide {
|
|
265
|
+
max-width: 14em;
|
|
266
|
+
}
|
|
267
|
+
|
|
250
268
|
.ol-editor .ol-select:hover {
|
|
251
269
|
background-color: var(--ol-surface-hover);
|
|
252
270
|
}
|
|
@@ -265,7 +283,7 @@
|
|
|
265
283
|
|
|
266
284
|
.ol-editor .ol-content {
|
|
267
285
|
box-sizing: border-box;
|
|
268
|
-
border: 1px solid var(--ol-border);
|
|
286
|
+
border: 1px solid var(--ol-border-strong);
|
|
269
287
|
border-radius: 0 0 var(--ol-radius) var(--ol-radius);
|
|
270
288
|
background: var(--ol-surface);
|
|
271
289
|
}
|
|
@@ -324,7 +342,13 @@
|
|
|
324
342
|
|
|
325
343
|
/* prosemirror-tables marks cells in a rectangular selection with this class.
|
|
326
344
|
An ::after overlay rather than a background so it composes with a cell that
|
|
327
|
-
already has one, and so a header cell still reads as a header.
|
|
345
|
+
already has one, and so a header cell still reads as a header.
|
|
346
|
+
|
|
347
|
+
The ring, not the tint, is the indicator -- see "Cell selection" above. */
|
|
348
|
+
.ol-editor .ol-content .ProseMirror .selectedCell {
|
|
349
|
+
outline: 2px solid var(--ol-accent);
|
|
350
|
+
outline-offset: -2px;
|
|
351
|
+
}
|
|
328
352
|
.ol-editor .ol-content .ProseMirror .selectedCell::after {
|
|
329
353
|
content: "";
|
|
330
354
|
position: absolute;
|
|
@@ -398,13 +422,37 @@
|
|
|
398
422
|
border-radius: 2px;
|
|
399
423
|
}
|
|
400
424
|
|
|
425
|
+
/* Gap cursor: the caret beside a block atom or isolating node, where no
|
|
426
|
+
textblock exists. Hidden until the view is focused so it cannot paint over
|
|
427
|
+
an inactive canvas. */
|
|
428
|
+
.ol-editor .ol-content .ProseMirror-gapcursor {
|
|
429
|
+
display: none;
|
|
430
|
+
pointer-events: none;
|
|
431
|
+
position: absolute;
|
|
432
|
+
}
|
|
433
|
+
.ol-editor .ol-content .ProseMirror-gapcursor:after {
|
|
434
|
+
content: "";
|
|
435
|
+
display: block;
|
|
436
|
+
position: absolute;
|
|
437
|
+
top: -2px;
|
|
438
|
+
width: 20px;
|
|
439
|
+
border-top: 1px solid var(--ol-text);
|
|
440
|
+
animation: ol-gapcursor-blink 1.1s steps(2, start) infinite;
|
|
441
|
+
}
|
|
442
|
+
@keyframes ol-gapcursor-blink {
|
|
443
|
+
to { visibility: hidden; }
|
|
444
|
+
}
|
|
445
|
+
.ol-editor .ol-content .ProseMirror-focused .ProseMirror-gapcursor {
|
|
446
|
+
display: block;
|
|
447
|
+
}
|
|
448
|
+
|
|
401
449
|
.ol-editor .ol-source {
|
|
402
450
|
box-sizing: border-box;
|
|
403
451
|
display: block;
|
|
404
452
|
width: 100%;
|
|
405
453
|
min-height: 12rem;
|
|
406
454
|
padding: 12px;
|
|
407
|
-
border: 1px solid var(--ol-border);
|
|
455
|
+
border: 1px solid var(--ol-border-strong);
|
|
408
456
|
border-radius: 0 0 var(--ol-radius) var(--ol-radius);
|
|
409
457
|
background: var(--ol-surface);
|
|
410
458
|
color: var(--ol-text);
|
|
@@ -447,7 +495,7 @@
|
|
|
447
495
|
box-sizing: border-box;
|
|
448
496
|
margin: 0;
|
|
449
497
|
padding: 2px 4px;
|
|
450
|
-
border: 1px solid var(--ol-border);
|
|
498
|
+
border: 1px solid var(--ol-border-strong);
|
|
451
499
|
border-bottom: 0;
|
|
452
500
|
border-radius: var(--ol-radius) var(--ol-radius) 0 0;
|
|
453
501
|
background: var(--ol-surface);
|
|
@@ -483,9 +531,13 @@
|
|
|
483
531
|
position: absolute;
|
|
484
532
|
z-index: calc(var(--ol-z) + 20);
|
|
485
533
|
min-width: 12rem;
|
|
534
|
+
/* Capped, so a deep menu opened low on a short window can be flipped above
|
|
535
|
+
its trigger instead of running off the bottom of the page. */
|
|
536
|
+
max-height: 60vh;
|
|
537
|
+
overflow-y: auto;
|
|
486
538
|
margin: 0;
|
|
487
539
|
padding: 4px;
|
|
488
|
-
border: 1px solid var(--ol-border);
|
|
540
|
+
border: 1px solid var(--ol-border-strong);
|
|
489
541
|
border-radius: var(--ol-radius);
|
|
490
542
|
background: var(--ol-surface);
|
|
491
543
|
box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
|
|
@@ -507,20 +559,42 @@
|
|
|
507
559
|
cursor: pointer;
|
|
508
560
|
appearance: none;
|
|
509
561
|
}
|
|
510
|
-
.ol-editor .ol-menu-item:hover
|
|
562
|
+
.ol-editor .ol-menu-item:hover {
|
|
563
|
+
background: var(--ol-surface-hover);
|
|
564
|
+
}
|
|
565
|
+
/* Was outline:none plus a 1.13:1 background swap. See "Menu focus" above. */
|
|
511
566
|
.ol-editor .ol-menu-item:focus-visible {
|
|
512
567
|
background: var(--ol-surface-hover);
|
|
513
|
-
outline:
|
|
568
|
+
outline: var(--ol-focus-width) solid var(--ol-focus);
|
|
569
|
+
outline-offset: -2px;
|
|
514
570
|
}
|
|
571
|
+
/* 0.55, not 0.4: see "Disabled is not invisible" above. */
|
|
515
572
|
.ol-editor .ol-menu-item[aria-disabled="true"] {
|
|
516
|
-
opacity: 0.
|
|
573
|
+
opacity: 0.55;
|
|
517
574
|
cursor: default;
|
|
518
575
|
}
|
|
576
|
+
/* Third time for the same specificity trap, after the floating bar and the
|
|
577
|
+
overflow panel below: `.ol-editor .ol-btn` is (0,2,0) and its
|
|
578
|
+
`display: inline-flex` outranks the UA's `[hidden]` rule, so
|
|
579
|
+
`button.hidden = true` set the attribute and painted the button anyway. A bar
|
|
580
|
+
wide enough to need no overflow still showed its More trigger, and pressing
|
|
581
|
+
it opened an empty panel. */
|
|
582
|
+
.ol-editor .ol-btn[hidden] {
|
|
583
|
+
display: none;
|
|
584
|
+
}
|
|
519
585
|
.ol-editor .ol-menu-sep {
|
|
520
586
|
height: 1px;
|
|
521
587
|
margin: 4px 0;
|
|
522
588
|
background: var(--ol-border);
|
|
523
589
|
}
|
|
590
|
+
/* `display: flex` on .ol-toolbar above outranks the UA's `[hidden]` rule --
|
|
591
|
+
a class selector beats an attribute selector on specificity -- so setting
|
|
592
|
+
`el.hidden = true` in floating.ts styled a hidden bar and showed it anyway.
|
|
593
|
+
Both floating bars sat over the prose at rest, with no selection to format.
|
|
594
|
+
The overflow panel needed the same rule for the same reason; see below. */
|
|
595
|
+
.ol-editor .ol-toolbar.ol-floating[hidden] {
|
|
596
|
+
display: none;
|
|
597
|
+
}
|
|
524
598
|
.ol-editor .ol-toolbar.ol-floating {
|
|
525
599
|
position: absolute;
|
|
526
600
|
flex-wrap: nowrap;
|
|
@@ -533,6 +607,33 @@
|
|
|
533
607
|
flex-wrap: nowrap;
|
|
534
608
|
overflow: hidden;
|
|
535
609
|
}
|
|
610
|
+
/* The More panel. Positioned in viewport coordinates from script, because the
|
|
611
|
+
bar it belongs to may live inside a host with `overflow: hidden` -- which is
|
|
612
|
+
the situation the whole feature exists for. */
|
|
613
|
+
.ol-editor .ol-overflow-menu {
|
|
614
|
+
display: flex;
|
|
615
|
+
flex-direction: column;
|
|
616
|
+
align-items: stretch;
|
|
617
|
+
gap: var(--ol-gap);
|
|
618
|
+
max-height: 70vh;
|
|
619
|
+
overflow-y: auto;
|
|
620
|
+
}
|
|
621
|
+
.ol-editor .ol-overflow-menu[hidden] {
|
|
622
|
+
display: none;
|
|
623
|
+
}
|
|
624
|
+
/* Vertical: the panel exists because there is no horizontal room left. */
|
|
625
|
+
.ol-editor .ol-overflow-menu .ol-group {
|
|
626
|
+
flex-direction: column;
|
|
627
|
+
align-items: stretch;
|
|
628
|
+
}
|
|
629
|
+
.ol-editor .ol-overflow-menu .ol-group + .ol-group {
|
|
630
|
+
border-inline-start: 0;
|
|
631
|
+
border-block-start: 1px solid var(--ol-border);
|
|
632
|
+
padding-inline-start: 0;
|
|
633
|
+
margin-inline-start: 0;
|
|
634
|
+
padding-block-start: 4px;
|
|
635
|
+
margin-block-start: 3px;
|
|
636
|
+
}
|
|
536
637
|
.ol-editor.ol-visual-aids .ol-empty-block {
|
|
537
638
|
outline: 1px dashed var(--ol-border);
|
|
538
639
|
outline-offset: 2px;
|
|
@@ -639,4 +740,38 @@
|
|
|
639
740
|
color: GrayText;
|
|
640
741
|
opacity: 1;
|
|
641
742
|
}
|
|
743
|
+
.ol-editor .ol-menu-item:focus-visible {
|
|
744
|
+
outline-color: Highlight;
|
|
745
|
+
}
|
|
746
|
+
.ol-editor .ol-menu-item[aria-disabled="true"] {
|
|
747
|
+
color: GrayText;
|
|
748
|
+
opacity: 1;
|
|
749
|
+
}
|
|
750
|
+
.ol-editor .ol-menu-trigger[aria-expanded="true"] {
|
|
751
|
+
border-color: Highlight;
|
|
752
|
+
color: Highlight;
|
|
753
|
+
}
|
|
754
|
+
.ol-editor .ol-content .ProseMirror .selectedCell {
|
|
755
|
+
outline-color: Highlight;
|
|
756
|
+
}
|
|
757
|
+
.ol-editor .ol-content .ProseMirror .selectedCell::after {
|
|
758
|
+
background: transparent;
|
|
759
|
+
}
|
|
760
|
+
.ol-editor .ol-content .ProseMirror .column-resize-handle {
|
|
761
|
+
background: Highlight;
|
|
762
|
+
}
|
|
763
|
+
.ol-editor.ol-visual-aids .ol-nbsp {
|
|
764
|
+
background: transparent;
|
|
765
|
+
box-shadow: inset 0 -2px 0 Highlight;
|
|
766
|
+
}
|
|
767
|
+
.ol-editor.ol-visual-aids .ol-hidden-structure {
|
|
768
|
+
outline-color: Highlight;
|
|
769
|
+
}
|
|
770
|
+
.ol-editor.ol-visual-aids .ol-empty-block {
|
|
771
|
+
outline-color: GrayText;
|
|
772
|
+
}
|
|
773
|
+
.ol-editor .ol-noneditable {
|
|
774
|
+
background: transparent;
|
|
775
|
+
outline: 1px dashed GrayText;
|
|
776
|
+
}
|
|
642
777
|
}
|