@openleaf-editor/ui 0.1.0-beta.1 → 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/dist/content-css.d.ts +13 -0
- package/dist/content-css.d.ts.map +1 -0
- package/dist/content-css.js +57 -0
- package/dist/content-css.js.map +1 -0
- package/dist/dialog.d.ts +66 -19
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.js +198 -51
- package/dist/dialog.js.map +1 -1
- package/dist/floating.d.ts +25 -0
- package/dist/floating.d.ts.map +1 -0
- package/dist/floating.js +82 -0
- package/dist/floating.js.map +1 -0
- package/dist/help.d.ts +9 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +73 -0
- package/dist/help.js.map +1 -0
- package/dist/i18n.d.ts +31 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +89 -0
- package/dist/i18n.js.map +1 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +4 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/items.d.ts +2 -0
- package/dist/items.d.ts.map +1 -1
- package/dist/items.js +43 -3
- package/dist/items.js.map +1 -1
- package/dist/menu.d.ts +56 -0
- package/dist/menu.d.ts.map +1 -0
- package/dist/menu.js +360 -0
- package/dist/menu.js.map +1 -0
- package/dist/openleaf.css +216 -0
- package/dist/overflow.d.ts +17 -0
- package/dist/overflow.d.ts.map +1 -0
- package/dist/overflow.js +138 -0
- package/dist/overflow.js.map +1 -0
- package/dist/pickers.d.ts +43 -0
- package/dist/pickers.d.ts.map +1 -0
- package/dist/pickers.js +52 -0
- package/dist/pickers.js.map +1 -0
- package/dist/styles.d.ts +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +216 -0
- package/dist/styles.js.map +1 -1
- package/dist/toolbar.d.ts +20 -0
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +105 -17
- package/dist/toolbar.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load content CSS so the canvas matches the published site.
|
|
3
|
+
*
|
|
4
|
+
* OpenLeaf has no iframe. Host typography already inherits into the document,
|
|
5
|
+
* which is the point of skipping Shadow DOM. This helper is for an extra
|
|
6
|
+
* stylesheet the published template uses -- a CMS "styles.css" -- that is not
|
|
7
|
+
* on the admin page. Selectors are scoped under the editor canvas so a rule
|
|
8
|
+
* written for `p.lead` cannot restyle the rest of the admin chrome.
|
|
9
|
+
*/
|
|
10
|
+
export declare function scopeContentCss(css: string): string;
|
|
11
|
+
export declare function loadContentCss(doc: Document, urls: readonly string[]): Promise<void>;
|
|
12
|
+
export declare function contentCssUrls(value: string | null): string[];
|
|
13
|
+
//# sourceMappingURL=content-css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-css.d.ts","sourceRoot":"","sources":["../src/content-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAM7D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load content CSS so the canvas matches the published site.
|
|
3
|
+
*
|
|
4
|
+
* OpenLeaf has no iframe. Host typography already inherits into the document,
|
|
5
|
+
* which is the point of skipping Shadow DOM. This helper is for an extra
|
|
6
|
+
* stylesheet the published template uses -- a CMS "styles.css" -- that is not
|
|
7
|
+
* on the admin page. Selectors are scoped under the editor canvas so a rule
|
|
8
|
+
* written for `p.lead` cannot restyle the rest of the admin chrome.
|
|
9
|
+
*/
|
|
10
|
+
export function scopeContentCss(css) {
|
|
11
|
+
return css.replace(/(^|})(\s*)([^@{}][^{]*)\{/g, (full, brace, space, selector) => {
|
|
12
|
+
if (selector.trim().startsWith('@'))
|
|
13
|
+
return full;
|
|
14
|
+
const scoped = selector
|
|
15
|
+
.split(',')
|
|
16
|
+
.map((part) => {
|
|
17
|
+
const trimmed = part.trim();
|
|
18
|
+
if (!trimmed)
|
|
19
|
+
return part;
|
|
20
|
+
if (trimmed.startsWith('.ol-editor') || trimmed.startsWith('.ol-content'))
|
|
21
|
+
return trimmed;
|
|
22
|
+
return `.ol-editor .ol-content .ProseMirror ${trimmed}`;
|
|
23
|
+
})
|
|
24
|
+
.join(', ');
|
|
25
|
+
return `${brace}${space}${scoped}{`;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export async function loadContentCss(doc, urls) {
|
|
29
|
+
if (typeof CSSStyleSheet === 'undefined' || !('adoptedStyleSheets' in Document.prototype)) {
|
|
30
|
+
console.warn('@openleaf-editor/ui: content CSS could not be adopted in this browser. ' +
|
|
31
|
+
'Link the published stylesheet on the host page instead.');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
for (const url of urls) {
|
|
35
|
+
try {
|
|
36
|
+
const response = await fetch(url);
|
|
37
|
+
if (!response.ok)
|
|
38
|
+
throw new Error(`HTTP ${response.status}`);
|
|
39
|
+
const css = scopeContentCss(await response.text());
|
|
40
|
+
const sheet = new CSSStyleSheet();
|
|
41
|
+
sheet.replaceSync(css);
|
|
42
|
+
doc.adoptedStyleSheets = [...doc.adoptedStyleSheets, sheet];
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.warn(`@openleaf-editor/ui: content CSS at "${url}" could not be loaded.`, error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function contentCssUrls(value) {
|
|
50
|
+
if (!value)
|
|
51
|
+
return [];
|
|
52
|
+
return value
|
|
53
|
+
.split(/[, ]+/)
|
|
54
|
+
.map((part) => part.trim())
|
|
55
|
+
.filter(Boolean);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=content-css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-css.js","sourceRoot":"","sources":["../src/content-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,IAAI,EAAE,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,EAAE;QACxG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,MAAM,GAAG,QAAQ;aACpB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;gBAAE,OAAO,OAAO,CAAA;YACzF,OAAO,uCAAuC,OAAO,EAAE,CAAA;QACzD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAa,EAAE,IAAuB;IACzE,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,CAAC,CAAC,oBAAoB,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1F,OAAO,CAAC,IAAI,CACV,yEAAyE;YACvE,yDAAyD,CAC5D,CAAA;QACD,OAAM;IACR,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5D,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAA;YACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACtB,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,wCAAwC,GAAG,wBAAwB,EACnE,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO,KAAK;SACT,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAA;AACpB,CAAC"}
|
package/dist/dialog.d.ts
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
import { type ImageUploadResult } from './upload.js';
|
|
23
23
|
export interface LinkResult {
|
|
24
24
|
href: string;
|
|
25
|
+
title: string | null;
|
|
25
26
|
target: string | null;
|
|
26
27
|
rel: string | null;
|
|
27
28
|
}
|
|
@@ -29,35 +30,81 @@ export interface ImageResult {
|
|
|
29
30
|
src: string;
|
|
30
31
|
/** `''` means explicitly decorative. `null` is never returned. */
|
|
31
32
|
alt: string;
|
|
33
|
+
title: string | null;
|
|
32
34
|
/** Intrinsic size, when an uploader reported one. */
|
|
33
35
|
width: string | null;
|
|
34
36
|
height: string | null;
|
|
37
|
+
className: string | null;
|
|
38
|
+
align: 'left' | 'right' | 'center' | null;
|
|
39
|
+
caption: string | null;
|
|
35
40
|
}
|
|
41
|
+
export interface FieldOption {
|
|
42
|
+
value: string;
|
|
43
|
+
label: string;
|
|
44
|
+
}
|
|
45
|
+
export interface FieldSpec {
|
|
46
|
+
name: string;
|
|
47
|
+
label: string;
|
|
48
|
+
type?: string;
|
|
49
|
+
value?: string;
|
|
50
|
+
required?: boolean;
|
|
51
|
+
hint?: string;
|
|
52
|
+
/** For `type: 'file'`: the accept list. */
|
|
53
|
+
accept?: string;
|
|
54
|
+
/** When set, the field is a `<select>` rather than an input. */
|
|
55
|
+
options?: readonly FieldOption[];
|
|
56
|
+
/**
|
|
57
|
+
* The field this control writes into when it changes.
|
|
58
|
+
*
|
|
59
|
+
* A chooser that only *contributed* its value could never change a field that
|
|
60
|
+
* was already filled in: editing a link or an image prefills the address, so
|
|
61
|
+
* picking from the list lost to it every time and the list worked only for new
|
|
62
|
+
* insertions. Writing into the field it fills keeps one source of truth, and
|
|
63
|
+
* shows the author what they picked so they can still edit it.
|
|
64
|
+
*/
|
|
65
|
+
fills?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function ensureDialogStyles(doc: Document): void;
|
|
68
|
+
export interface PromptFormOptions {
|
|
69
|
+
extraCheckbox?: {
|
|
70
|
+
name: string;
|
|
71
|
+
label: string;
|
|
72
|
+
hint?: string;
|
|
73
|
+
checked?: boolean;
|
|
74
|
+
};
|
|
75
|
+
note?: string;
|
|
76
|
+
busyLabel?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A generic modal form, used by table property dialogs and anything else that
|
|
80
|
+
* is a handful of labelled fields rather than a specialised prompt.
|
|
81
|
+
*/
|
|
82
|
+
export declare function promptFields<T>(doc: Document, title: string, fields: FieldSpec[], options: PromptFormOptions, commit: (values: Record<string, string>, files: Record<string, File | undefined>) => Promise<{
|
|
83
|
+
value: T;
|
|
84
|
+
} | {
|
|
85
|
+
error: string;
|
|
86
|
+
}> | {
|
|
87
|
+
value: T;
|
|
88
|
+
} | {
|
|
89
|
+
error: string;
|
|
90
|
+
}): Promise<T | null>;
|
|
36
91
|
export declare function promptForLink(doc: Document, existing?: {
|
|
37
92
|
href?: string;
|
|
93
|
+
title?: string | null;
|
|
38
94
|
target?: string | null;
|
|
39
|
-
}): Promise<LinkResult | null>;
|
|
95
|
+
}, host?: HTMLElement): Promise<LinkResult | null>;
|
|
40
96
|
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
97
|
file?: File;
|
|
48
|
-
/** Uploads a file and reports where it landed. Absent means URL-only. */
|
|
49
98
|
upload?: (file: File) => Promise<ImageUploadResult>;
|
|
99
|
+
host?: HTMLElement;
|
|
100
|
+
existing?: {
|
|
101
|
+
src?: string;
|
|
102
|
+
alt?: string | null;
|
|
103
|
+
title?: string | null;
|
|
104
|
+
className?: string | null;
|
|
105
|
+
align?: 'left' | 'right' | 'center' | null;
|
|
106
|
+
caption?: string | null;
|
|
107
|
+
};
|
|
50
108
|
}
|
|
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
109
|
export declare function promptForImage(doc: Document, options?: ImagePromptOptions): Promise<ImageResult | null>;
|
|
63
110
|
//# sourceMappingURL=dialog.d.ts.map
|
package/dist/dialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
|
package/dist/dialog.js
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { ensureStyles } from './styles.js';
|
|
23
23
|
import { IMAGE_ACCEPT, dimension } from './upload.js';
|
|
24
|
+
import { filePickerFor, listedImageClasses, listedImages, listedLinks, } from './pickers.js';
|
|
24
25
|
const DIALOG_CSS = `
|
|
25
26
|
.ol-dialog {
|
|
26
27
|
box-sizing: border-box;
|
|
@@ -38,13 +39,15 @@ const DIALOG_CSS = `
|
|
|
38
39
|
.ol-dialog h2 { margin: 0; font-size: 1.1em; }
|
|
39
40
|
.ol-dialog label { display: grid; gap: 4px; font-weight: 500; }
|
|
40
41
|
.ol-dialog .ol-hint { font-weight: 400; font-size: .9em; opacity: .75; }
|
|
41
|
-
.ol-dialog input[type="text"], .ol-dialog input[type="url"], .ol-dialog input[type="file"]
|
|
42
|
+
.ol-dialog input[type="text"], .ol-dialog input[type="url"], .ol-dialog input[type="file"],
|
|
43
|
+
.ol-dialog input[type="color"], .ol-dialog input[type="number"], .ol-dialog select {
|
|
42
44
|
box-sizing: border-box; width: 100%; padding: 6px 8px;
|
|
43
45
|
border: 1px solid var(--openleaf-color-border, #d1d9e0);
|
|
44
46
|
border-radius: var(--openleaf-radius, 4px);
|
|
45
47
|
background: var(--openleaf-color-surface, #fff);
|
|
46
48
|
color: inherit; font: inherit;
|
|
47
49
|
}
|
|
50
|
+
.ol-dialog input[type="color"] { height: 2.25rem; padding: 2px; }
|
|
48
51
|
.ol-dialog .ol-check { display: flex; align-items: center; gap: 8px; font-weight: 400; }
|
|
49
52
|
.ol-dialog .ol-check input { margin: 0; }
|
|
50
53
|
.ol-dialog .ol-actions { display: flex; justify-content: flex-end; gap: 8px; }
|
|
@@ -68,7 +71,7 @@ const DIALOG_CSS = `
|
|
|
68
71
|
.ol-dialog .ol-progress { font-size: .9em; opacity: .8; min-height: 1.2em; }
|
|
69
72
|
`;
|
|
70
73
|
let dialogStylesReady = false;
|
|
71
|
-
function ensureDialogStyles(doc) {
|
|
74
|
+
export function ensureDialogStyles(doc) {
|
|
72
75
|
ensureStyles(doc);
|
|
73
76
|
if (dialogStylesReady)
|
|
74
77
|
return;
|
|
@@ -129,24 +132,75 @@ function showForm(doc, title, fields, options = {}, commit = () => ({ error: 'Th
|
|
|
129
132
|
hint.textContent = field.hint;
|
|
130
133
|
label.appendChild(hint);
|
|
131
134
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
let control;
|
|
136
|
+
if (field.options) {
|
|
137
|
+
const select = doc.createElement('select');
|
|
138
|
+
select.name = field.name;
|
|
139
|
+
for (const option of field.options) {
|
|
140
|
+
const item = doc.createElement('option');
|
|
141
|
+
item.value = option.value;
|
|
142
|
+
item.textContent = option.label;
|
|
143
|
+
if (option.value === (field.value ?? ''))
|
|
144
|
+
item.selected = true;
|
|
145
|
+
select.appendChild(item);
|
|
146
|
+
}
|
|
147
|
+
control = select;
|
|
138
148
|
}
|
|
139
149
|
else {
|
|
140
|
-
input
|
|
150
|
+
const input = doc.createElement('input');
|
|
151
|
+
input.type = field.type ?? 'text';
|
|
152
|
+
input.name = field.name;
|
|
153
|
+
if (field.type === 'file') {
|
|
154
|
+
if (field.accept)
|
|
155
|
+
input.accept = field.accept;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
input.value = field.value ?? '';
|
|
159
|
+
}
|
|
160
|
+
control = input;
|
|
141
161
|
}
|
|
142
162
|
// `required` is deliberately not set on the element. The browser's own
|
|
143
163
|
// validation bubble cannot be read by a screen reader in every engine and
|
|
144
164
|
// cannot express "one of these two fields"; the commit step reports into a
|
|
145
165
|
// live region instead.
|
|
146
|
-
label.appendChild(
|
|
147
|
-
inputs.set(field.name,
|
|
166
|
+
label.appendChild(control);
|
|
167
|
+
inputs.set(field.name, control);
|
|
148
168
|
form.appendChild(label);
|
|
149
169
|
}
|
|
170
|
+
// Wired after the loop, so a chooser can fill a field declared after it.
|
|
171
|
+
for (const field of fields) {
|
|
172
|
+
if (!field.fills)
|
|
173
|
+
continue;
|
|
174
|
+
const source = inputs.get(field.name);
|
|
175
|
+
const target = inputs.get(field.fills);
|
|
176
|
+
if (!source || !target)
|
|
177
|
+
continue;
|
|
178
|
+
source.addEventListener('change', () => {
|
|
179
|
+
if (source.value !== '')
|
|
180
|
+
target.value = source.value;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (options.browse) {
|
|
184
|
+
const browse = doc.createElement('button');
|
|
185
|
+
browse.type = 'button';
|
|
186
|
+
browse.textContent = options.browse.label;
|
|
187
|
+
browse.addEventListener('click', () => {
|
|
188
|
+
void options.browse?.fill().then((filled) => {
|
|
189
|
+
if (!filled)
|
|
190
|
+
return;
|
|
191
|
+
for (const [name, value] of Object.entries(filled)) {
|
|
192
|
+
const control = inputs.get(name);
|
|
193
|
+
if (control && control instanceof HTMLInputElement && control.type !== 'file') {
|
|
194
|
+
control.value = value;
|
|
195
|
+
}
|
|
196
|
+
else if (control) {
|
|
197
|
+
control.value = value;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
form.appendChild(browse);
|
|
203
|
+
}
|
|
150
204
|
let checkbox = null;
|
|
151
205
|
if (options.extraCheckbox) {
|
|
152
206
|
const wrap = doc.createElement('label');
|
|
@@ -231,7 +285,7 @@ function showForm(doc, title, fields, options = {}, commit = () => ({ error: 'Th
|
|
|
231
285
|
const values = {};
|
|
232
286
|
const files = {};
|
|
233
287
|
for (const [name, input] of inputs) {
|
|
234
|
-
if (input.type === 'file')
|
|
288
|
+
if (input instanceof HTMLInputElement && input.type === 'file')
|
|
235
289
|
files[name] = input.files?.[0];
|
|
236
290
|
else
|
|
237
291
|
values[name] = input.value.trim();
|
|
@@ -279,7 +333,7 @@ function showForm(doc, title, fields, options = {}, commit = () => ({ error: 'Th
|
|
|
279
333
|
dialog.showModal();
|
|
280
334
|
focusFirst();
|
|
281
335
|
const first = fields[0] ? inputs.get(fields[0].name) : undefined;
|
|
282
|
-
if (first && first.type !== 'file')
|
|
336
|
+
if (first instanceof HTMLInputElement && first.type !== 'file')
|
|
283
337
|
first.select();
|
|
284
338
|
});
|
|
285
339
|
}
|
|
@@ -294,8 +348,27 @@ function hash(value) {
|
|
|
294
348
|
out = (out * 31 + value.charCodeAt(i)) | 0;
|
|
295
349
|
return out;
|
|
296
350
|
}
|
|
297
|
-
|
|
298
|
-
|
|
351
|
+
/**
|
|
352
|
+
* A generic modal form, used by table property dialogs and anything else that
|
|
353
|
+
* is a handful of labelled fields rather than a specialised prompt.
|
|
354
|
+
*/
|
|
355
|
+
export function promptFields(doc, title, fields, options, commit) {
|
|
356
|
+
return showForm(doc, title, fields, options, commit);
|
|
357
|
+
}
|
|
358
|
+
export async function promptForLink(doc, existing, host) {
|
|
359
|
+
const listed = listedLinks();
|
|
360
|
+
const picker = host ? filePickerFor(host) : null;
|
|
361
|
+
const fields = [
|
|
362
|
+
...(listed.length > 0
|
|
363
|
+
? [
|
|
364
|
+
{
|
|
365
|
+
name: 'listed',
|
|
366
|
+
label: 'Choose a page',
|
|
367
|
+
options: [{ value: '', label: 'Type an address instead' }, ...listed.map((item) => ({ value: item.value, label: item.title }))],
|
|
368
|
+
fills: 'href',
|
|
369
|
+
},
|
|
370
|
+
]
|
|
371
|
+
: []),
|
|
299
372
|
{
|
|
300
373
|
name: 'href',
|
|
301
374
|
label: 'Address',
|
|
@@ -304,7 +377,15 @@ export async function promptForLink(doc, existing) {
|
|
|
304
377
|
required: true,
|
|
305
378
|
hint: 'For example https://example.org, /about, or mailto:someone@example.org',
|
|
306
379
|
},
|
|
307
|
-
|
|
380
|
+
{
|
|
381
|
+
name: 'title',
|
|
382
|
+
label: 'Title',
|
|
383
|
+
type: 'text',
|
|
384
|
+
value: existing?.title ?? '',
|
|
385
|
+
hint: 'Shown as a tooltip. Optional.',
|
|
386
|
+
},
|
|
387
|
+
];
|
|
388
|
+
return showForm(doc, existing?.href ? 'Edit link' : 'Insert link', fields, {
|
|
308
389
|
extraCheckbox: {
|
|
309
390
|
name: 'newWindow',
|
|
310
391
|
label: 'Open in a new window',
|
|
@@ -312,44 +393,95 @@ export async function promptForLink(doc, existing) {
|
|
|
312
393
|
hint: 'Opening in a new window without warning can disorient people using ' +
|
|
313
394
|
'screen readers or magnification. Leave this off unless you have a reason.',
|
|
314
395
|
},
|
|
396
|
+
...(picker && host
|
|
397
|
+
? {
|
|
398
|
+
browse: {
|
|
399
|
+
label: 'Browse files',
|
|
400
|
+
fill: async () => {
|
|
401
|
+
const picked = await picker({ kind: 'file', host });
|
|
402
|
+
if (!picked)
|
|
403
|
+
return null;
|
|
404
|
+
return { href: picked.url, title: picked.title ?? '' };
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
}
|
|
408
|
+
: {}),
|
|
315
409
|
}, (values) => {
|
|
316
|
-
|
|
410
|
+
// The address field alone: choosing from the list writes into it, so there
|
|
411
|
+
// is no second place a destination can hide.
|
|
412
|
+
const href = values['href'] || '';
|
|
317
413
|
if (!href)
|
|
318
414
|
return { error: 'Enter an address for the link.' };
|
|
319
415
|
const newWindow = values['newWindow'] === 'on';
|
|
320
416
|
return {
|
|
321
417
|
value: {
|
|
322
418
|
href,
|
|
419
|
+
title: values['title'] || null,
|
|
323
420
|
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
421
|
rel: newWindow ? 'noopener noreferrer' : null,
|
|
327
422
|
},
|
|
328
423
|
};
|
|
329
424
|
});
|
|
330
425
|
}
|
|
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
426
|
export async function promptForImage(doc, options = {}) {
|
|
343
|
-
const { file, upload } = options;
|
|
427
|
+
const { file, upload, host, existing } = options;
|
|
428
|
+
const listed = listedImages();
|
|
429
|
+
const classes = listedImageClasses();
|
|
430
|
+
const picker = host ? filePickerFor(host) : null;
|
|
344
431
|
const describe = {
|
|
345
432
|
name: 'alt',
|
|
346
433
|
label: 'Alternative text',
|
|
347
434
|
type: 'text',
|
|
435
|
+
value: existing?.alt ?? '',
|
|
348
436
|
hint: 'Describe what the image shows, for people who cannot see it.',
|
|
349
437
|
};
|
|
438
|
+
const extras = [
|
|
439
|
+
{
|
|
440
|
+
name: 'title',
|
|
441
|
+
label: 'Title',
|
|
442
|
+
type: 'text',
|
|
443
|
+
value: existing?.title ?? '',
|
|
444
|
+
hint: 'Shown as a tooltip. Optional.',
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: 'align',
|
|
448
|
+
label: 'Alignment',
|
|
449
|
+
options: [
|
|
450
|
+
{ value: '', label: 'None' },
|
|
451
|
+
{ value: 'left', label: 'Float left' },
|
|
452
|
+
{ value: 'center', label: 'Centre' },
|
|
453
|
+
{ value: 'right', label: 'Float right' },
|
|
454
|
+
],
|
|
455
|
+
value: existing?.align ?? '',
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
name: 'className',
|
|
459
|
+
label: 'CSS classes',
|
|
460
|
+
type: 'text',
|
|
461
|
+
value: existing?.className ?? '',
|
|
462
|
+
hint: classes.length > 0 ? `Suggested: ${classes.join(', ')}` : 'Optional class names, separated by spaces.',
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
name: 'caption',
|
|
466
|
+
label: 'Caption',
|
|
467
|
+
type: 'text',
|
|
468
|
+
value: existing?.caption ?? '',
|
|
469
|
+
hint: 'Wraps the image in a figure. Leave blank for no caption.',
|
|
470
|
+
},
|
|
471
|
+
];
|
|
350
472
|
const fields = file
|
|
351
|
-
? [describe]
|
|
473
|
+
? [describe, ...extras]
|
|
352
474
|
: [
|
|
475
|
+
...(listed.length > 0
|
|
476
|
+
? [
|
|
477
|
+
{
|
|
478
|
+
name: 'listed',
|
|
479
|
+
label: 'Choose an image',
|
|
480
|
+
options: [{ value: '', label: 'Type an address instead' }, ...listed.map((item) => ({ value: item.value, label: item.title }))],
|
|
481
|
+
fills: 'src',
|
|
482
|
+
},
|
|
483
|
+
]
|
|
484
|
+
: []),
|
|
353
485
|
...(upload
|
|
354
486
|
? [
|
|
355
487
|
{
|
|
@@ -365,44 +497,59 @@ export async function promptForImage(doc, options = {}) {
|
|
|
365
497
|
name: 'src',
|
|
366
498
|
label: upload ? 'Or paste an image address' : 'Image address',
|
|
367
499
|
type: 'text',
|
|
500
|
+
value: existing?.src ?? '',
|
|
368
501
|
required: !upload,
|
|
369
502
|
},
|
|
370
503
|
describe,
|
|
504
|
+
...extras,
|
|
371
505
|
];
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
506
|
+
const finish = (src, alt, width, height, values) => ({
|
|
507
|
+
src,
|
|
508
|
+
alt,
|
|
509
|
+
title: values['title'] || null,
|
|
510
|
+
width,
|
|
511
|
+
height,
|
|
512
|
+
className: values['className'] || null,
|
|
513
|
+
align: values['align'] === 'left' || values['align'] === 'right' || values['align'] === 'center'
|
|
514
|
+
? values['align']
|
|
515
|
+
: null,
|
|
516
|
+
caption: values['caption'] ? values['caption'] : null,
|
|
517
|
+
});
|
|
376
518
|
return showForm(doc, file ? 'Describe this image' : 'Insert image', fields, {
|
|
377
|
-
extraCheckbox:
|
|
519
|
+
extraCheckbox: {
|
|
520
|
+
name: 'decorative',
|
|
521
|
+
label: 'This image is decorative and needs no description',
|
|
522
|
+
},
|
|
378
523
|
...(file ? { note: `Ready to upload: ${file.name}` } : {}),
|
|
379
524
|
busyLabel: 'Uploading…',
|
|
525
|
+
...(picker && host
|
|
526
|
+
? {
|
|
527
|
+
browse: {
|
|
528
|
+
label: 'Browse files',
|
|
529
|
+
fill: async () => {
|
|
530
|
+
const picked = await picker({ kind: 'image', host });
|
|
531
|
+
if (!picked)
|
|
532
|
+
return null;
|
|
533
|
+
return { src: picked.url, alt: picked.alt ?? '', title: picked.title ?? '' };
|
|
534
|
+
},
|
|
535
|
+
},
|
|
536
|
+
}
|
|
537
|
+
: {}),
|
|
380
538
|
}, (values, files) => {
|
|
381
539
|
const chosen = file ?? files['file'];
|
|
382
|
-
const src = values['src']
|
|
540
|
+
const src = values['src'] || '';
|
|
383
541
|
if (!chosen && !src) {
|
|
384
542
|
return { error: upload ? 'Choose a file or enter an image address.' : 'Enter an image address.' };
|
|
385
543
|
}
|
|
386
|
-
// Required unless explicitly marked decorative. The checkbox exists so
|
|
387
|
-
// that the honest answer "this needs no description" is easier than
|
|
388
|
-
// typing "image" to defeat a validator -- which is what a hard
|
|
389
|
-
// requirement actually teaches people to do.
|
|
390
544
|
if (!values['alt'] && values['decorative'] !== 'on') {
|
|
391
545
|
return { error: 'Add alternative text, or tick the decorative box.' };
|
|
392
546
|
}
|
|
393
547
|
const alt = values['decorative'] === 'on' ? '' : (values['alt'] ?? '');
|
|
394
548
|
if (!chosen || !upload) {
|
|
395
|
-
return { value:
|
|
549
|
+
return { value: finish(src, alt, null, null, values) };
|
|
396
550
|
}
|
|
397
551
|
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
|
-
},
|
|
552
|
+
value: finish(result.src, alt, dimension(result.width), dimension(result.height), values),
|
|
406
553
|
}));
|
|
407
554
|
});
|
|
408
555
|
}
|
package/dist/dialog.js.map
CHANGED
|
@@ -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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"}
|