tree-element 0.1.1 → 0.3.0
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 +43 -31
- package/lib/animation.d.ts +2 -2
- package/lib/animation.d.ts.map +1 -1
- package/lib/animation.js +16 -12
- package/lib/animation.js.map +1 -1
- package/lib/classNames.d.ts.map +1 -1
- package/lib/classNames.js +2 -2
- package/lib/classNames.js.map +1 -1
- package/lib/dataLoader.d.ts +1 -0
- package/lib/dataLoader.d.ts.map +1 -1
- package/lib/dataLoader.js +22 -20
- package/lib/dataLoader.js.map +1 -1
- package/lib/dragAndDropHandler/binarySearch.js +3 -3
- package/lib/dragAndDropHandler/binarySearch.js.map +1 -1
- package/lib/dragAndDropHandler/dragElement.d.ts.map +1 -1
- package/lib/dragAndDropHandler/dragElement.js +11 -13
- package/lib/dragAndDropHandler/dragElement.js.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.d.ts.map +1 -1
- package/lib/dragAndDropHandler/generateHitAreas.js +25 -25
- package/lib/dragAndDropHandler/generateHitAreas.js.map +1 -1
- package/lib/dragAndDropHandler/index.d.ts.map +1 -1
- package/lib/dragAndDropHandler/index.js +125 -158
- package/lib/dragAndDropHandler/index.js.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.d.ts.map +1 -1
- package/lib/dragAndDropHandler/iterateVisibleNodes.js +23 -22
- package/lib/dragAndDropHandler/iterateVisibleNodes.js.map +1 -1
- package/lib/dragAndDropHandler/types.d.ts.map +1 -1
- package/lib/elementsRenderer.d.ts +20 -7
- package/lib/elementsRenderer.d.ts.map +1 -1
- package/lib/elementsRenderer.js +195 -136
- package/lib/elementsRenderer.js.map +1 -1
- package/lib/events.d.ts +44 -11
- package/lib/events.d.ts.map +1 -1
- package/lib/index.d.ts +36 -13
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +386 -349
- package/lib/index.js.map +1 -1
- package/lib/keyHandler.d.ts +13 -8
- package/lib/keyHandler.d.ts.map +1 -1
- package/lib/keyHandler.js +106 -51
- package/lib/keyHandler.js.map +1 -1
- package/lib/methodTypes.d.ts +3 -3
- package/lib/methodTypes.d.ts.map +1 -1
- package/lib/mouseHandler.d.ts +1 -1
- package/lib/mouseHandler.d.ts.map +1 -1
- package/lib/mouseHandler.js +36 -49
- package/lib/mouseHandler.js.map +1 -1
- package/lib/mouseUtils.d.ts.map +1 -1
- package/lib/mouseUtils.js +2 -2
- package/lib/mouseUtils.js.map +1 -1
- package/lib/node.d.ts +47 -16
- package/lib/node.d.ts.map +1 -1
- package/lib/node.js +169 -171
- package/lib/node.js.map +1 -1
- package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
- package/lib/nodeElement/borderDropHint.js +4 -5
- package/lib/nodeElement/borderDropHint.js.map +1 -1
- package/lib/nodeElement/folderElement.d.ts +8 -5
- package/lib/nodeElement/folderElement.d.ts.map +1 -1
- package/lib/nodeElement/folderElement.js +75 -67
- package/lib/nodeElement/folderElement.js.map +1 -1
- package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
- package/lib/nodeElement/ghostDropHint.js +13 -13
- package/lib/nodeElement/ghostDropHint.js.map +1 -1
- package/lib/nodeElement/index.d.ts +2 -1
- package/lib/nodeElement/index.d.ts.map +1 -1
- package/lib/nodeElement/index.js +38 -30
- package/lib/nodeElement/index.js.map +1 -1
- package/lib/nodeUtils.d.ts.map +1 -1
- package/lib/nodeUtils.js +1 -1
- package/lib/nodeUtils.js.map +1 -1
- package/lib/options.d.ts +19 -3
- package/lib/options.d.ts.map +1 -1
- package/lib/positionUtils.js +3 -3
- package/lib/positionUtils.js.map +1 -1
- package/lib/requestUrl.d.ts +1 -1
- package/lib/requestUrl.d.ts.map +1 -1
- package/lib/requestUrl.js +6 -17
- package/lib/requestUrl.js.map +1 -1
- package/lib/saveStateHandler.d.ts.map +1 -1
- package/lib/saveStateHandler.js +59 -89
- package/lib/saveStateHandler.js.map +1 -1
- package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/containerScrollParent.js +11 -18
- package/lib/scrollHandler/containerScrollParent.js.map +1 -1
- package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/createScrollParent.js +12 -13
- package/lib/scrollHandler/createScrollParent.js.map +1 -1
- package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/documentScrollParent.js +18 -27
- package/lib/scrollHandler/documentScrollParent.js.map +1 -1
- package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
- package/lib/scrollHandler/scrollParent.js +30 -34
- package/lib/scrollHandler/scrollParent.js.map +1 -1
- package/lib/scrollHandler.d.ts.map +1 -1
- package/lib/scrollHandler.js +11 -14
- package/lib/scrollHandler.js.map +1 -1
- package/lib/selectNodeHandler.d.ts +4 -2
- package/lib/selectNodeHandler.d.ts.map +1 -1
- package/lib/selectNodeHandler.js +64 -83
- package/lib/selectNodeHandler.js.map +1 -1
- package/lib/setDefaultOptions.d.ts.map +1 -1
- package/lib/setDefaultOptions.js +34 -38
- package/lib/setDefaultOptions.js.map +1 -1
- package/lib/triggerCustomEvent.d.ts.map +1 -1
- package/lib/triggerCustomEvent.js +2 -2
- package/lib/triggerCustomEvent.js.map +1 -1
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +2 -2
- package/lib/util.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +43 -32
- package/src/animation.ts +14 -12
- package/src/classNames.ts +52 -52
- package/src/dataLoader.ts +79 -71
- package/src/dragAndDropHandler/binarySearch.ts +17 -17
- package/src/dragAndDropHandler/dragElement.ts +51 -50
- package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
- package/src/dragAndDropHandler/index.ts +334 -348
- package/src/dragAndDropHandler/iterateVisibleNodes.ts +61 -63
- package/src/dragAndDropHandler/types.ts +5 -5
- package/src/elementsRenderer.ts +377 -294
- package/src/events.ts +241 -208
- package/src/header.txt +1 -1
- package/src/index.ts +259 -229
- package/src/keyHandler.ts +179 -115
- package/src/methodTypes.ts +7 -10
- package/src/mouseHandler.ts +316 -316
- package/src/mouseUtils.ts +14 -14
- package/src/node.ts +773 -771
- package/src/nodeElement/borderDropHint.ts +25 -25
- package/src/nodeElement/folderElement.ts +116 -102
- package/src/nodeElement/ghostDropHint.ts +64 -62
- package/src/nodeElement/index.ts +81 -73
- package/src/nodeUtils.ts +5 -5
- package/src/options.ts +25 -5
- package/src/requestUrl.ts +7 -14
- package/src/saveStateHandler.ts +191 -207
- package/src/scrollHandler/containerScrollParent.ts +40 -49
- package/src/scrollHandler/createScrollParent.ts +26 -27
- package/src/scrollHandler/documentScrollParent.ts +66 -72
- package/src/scrollHandler/scrollParent.ts +90 -86
- package/src/scrollHandler.ts +45 -45
- package/src/selectNodeHandler.ts +171 -165
- package/src/setDefaultOptions.ts +44 -32
- package/src/triggerCustomEvent.ts +7 -3
- package/src/util.ts +2 -3
- package/src/version.ts +1 -1
- package/tree_element.css +87 -69
- package/tree_element.debug.js +3866 -3831
- package/tree_element.debug.js.map +1 -1
- package/tree_element.js +2 -2
- package/tree_element.js.map +1 -1
package/tree_element.css
CHANGED
|
@@ -1,14 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Colors. Override them on :root or on an element around the tree, for example
|
|
3
|
+
for a dark theme. :where keeps the specificity at 0, so any rule wins.
|
|
4
|
+
--tree-element-selected-color defaults to --tree-element-title-color.
|
|
5
|
+
*/
|
|
6
|
+
:where(:root) {
|
|
7
|
+
--tree-element-title-color: #1c4257;
|
|
8
|
+
--tree-element-toggler-color: #333;
|
|
9
|
+
--tree-element-toggler-hover-color: #000;
|
|
10
|
+
--tree-element-selected-background: linear-gradient(#bee0f5, #89afca);
|
|
11
|
+
--tree-element-selected-text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
12
|
+
--tree-element-drop-hint-color: #00f;
|
|
13
|
+
--tree-element-dragging-color: #fff;
|
|
14
|
+
--tree-element-dragging-background: #000;
|
|
15
|
+
}
|
|
16
|
+
|
|
1
17
|
ul.tree-element {
|
|
2
18
|
list-style: none outside;
|
|
3
19
|
margin-left: 0;
|
|
4
20
|
margin-bottom: 0;
|
|
5
21
|
padding: 0;
|
|
22
|
+
}
|
|
6
23
|
|
|
7
|
-
|
|
24
|
+
ul.tree-element.tree-element-dnd {
|
|
8
25
|
touch-action: none;
|
|
9
26
|
}
|
|
10
27
|
|
|
11
|
-
|
|
28
|
+
ul.tree-element ul.tree-element-common {
|
|
12
29
|
list-style: none outside;
|
|
13
30
|
margin-left: 12px;
|
|
14
31
|
margin-right: 0;
|
|
@@ -17,81 +34,88 @@ ul.tree-element {
|
|
|
17
34
|
display: block;
|
|
18
35
|
}
|
|
19
36
|
|
|
20
|
-
|
|
37
|
+
ul.tree-element li.tree-element-closed > ul.tree-element-common {
|
|
21
38
|
display: none;
|
|
22
39
|
}
|
|
23
40
|
|
|
24
|
-
|
|
41
|
+
ul.tree-element li.tree-element-common {
|
|
25
42
|
clear: both;
|
|
26
43
|
list-style-type: none;
|
|
27
44
|
}
|
|
28
45
|
|
|
29
|
-
|
|
46
|
+
/* The toggler and the row are at least 24px: the WCAG minimum for
|
|
47
|
+
something you click. The space around the icon separates the toggler
|
|
48
|
+
from the title, so it has no margin. */
|
|
49
|
+
|
|
50
|
+
ul.tree-element .tree-element-toggler {
|
|
51
|
+
display: inline-flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
box-sizing: border-box;
|
|
55
|
+
min-width: 24px;
|
|
56
|
+
min-height: 24px;
|
|
30
57
|
border-bottom: none;
|
|
31
|
-
color:
|
|
58
|
+
color: var(--tree-element-toggler-color);
|
|
32
59
|
text-decoration: none;
|
|
33
60
|
vertical-align: middle;
|
|
61
|
+
}
|
|
34
62
|
|
|
35
|
-
|
|
36
|
-
color:
|
|
63
|
+
ul.tree-element .tree-element-toggler:hover {
|
|
64
|
+
color: var(--tree-element-toggler-hover-color);
|
|
37
65
|
text-decoration: none;
|
|
38
66
|
}
|
|
39
67
|
|
|
40
|
-
|
|
68
|
+
ul.tree-element .tree-element-toggler.tree-element-closed {
|
|
41
69
|
background-position: 0 0;
|
|
42
70
|
}
|
|
43
71
|
|
|
44
|
-
|
|
45
|
-
margin-right: 0.5em;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
&.tree-element-toggler-right {
|
|
49
|
-
margin-left: 0.5em;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.tree-element-element {
|
|
72
|
+
ul.tree-element .tree-element-element {
|
|
54
73
|
cursor: pointer;
|
|
55
74
|
position: relative;
|
|
56
75
|
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
min-height: 24px;
|
|
78
|
+
}
|
|
57
79
|
|
|
58
|
-
|
|
80
|
+
ul.tree-element .tree-element-element:has(.tree-element-title-button-right) {
|
|
59
81
|
display: block;
|
|
60
82
|
}
|
|
61
|
-
}
|
|
62
83
|
|
|
63
|
-
|
|
64
|
-
color:
|
|
84
|
+
ul.tree-element .tree-element-title {
|
|
85
|
+
color: var(--tree-element-title-color);
|
|
65
86
|
vertical-align: middle;
|
|
66
87
|
}
|
|
67
88
|
|
|
68
|
-
|
|
69
|
-
margin-left: 1.5em;
|
|
89
|
+
/* Line up with the titles of folders, after the toggler */
|
|
70
90
|
|
|
71
|
-
|
|
91
|
+
ul.tree-element .tree-element-title-button-left {
|
|
92
|
+
margin-left: 24px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
ul.tree-element .tree-element-title-button-left.tree-element-title-folder {
|
|
72
96
|
margin-left: 0;
|
|
73
97
|
}
|
|
74
|
-
}
|
|
75
98
|
|
|
76
|
-
|
|
99
|
+
ul.tree-element li.tree-element-folder {
|
|
77
100
|
margin-bottom: 4px;
|
|
101
|
+
}
|
|
78
102
|
|
|
79
|
-
|
|
103
|
+
ul.tree-element li.tree-element-folder.tree-element-closed {
|
|
80
104
|
margin-bottom: 1px;
|
|
81
105
|
}
|
|
82
|
-
}
|
|
83
106
|
|
|
84
|
-
|
|
107
|
+
ul.tree-element li.tree-element-ghost {
|
|
85
108
|
position: relative;
|
|
86
109
|
z-index: 10;
|
|
87
110
|
margin-right: 10px;
|
|
111
|
+
}
|
|
88
112
|
|
|
89
|
-
|
|
113
|
+
ul.tree-element li.tree-element-ghost span {
|
|
90
114
|
display: block;
|
|
91
115
|
}
|
|
92
116
|
|
|
93
|
-
|
|
94
|
-
border: solid 2px
|
|
117
|
+
ul.tree-element li.tree-element-ghost span.tree-element-circle {
|
|
118
|
+
border: solid 2px var(--tree-element-drop-hint-color);
|
|
95
119
|
border-radius: 100px;
|
|
96
120
|
height: 8px;
|
|
97
121
|
width: 8px;
|
|
@@ -101,8 +125,8 @@ ul.tree-element {
|
|
|
101
125
|
box-sizing: border-box;
|
|
102
126
|
}
|
|
103
127
|
|
|
104
|
-
|
|
105
|
-
background-color:
|
|
128
|
+
ul.tree-element li.tree-element-ghost span.tree-element-line {
|
|
129
|
+
background-color: var(--tree-element-drop-hint-color);
|
|
106
130
|
height: 2px;
|
|
107
131
|
padding: 0;
|
|
108
132
|
position: absolute;
|
|
@@ -111,85 +135,79 @@ ul.tree-element {
|
|
|
111
135
|
width: 100%;
|
|
112
136
|
}
|
|
113
137
|
|
|
114
|
-
|
|
138
|
+
ul.tree-element li.tree-element-ghost.tree-element-inside {
|
|
115
139
|
margin-left: 48px;
|
|
116
140
|
}
|
|
117
|
-
}
|
|
118
141
|
|
|
119
|
-
|
|
142
|
+
ul.tree-element span.tree-element-border {
|
|
120
143
|
position: absolute;
|
|
121
144
|
display: block;
|
|
122
145
|
left: -2px;
|
|
123
146
|
top: 0;
|
|
124
|
-
border: solid 2px
|
|
147
|
+
border: solid 2px var(--tree-element-drop-hint-color);
|
|
125
148
|
border-radius: 6px;
|
|
126
149
|
margin: 0;
|
|
127
150
|
box-sizing: content-box;
|
|
128
151
|
}
|
|
129
152
|
|
|
130
|
-
|
|
131
|
-
li.tree-element-selected > .tree-element-element:hover {
|
|
132
|
-
background
|
|
133
|
-
|
|
134
|
-
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
153
|
+
ul.tree-element li.tree-element-selected > .tree-element-element,
|
|
154
|
+
ul.tree-element li.tree-element-selected > .tree-element-element:hover {
|
|
155
|
+
background: var(--tree-element-selected-background);
|
|
156
|
+
text-shadow: var(--tree-element-selected-text-shadow);
|
|
135
157
|
}
|
|
136
158
|
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
ul.tree-element li.tree-element-selected > .tree-element-element .tree-element-title {
|
|
160
|
+
color: var(--tree-element-selected-color, var(--tree-element-title-color));
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
ul.tree-element .tree-element-moving > .tree-element-element .tree-element-title {
|
|
164
|
+
outline: dashed 1px var(--tree-element-drop-hint-color);
|
|
139
165
|
}
|
|
140
|
-
}
|
|
141
166
|
|
|
142
167
|
ul.tree-element.tree-element-rtl {
|
|
143
168
|
direction: rtl;
|
|
169
|
+
}
|
|
144
170
|
|
|
145
|
-
|
|
171
|
+
ul.tree-element.tree-element-rtl ul.tree-element-common {
|
|
146
172
|
margin-left: 0;
|
|
147
173
|
margin-right: 12px;
|
|
148
174
|
}
|
|
149
175
|
|
|
150
|
-
|
|
151
|
-
margin-left: 0.5em;
|
|
152
|
-
margin-right: 0;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.tree-element-title {
|
|
176
|
+
ul.tree-element.tree-element-rtl .tree-element-title {
|
|
156
177
|
margin-left: 0;
|
|
157
|
-
margin-right:
|
|
178
|
+
margin-right: 24px;
|
|
179
|
+
}
|
|
158
180
|
|
|
159
|
-
|
|
181
|
+
ul.tree-element.tree-element-rtl .tree-element-title.tree-element-title-folder {
|
|
160
182
|
margin-right: 0;
|
|
161
183
|
}
|
|
162
|
-
}
|
|
163
184
|
|
|
164
|
-
|
|
185
|
+
ul.tree-element.tree-element-rtl li.tree-element-ghost {
|
|
165
186
|
margin-right: 0;
|
|
166
187
|
margin-left: 10px;
|
|
188
|
+
}
|
|
167
189
|
|
|
168
|
-
|
|
190
|
+
ul.tree-element.tree-element-rtl li.tree-element-ghost span.tree-element-circle {
|
|
169
191
|
right: -6px;
|
|
170
192
|
}
|
|
171
193
|
|
|
172
|
-
|
|
194
|
+
ul.tree-element.tree-element-rtl li.tree-element-ghost span.tree-element-line {
|
|
173
195
|
right: 2px;
|
|
174
196
|
}
|
|
175
197
|
|
|
176
|
-
|
|
198
|
+
ul.tree-element.tree-element-rtl li.tree-element-ghost.tree-element-inside {
|
|
177
199
|
margin-left: 0;
|
|
178
200
|
margin-right: 48px;
|
|
179
201
|
}
|
|
180
|
-
}
|
|
181
202
|
|
|
182
|
-
|
|
203
|
+
ul.tree-element.tree-element-rtl span.tree-element-border {
|
|
183
204
|
right: -2px;
|
|
184
205
|
}
|
|
185
|
-
}
|
|
186
206
|
|
|
187
207
|
span.tree-element-dragging {
|
|
188
|
-
color:
|
|
189
|
-
background:
|
|
208
|
+
color: var(--tree-element-dragging-color);
|
|
209
|
+
background: var(--tree-element-dragging-background);
|
|
190
210
|
opacity: 0.6;
|
|
191
211
|
cursor: pointer;
|
|
192
212
|
padding: 2px 8px;
|
|
193
213
|
}
|
|
194
|
-
|
|
195
|
-
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy90cmVlX2VsZW1lbnQucG9zdGNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJ0cmVlX2VsZW1lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsidWwudHJlZS1lbGVtZW50IHtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLnRyZWUtZWxlbWVudC1kbmQge1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgfVxuXG4gIHVsLnRyZWUtZWxlbWVudC1jb21tb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgbGkudHJlZS1lbGVtZW50LWNsb3NlZCA+IHVsLnRyZWUtZWxlbWVudC1jb21tb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBsaS50cmVlLWVsZW1lbnQtY29tbW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAudHJlZS1lbGVtZW50LXRvZ2dsZXIge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICYudHJlZS1lbGVtZW50LWNsb3NlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgfVxuXG4gICAgJi50cmVlLWVsZW1lbnQtdG9nZ2xlci1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuXG4gICAgJi50cmVlLWVsZW1lbnQtdG9nZ2xlci1yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgfVxuICB9XG5cbiAgLnRyZWUtZWxlbWVudC1lbGVtZW50IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOmhhcygudHJlZS1lbGVtZW50LXRpdGxlLWJ1dHRvbi1yaWdodCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLnRyZWUtZWxlbWVudC10aXRsZSB7XG4gICAgY29sb3I6ICMxYzQyNTc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC50cmVlLWVsZW1lbnQtdGl0bGUtYnV0dG9uLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcblxuICAgICYudHJlZS1lbGVtZW50LXRpdGxlLWZvbGRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBsaS50cmVlLWVsZW1lbnQtZm9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICAmLnRyZWUtZWxlbWVudC1jbG9zZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIH1cbiAgfVxuXG4gIGxpLnRyZWUtZWxlbWVudC1naG9zdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgc3Bhbi50cmVlLWVsZW1lbnQtY2lyY2xlIHtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICMwMDAwZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIGxlZnQ6IC02cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIHNwYW4udHJlZS1lbGVtZW50LWxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBmZjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGxlZnQ6IDJweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYudHJlZS1lbGVtZW50LWluc2lkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNDhweDtcbiAgICB9XG4gIH1cblxuICBzcGFuLnRyZWUtZWxlbWVudC1ib3JkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAtMnB4O1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjMDAwMGZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICBsaS50cmVlLWVsZW1lbnQtc2VsZWN0ZWQgPiAudHJlZS1lbGVtZW50LWVsZW1lbnQsXG4gIGxpLnRyZWUtZWxlbWVudC1zZWxlY3RlZCA+IC50cmVlLWVsZW1lbnQtZWxlbWVudDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3YmRkNjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2JlZTBmNSwgIzg5YWZjYSk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICB9XG5cbiAgLnRyZWUtZWxlbWVudC1tb3ZpbmcgPiAudHJlZS1lbGVtZW50LWVsZW1lbnQgLnRyZWUtZWxlbWVudC10aXRsZSB7XG4gICAgb3V0bGluZTogZGFzaGVkIDFweCAjMDAwMGZmO1xuICB9XG59XG5cbnVsLnRyZWUtZWxlbWVudC50cmVlLWVsZW1lbnQtcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG5cbiAgdWwudHJlZS1lbGVtZW50LWNvbW1vbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5cbiAgLnRyZWUtZWxlbWVudC10b2dnbGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgLnRyZWUtZWxlbWVudC10aXRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcblxuICAgICYudHJlZS1lbGVtZW50LXRpdGxlLWZvbGRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgbGkudHJlZS1lbGVtZW50LWdob3N0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICBzcGFuLnRyZWUtZWxlbWVudC1jaXJjbGUge1xuICAgICAgcmlnaHQ6IC02cHg7XG4gICAgfVxuXG4gICAgc3Bhbi50cmVlLWVsZW1lbnQtbGluZSB7XG4gICAgICByaWdodDogMnB4O1xuICAgIH1cblxuICAgICYudHJlZS1lbGVtZW50LWluc2lkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogNDhweDtcbiAgICB9XG4gIH1cblxuICBzcGFuLnRyZWUtZWxlbWVudC1ib3JkZXIge1xuICAgIHJpZ2h0OiAtMnB4O1xuICB9XG59XG5cbnNwYW4udHJlZS1lbGVtZW50LWRyYWdnaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHggOHB4O1xufVxuIl19 */
|