@openleaf-editor/ui 0.1.0-beta.0 → 0.1.0-beta.1

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/dist/dialog.d.ts CHANGED
@@ -6,7 +6,20 @@
6
6
  * is a few hundred lines that would then owe real screen reader testing to be
7
7
  * worth anything, and the native element is already tested by the browser
8
8
  * vendors. Choosing it is the single biggest accessibility win available here.
9
+ *
10
+ * ## Why committing is asynchronous
11
+ *
12
+ * The image dialog uploads a file, and an upload is the one thing in this editor
13
+ * that can take five seconds and fail for a reason the author needs to read. So
14
+ * the form's commit step returns a promise: the dialog stays open while it runs,
15
+ * disables its buttons, says what it is doing in a polite live region, and on
16
+ * failure shows the message and keeps everything the author typed.
17
+ *
18
+ * The alternative -- close the dialog, upload in the background, report through a
19
+ * toast -- loses the alt text they wrote when the upload fails, and makes the
20
+ * retry a whole new dialog.
9
21
  */
22
+ import { type ImageUploadResult } from './upload.js';
10
23
  export interface LinkResult {
11
24
  href: string;
12
25
  target: string | null;
@@ -16,10 +29,35 @@ export interface ImageResult {
16
29
  src: string;
17
30
  /** `''` means explicitly decorative. `null` is never returned. */
18
31
  alt: string;
32
+ /** Intrinsic size, when an uploader reported one. */
33
+ width: string | null;
34
+ height: string | null;
19
35
  }
20
36
  export declare function promptForLink(doc: Document, existing?: {
21
37
  href?: string;
22
38
  target?: string | null;
23
39
  }): Promise<LinkResult | null>;
24
- export declare function promptForImage(doc: Document): Promise<ImageResult | null>;
40
+ export interface ImagePromptOptions {
41
+ /**
42
+ * A file the author has already chosen, by dropping or pasting it.
43
+ *
44
+ * When present the dialog does not offer a picker or an address field: the
45
+ * source is settled and the only open question is the description.
46
+ */
47
+ file?: File;
48
+ /** Uploads a file and reports where it landed. Absent means URL-only. */
49
+ upload?: (file: File) => Promise<ImageUploadResult>;
50
+ }
51
+ /**
52
+ * Ask for an image.
53
+ *
54
+ * The alternative text is asked for in the same dialog as the file, and this is
55
+ * the reason the upload happens on submit rather than on selection: one dialog
56
+ * means one decision point, and there is no path through it that inserts an
57
+ * image nobody described. A drop that uploaded immediately and asked afterwards
58
+ * would leave an undescribed image in the document every time somebody cancelled
59
+ * -- and OpenLeaf has no image-editing dialog yet, so "afterwards" would mean
60
+ * never.
61
+ */
62
+ export declare function promptForImage(doc: Document, options?: ImagePromptOptions): Promise<ImageResult | null>;
25
63
  //# sourceMappingURL=dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAA;CACZ;AA4ND,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAoC5B;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAuC/E"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE7E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AA8TD,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuC5B;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,yEAAyE;IACzE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACpD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgF7B"}
package/dist/dialog.js CHANGED
@@ -6,8 +6,21 @@
6
6
  * is a few hundred lines that would then owe real screen reader testing to be
7
7
  * worth anything, and the native element is already tested by the browser
8
8
  * vendors. Choosing it is the single biggest accessibility win available here.
9
+ *
10
+ * ## Why committing is asynchronous
11
+ *
12
+ * The image dialog uploads a file, and an upload is the one thing in this editor
13
+ * that can take five seconds and fail for a reason the author needs to read. So
14
+ * the form's commit step returns a promise: the dialog stays open while it runs,
15
+ * disables its buttons, says what it is doing in a polite live region, and on
16
+ * failure shows the message and keeps everything the author typed.
17
+ *
18
+ * The alternative -- close the dialog, upload in the background, report through a
19
+ * toast -- loses the alt text they wrote when the upload fails, and makes the
20
+ * retry a whole new dialog.
9
21
  */
10
22
  import { ensureStyles } from './styles.js';
23
+ import { IMAGE_ACCEPT, dimension } from './upload.js';
11
24
  const DIALOG_CSS = `
12
25
  .ol-dialog {
13
26
  box-sizing: border-box;
@@ -25,7 +38,7 @@ const DIALOG_CSS = `
25
38
  .ol-dialog h2 { margin: 0; font-size: 1.1em; }
26
39
  .ol-dialog label { display: grid; gap: 4px; font-weight: 500; }
27
40
  .ol-dialog .ol-hint { font-weight: 400; font-size: .9em; opacity: .75; }
28
- .ol-dialog input[type="text"], .ol-dialog input[type="url"] {
41
+ .ol-dialog input[type="text"], .ol-dialog input[type="url"], .ol-dialog input[type="file"] {
29
42
  box-sizing: border-box; width: 100%; padding: 6px 8px;
30
43
  border: 1px solid var(--openleaf-color-border, #d1d9e0);
31
44
  border-radius: var(--openleaf-radius, 4px);
@@ -50,7 +63,9 @@ const DIALOG_CSS = `
50
63
  .ol-dialog button:focus-visible {
51
64
  outline: 2px solid var(--openleaf-color-focus, #0969da); outline-offset: 1px;
52
65
  }
66
+ .ol-dialog button[aria-disabled="true"] { opacity: .55; cursor: default; }
53
67
  .ol-dialog .ol-error { color: #cf222e; font-size: .9em; min-height: 1.2em; }
68
+ .ol-dialog .ol-progress { font-size: .9em; opacity: .8; min-height: 1.2em; }
54
69
  `;
55
70
  let dialogStylesReady = false;
56
71
  function ensureDialogStyles(doc) {
@@ -75,14 +90,15 @@ function ensureDialogStyles(doc) {
75
90
  dialogStylesReady = true;
76
91
  }
77
92
  /**
78
- * Build and show a modal form, resolving to the field values or null on cancel.
93
+ * Build and show a modal form, resolving to whatever `commit` produced or null
94
+ * on cancel.
79
95
  *
80
96
  * Focus is returned to whatever held it before opening. `<dialog>` does this
81
97
  * itself in current browsers, but it is done explicitly because "where did my
82
98
  * cursor go" is the most common complaint about editor dialogs and relying on
83
99
  * an implementation detail for it is not good enough.
84
100
  */
85
- function showForm(doc, title, fields, options = {}, validate) {
101
+ function showForm(doc, title, fields, options = {}, commit = () => ({ error: 'This form has nothing to do.' })) {
86
102
  ensureDialogStyles(doc);
87
103
  const previouslyFocused = doc.activeElement;
88
104
  const dialog = doc.createElement('dialog');
@@ -95,6 +111,12 @@ function showForm(doc, title, fields, options = {}, validate) {
95
111
  heading.id = headingId;
96
112
  dialog.setAttribute('aria-labelledby', headingId);
97
113
  form.appendChild(heading);
114
+ if (options.note) {
115
+ const note = doc.createElement('div');
116
+ note.className = 'ol-hint';
117
+ note.textContent = options.note;
118
+ form.appendChild(note);
119
+ }
98
120
  const inputs = new Map();
99
121
  for (const field of fields) {
100
122
  const label = doc.createElement('label');
@@ -110,9 +132,17 @@ function showForm(doc, title, fields, options = {}, validate) {
110
132
  const input = doc.createElement('input');
111
133
  input.type = field.type ?? 'text';
112
134
  input.name = field.name;
113
- input.value = field.value ?? '';
114
- if (field.required)
115
- input.required = true;
135
+ if (field.type === 'file') {
136
+ if (field.accept)
137
+ input.accept = field.accept;
138
+ }
139
+ else {
140
+ input.value = field.value ?? '';
141
+ }
142
+ // `required` is deliberately not set on the element. The browser's own
143
+ // validation bubble cannot be read by a screen reader in every engine and
144
+ // cannot express "one of these two fields"; the commit step reports into a
145
+ // live region instead.
116
146
  label.appendChild(input);
117
147
  inputs.set(field.name, input);
118
148
  form.appendChild(label);
@@ -137,10 +167,16 @@ function showForm(doc, title, fields, options = {}, validate) {
137
167
  form.appendChild(hint);
138
168
  }
139
169
  }
170
+ // Progress and failure are separate regions with different urgency. An upload
171
+ // starting is polite news; an upload failing is something the author must act
172
+ // on, and role="alert" is what makes it interrupt.
173
+ const progress = doc.createElement('div');
174
+ progress.className = 'ol-progress';
175
+ progress.setAttribute('role', 'status');
176
+ progress.setAttribute('aria-live', 'polite');
177
+ form.appendChild(progress);
140
178
  const error = doc.createElement('div');
141
179
  error.className = 'ol-error';
142
- // Announced when it changes, so a validation failure is not silent for a
143
- // screen reader user who cannot see the red text appear.
144
180
  error.setAttribute('role', 'alert');
145
181
  form.appendChild(error);
146
182
  const actions = doc.createElement('div');
@@ -157,41 +193,101 @@ function showForm(doc, title, fields, options = {}, validate) {
157
193
  dialog.appendChild(form);
158
194
  doc.body.appendChild(dialog);
159
195
  return new Promise((resolve) => {
196
+ let busy = false;
160
197
  const finish = (result) => {
161
198
  dialog.close();
162
199
  dialog.remove();
163
200
  previouslyFocused?.focus?.();
164
201
  resolve(result);
165
202
  };
166
- cancel.addEventListener('click', () => finish(null));
167
- // Escape fires `cancel` on <dialog>; treat it as a cancel, not a save.
203
+ const setBusy = (value) => {
204
+ busy = value;
205
+ form.setAttribute('aria-busy', value ? 'true' : 'false');
206
+ for (const button of [ok, cancel]) {
207
+ // aria-disabled rather than the disabled attribute, for the same reason
208
+ // the toolbar uses it: a disabled button leaves the tab order, so a
209
+ // screen reader user loses track of where they are mid-upload.
210
+ button.setAttribute('aria-disabled', value ? 'true' : 'false');
211
+ }
212
+ ok.textContent = value ? (options.busyLabel ?? 'Working…') : 'Save';
213
+ progress.textContent = value ? (options.busyLabel ?? 'Working…') : '';
214
+ };
215
+ cancel.addEventListener('click', () => {
216
+ // Cancelling mid-upload abandons the result rather than the request: there
217
+ // is no portable way to cancel somebody else's fetch, and pretending
218
+ // otherwise would leave the author thinking nothing was sent.
219
+ if (!busy)
220
+ finish(null);
221
+ });
168
222
  dialog.addEventListener('cancel', (event) => {
169
223
  event.preventDefault();
170
- finish(null);
224
+ if (!busy)
225
+ finish(null);
171
226
  });
172
227
  form.addEventListener('submit', (event) => {
173
228
  event.preventDefault();
229
+ if (busy)
230
+ return;
174
231
  const values = {};
175
- for (const [name, input] of inputs)
176
- values[name] = input.value.trim();
232
+ const files = {};
233
+ for (const [name, input] of inputs) {
234
+ if (input.type === 'file')
235
+ files[name] = input.files?.[0];
236
+ else
237
+ values[name] = input.value.trim();
238
+ }
177
239
  if (checkbox)
178
240
  values[checkbox.name] = checkbox.checked ? 'on' : '';
179
- const message = validate?.(values) ?? null;
180
- if (message) {
181
- error.textContent = message;
182
- const first = fields.find((f) => f.required);
183
- if (first)
184
- inputs.get(first.name)?.focus();
241
+ error.textContent = '';
242
+ let outcome;
243
+ try {
244
+ outcome = commit(values, files);
245
+ }
246
+ catch (thrown) {
247
+ error.textContent = messageFrom(thrown);
248
+ return;
249
+ }
250
+ if (!(outcome instanceof Promise)) {
251
+ if ('error' in outcome) {
252
+ error.textContent = outcome.error;
253
+ focusFirst();
254
+ return;
255
+ }
256
+ finish(outcome.value);
185
257
  return;
186
258
  }
187
- finish(values);
259
+ setBusy(true);
260
+ void outcome
261
+ .then((settled) => {
262
+ setBusy(false);
263
+ if ('error' in settled) {
264
+ error.textContent = settled.error;
265
+ focusFirst();
266
+ return;
267
+ }
268
+ finish(settled.value);
269
+ })
270
+ .catch((thrown) => {
271
+ setBusy(false);
272
+ error.textContent = messageFrom(thrown);
273
+ });
188
274
  });
275
+ const focusFirst = () => {
276
+ const first = fields[0] ? inputs.get(fields[0].name) : undefined;
277
+ first?.focus();
278
+ };
189
279
  dialog.showModal();
190
- const firstInput = fields[0] ? inputs.get(fields[0].name) : undefined;
191
- firstInput?.focus();
192
- firstInput?.select();
280
+ focusFirst();
281
+ const first = fields[0] ? inputs.get(fields[0].name) : undefined;
282
+ if (first && first.type !== 'file')
283
+ first.select();
193
284
  });
194
285
  }
286
+ /** A failure message worth showing an author, from whatever was thrown. */
287
+ function messageFrom(thrown) {
288
+ const message = thrown instanceof Error ? thrown.message : String(thrown);
289
+ return message === '' ? 'Something went wrong.' : message;
290
+ }
195
291
  function hash(value) {
196
292
  let out = 0;
197
293
  for (let i = 0; i < value.length; i += 1)
@@ -199,7 +295,7 @@ function hash(value) {
199
295
  return out;
200
296
  }
201
297
  export async function promptForLink(doc, existing) {
202
- const values = await showForm(doc, existing?.href ? 'Edit link' : 'Insert link', [
298
+ return showForm(doc, existing?.href ? 'Edit link' : 'Insert link', [
203
299
  {
204
300
  name: 'href',
205
301
  label: 'Address',
@@ -216,51 +312,98 @@ export async function promptForLink(doc, existing) {
216
312
  hint: 'Opening in a new window without warning can disorient people using ' +
217
313
  'screen readers or magnification. Leave this off unless you have a reason.',
218
314
  },
219
- }, (v) => (v['href'] ? null : 'Enter an address for the link.'));
220
- if (!values)
221
- return null;
222
- const newWindow = values['newWindow'] === 'on';
223
- return {
224
- href: values['href'] ?? '',
225
- target: newWindow ? '_blank' : null,
226
- // rel="noopener" is not optional with target=_blank: without it the opened
227
- // page gets a handle on this window.
228
- rel: newWindow ? 'noopener noreferrer' : null,
229
- };
315
+ }, (values) => {
316
+ const href = values['href'] ?? '';
317
+ if (!href)
318
+ return { error: 'Enter an address for the link.' };
319
+ const newWindow = values['newWindow'] === 'on';
320
+ return {
321
+ value: {
322
+ href,
323
+ target: newWindow ? '_blank' : null,
324
+ // rel="noopener" is not optional with target=_blank: without it the
325
+ // opened page gets a handle on this window.
326
+ rel: newWindow ? 'noopener noreferrer' : null,
327
+ },
328
+ };
329
+ });
230
330
  }
231
- export async function promptForImage(doc) {
232
- const values = await showForm(doc, 'Insert image', [
233
- { name: 'src', label: 'Image address', type: 'text', required: true },
234
- {
235
- name: 'alt',
236
- label: 'Alternative text',
237
- type: 'text',
238
- hint: 'Describe what the image shows, for people who cannot see it.',
239
- },
240
- ], {
241
- extraCheckbox: {
242
- name: 'decorative',
243
- label: 'This image is decorative and needs no description',
244
- },
245
- }, (v) => {
246
- if (!v['src'])
247
- return 'Enter an image address.';
331
+ /**
332
+ * Ask for an image.
333
+ *
334
+ * The alternative text is asked for in the same dialog as the file, and this is
335
+ * the reason the upload happens on submit rather than on selection: one dialog
336
+ * means one decision point, and there is no path through it that inserts an
337
+ * image nobody described. A drop that uploaded immediately and asked afterwards
338
+ * would leave an undescribed image in the document every time somebody cancelled
339
+ * -- and OpenLeaf has no image-editing dialog yet, so "afterwards" would mean
340
+ * never.
341
+ */
342
+ export async function promptForImage(doc, options = {}) {
343
+ const { file, upload } = options;
344
+ const describe = {
345
+ name: 'alt',
346
+ label: 'Alternative text',
347
+ type: 'text',
348
+ hint: 'Describe what the image shows, for people who cannot see it.',
349
+ };
350
+ const fields = file
351
+ ? [describe]
352
+ : [
353
+ ...(upload
354
+ ? [
355
+ {
356
+ name: 'file',
357
+ label: 'Choose a file',
358
+ type: 'file',
359
+ accept: IMAGE_ACCEPT,
360
+ hint: 'PNG, JPEG, GIF, WebP or AVIF.',
361
+ },
362
+ ]
363
+ : []),
364
+ {
365
+ name: 'src',
366
+ label: upload ? 'Or paste an image address' : 'Image address',
367
+ type: 'text',
368
+ required: !upload,
369
+ },
370
+ describe,
371
+ ];
372
+ const decorative = {
373
+ name: 'decorative',
374
+ label: 'This image is decorative and needs no description',
375
+ };
376
+ return showForm(doc, file ? 'Describe this image' : 'Insert image', fields, {
377
+ extraCheckbox: decorative,
378
+ ...(file ? { note: `Ready to upload: ${file.name}` } : {}),
379
+ busyLabel: 'Uploading…',
380
+ }, (values, files) => {
381
+ const chosen = file ?? files['file'];
382
+ const src = values['src'] ?? '';
383
+ if (!chosen && !src) {
384
+ return { error: upload ? 'Choose a file or enter an image address.' : 'Enter an image address.' };
385
+ }
248
386
  // Required unless explicitly marked decorative. The checkbox exists so
249
387
  // that the honest answer "this needs no description" is easier than
250
388
  // typing "image" to defeat a validator -- which is what a hard
251
389
  // requirement actually teaches people to do.
252
- if (!v['alt'] && v['decorative'] !== 'on') {
253
- return 'Add alternative text, or tick the decorative box.';
390
+ if (!values['alt'] && values['decorative'] !== 'on') {
391
+ return { error: 'Add alternative text, or tick the decorative box.' };
254
392
  }
255
- return null;
393
+ const alt = values['decorative'] === 'on' ? '' : (values['alt'] ?? '');
394
+ if (!chosen || !upload) {
395
+ return { value: { src, alt, width: null, height: null } };
396
+ }
397
+ return upload(chosen).then((result) => ({
398
+ value: {
399
+ src: result.src,
400
+ // An uploader's description only pre-fills; what the author confirmed
401
+ // in the dialog is what gets stored.
402
+ alt,
403
+ width: dimension(result.width),
404
+ height: dimension(result.height),
405
+ },
406
+ }));
256
407
  });
257
- if (!values)
258
- return null;
259
- return {
260
- src: values['src'] ?? '',
261
- // Explicitly empty for decorative images: alt="" tells a screen reader to
262
- // skip it, whereas a missing alt makes it read the filename.
263
- alt: values['decorative'] === 'on' ? '' : (values['alt'] ?? ''),
264
- };
265
408
  }
266
409
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
package/dist/icons.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  * is *gras* in French, *fett* in German; a "B" icon is a
13
13
  * translation bug wearing a costume.
14
14
  *
15
- * All 16 icons are a 24x24 viewBox with `stroke="currentColor"`, so they inherit
15
+ * All 20 icons are a 24x24 viewBox with `stroke="currentColor"`, so they inherit
16
16
  * text colour for free and need no separate dark-mode set. Roughly 2 KB raw,
17
17
  * under 1 KB gzipped.
18
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA4BH;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAkB7B,wBAAgB,SAAS,IAAI,QAAQ,EAAE,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgBjF;AAKD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAchD;AAiBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,aAAa,CAYxE"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAgCH;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AA2B7B,wBAAgB,SAAS,IAAI,QAAQ,EAAE,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgBjF;AAKD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAchD;AAiBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,aAAa,CAYxE"}
package/dist/icons.js CHANGED
@@ -12,7 +12,7 @@
12
12
  * is *gras* in French, *fett* in German; a "B" icon is a
13
13
  * translation bug wearing a costume.
14
14
  *
15
- * All 16 icons are a 24x24 viewBox with `stroke="currentColor"`, so they inherit
15
+ * All 20 icons are a 24x24 viewBox with `stroke="currentColor"`, so they inherit
16
16
  * text colour for free and need no separate dark-mode set. Roughly 2 KB raw,
17
17
  * under 1 KB gzipped.
18
18
  *
@@ -43,6 +43,10 @@ const PATHS = {
43
43
  unlink: 'M18.84 12.25l1.72-1.71a5 5 0 0 0-7.07-7.07l-1.72 1.71M5.17 11.75l-1.71 1.71a5 5 0 0 0 7.07 7.07l1.71-1.71M2 2l20 20',
44
44
  image: 'M3 3h18v18H3zM8.5 9.5a1.5 1.5 0 1 0 .01 0M21 15l-5-5L5 21',
45
45
  horizontalRule: 'M4 12h16',
46
+ alignLeft: 'M3 6h18M3 12h10M3 18h14',
47
+ alignCenter: 'M3 6h18M7 12h10M5 18h14',
48
+ alignRight: 'M3 6h18M11 12h10M7 18h14',
49
+ alignJustify: 'M3 6h18M3 12h18M3 18h18',
46
50
  undo: 'M3 7v6h6M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13',
47
51
  redo: 'M21 7v6h-6M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3L21 13',
48
52
  source: 'M18 16l4-4-4-4M6 8l-4 4 4 4M14.5 4l-5 16',
@@ -62,6 +66,14 @@ const DIRECTIONAL = new Set([
62
66
  'bulletList',
63
67
  'orderedList',
64
68
  ]);
69
+ /*
70
+ * The alignment icons are deliberately absent from that set, and it is the
71
+ * counter-intuitive case. They look like the mirroring candidates -- a glyph of
72
+ * short lines ragged on the left -- but `text-align: left` means the left edge in
73
+ * an RTL document too. Mirroring them would show a right-ragged icon on the
74
+ * button that aligns text left, which is not localisation, it is a lie about
75
+ * what the control does.
76
+ */
65
77
  export function iconNames() {
66
78
  return Object.keys(PATHS);
67
79
  }
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export { Toolbar, type ToolbarOptions } from './toolbar.js';
2
- export { DEFAULT_LAYOUT, allToolbarItems, clearToolbarItems, getToolbarItem, onRegistryChange, registerToolbarItem, type ToolbarContext, type ToolbarItemSpec, } from './registry.js';
2
+ export { DEFAULT_LAYOUT, LAYOUT_WITH_COLOUR, allToolbarItems, clearToolbarItems, getToolbarItem, onRegistryChange, registerToolbarItem, type ToolbarContext, type ToolbarControl, type ToolbarItemSpec, } from './registry.js';
3
3
  export { SOURCE_TOGGLE_EVENT, registerDefaultItems } from './items.js';
4
4
  export { CSS, ensureStyles, markStylesExternal, registerStyles } from './styles.js';
5
5
  export { ensureSprite, iconElement, iconNames, registerIcons, type IconName } from './icons.js';
6
- export { promptForImage, promptForLink, type ImageResult, type LinkResult } from './dialog.js';
6
+ export { promptForImage, promptForLink, type ImagePromptOptions, type ImageResult, type LinkResult, } from './dialog.js';
7
+ export { IMAGE_ACCEPT, canUploadImages, imageFilesFrom, imageUploaderFor, isUploadableImage, registerImageUploader, runUploader, type ImageUploadResult, type ImageUploader, } from './upload.js';
7
8
  export { BUILT_IN_SKINS, applyColourScheme, applySkin, availableSkins, ensureSkins, registerSkin, type ColourScheme, type Skin, } from './skins.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,IAAI,GACV,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/F,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,IAAI,GACV,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  export { Toolbar } from './toolbar.js';
2
- export { DEFAULT_LAYOUT, allToolbarItems, clearToolbarItems, getToolbarItem, onRegistryChange, registerToolbarItem, } from './registry.js';
2
+ export { DEFAULT_LAYOUT, LAYOUT_WITH_COLOUR, allToolbarItems, clearToolbarItems, getToolbarItem, onRegistryChange, registerToolbarItem, } from './registry.js';
3
3
  export { SOURCE_TOGGLE_EVENT, registerDefaultItems } from './items.js';
4
4
  export { CSS, ensureStyles, markStylesExternal, registerStyles } from './styles.js';
5
5
  export { ensureSprite, iconElement, iconNames, registerIcons } from './icons.js';
6
- export { promptForImage, promptForLink } from './dialog.js';
6
+ export { promptForImage, promptForLink, } from './dialog.js';
7
+ export { IMAGE_ACCEPT, canUploadImages, imageFilesFrom, imageUploaderFor, isUploadableImage, registerImageUploader, runUploader, } from './upload.js';
7
8
  export { BUILT_IN_SKINS, applyColourScheme, applySkin, availableSkins, ensureSkins, registerSkin, } from './skins.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GAGpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAqC,MAAM,aAAa,CAAA;AAC9F,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,GAGb,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAA;AAC3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GAIpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAA;AAC/F,OAAO,EACL,cAAc,EACd,aAAa,GAId,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GAGZ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,GAGb,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../src/items.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2BH,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAI3D,+CAA+C;AAC/C,wBAAgB,oBAAoB,IAAI,IAAI,CAuM3C"}
1
+ {"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../src/items.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAI3D,+CAA+C;AAC/C,wBAAgB,oBAAoB,IAAI,IAAI,CA+O3C"}