yapp 2.1.2 → 2.1.8
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 +82 -52
- package/lib/element/bounded/scrollable.js +20 -9
- package/lib/prettyPrinter.js +7 -4
- package/lib/richTextarea.js +2 -2
- package/lib/styles.js +4 -6
- package/lib/utilities/scrollbarThickness.js +25 -0
- package/lib/yapp.js +20 -5
- package/package.json +1 -1
- package/src/element/bounded/scrollable.js +6 -2
- package/src/prettyPrinter.js +4 -3
- package/src/richTextarea.js +3 -3
- package/src/styles.js +1 -2
- package/src/utilities/scrollbarThickness.js +40 -0
- package/src/yapp.js +23 -7
- package/lib/scrollbarThickness.js +0 -21
- package/src/scrollbarThickness.js +0 -32
package/src/yapp.js
CHANGED
|
@@ -6,9 +6,9 @@ import { React, Element } from "easy";
|
|
|
6
6
|
|
|
7
7
|
import RichTextarea from "./richTextarea";
|
|
8
8
|
import PrettyPrinter from "./prettyPrinter";
|
|
9
|
-
import scrollBarThickness from "./scrollbarThickness";
|
|
10
9
|
|
|
11
10
|
import { stripPixels } from "./utilities/css";
|
|
11
|
+
import { getScrollbarThickness } from "./utilities/scrollbarThickness";
|
|
12
12
|
import { pluginFromLanguageAndPlugin } from "./utilities/plugin";
|
|
13
13
|
import { TOP, LEFT, RIGHT, LINE_HEIGHT, BOTTOM } from "./constants";
|
|
14
14
|
import { propertiesFromContentLanguagePluginAndOptions } from "./utilities/properties";
|
|
@@ -62,6 +62,14 @@ class Yapp extends Element {
|
|
|
62
62
|
return borderLeftWidth;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
getInitialLineCount() {
|
|
66
|
+
const content = this.getContent(),
|
|
67
|
+
lineCount = lineCountFromContent(content),
|
|
68
|
+
initialLineCount = lineCount; ///
|
|
69
|
+
|
|
70
|
+
return initialLineCount;
|
|
71
|
+
}
|
|
72
|
+
|
|
65
73
|
getBorderRightWidth() {
|
|
66
74
|
const side = RIGHT,
|
|
67
75
|
borderRightWidth = this.getBorderWidth(side);
|
|
@@ -76,6 +84,13 @@ class Yapp extends Element {
|
|
|
76
84
|
return borderBottomWidth;
|
|
77
85
|
}
|
|
78
86
|
|
|
87
|
+
getScrollbarThickness() {
|
|
88
|
+
const { fancyScrollbars = DEFAULT_FANCY_SCROLLBARS } = this.properties,
|
|
89
|
+
scrollbarThickness = getScrollbarThickness(fancyScrollbars);
|
|
90
|
+
|
|
91
|
+
return scrollbarThickness;
|
|
92
|
+
}
|
|
93
|
+
|
|
79
94
|
setLexer(lexer) { this.plugin.setLexer(lexer); }
|
|
80
95
|
|
|
81
96
|
setParser(parser) { this.plugin.setParser(parser); }
|
|
@@ -138,12 +153,12 @@ class Yapp extends Element {
|
|
|
138
153
|
}
|
|
139
154
|
|
|
140
155
|
render() {
|
|
141
|
-
const
|
|
142
|
-
lineCount = lineCountFromContent(content),
|
|
143
|
-
lineHeight = this.getLineHeight(),
|
|
156
|
+
const lineHeight = this.getLineHeight(),
|
|
144
157
|
borderTopWidth = this.getBorderTopWidth(),
|
|
158
|
+
initialLineCount = this.getInitialLineCount(),
|
|
145
159
|
borderBottomWidth = this.getBorderBottomWidth(),
|
|
146
|
-
|
|
160
|
+
scrollbarThickness = this.getScrollbarThickness(),
|
|
161
|
+
height = initialLineCount * lineHeight + borderTopWidth + borderBottomWidth + scrollbarThickness;
|
|
147
162
|
|
|
148
163
|
this.setHeight(height);
|
|
149
164
|
|
|
@@ -177,11 +192,12 @@ class Yapp extends Element {
|
|
|
177
192
|
childElements() {
|
|
178
193
|
const { hiddenGutter = DEFAULT_HIDDEN_GUTTER, fancyScrollbars = DEFAULT_FANCY_SCROLLBARS } = this.properties,
|
|
179
194
|
changeHandler = this.changeHandler.bind(this),
|
|
180
|
-
scrollHandler = this.scrollHandler.bind(this)
|
|
195
|
+
scrollHandler = this.scrollHandler.bind(this),
|
|
196
|
+
scrollbarThickness = this.getScrollbarThickness();
|
|
181
197
|
|
|
182
198
|
return ([
|
|
183
199
|
|
|
184
|
-
<PrettyPrinter hiddenGutter={hiddenGutter} />,
|
|
200
|
+
<PrettyPrinter hiddenGutter={hiddenGutter} scrollbarThickness={scrollbarThickness} />,
|
|
185
201
|
<RichTextarea onChange={changeHandler} onScroll={scrollHandler} fancyScrollbars={fancyScrollbars} active />
|
|
186
202
|
|
|
187
203
|
]);
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
exports.default = void 0;
|
|
6
|
-
var _easy = require("easy");
|
|
7
|
-
var body = new _easy.Body(), style = {
|
|
8
|
-
width: "50px",
|
|
9
|
-
height: "50px",
|
|
10
|
-
overflow: "scroll"
|
|
11
|
-
}, outerDiv = /*#__PURE__*/ _easy.React.createElement("div", {
|
|
12
|
-
style: style
|
|
13
|
-
}), innerDiv = /*#__PURE__*/ _easy.React.createElement("div", null);
|
|
14
|
-
outerDiv.append(innerDiv);
|
|
15
|
-
body.append(outerDiv);
|
|
16
|
-
var outerDivWidth = outerDiv.getWidth(), innerDivWidth = innerDiv.getWidth(), scrollbarThickness = outerDivWidth - innerDivWidth; ///
|
|
17
|
-
outerDiv.remove();
|
|
18
|
-
var _default = scrollbarThickness;
|
|
19
|
-
exports.default = _default;
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zY3JvbGxiYXJUaGlja25lc3MuanMiXSwibmFtZXMiOlsiUmVhY3QiLCJCb2R5IiwiYm9keSIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsIm91dGVyRGl2IiwiZGl2IiwiaW5uZXJEaXYiLCJhcHBlbmQiLCJvdXRlckRpdldpZHRoIiwiZ2V0V2lkdGgiLCJpbm5lckRpdldpZHRoIiwic2Nyb2xsYmFyVGhpY2tuZXNzIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVnQixHQUFNLENBQU4sS0FBTTtBQUVsQyxHQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FGWSxLQUFNLFNBRzVCLEtBQUssR0FBRyxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQU07SUFDYixNQUFNLEVBQUUsQ0FBTTtJQUNkLFFBQVEsRUFBRSxDQUFRO0FBQ3BCLENBQUMsRUFDRCxRQUFRLGlCQVJjLEtBQU0scUJBVXpCLENBQUc7SUFBQyxLQUFLLEVBQUUsS0FBSztJQUduQixRQUFRLGlCQWJjLEtBQU0scUJBZXpCLENBQUc7QUFJWixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFFeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO0FBRXBCLEdBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFDakMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQ2pDLGtCQUFrQixHQUFHLGFBQWEsR0FBRyxhQUFhLENBQUUsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO0FBRTdELFFBQVEsQ0FBQyxNQUFNO2VBRUEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFJlYWN0LCBCb2R5IH0gZnJvbSBcImVhc3lcIjtcblxuY29uc3QgYm9keSA9IG5ldyBCb2R5KCksXG4gICAgICBzdHlsZSA9IHtcbiAgICAgICAgd2lkdGg6IFwiNTBweFwiLFxuICAgICAgICBoZWlnaHQ6IFwiNTBweFwiLFxuICAgICAgICBvdmVyZmxvdzogXCJzY3JvbGxcIlxuICAgICAgfSxcbiAgICAgIG91dGVyRGl2ID1cblxuICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZX0gLz5cblxuICAgICAgLFxuICAgICAgaW5uZXJEaXYgPVxuXG4gICAgICAgIDxkaXYgLz5cblxuICAgICAgO1xuXG5vdXRlckRpdi5hcHBlbmQoaW5uZXJEaXYpO1xuXG5ib2R5LmFwcGVuZChvdXRlckRpdik7XG5cbmNvbnN0IG91dGVyRGl2V2lkdGggPSBvdXRlckRpdi5nZXRXaWR0aCgpLFxuICAgICAgaW5uZXJEaXZXaWR0aCA9IGlubmVyRGl2LmdldFdpZHRoKCksXG4gICAgICBzY3JvbGxiYXJUaGlja25lc3MgPSBvdXRlckRpdldpZHRoIC0gaW5uZXJEaXZXaWR0aDsgLy8vXG5cbm91dGVyRGl2LnJlbW92ZSgpO1xuXG5leHBvcnQgZGVmYXVsdCBzY3JvbGxiYXJUaGlja25lc3M7XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { React, Body } from "easy";
|
|
4
|
-
|
|
5
|
-
const body = new Body(),
|
|
6
|
-
style = {
|
|
7
|
-
width: "50px",
|
|
8
|
-
height: "50px",
|
|
9
|
-
overflow: "scroll"
|
|
10
|
-
},
|
|
11
|
-
outerDiv =
|
|
12
|
-
|
|
13
|
-
<div style={style} />
|
|
14
|
-
|
|
15
|
-
,
|
|
16
|
-
innerDiv =
|
|
17
|
-
|
|
18
|
-
<div />
|
|
19
|
-
|
|
20
|
-
;
|
|
21
|
-
|
|
22
|
-
outerDiv.append(innerDiv);
|
|
23
|
-
|
|
24
|
-
body.append(outerDiv);
|
|
25
|
-
|
|
26
|
-
const outerDivWidth = outerDiv.getWidth(),
|
|
27
|
-
innerDivWidth = innerDiv.getWidth(),
|
|
28
|
-
scrollbarThickness = outerDivWidth - innerDivWidth; ///
|
|
29
|
-
|
|
30
|
-
outerDiv.remove();
|
|
31
|
-
|
|
32
|
-
export default scrollbarThickness;
|