yapp 4.0.115 → 4.0.117
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/example.js +99 -84
- package/lib/{gutter.js → div/gutter.js} +17 -17
- package/lib/{lineNumbers.js → div/lineNumbers.js} +16 -16
- package/lib/{highlights.js → div/overlay.js} +23 -23
- package/lib/{syntax.js → div/syntax.js} +15 -15
- package/lib/prettyPrinter.js +13 -14
- package/lib/richTextarea.js +2 -2
- package/package.json +2 -2
- package/src/{gutter.js → div/gutter.js} +10 -10
- package/src/{lineNumbers.js → div/lineNumbers.js} +8 -8
- package/src/{highlights.js → div/overlay.js} +15 -15
- package/src/{syntax.js → div/syntax.js} +7 -7
- package/src/prettyPrinter.js +13 -14
- package/src/richTextarea.js +1 -1
|
@@ -4,10 +4,10 @@ import withStyle from "easy-with-style"; ///
|
|
|
4
4
|
|
|
5
5
|
import { Element } from "easy";
|
|
6
6
|
|
|
7
|
-
import { EMPTY_STRING } from "
|
|
8
|
-
import { lineCountFromTokens } from "
|
|
7
|
+
import { EMPTY_STRING } from "../constants";
|
|
8
|
+
import { lineCountFromTokens } from "../utilities/tokens";
|
|
9
9
|
|
|
10
|
-
class
|
|
10
|
+
class LineNumbersDiv extends Element {
|
|
11
11
|
update(tokens) {
|
|
12
12
|
let html = EMPTY_STRING;
|
|
13
13
|
|
|
@@ -30,12 +30,12 @@ class LineNumbers extends Element {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
parentContext() {
|
|
33
|
-
const
|
|
34
|
-
|
|
33
|
+
const scrollLineNumbersDiv = this.scroll.bind(this), ///
|
|
34
|
+
updateLineNumbersDiv = this.update.bind(this); ///
|
|
35
35
|
|
|
36
36
|
return ({
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
scrollLineNumbersDiv,
|
|
38
|
+
updateLineNumbersDiv
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -46,7 +46,7 @@ class LineNumbers extends Element {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export default withStyle(
|
|
49
|
+
export default withStyle(LineNumbersDiv)`
|
|
50
50
|
|
|
51
51
|
margin: 0 6px 0 6px;
|
|
52
52
|
position: relative;
|
|
@@ -4,17 +4,17 @@ import withStyle from "easy-with-style"; ///
|
|
|
4
4
|
|
|
5
5
|
import { Element } from "easy";
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import SyntaxDiv from "../div/syntax";
|
|
8
8
|
|
|
9
|
-
import { MARGIN_RIGHT, MARGIN_BOTTOM } from "
|
|
9
|
+
import { MARGIN_RIGHT, MARGIN_BOTTOM } from "../constants";
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class OverlayDiv extends Element {
|
|
12
12
|
update(tokens) {
|
|
13
|
-
this.
|
|
13
|
+
this.updateSyntaxDiv(tokens);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
scroll(scrollTop, scrollLeft) {
|
|
17
|
-
this.
|
|
17
|
+
this.scrollSyntaxDiv(scrollTop, scrollLeft);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
didMount() {
|
|
@@ -33,27 +33,27 @@ class Highlights extends Element {
|
|
|
33
33
|
childElements() {
|
|
34
34
|
return (
|
|
35
35
|
|
|
36
|
-
<
|
|
36
|
+
<SyntaxDiv/>
|
|
37
37
|
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
parentContext() {
|
|
42
42
|
const context = this.getContext(),
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
updateOverlayDiv = this.update.bind(this), ///
|
|
44
|
+
scrollOverlayDiv = this.scroll.bind(this); ///
|
|
45
45
|
|
|
46
46
|
return ({
|
|
47
47
|
...context,
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
updateOverlayDiv,
|
|
49
|
+
scrollOverlayDiv
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
initialise() {
|
|
54
54
|
this.assignContext([
|
|
55
|
-
"
|
|
56
|
-
"
|
|
55
|
+
"updateSyntaxDiv",
|
|
56
|
+
"scrollSyntaxDiv"
|
|
57
57
|
]);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -64,18 +64,18 @@ class Highlights extends Element {
|
|
|
64
64
|
];
|
|
65
65
|
|
|
66
66
|
static defaultProperties = {
|
|
67
|
-
className: "
|
|
67
|
+
className: "overlay"
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
export default withStyle(
|
|
71
|
+
export default withStyle(OverlayDiv)`
|
|
72
72
|
|
|
73
73
|
z-index: 0;
|
|
74
74
|
width: auto;
|
|
75
75
|
height: auto;
|
|
76
76
|
overflow: hidden;
|
|
77
77
|
position: relative;
|
|
78
|
-
grid-area:
|
|
78
|
+
grid-area: overlay-rich-textarea;
|
|
79
79
|
|
|
80
80
|
color: inherit;
|
|
81
81
|
font-size: inherit;
|
|
@@ -4,9 +4,9 @@ import withStyle from "easy-with-style"; ///
|
|
|
4
4
|
|
|
5
5
|
import { Element } from "easy";
|
|
6
6
|
|
|
7
|
-
import { EMPTY_STRING } from "
|
|
7
|
+
import { EMPTY_STRING } from "../constants";
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class SyntaxDiv extends Element {
|
|
10
10
|
setLanguage(language) {
|
|
11
11
|
const state = {
|
|
12
12
|
language
|
|
@@ -72,13 +72,13 @@ class Syntax extends Element {
|
|
|
72
72
|
|
|
73
73
|
parentContext() {
|
|
74
74
|
const setLanguage = this.setLanguage.bind(this),
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
updateSyntaxDiv = this.update.bind(this), ///
|
|
76
|
+
scrollSyntaxDiv = this.scroll.bind(this); ///
|
|
77
77
|
|
|
78
78
|
return ({
|
|
79
79
|
setLanguage,
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
updateSyntaxDiv,
|
|
81
|
+
scrollSyntaxDiv
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -93,7 +93,7 @@ class Syntax extends Element {
|
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
export default withStyle(
|
|
96
|
+
export default withStyle(SyntaxDiv)`
|
|
97
97
|
|
|
98
98
|
position: relative;
|
|
99
99
|
white-space: pre;
|
package/src/prettyPrinter.js
CHANGED
|
@@ -4,8 +4,8 @@ import withStyle from "easy-with-style"; ///
|
|
|
4
4
|
|
|
5
5
|
import { React, Element } from "easy";
|
|
6
6
|
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import GutterDiv from "./div/gutter";
|
|
8
|
+
import OverlayDiv from "./div/overlay";
|
|
9
9
|
import RichTextarea from "./richTextarea";
|
|
10
10
|
|
|
11
11
|
import { getScrollbarThickness } from "./utilities/scrollbar";
|
|
@@ -16,15 +16,15 @@ class PrettyPrinter extends Element {
|
|
|
16
16
|
scrollTop = richTextarea.getScrollTop(),
|
|
17
17
|
scrollLeft = richTextarea.getScrollLeft();
|
|
18
18
|
|
|
19
|
-
this.
|
|
19
|
+
this.scrollGutterDiv(scrollTop ,scrollLeft);
|
|
20
20
|
|
|
21
|
-
this.
|
|
21
|
+
this.scrollOverlayDiv(scrollTop, scrollLeft);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
update(tokens) {
|
|
25
|
-
this.
|
|
25
|
+
this.updateGutterDiv(tokens);
|
|
26
26
|
|
|
27
|
-
this.
|
|
27
|
+
this.updateOverlayDiv(tokens);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
childElements() {
|
|
@@ -36,8 +36,8 @@ class PrettyPrinter extends Element {
|
|
|
36
36
|
|
|
37
37
|
return ([
|
|
38
38
|
|
|
39
|
-
<
|
|
40
|
-
<
|
|
39
|
+
<GutterDiv hidden={hidden} />,
|
|
40
|
+
<OverlayDiv scrollbarThickness={scrollbarThickness} />,
|
|
41
41
|
<RichTextarea onScroll={this.scrollHandler} onChange={changeHandler} fancyScrollbars={fancyScrollbars} hiddenScrollbars={hiddenScrollbars} readOnly={readOnly} />
|
|
42
42
|
|
|
43
43
|
]);
|
|
@@ -55,10 +55,10 @@ class PrettyPrinter extends Element {
|
|
|
55
55
|
|
|
56
56
|
initialise() {
|
|
57
57
|
this.assignContext([
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
58
|
+
"updateGutterDiv",
|
|
59
|
+
"scrollGutterDiv",
|
|
60
|
+
"updateOverlayDiv",
|
|
61
|
+
"scrollOverlayDiv"
|
|
62
62
|
]);
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -72,7 +72,6 @@ class PrettyPrinter extends Element {
|
|
|
72
72
|
"onChange",
|
|
73
73
|
"editable",
|
|
74
74
|
"hiddenGutter",
|
|
75
|
-
"hiddenGutter",
|
|
76
75
|
"noScrollbars",
|
|
77
76
|
"fancyScrollbars"
|
|
78
77
|
];
|
|
@@ -85,7 +84,7 @@ export default withStyle(PrettyPrinter)`
|
|
|
85
84
|
display: grid;
|
|
86
85
|
overflow: hidden;
|
|
87
86
|
grid-template-rows: auto;
|
|
88
|
-
grid-template-areas: "gutter
|
|
87
|
+
grid-template-areas: "gutter overlay-rich-textarea";
|
|
89
88
|
grid-template-columns: min-content auto;
|
|
90
89
|
|
|
91
90
|
color: inherit;
|
package/src/richTextarea.js
CHANGED
|
@@ -69,7 +69,7 @@ export default withStyle(class extends RichTextarea {
|
|
|
69
69
|
tab-size: 2;
|
|
70
70
|
overflow: scroll;
|
|
71
71
|
position: relative;
|
|
72
|
-
grid-area:
|
|
72
|
+
grid-area: overlay-rich-textarea;
|
|
73
73
|
white-space: pre;
|
|
74
74
|
overflow-wrap: normal;
|
|
75
75
|
background-color: transparent;
|