@openleaf-editor/core 0.1.0-beta.1 → 0.1.0-beta.3
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 +115 -0
- package/dist/autolink.d.ts +12 -0
- package/dist/autolink.d.ts.map +1 -0
- package/dist/autolink.js +136 -0
- package/dist/autolink.js.map +1 -0
- package/dist/command-helpers.d.ts +8 -0
- package/dist/command-helpers.d.ts.map +1 -0
- package/dist/command-helpers.js +36 -0
- package/dist/command-helpers.js.map +1 -0
- package/dist/commands.d.ts +43 -22
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +513 -115
- package/dist/commands.js.map +1 -1
- package/dist/css.d.ts +1 -123
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +1 -214
- package/dist/css.js.map +1 -1
- package/dist/disclosure.d.ts +21 -0
- package/dist/disclosure.d.ts.map +1 -0
- package/dist/disclosure.js +144 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/elements.d.ts +2 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +2 -0
- package/dist/elements.js.map +1 -0
- package/dist/embed.d.ts +2 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +2 -0
- package/dist/embed.js.map +1 -0
- package/dist/errors.d.ts +38 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +40 -0
- package/dist/errors.js.map +1 -0
- package/dist/extensions.d.ts +46 -5
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +292 -65
- package/dist/extensions.js.map +1 -1
- package/dist/formats.d.ts +44 -0
- package/dist/formats.d.ts.map +1 -0
- package/dist/formats.js +123 -0
- package/dist/formats.js.map +1 -0
- package/dist/html.d.ts +32 -2
- package/dist/html.d.ts.map +1 -1
- package/dist/html.js +185 -31
- package/dist/html.js.map +1 -1
- package/dist/index.d.ts +27 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -10
- package/dist/index.js.map +1 -1
- package/dist/insert-commands.d.ts +172 -0
- package/dist/insert-commands.d.ts.map +1 -0
- package/dist/insert-commands.js +560 -0
- package/dist/insert-commands.js.map +1 -0
- package/dist/isolating-selection.d.ts +41 -0
- package/dist/isolating-selection.d.ts.map +1 -0
- package/dist/isolating-selection.js +162 -0
- package/dist/isolating-selection.js.map +1 -0
- package/dist/keymap.d.ts.map +1 -1
- package/dist/keymap.js +6 -3
- package/dist/keymap.js.map +1 -1
- package/dist/noneditable.d.ts +14 -0
- package/dist/noneditable.d.ts.map +1 -0
- package/dist/noneditable.js +107 -0
- package/dist/noneditable.js.map +1 -0
- package/dist/plugins.d.ts +20 -2
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +27 -2
- package/dist/plugins.js.map +1 -1
- package/dist/preserve.d.ts +76 -0
- package/dist/preserve.d.ts.map +1 -1
- package/dist/preserve.js +308 -58
- package/dist/preserve.js.map +1 -1
- package/dist/schema.d.ts +15 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +356 -76
- package/dist/schema.js.map +1 -1
- package/dist/structure.d.ts +76 -0
- package/dist/structure.d.ts.map +1 -0
- package/dist/structure.js +422 -0
- package/dist/structure.js.map +1 -0
- package/dist/tables.d.ts +60 -1
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +617 -35
- package/dist/tables.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/tokens.d.ts +36 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +116 -0
- package/dist/tokens.js.map +1 -0
- package/dist/url.d.ts +1 -25
- package/dist/url.d.ts.map +1 -1
- package/dist/url.js +1 -77
- package/dist/url.js.map +1 -1
- package/dist/visual-aids.d.ts +20 -0
- package/dist/visual-aids.d.ts.map +1 -0
- package/dist/visual-aids.js +149 -0
- package/dist/visual-aids.js.map +1 -0
- package/package.json +16 -1
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/css.d.ts
CHANGED
|
@@ -1,124 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* The CSS the schema is willing to model, and nothing else.
|
|
3
|
-
*
|
|
4
|
-
* Alignment and colour are the two formatting features that cannot be expressed
|
|
5
|
-
* as a tag. `<p align="center">` and `<font color="red">` were removed from HTML
|
|
6
|
-
* years ago; every editor this one is meant to replace -- TinyMCE, CKEditor,
|
|
7
|
-
* Google Docs -- writes `style="text-align:center"` and
|
|
8
|
-
* `<span style="color:#c00">` instead. Matching them is not a preference: it is
|
|
9
|
-
* the difference between reading a customer's existing archive and rewriting it.
|
|
10
|
-
*
|
|
11
|
-
* So OpenLeaf emits a `style` attribute, which means it owes a precise answer to
|
|
12
|
-
* "which declarations, with which values". That answer lives here, in one place,
|
|
13
|
-
* because four separate consumers need to agree on it:
|
|
14
|
-
*
|
|
15
|
-
* the schema -- parsing stored HTML and writing it back
|
|
16
|
-
* the commands -- validating what a toolbar hands them
|
|
17
|
-
* the preservation -- deciding whether a `<span style>` is fully modelled and
|
|
18
|
-
* layer can therefore be unwrapped rather than kept as an atom
|
|
19
|
-
* @openleaf-editor/sanitize -- allowing exactly these declarations server-side
|
|
20
|
-
*
|
|
21
|
-
* Four hand-written copies of a CSS allowlist is the same divergence the
|
|
22
|
-
* sanitize package exists to prevent, one layer down.
|
|
23
|
-
*
|
|
24
|
-
* ## Why a validator rather than a blocklist
|
|
25
|
-
*
|
|
26
|
-
* `style` has a genuinely bad history: `expression()` in old IE executed
|
|
27
|
-
* JavaScript, `url()` fetches, `position:fixed` lets pasted content cover the
|
|
28
|
-
* page with something that looks like your UI. None of that is reachable
|
|
29
|
-
* through a three-property allowlist whose values must match a colour or one of
|
|
30
|
-
* four keywords -- and an allowlist stays safe against whatever CSS gains next,
|
|
31
|
-
* which a list of known-bad functions does not.
|
|
32
|
-
*/
|
|
33
|
-
/** The four alignments a toolbar offers. */
|
|
34
|
-
export type Align = 'left' | 'center' | 'right' | 'justify';
|
|
35
|
-
export declare const ALIGNMENTS: readonly Align[];
|
|
36
|
-
/**
|
|
37
|
-
* Declarations the schema models, and therefore the only ones it will write.
|
|
38
|
-
*
|
|
39
|
-
* `@openleaf-editor/sanitize` reads this list to build its own allowlist, so a
|
|
40
|
-
* property added here reaches the server-side policy rather than being stripped
|
|
41
|
-
* from stored content by a policy that never heard of it.
|
|
42
|
-
*/
|
|
43
|
-
export declare const MODELLED_PROPERTIES: readonly string[];
|
|
44
|
-
/**
|
|
45
|
-
* The subset a mark can represent, and therefore the subset the preservation
|
|
46
|
-
* layer may unwrap a `<span>` for. `text-align` is deliberately absent: it is a
|
|
47
|
-
* block attribute, so unwrapping the element that carries it loses it.
|
|
48
|
-
*/
|
|
49
|
-
export declare const COLOUR_PROPERTIES: readonly string[];
|
|
50
|
-
/**
|
|
51
|
-
* Split a `style` attribute into declarations.
|
|
52
|
-
*
|
|
53
|
-
* Deliberately reads the raw attribute rather than the CSSOM. `element.style`
|
|
54
|
-
* normalizes as it parses -- Chrome turns `#ff0000` into `rgb(255, 0, 0)` -- and
|
|
55
|
-
* anything that reads through it rewrites every hex colour in an archive on the
|
|
56
|
-
* first save. The parse is trivial because the values that survive validation
|
|
57
|
-
* contain no semicolons or quotes; anything that does fails validation and is
|
|
58
|
-
* dropped, so a naive split cannot be tricked into producing a value the
|
|
59
|
-
* validators would not have accepted anyway.
|
|
60
|
-
*
|
|
61
|
-
* Keys are lowercased; values keep their case, because a colour may be a hex
|
|
62
|
-
* digit sequence an author wrote in capitals and there is no reason to change it.
|
|
63
|
-
*/
|
|
64
|
-
export declare function parseDeclarations(style: string | null | undefined): Map<string, string>;
|
|
65
|
-
/** Join declarations back into a `style` attribute value, or `null` if empty. */
|
|
66
|
-
export declare function serializeDeclarations(declarations: Map<string, string>): string | null;
|
|
67
|
-
/**
|
|
68
|
-
* The alignment this value means, or null.
|
|
69
|
-
*
|
|
70
|
-
* `start` and `end` are accepted because they are what a bidirectional-aware
|
|
71
|
-
* author writes, and they are resolved against the reading direction rather than
|
|
72
|
-
* dropped: in an RTL document `start` is the right edge. They are NOT preserved
|
|
73
|
-
* as `start`/`end`, which is a real if narrow loss -- an RTL paragraph aligned to
|
|
74
|
-
* `start` comes back as `right`, and stays right if the document's direction
|
|
75
|
-
* later changes. Modelling logical alignment properly means a second attribute
|
|
76
|
-
* and a toolbar that can express it, which is a bigger feature than this one.
|
|
77
|
-
*/
|
|
78
|
-
export declare function safeAlign(value: string | null | undefined, dir?: string | null): Align | null;
|
|
79
|
-
export declare function safeColor(value: string | null | undefined): string | null;
|
|
80
|
-
/**
|
|
81
|
-
* Put CSS on an element without losing the author's spelling.
|
|
82
|
-
*
|
|
83
|
-
* ## Why this is not simply `setAttribute('style', css)`
|
|
84
|
-
*
|
|
85
|
-
* ProseMirror's DOM serializer writes `style` with `element.style.cssText = value`,
|
|
86
|
-
* which routes the declaration through the CSSOM -- and the CSSOM rewrites as it
|
|
87
|
-
* parses. `color:#cc0000` comes back out as `color: rgb(204, 0, 0)`. Measured in
|
|
88
|
-
* Chromium and WebKit: `setAttribute` preserves the string exactly, `cssText`
|
|
89
|
-
* does not.
|
|
90
|
-
*
|
|
91
|
-
* The consequence of letting the serializer do it is that opening and saving a
|
|
92
|
-
* document rewrites every hex colour in it into a longer functional form. No
|
|
93
|
-
* information is lost, so it is a normalization rather than a fidelity bug -- but
|
|
94
|
-
* it is a normalization that touches the COMMON case in inherited content, and
|
|
95
|
-
* "we changed every coloured span in your archive" is not a diff this project
|
|
96
|
-
* gets to put in somebody's revision history quietly. So the nodes and marks that
|
|
97
|
-
* emit CSS return a real element and set the attribute themselves.
|
|
98
|
-
*
|
|
99
|
-
* ## Why it then falls back to the CSSOM anyway
|
|
100
|
-
*
|
|
101
|
-
* A strict Content-Security-Policy without `unsafe-inline` in `style-src` blocks
|
|
102
|
-
* a `style` ATTRIBUTE: the attribute stays in the DOM and the browser refuses to
|
|
103
|
-
* parse it, so the paragraph renders unaligned and the console fills with
|
|
104
|
-
* violations. A CSSOM write is not blocked -- the same distinction that makes the
|
|
105
|
-
* toolbar's constructable stylesheet CSP-safe.
|
|
106
|
-
*
|
|
107
|
-
* So: set the attribute, then check whether the browser honoured it, and fall
|
|
108
|
-
* back to `cssText` if it did not. Under an ordinary CSP the author's spelling
|
|
109
|
-
* survives; under a strict one the formatting still renders, at the cost of the
|
|
110
|
-
* normalization. Getting both right in the environment that has both is not
|
|
111
|
-
* possible, and of the two, "it renders" has to win.
|
|
112
|
-
*/
|
|
113
|
-
export declare function applyStyleAttribute(el: Element, css: string): void;
|
|
114
|
-
/**
|
|
115
|
-
* Is every declaration in this `style` attribute one the schema models?
|
|
116
|
-
*
|
|
117
|
-
* The preservation layer asks this before unwrapping a `<span style>`. A span
|
|
118
|
-
* carrying only colour is fully representable as marks, so unwrapping it loses
|
|
119
|
-
* nothing and the text inside stays editable. One carrying `font-family` as well
|
|
120
|
-
* is not, and it must stay an opaque preserved atom -- faithful, uneditable, and
|
|
121
|
-
* exactly what happens today rather than a regression.
|
|
122
|
-
*/
|
|
123
|
-
export declare function isFullyModelledStyle(style: string | null | undefined, properties?: readonly string[]): boolean;
|
|
1
|
+
export * from '@openleaf-editor/content-policy/css';
|
|
124
2
|
//# sourceMappingURL=css.d.ts.map
|
package/dist/css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA"}
|
package/dist/css.js
CHANGED
|
@@ -1,215 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* The CSS the schema is willing to model, and nothing else.
|
|
3
|
-
*
|
|
4
|
-
* Alignment and colour are the two formatting features that cannot be expressed
|
|
5
|
-
* as a tag. `<p align="center">` and `<font color="red">` were removed from HTML
|
|
6
|
-
* years ago; every editor this one is meant to replace -- TinyMCE, CKEditor,
|
|
7
|
-
* Google Docs -- writes `style="text-align:center"` and
|
|
8
|
-
* `<span style="color:#c00">` instead. Matching them is not a preference: it is
|
|
9
|
-
* the difference between reading a customer's existing archive and rewriting it.
|
|
10
|
-
*
|
|
11
|
-
* So OpenLeaf emits a `style` attribute, which means it owes a precise answer to
|
|
12
|
-
* "which declarations, with which values". That answer lives here, in one place,
|
|
13
|
-
* because four separate consumers need to agree on it:
|
|
14
|
-
*
|
|
15
|
-
* the schema -- parsing stored HTML and writing it back
|
|
16
|
-
* the commands -- validating what a toolbar hands them
|
|
17
|
-
* the preservation -- deciding whether a `<span style>` is fully modelled and
|
|
18
|
-
* layer can therefore be unwrapped rather than kept as an atom
|
|
19
|
-
* @openleaf-editor/sanitize -- allowing exactly these declarations server-side
|
|
20
|
-
*
|
|
21
|
-
* Four hand-written copies of a CSS allowlist is the same divergence the
|
|
22
|
-
* sanitize package exists to prevent, one layer down.
|
|
23
|
-
*
|
|
24
|
-
* ## Why a validator rather than a blocklist
|
|
25
|
-
*
|
|
26
|
-
* `style` has a genuinely bad history: `expression()` in old IE executed
|
|
27
|
-
* JavaScript, `url()` fetches, `position:fixed` lets pasted content cover the
|
|
28
|
-
* page with something that looks like your UI. None of that is reachable
|
|
29
|
-
* through a three-property allowlist whose values must match a colour or one of
|
|
30
|
-
* four keywords -- and an allowlist stays safe against whatever CSS gains next,
|
|
31
|
-
* which a list of known-bad functions does not.
|
|
32
|
-
*/
|
|
33
|
-
export const ALIGNMENTS = ['left', 'center', 'right', 'justify'];
|
|
34
|
-
/**
|
|
35
|
-
* Declarations the schema models, and therefore the only ones it will write.
|
|
36
|
-
*
|
|
37
|
-
* `@openleaf-editor/sanitize` reads this list to build its own allowlist, so a
|
|
38
|
-
* property added here reaches the server-side policy rather than being stripped
|
|
39
|
-
* from stored content by a policy that never heard of it.
|
|
40
|
-
*/
|
|
41
|
-
export const MODELLED_PROPERTIES = ['text-align', 'color', 'background-color'];
|
|
42
|
-
/**
|
|
43
|
-
* The subset a mark can represent, and therefore the subset the preservation
|
|
44
|
-
* layer may unwrap a `<span>` for. `text-align` is deliberately absent: it is a
|
|
45
|
-
* block attribute, so unwrapping the element that carries it loses it.
|
|
46
|
-
*/
|
|
47
|
-
export const COLOUR_PROPERTIES = ['color', 'background-color'];
|
|
48
|
-
/**
|
|
49
|
-
* Split a `style` attribute into declarations.
|
|
50
|
-
*
|
|
51
|
-
* Deliberately reads the raw attribute rather than the CSSOM. `element.style`
|
|
52
|
-
* normalizes as it parses -- Chrome turns `#ff0000` into `rgb(255, 0, 0)` -- and
|
|
53
|
-
* anything that reads through it rewrites every hex colour in an archive on the
|
|
54
|
-
* first save. The parse is trivial because the values that survive validation
|
|
55
|
-
* contain no semicolons or quotes; anything that does fails validation and is
|
|
56
|
-
* dropped, so a naive split cannot be tricked into producing a value the
|
|
57
|
-
* validators would not have accepted anyway.
|
|
58
|
-
*
|
|
59
|
-
* Keys are lowercased; values keep their case, because a colour may be a hex
|
|
60
|
-
* digit sequence an author wrote in capitals and there is no reason to change it.
|
|
61
|
-
*/
|
|
62
|
-
export function parseDeclarations(style) {
|
|
63
|
-
const out = new Map();
|
|
64
|
-
if (!style)
|
|
65
|
-
return out;
|
|
66
|
-
for (const part of style.split(';')) {
|
|
67
|
-
const colon = part.indexOf(':');
|
|
68
|
-
if (colon < 0)
|
|
69
|
-
continue;
|
|
70
|
-
const name = part.slice(0, colon).trim().toLowerCase();
|
|
71
|
-
const value = part.slice(colon + 1).trim();
|
|
72
|
-
if (name === '' || value === '')
|
|
73
|
-
continue;
|
|
74
|
-
out.set(name, value);
|
|
75
|
-
}
|
|
76
|
-
return out;
|
|
77
|
-
}
|
|
78
|
-
/** Join declarations back into a `style` attribute value, or `null` if empty. */
|
|
79
|
-
export function serializeDeclarations(declarations) {
|
|
80
|
-
if (declarations.size === 0)
|
|
81
|
-
return null;
|
|
82
|
-
return [...declarations].map(([name, value]) => `${name}:${value}`).join(';');
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* The alignment this value means, or null.
|
|
86
|
-
*
|
|
87
|
-
* `start` and `end` are accepted because they are what a bidirectional-aware
|
|
88
|
-
* author writes, and they are resolved against the reading direction rather than
|
|
89
|
-
* dropped: in an RTL document `start` is the right edge. They are NOT preserved
|
|
90
|
-
* as `start`/`end`, which is a real if narrow loss -- an RTL paragraph aligned to
|
|
91
|
-
* `start` comes back as `right`, and stays right if the document's direction
|
|
92
|
-
* later changes. Modelling logical alignment properly means a second attribute
|
|
93
|
-
* and a toolbar that can express it, which is a bigger feature than this one.
|
|
94
|
-
*/
|
|
95
|
-
export function safeAlign(value, dir) {
|
|
96
|
-
if (!value)
|
|
97
|
-
return null;
|
|
98
|
-
const candidate = value.trim().toLowerCase();
|
|
99
|
-
const rtl = (dir ?? '').toLowerCase() === 'rtl';
|
|
100
|
-
if (candidate === 'start')
|
|
101
|
-
return rtl ? 'right' : 'left';
|
|
102
|
-
if (candidate === 'end')
|
|
103
|
-
return rtl ? 'left' : 'right';
|
|
104
|
-
return ALIGNMENTS.includes(candidate) ? candidate : null;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* A colour value, or null when it is not one.
|
|
108
|
-
*
|
|
109
|
-
* The three accepted shapes are hex, the `rgb`/`hsl` function families, and a
|
|
110
|
-
* bare keyword. A keyword is matched as a plain identifier rather than against
|
|
111
|
-
* the 148-name CSS colour list: the list costs most of a kilobyte in a bundle
|
|
112
|
-
* with a hard budget, and an unrecognised identifier is not dangerous -- the
|
|
113
|
-
* browser discards the declaration. Every form that can actually reach outside
|
|
114
|
-
* the declaration needs a character this rejects, `(` for `expression()` and
|
|
115
|
-
* `url()` among them, and both are excluded from the keyword shape.
|
|
116
|
-
*/
|
|
117
|
-
const HEX = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
118
|
-
const FUNCTIONAL = /^(?:rgba?|hsla?)\(\s*[0-9a-z\s.,%/+-]+\)$/i;
|
|
119
|
-
const KEYWORD = /^[a-z]{3,24}$/i;
|
|
120
|
-
/** `rgb(255, 0, 0)` and friends, so a fully opaque one can become hex. */
|
|
121
|
-
const RGB_CHANNELS = /^rgba?\(\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})\s*[,\s]\s*(\d{1,3})\s*(?:[,/]\s*(1|1?\.0+|100%)\s*)?\)$/i;
|
|
122
|
-
export function safeColor(value) {
|
|
123
|
-
if (!value)
|
|
124
|
-
return null;
|
|
125
|
-
// Collapsed rather than stripped: `rgb(255 0 0)` needs its separators.
|
|
126
|
-
const candidate = value.trim().replace(/\s+/g, ' ');
|
|
127
|
-
if (candidate === '')
|
|
128
|
-
return null;
|
|
129
|
-
const rgb = RGB_CHANNELS.exec(candidate);
|
|
130
|
-
if (rgb) {
|
|
131
|
-
// Normalized to hex, and this is what keeps a round trip stable rather than
|
|
132
|
-
// merely lossless. ProseMirror matches mark style rules through the CSSOM,
|
|
133
|
-
// which hands us `rgb(255, 0, 0)` for an authored `#ff0000` -- so without
|
|
134
|
-
// this, opening and saving a document would rewrite every hex colour in it
|
|
135
|
-
// into a longer functional form. Folding the other direction instead makes
|
|
136
|
-
// both spellings converge on the shorter one, and the second save is a
|
|
137
|
-
// no-op.
|
|
138
|
-
const channels = [rgb[1], rgb[2], rgb[3]].map((n) => Number.parseInt(n, 10));
|
|
139
|
-
if (channels.every((n) => n <= 255)) {
|
|
140
|
-
return `#${channels.map((n) => n.toString(16).padStart(2, '0')).join('')}`;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
if (HEX.test(candidate))
|
|
144
|
-
return candidate.toLowerCase();
|
|
145
|
-
if (FUNCTIONAL.test(candidate))
|
|
146
|
-
return candidate.toLowerCase();
|
|
147
|
-
if (KEYWORD.test(candidate))
|
|
148
|
-
return candidate.toLowerCase();
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Put CSS on an element without losing the author's spelling.
|
|
153
|
-
*
|
|
154
|
-
* ## Why this is not simply `setAttribute('style', css)`
|
|
155
|
-
*
|
|
156
|
-
* ProseMirror's DOM serializer writes `style` with `element.style.cssText = value`,
|
|
157
|
-
* which routes the declaration through the CSSOM -- and the CSSOM rewrites as it
|
|
158
|
-
* parses. `color:#cc0000` comes back out as `color: rgb(204, 0, 0)`. Measured in
|
|
159
|
-
* Chromium and WebKit: `setAttribute` preserves the string exactly, `cssText`
|
|
160
|
-
* does not.
|
|
161
|
-
*
|
|
162
|
-
* The consequence of letting the serializer do it is that opening and saving a
|
|
163
|
-
* document rewrites every hex colour in it into a longer functional form. No
|
|
164
|
-
* information is lost, so it is a normalization rather than a fidelity bug -- but
|
|
165
|
-
* it is a normalization that touches the COMMON case in inherited content, and
|
|
166
|
-
* "we changed every coloured span in your archive" is not a diff this project
|
|
167
|
-
* gets to put in somebody's revision history quietly. So the nodes and marks that
|
|
168
|
-
* emit CSS return a real element and set the attribute themselves.
|
|
169
|
-
*
|
|
170
|
-
* ## Why it then falls back to the CSSOM anyway
|
|
171
|
-
*
|
|
172
|
-
* A strict Content-Security-Policy without `unsafe-inline` in `style-src` blocks
|
|
173
|
-
* a `style` ATTRIBUTE: the attribute stays in the DOM and the browser refuses to
|
|
174
|
-
* parse it, so the paragraph renders unaligned and the console fills with
|
|
175
|
-
* violations. A CSSOM write is not blocked -- the same distinction that makes the
|
|
176
|
-
* toolbar's constructable stylesheet CSP-safe.
|
|
177
|
-
*
|
|
178
|
-
* So: set the attribute, then check whether the browser honoured it, and fall
|
|
179
|
-
* back to `cssText` if it did not. Under an ordinary CSP the author's spelling
|
|
180
|
-
* survives; under a strict one the formatting still renders, at the cost of the
|
|
181
|
-
* normalization. Getting both right in the environment that has both is not
|
|
182
|
-
* possible, and of the two, "it renders" has to win.
|
|
183
|
-
*/
|
|
184
|
-
export function applyStyleAttribute(el, css) {
|
|
185
|
-
el.setAttribute('style', css);
|
|
186
|
-
const style = el.style;
|
|
187
|
-
// `length` is zero when the attribute was set but not parsed, which is exactly
|
|
188
|
-
// the CSP-blocked case. It is also zero if the declaration was invalid, where
|
|
189
|
-
// falling through costs nothing because there was nothing to render.
|
|
190
|
-
if (style && style.length === 0)
|
|
191
|
-
style.cssText = css;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Is every declaration in this `style` attribute one the schema models?
|
|
195
|
-
*
|
|
196
|
-
* The preservation layer asks this before unwrapping a `<span style>`. A span
|
|
197
|
-
* carrying only colour is fully representable as marks, so unwrapping it loses
|
|
198
|
-
* nothing and the text inside stays editable. One carrying `font-family` as well
|
|
199
|
-
* is not, and it must stay an opaque preserved atom -- faithful, uneditable, and
|
|
200
|
-
* exactly what happens today rather than a regression.
|
|
201
|
-
*/
|
|
202
|
-
export function isFullyModelledStyle(style, properties = COLOUR_PROPERTIES) {
|
|
203
|
-
const declarations = parseDeclarations(style);
|
|
204
|
-
if (declarations.size === 0)
|
|
205
|
-
return false;
|
|
206
|
-
for (const [name, value] of declarations) {
|
|
207
|
-
if (!properties.includes(name))
|
|
208
|
-
return false;
|
|
209
|
-
const valid = name === 'text-align' ? safeAlign(value) : safeColor(value);
|
|
210
|
-
if (valid === null)
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
return true;
|
|
214
|
-
}
|
|
1
|
+
export * from '@openleaf-editor/content-policy/css';
|
|
215
2
|
//# sourceMappingURL=css.js.map
|
package/dist/css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Make `<details>` open and close while editing.
|
|
3
|
+
*
|
|
4
|
+
* Outside a contenteditable the browser toggles a `<details>` when its
|
|
5
|
+
* `<summary>` is clicked, and nothing has to be written for it. Inside one that
|
|
6
|
+
* default action does not happen: the click is spent placing a caret, so the
|
|
7
|
+
* element stays in whatever state it was parsed in.
|
|
8
|
+
*
|
|
9
|
+
* The consequence is worse than a control that does nothing. A `<details>` parsed
|
|
10
|
+
* without `open` renders collapsed, and its contents are then unreachable --
|
|
11
|
+
* there is no gesture that expands it, so an author cannot edit or even read the
|
|
12
|
+
* body of a collapsible section they already have in a document.
|
|
13
|
+
*
|
|
14
|
+
* So the toggle is written by hand, against the node's own `open` attribute
|
|
15
|
+
* rather than the DOM's. That is what makes the state part of the document and
|
|
16
|
+
* therefore part of what round-trips; toggling the element directly would be
|
|
17
|
+
* undone by the next redraw.
|
|
18
|
+
*/
|
|
19
|
+
import { Plugin } from 'prosemirror-state';
|
|
20
|
+
export declare function disclosurePlugin(): Plugin;
|
|
21
|
+
//# sourceMappingURL=disclosure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure.d.ts","sourceRoot":"","sources":["../src/disclosure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAA4B,MAAM,mBAAmB,CAAA;AAIpE,wBAAgB,gBAAgB,IAAI,MAAM,CA4HzC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Make `<details>` open and close while editing.
|
|
3
|
+
*
|
|
4
|
+
* Outside a contenteditable the browser toggles a `<details>` when its
|
|
5
|
+
* `<summary>` is clicked, and nothing has to be written for it. Inside one that
|
|
6
|
+
* default action does not happen: the click is spent placing a caret, so the
|
|
7
|
+
* element stays in whatever state it was parsed in.
|
|
8
|
+
*
|
|
9
|
+
* The consequence is worse than a control that does nothing. A `<details>` parsed
|
|
10
|
+
* without `open` renders collapsed, and its contents are then unreachable --
|
|
11
|
+
* there is no gesture that expands it, so an author cannot edit or even read the
|
|
12
|
+
* body of a collapsible section they already have in a document.
|
|
13
|
+
*
|
|
14
|
+
* So the toggle is written by hand, against the node's own `open` attribute
|
|
15
|
+
* rather than the DOM's. That is what makes the state part of the document and
|
|
16
|
+
* therefore part of what round-trips; toggling the element directly would be
|
|
17
|
+
* undone by the next redraw.
|
|
18
|
+
*/
|
|
19
|
+
import { Plugin, PluginKey, TextSelection } from 'prosemirror-state';
|
|
20
|
+
const key = new PluginKey('openleaf-disclosure');
|
|
21
|
+
export function disclosurePlugin() {
|
|
22
|
+
return new Plugin({
|
|
23
|
+
key,
|
|
24
|
+
props: {
|
|
25
|
+
handleDOMEvents: {
|
|
26
|
+
/*
|
|
27
|
+
* A DOM listener rather than `handleClickOn`.
|
|
28
|
+
*
|
|
29
|
+
* ProseMirror calls `handleClickOn` for each node around the click from
|
|
30
|
+
* the inside out, and whether the summary arrives as the direct node
|
|
31
|
+
* depends on whether the pointer landed on its text, its marker or its
|
|
32
|
+
* padding. That made the toggle fire on some clicks and not others --
|
|
33
|
+
* the section appeared stuck open, which is worse than not working at
|
|
34
|
+
* all, because it looks like the state is wrong rather than the control.
|
|
35
|
+
*
|
|
36
|
+
* The target's nearest `<summary>` is not ambiguous.
|
|
37
|
+
*/
|
|
38
|
+
click(view, event) {
|
|
39
|
+
const target = event.target;
|
|
40
|
+
if (!target)
|
|
41
|
+
return false;
|
|
42
|
+
const from = target.nodeType === 1 ? target : target.parentElement;
|
|
43
|
+
const summary = from?.closest?.('summary');
|
|
44
|
+
if (!summary || !view.dom.contains(summary))
|
|
45
|
+
return false;
|
|
46
|
+
/*
|
|
47
|
+
* `handleDOMEvents` runs before ProseMirror's `view.editable` check
|
|
48
|
+
* (`runCustomHandler` is first in `initInput`). Typing, paste, drop
|
|
49
|
+
* and the keymaps get that gate for free; this click does not, so a
|
|
50
|
+
* read-only editor still flipped `open` and fired `openleaf:change`.
|
|
51
|
+
*
|
|
52
|
+
* `view.editable` rather than the host's `readonly` attribute, same
|
|
53
|
+
* as the table context menu and the media resize handle: it is the
|
|
54
|
+
* flag ProseMirror itself consults, the element derives it from the
|
|
55
|
+
* attribute, and a view mounted without the custom element can set
|
|
56
|
+
* it directly.
|
|
57
|
+
*
|
|
58
|
+
* Returning false, not swallowing the event: outside contenteditable
|
|
59
|
+
* the browser toggles a `<details>` natively, so collapsed sections
|
|
60
|
+
* stay readable without writing the node. `preventDefault` below is
|
|
61
|
+
* only needed when we own the toggle.
|
|
62
|
+
*/
|
|
63
|
+
if (!view.editable)
|
|
64
|
+
return false;
|
|
65
|
+
const $pos = view.state.doc.resolve(view.posAtDOM(summary, 0));
|
|
66
|
+
for (let depth = $pos.depth; depth >= 0; depth -= 1) {
|
|
67
|
+
const node = $pos.node(depth);
|
|
68
|
+
if (node.type.name !== 'details')
|
|
69
|
+
continue;
|
|
70
|
+
// Once the element carries `open`, the browser's own activation
|
|
71
|
+
// behaviour for a summary works again and fires alongside this --
|
|
72
|
+
// two toggles that cancel. Only one may act, and it has to be this
|
|
73
|
+
// one: the DOM's idea of open is discarded on the next redraw, the
|
|
74
|
+
// node's is what round-trips.
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
/*
|
|
77
|
+
* Put the caret in the label explicitly.
|
|
78
|
+
*
|
|
79
|
+
* `setNodeMarkup` replaces the details node, and a selection mapped
|
|
80
|
+
* through a replacement does not reliably survive it: Chromium kept
|
|
81
|
+
* the caret and Firefox dropped it, which left the label uneditable
|
|
82
|
+
* in one browser and not the other. Where the click already landed
|
|
83
|
+
* inside the label is preferred, so clicking a word still puts the
|
|
84
|
+
* caret at that word; otherwise it goes to the end of the label.
|
|
85
|
+
*/
|
|
86
|
+
const detailsPos = $pos.before(depth);
|
|
87
|
+
const summaryNode = node.firstChild;
|
|
88
|
+
const labelFrom = detailsPos + 2;
|
|
89
|
+
const labelTo = labelFrom + (summaryNode?.content.size ?? 0);
|
|
90
|
+
const clicked = view.state.selection.from;
|
|
91
|
+
const caret = clicked >= labelFrom && clicked <= labelTo ? clicked : labelTo;
|
|
92
|
+
const tr = view.state.tr.setNodeMarkup(detailsPos, undefined, {
|
|
93
|
+
...node.attrs,
|
|
94
|
+
open: !node.attrs['open'],
|
|
95
|
+
});
|
|
96
|
+
tr.setSelection(TextSelection.near(tr.doc.resolve(tr.mapping.map(caret))));
|
|
97
|
+
/*
|
|
98
|
+
* Keep the toggle off the undo stack.
|
|
99
|
+
*
|
|
100
|
+
* `open` lives in the document, so flipping it is by every mechanical
|
|
101
|
+
* measure a document change: it is a step, it maps positions, it
|
|
102
|
+
* serializes on save. History would take it on those grounds alone.
|
|
103
|
+
*
|
|
104
|
+
* But the undo stack does not model changes to the document, it
|
|
105
|
+
* models an author's intent to have made them, and expanding a
|
|
106
|
+
* section in order to read it is not an edit -- it is how you look at
|
|
107
|
+
* a document whose parts are folded away. An author who opened three
|
|
108
|
+
* collapsed sections while hunting for a paragraph, fixed a typo in
|
|
109
|
+
* the third and pressed Ctrl+Z got the typo back and the section
|
|
110
|
+
* closed under them; the correction they meant to take back was four
|
|
111
|
+
* undos away, behind their own navigation. Losing the ability to undo
|
|
112
|
+
* a fold costs nothing -- the gesture that made it is one click away
|
|
113
|
+
* and visible on screen -- while losing the edit next to it costs the
|
|
114
|
+
* work.
|
|
115
|
+
*
|
|
116
|
+
* `addToHistory: false` is the key `prosemirror-history` reads to
|
|
117
|
+
* exclude a transaction; the attribute still changes, and still
|
|
118
|
+
* round-trips.
|
|
119
|
+
*/
|
|
120
|
+
tr.setMeta('addToHistory', false);
|
|
121
|
+
view.dispatch(tr);
|
|
122
|
+
/*
|
|
123
|
+
* And take the focus, because clicking a summary does not give it.
|
|
124
|
+
*
|
|
125
|
+
* `<summary>` is a natively focusable widget, and Firefox declines to
|
|
126
|
+
* put a caret in one inside a contenteditable -- focus stayed on
|
|
127
|
+
* `<body>`, so the selection above was correct and every keystroke
|
|
128
|
+
* still went nowhere. Handling the click means owning the focus that
|
|
129
|
+
* the default action would otherwise have arranged.
|
|
130
|
+
*/
|
|
131
|
+
if (!view.hasFocus())
|
|
132
|
+
view.focus();
|
|
133
|
+
// False, not true: ProseMirror still gets to finish its own handling
|
|
134
|
+
// of the click. Swallowing it here changed nothing for the better and
|
|
135
|
+
// made the interaction harder to reason about.
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=disclosure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure.js","sourceRoot":"","sources":["../src/disclosure.ts"],"names":[],"mappings":"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"}
|