@iebh/tera-fy 1.0.8 → 1.0.10
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 +9 -4
- package/api.md +445 -431
- package/dist/terafy.js +2 -2
- package/dist/terafy.js.map +4 -4
- package/docs/assets/anchor.js +350 -0
- package/docs/assets/bass-addons.css +12 -0
- package/docs/assets/bass.css +544 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
- package/docs/assets/fonts/LICENSE.txt +93 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- package/docs/assets/fonts/source-code-pro.css +23 -0
- package/docs/assets/github.css +123 -0
- package/docs/assets/site.js +168 -0
- package/docs/assets/split.css +15 -0
- package/docs/assets/split.js +782 -0
- package/docs/assets/style.css +147 -0
- package/docs/index.html +3636 -0
- package/{index.html → docs/playground.html} +48 -12
- package/documentation.yml +12 -0
- package/lib/terafy.client.js +230 -6
- package/lib/terafy.server.js +192 -10
- package/package.json +7 -6
- package/plugins/vue2.js +173 -0
- package/plugins/{vue.js → vue3.js} +20 -11
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/*
|
|
2
|
+
|
|
3
|
+
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
|
4
|
+
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
.hljs {
|
|
8
|
+
display: block;
|
|
9
|
+
overflow-x: auto;
|
|
10
|
+
padding: 0.5em;
|
|
11
|
+
color: #333;
|
|
12
|
+
background: #f8f8f8;
|
|
13
|
+
-webkit-text-size-adjust: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.hljs-comment,
|
|
17
|
+
.diff .hljs-header,
|
|
18
|
+
.hljs-javadoc {
|
|
19
|
+
color: #998;
|
|
20
|
+
font-style: italic;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.hljs-keyword,
|
|
24
|
+
.css .rule .hljs-keyword,
|
|
25
|
+
.hljs-winutils,
|
|
26
|
+
.nginx .hljs-title,
|
|
27
|
+
.hljs-subst,
|
|
28
|
+
.hljs-request,
|
|
29
|
+
.hljs-status {
|
|
30
|
+
color: #1184CE;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.hljs-number,
|
|
34
|
+
.hljs-hexcolor,
|
|
35
|
+
.ruby .hljs-constant {
|
|
36
|
+
color: #ed225d;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.hljs-string,
|
|
40
|
+
.hljs-tag .hljs-value,
|
|
41
|
+
.hljs-phpdoc,
|
|
42
|
+
.hljs-dartdoc,
|
|
43
|
+
.tex .hljs-formula {
|
|
44
|
+
color: #ed225d;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.hljs-title,
|
|
48
|
+
.hljs-id,
|
|
49
|
+
.scss .hljs-preprocessor {
|
|
50
|
+
color: #900;
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.hljs-list .hljs-keyword,
|
|
55
|
+
.hljs-subst {
|
|
56
|
+
font-weight: normal;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.hljs-class .hljs-title,
|
|
60
|
+
.hljs-type,
|
|
61
|
+
.vhdl .hljs-literal,
|
|
62
|
+
.tex .hljs-command {
|
|
63
|
+
color: #458;
|
|
64
|
+
font-weight: bold;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.hljs-tag,
|
|
68
|
+
.hljs-tag .hljs-title,
|
|
69
|
+
.hljs-rules .hljs-property,
|
|
70
|
+
.django .hljs-tag .hljs-keyword {
|
|
71
|
+
color: #000080;
|
|
72
|
+
font-weight: normal;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.hljs-attribute,
|
|
76
|
+
.hljs-variable,
|
|
77
|
+
.lisp .hljs-body {
|
|
78
|
+
color: #008080;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.hljs-regexp {
|
|
82
|
+
color: #009926;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.hljs-symbol,
|
|
86
|
+
.ruby .hljs-symbol .hljs-string,
|
|
87
|
+
.lisp .hljs-keyword,
|
|
88
|
+
.clojure .hljs-keyword,
|
|
89
|
+
.scheme .hljs-keyword,
|
|
90
|
+
.tex .hljs-special,
|
|
91
|
+
.hljs-prompt {
|
|
92
|
+
color: #990073;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.hljs-built_in {
|
|
96
|
+
color: #0086b3;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.hljs-preprocessor,
|
|
100
|
+
.hljs-pragma,
|
|
101
|
+
.hljs-pi,
|
|
102
|
+
.hljs-doctype,
|
|
103
|
+
.hljs-shebang,
|
|
104
|
+
.hljs-cdata {
|
|
105
|
+
color: #999;
|
|
106
|
+
font-weight: bold;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.hljs-deletion {
|
|
110
|
+
background: #fdd;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.hljs-addition {
|
|
114
|
+
background: #dfd;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.diff .hljs-change {
|
|
118
|
+
background: #0086b3;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.hljs-chunk {
|
|
122
|
+
color: #aaa;
|
|
123
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/* global anchors */
|
|
2
|
+
|
|
3
|
+
// add anchor links to headers
|
|
4
|
+
anchors.options.placement = 'left';
|
|
5
|
+
anchors.add('h3');
|
|
6
|
+
|
|
7
|
+
// Filter UI
|
|
8
|
+
var tocElements = document.getElementById('toc').getElementsByTagName('li');
|
|
9
|
+
|
|
10
|
+
document.getElementById('filter-input').addEventListener('keyup', function (e) {
|
|
11
|
+
var i, element, children;
|
|
12
|
+
|
|
13
|
+
// enter key
|
|
14
|
+
if (e.keyCode === 13) {
|
|
15
|
+
// go to the first displayed item in the toc
|
|
16
|
+
for (i = 0; i < tocElements.length; i++) {
|
|
17
|
+
element = tocElements[i];
|
|
18
|
+
if (!element.classList.contains('display-none')) {
|
|
19
|
+
location.replace(element.firstChild.href);
|
|
20
|
+
return e.preventDefault();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var match = function () {
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var value = this.value.toLowerCase();
|
|
30
|
+
|
|
31
|
+
if (!value.match(/^\s*$/)) {
|
|
32
|
+
match = function (element) {
|
|
33
|
+
var html = element.firstChild.innerHTML;
|
|
34
|
+
return html && html.toLowerCase().indexOf(value) !== -1;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
for (i = 0; i < tocElements.length; i++) {
|
|
39
|
+
element = tocElements[i];
|
|
40
|
+
children = Array.from(element.getElementsByTagName('li'));
|
|
41
|
+
if (match(element) || children.some(match)) {
|
|
42
|
+
element.classList.remove('display-none');
|
|
43
|
+
} else {
|
|
44
|
+
element.classList.add('display-none');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
var items = document.getElementsByClassName('toggle-sibling');
|
|
50
|
+
for (var j = 0; j < items.length; j++) {
|
|
51
|
+
items[j].addEventListener('click', toggleSibling);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function toggleSibling() {
|
|
55
|
+
var stepSibling = this.parentNode.getElementsByClassName('toggle-target')[0];
|
|
56
|
+
var icon = this.getElementsByClassName('icon')[0];
|
|
57
|
+
var klass = 'display-none';
|
|
58
|
+
if (stepSibling.classList.contains(klass)) {
|
|
59
|
+
stepSibling.classList.remove(klass);
|
|
60
|
+
icon.innerHTML = '▾';
|
|
61
|
+
} else {
|
|
62
|
+
stepSibling.classList.add(klass);
|
|
63
|
+
icon.innerHTML = '▸';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function showHashTarget(targetId) {
|
|
68
|
+
if (targetId) {
|
|
69
|
+
var hashTarget = document.getElementById(targetId);
|
|
70
|
+
// new target is hidden
|
|
71
|
+
if (
|
|
72
|
+
hashTarget &&
|
|
73
|
+
hashTarget.offsetHeight === 0 &&
|
|
74
|
+
hashTarget.parentNode.parentNode.classList.contains('display-none')
|
|
75
|
+
) {
|
|
76
|
+
hashTarget.parentNode.parentNode.classList.remove('display-none');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function scrollIntoView(targetId) {
|
|
82
|
+
// Only scroll to element if we don't have a stored scroll position.
|
|
83
|
+
if (targetId && !history.state) {
|
|
84
|
+
var hashTarget = document.getElementById(targetId);
|
|
85
|
+
if (hashTarget) {
|
|
86
|
+
hashTarget.scrollIntoView();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function gotoCurrentTarget() {
|
|
92
|
+
showHashTarget(location.hash.substring(1));
|
|
93
|
+
scrollIntoView(location.hash.substring(1));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
window.addEventListener('hashchange', gotoCurrentTarget);
|
|
97
|
+
gotoCurrentTarget();
|
|
98
|
+
|
|
99
|
+
var toclinks = document.getElementsByClassName('pre-open');
|
|
100
|
+
for (var k = 0; k < toclinks.length; k++) {
|
|
101
|
+
toclinks[k].addEventListener('mousedown', preOpen, false);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function preOpen() {
|
|
105
|
+
showHashTarget(this.hash.substring(1));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var split_left = document.querySelector('#split-left');
|
|
109
|
+
var split_right = document.querySelector('#split-right');
|
|
110
|
+
var split_parent = split_left.parentNode;
|
|
111
|
+
var cw_with_sb = split_left.clientWidth;
|
|
112
|
+
split_left.style.overflow = 'hidden';
|
|
113
|
+
var cw_without_sb = split_left.clientWidth;
|
|
114
|
+
split_left.style.overflow = '';
|
|
115
|
+
|
|
116
|
+
Split(['#split-left', '#split-right'], {
|
|
117
|
+
elementStyle: function (dimension, size, gutterSize) {
|
|
118
|
+
return {
|
|
119
|
+
'flex-basis': 'calc(' + size + '% - ' + gutterSize + 'px)'
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
gutterStyle: function (dimension, gutterSize) {
|
|
123
|
+
return {
|
|
124
|
+
'flex-basis': gutterSize + 'px'
|
|
125
|
+
};
|
|
126
|
+
},
|
|
127
|
+
gutterSize: 20,
|
|
128
|
+
sizes: [33, 67]
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
// Chrome doesn't remember scroll position properly so do it ourselves.
|
|
132
|
+
// Also works on Firefox and Edge.
|
|
133
|
+
|
|
134
|
+
function updateState() {
|
|
135
|
+
history.replaceState(
|
|
136
|
+
{
|
|
137
|
+
left_top: split_left.scrollTop,
|
|
138
|
+
right_top: split_right.scrollTop
|
|
139
|
+
},
|
|
140
|
+
document.title
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function loadState(ev) {
|
|
145
|
+
if (ev) {
|
|
146
|
+
// Edge doesn't replace change history.state on popstate.
|
|
147
|
+
history.replaceState(ev.state, document.title);
|
|
148
|
+
}
|
|
149
|
+
if (history.state) {
|
|
150
|
+
split_left.scrollTop = history.state.left_top;
|
|
151
|
+
split_right.scrollTop = history.state.right_top;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
window.addEventListener('load', function () {
|
|
156
|
+
// Restore after Firefox scrolls to hash.
|
|
157
|
+
setTimeout(function () {
|
|
158
|
+
loadState();
|
|
159
|
+
// Update with initial scroll position.
|
|
160
|
+
updateState();
|
|
161
|
+
// Update scroll positions only after we've loaded because Firefox
|
|
162
|
+
// emits an initial scroll event with 0.
|
|
163
|
+
split_left.addEventListener('scroll', updateState);
|
|
164
|
+
split_right.addEventListener('scroll', updateState);
|
|
165
|
+
}, 1);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
window.addEventListener('popstate', loadState);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.gutter {
|
|
2
|
+
background-color: #f5f5f5;
|
|
3
|
+
background-repeat: no-repeat;
|
|
4
|
+
background-position: 50%;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.gutter.gutter-vertical {
|
|
8
|
+
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
|
|
9
|
+
cursor: ns-resize;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.gutter.gutter-horizontal {
|
|
13
|
+
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
|
|
14
|
+
cursor: ew-resize;
|
|
15
|
+
}
|