highmark-cli 0.0.138 → 0.0.140
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/bin/action/publish.js +2 -0
- package/bin/constants.js +6 -2
- package/bin/handler/liveReload.js +18 -0
- package/bin/importer.js +7 -4
- package/bin/operation/copyCheckmark.js +32 -0
- package/bin/operation/copyClient.js +5 -5
- package/bin/operation/markdownHTML.js +31 -9
- package/bin/operation/markdownStylesCSS.js +17 -10
- package/bin/operation/server.js +7 -10
- package/bin/router/static.js +17 -0
- package/checkmark.svg +12 -0
- package/client.js +6126 -1527
- package/css/loading.css +32 -32
- package/lib/client.js +48 -6
- package/lib/constants.js +28 -12
- package/lib/createMethods.js +64 -0
- package/lib/customEventTypes.js +9 -1
- package/lib/eventTypes.js +5 -1
- package/lib/localStorage.js +56 -0
- package/lib/mixins/fullsrean.js +63 -0
- package/lib/mixins/touch.js +101 -32
- package/lib/selectors.js +5 -9
- package/lib/state.js +133 -0
- package/lib/styles.js +78 -0
- package/lib/utilities/element.js +11 -11
- package/lib/utilities/fullScreen.js +16 -0
- package/lib/utilities/orientation.js +39 -0
- package/lib/view/button/closeMenu.js +121 -0
- package/lib/view/button/fullScreen.js +121 -0
- package/lib/view/button/zoomMenuIn.js +121 -0
- package/lib/view/button/zoomMenuOut.js +121 -0
- package/lib/view/button.js +160 -0
- package/lib/view/checkbox.js +193 -0
- package/lib/view/div/buttons.js +215 -0
- package/lib/view/div/checkbox/invertColours.js +151 -0
- package/lib/view/div/checkbox/restoreNativeGestures.js +147 -0
- package/lib/view/div/checkbox.js +220 -0
- package/lib/view/div/checkboxes.js +211 -0
- package/lib/view/div/menu.js +122 -28
- package/lib/view/div/overlay.js +639 -0
- package/lib/view/div/preloader.js +204 -0
- package/lib/view/{div/leaf.js → div.js} +21 -32
- package/lib/view/element.js +164 -0
- package/lib/view/span.js +182 -0
- package/lib/view/svg/closeMenu.js +138 -0
- package/lib/view/svg/fullScreen.js +138 -0
- package/lib/view/svg/zoomMenuIn.js +146 -0
- package/lib/view/svg/zoomMenuOut.js +141 -0
- package/lib/view/svg.js +184 -0
- package/lib/view.js +23 -396
- package/package.json +3 -2
- package/src/client.js +34 -8
- package/src/constants.js +7 -3
- package/src/createMethods.js +66 -0
- package/src/customEventTypes.js +2 -0
- package/src/eventTypes.js +1 -0
- package/src/localStorage.js +48 -0
- package/src/mixins/fullsrean.js +75 -0
- package/src/mixins/touch.js +98 -39
- package/src/selectors.js +1 -2
- package/src/state.js +130 -0
- package/src/styles.js +18 -0
- package/src/utilities/element.js +18 -15
- package/src/utilities/fullScreen.js +8 -0
- package/src/utilities/orientation.js +34 -0
- package/src/view/button/closeMenu.js +16 -0
- package/src/view/button/fullScreen.js +16 -0
- package/src/view/button/zoomMenuIn.js +16 -0
- package/src/view/button/zoomMenuOut.js +16 -0
- package/src/view/button.js +38 -0
- package/src/view/checkbox.js +68 -0
- package/src/view/div/buttons.js +39 -0
- package/src/view/div/checkbox/invertColours.js +33 -0
- package/src/view/div/checkbox/restoreNativeGestures.js +29 -0
- package/src/view/div/checkbox.js +45 -0
- package/src/view/div/checkboxes.js +36 -0
- package/src/view/div/menu.js +83 -26
- package/src/view/div/overlay.js +547 -0
- package/src/view/div/preloader.js +25 -0
- package/src/view/{div/leaf.js → div.js} +13 -21
- package/src/view/element.js +16 -0
- package/src/view/span.js +22 -0
- package/src/view/svg/closeMenu.js +19 -0
- package/src/view/svg/fullScreen.js +19 -0
- package/src/view/svg/zoomMenuIn.js +20 -0
- package/src/view/svg/zoomMenuOut.js +19 -0
- package/src/view/svg.js +24 -0
- package/src/view.js +20 -482
- package/lib/style.js +0 -13
- package/lib/utilities/tree.js +0 -55
- package/src/style.js +0 -3
- package/src/utilities/tree.js +0 -29
package/lib/view.js
CHANGED
|
@@ -9,15 +9,10 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
|
|
12
|
-
var
|
|
13
|
-
var _easy = require("easy");
|
|
14
|
-
var _leaf = /*#__PURE__*/ _interop_require_default(require("./view/div/leaf"));
|
|
12
|
+
var _element = /*#__PURE__*/ _interop_require_default(require("./view/element"));
|
|
15
13
|
var _menu = /*#__PURE__*/ _interop_require_default(require("./view/div/menu"));
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var _element = require("./utilities/element");
|
|
19
|
-
var _selectors = require("./selectors");
|
|
20
|
-
var _constants = require("./constants");
|
|
14
|
+
var _overlay = /*#__PURE__*/ _interop_require_default(require("./view/div/overlay"));
|
|
15
|
+
var _preloader = /*#__PURE__*/ _interop_require_default(require("./view/div/preloader"));
|
|
21
16
|
function _assert_this_initialized(self) {
|
|
22
17
|
if (self === void 0) {
|
|
23
18
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -179,426 +174,58 @@ function _create_super(Derived) {
|
|
|
179
174
|
}
|
|
180
175
|
function _templateObject() {
|
|
181
176
|
var data = _tagged_template_literal([
|
|
182
|
-
"\n\n width: 100%;\n height: 100%;\n
|
|
177
|
+
"\n\n width: 100%;\n height: 100%;\n align-items: stretch;\n flex-direction: column;\n \n"
|
|
183
178
|
]);
|
|
184
179
|
_templateObject = function _templateObject() {
|
|
185
180
|
return data;
|
|
186
181
|
};
|
|
187
182
|
return data;
|
|
188
183
|
}
|
|
189
|
-
var ENTER_KEY_CODE = _necessary.keyCodes.ENTER_KEY_CODE, ESCAPE_KEY_CODE = _necessary.keyCodes.ESCAPE_KEY_CODE, BACKSPACE_KEY_CODE = _necessary.keyCodes.BACKSPACE_KEY_CODE, ARROW_UP_KEY_CODE = _necessary.keyCodes.ARROW_UP_KEY_CODE, ARROW_DOWN_KEY_CODE = _necessary.keyCodes.ARROW_DOWN_KEY_CODE, ARROW_LEFT_KEY_CODE = _necessary.keyCodes.ARROW_LEFT_KEY_CODE, ARROW_RIGHT_KEY_CODE = _necessary.keyCodes.ARROW_RIGHT_KEY_CODE;
|
|
190
184
|
var View = /*#__PURE__*/ function(Element) {
|
|
191
185
|
_inherits(View, Element);
|
|
192
186
|
var _super = _create_super(View);
|
|
193
187
|
function View() {
|
|
194
188
|
_class_call_check(this, View);
|
|
195
|
-
|
|
196
|
-
_this = _super.apply(this, arguments);
|
|
197
|
-
_define_property(_assert_this_initialized(_this), "doubleTapCustomHandler", function(event, element) {
|
|
198
|
-
_this.enableNativeGestures();
|
|
199
|
-
});
|
|
200
|
-
_define_property(_assert_this_initialized(_this), "pinchStartCustomHandler", function(event, element) {
|
|
201
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
202
|
-
if (nativeGesturesEnabled) {
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
var zoom = _this.getZoom(), startZoom = zoom; ///
|
|
206
|
-
_this.setStartZoom(startZoom);
|
|
207
|
-
});
|
|
208
|
-
_define_property(_assert_this_initialized(_this), "pinchMoveCustomHandler", function(event, element, ratio) {
|
|
209
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
210
|
-
if (nativeGesturesEnabled) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
var startZoom = _this.getStartZoom(), zoom = startZoom * Math.sqrt(ratio);
|
|
214
|
-
_this.setZoom(zoom);
|
|
215
|
-
_this.zoom(zoom);
|
|
216
|
-
});
|
|
217
|
-
_define_property(_assert_this_initialized(_this), "swipeRightCustomHandler", function(event, element) {
|
|
218
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
219
|
-
if (nativeGesturesEnabled) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
_this.showLeftLeafDiv();
|
|
223
|
-
});
|
|
224
|
-
_define_property(_assert_this_initialized(_this), "swipeLeftCustomHandler", function(event, element) {
|
|
225
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
226
|
-
if (nativeGesturesEnabled) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
_this.showRightLeftDiv();
|
|
230
|
-
});
|
|
231
|
-
_define_property(_assert_this_initialized(_this), "swipeDownCustomHandler", function(event, element, top, left, speed) {
|
|
232
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
233
|
-
if (nativeGesturesEnabled) {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
var direction = _constants.DOWN_DIRECTION;
|
|
237
|
-
_this.scroll(speed, direction);
|
|
238
|
-
});
|
|
239
|
-
_define_property(_assert_this_initialized(_this), "swipeUpCustomHandler", function(event, element, top, left, speed) {
|
|
240
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
241
|
-
if (nativeGesturesEnabled) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
var height = _this.getHeight(), bottom = height - top;
|
|
245
|
-
if (bottom < _constants.MENU_DIV_SWIPE_BOTTOM) {
|
|
246
|
-
_this.showMenuDiv();
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
var direction = _constants.UP_DIRECTION;
|
|
250
|
-
_this.scroll(speed, direction);
|
|
251
|
-
});
|
|
252
|
-
_define_property(_assert_this_initialized(_this), "dragStartCustomHandler", function(event, element) {
|
|
253
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
254
|
-
if (nativeGesturesEnabled) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
var scrollTop = _this.getScrollTop(), startScrollTop = scrollTop; ///
|
|
258
|
-
_this.setStartScrollTop(startScrollTop);
|
|
259
|
-
});
|
|
260
|
-
_define_property(_assert_this_initialized(_this), "dragDownCustomHandler", function(event, element, top, left) {
|
|
261
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
262
|
-
if (nativeGesturesEnabled) {
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
|
-
var startScrollTop = _this.getStartScrollTop(), scrollTop = startScrollTop - top;
|
|
266
|
-
_this.setScrollTop(scrollTop);
|
|
267
|
-
});
|
|
268
|
-
_define_property(_assert_this_initialized(_this), "dragUpCustomHandler", function(event, element, top, left) {
|
|
269
|
-
var nativeGesturesEnabled = _this.areNativeGesturesEnabled();
|
|
270
|
-
if (nativeGesturesEnabled) {
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
var startScrollTop = _this.getStartScrollTop(), scrollTop = startScrollTop - top;
|
|
274
|
-
_this.setScrollTop(scrollTop);
|
|
275
|
-
});
|
|
276
|
-
_define_property(_assert_this_initialized(_this), "tapCustomHandler", function(event, element) {
|
|
277
|
-
alert("view tap...");
|
|
278
|
-
_this.disableNativeGestures();
|
|
279
|
-
});
|
|
280
|
-
_define_property(_assert_this_initialized(_this), "keyDownHandler", function(event, element) {
|
|
281
|
-
var keyCode = event.keyCode;
|
|
282
|
-
switch(keyCode){
|
|
283
|
-
case ENTER_KEY_CODE:
|
|
284
|
-
case ARROW_RIGHT_KEY_CODE:
|
|
285
|
-
{
|
|
286
|
-
_this.showRightLeftDiv();
|
|
287
|
-
break;
|
|
288
|
-
}
|
|
289
|
-
case BACKSPACE_KEY_CODE:
|
|
290
|
-
case ARROW_LEFT_KEY_CODE:
|
|
291
|
-
{
|
|
292
|
-
_this.showLeftLeafDiv();
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
case ESCAPE_KEY_CODE:
|
|
296
|
-
{
|
|
297
|
-
break;
|
|
298
|
-
}
|
|
299
|
-
case ARROW_UP_KEY_CODE:
|
|
300
|
-
{
|
|
301
|
-
_this.showFirstLeftDiv();
|
|
302
|
-
break;
|
|
303
|
-
}
|
|
304
|
-
case ARROW_DOWN_KEY_CODE:
|
|
305
|
-
{
|
|
306
|
-
_this.showLastLeafDiv();
|
|
307
|
-
break;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
return _this;
|
|
189
|
+
return _super.apply(this, arguments);
|
|
312
190
|
}
|
|
313
191
|
_create_class(View, [
|
|
314
192
|
{
|
|
315
|
-
key: "
|
|
316
|
-
value: function
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
this.setZoom(zoom);
|
|
320
|
-
this.zoom(zoom);
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
{
|
|
324
|
-
key: "zoomIn",
|
|
325
|
-
value: function zoomIn() {
|
|
326
|
-
var zoom = this.getZoom();
|
|
327
|
-
zoom *= _constants.ZOOM_RATIO;
|
|
328
|
-
this.setZoom(zoom);
|
|
329
|
-
this.zoom(zoom);
|
|
330
|
-
}
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
key: "zoom",
|
|
334
|
-
value: function zoom(zoom) {
|
|
335
|
-
var displayedLeafDiv = this.findDisplayedLeafDiv();
|
|
336
|
-
displayedLeafDiv.zoom(zoom);
|
|
337
|
-
}
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
key: "scroll",
|
|
341
|
-
value: function scroll(speed, direction) {
|
|
342
|
-
var _this = this;
|
|
343
|
-
var scrollTop = this.getScrollTop();
|
|
344
|
-
scrollTop += speed * _constants.SCROLL_DELAY;
|
|
345
|
-
this.setScrollTop(scrollTop);
|
|
346
|
-
var interval = this.getInterval();
|
|
347
|
-
if (interval !== null) {
|
|
348
|
-
clearInterval(interval);
|
|
349
|
-
}
|
|
350
|
-
interval = setInterval(function() {
|
|
351
|
-
speed = speed - direction * _constants.DECELERATION;
|
|
352
|
-
if (speed * direction < 0) {
|
|
353
|
-
clearInterval(interval);
|
|
354
|
-
interval = null;
|
|
355
|
-
_this.setInterval(interval);
|
|
356
|
-
}
|
|
357
|
-
var scrollTop = _this.getScrollTop();
|
|
358
|
-
scrollTop += speed * _constants.SCROLL_DELAY;
|
|
359
|
-
_this.setScrollTop(scrollTop);
|
|
360
|
-
}, _constants.SCROLL_DELAY);
|
|
361
|
-
this.setInterval(interval);
|
|
362
|
-
}
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
key: "showFirstLeftDiv",
|
|
366
|
-
value: function showFirstLeftDiv() {
|
|
367
|
-
var displayedLeafDiv = this.findDisplayedLeafDiv(), leafDivs = this.getLeafDivs(), index = leafDivs.indexOf(displayedLeafDiv), nextIndex = 0, previousIndex = index; ///
|
|
368
|
-
this.showNextLeafDiv(nextIndex, previousIndex);
|
|
369
|
-
}
|
|
370
|
-
},
|
|
371
|
-
{
|
|
372
|
-
key: "showLeftLeafDiv",
|
|
373
|
-
value: function showLeftLeafDiv() {
|
|
374
|
-
var displayedLeafDiv = this.findDisplayedLeafDiv(), leafDivs = this.getLeafDivs(), index = leafDivs.indexOf(displayedLeafDiv), nextIndex = index - 1, previousIndex = index; ///
|
|
375
|
-
this.showNextLeafDiv(nextIndex, previousIndex);
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
key: "showRightLeftDiv",
|
|
380
|
-
value: function showRightLeftDiv() {
|
|
381
|
-
var displayedLeafDiv = this.findDisplayedLeafDiv(), leafDivs = this.getLeafDivs(), index = leafDivs.indexOf(displayedLeafDiv), nextIndex = index + 1, previousIndex = index; ///
|
|
382
|
-
this.showNextLeafDiv(nextIndex, previousIndex);
|
|
383
|
-
}
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
key: "showLastLeafDiv",
|
|
387
|
-
value: function showLastLeafDiv() {
|
|
388
|
-
var displayedLeafDiv = this.findDisplayedLeafDiv(), leafDivs = this.getLeafDivs(), index = leafDivs.indexOf(displayedLeafDiv), leafDivsLength = leafDivs.length, nextIndex = leafDivsLength - 1, previousIndex = index; ///
|
|
389
|
-
this.showNextLeafDiv(nextIndex, previousIndex);
|
|
390
|
-
}
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
key: "showNextLeafDiv",
|
|
394
|
-
value: function showNextLeafDiv(nextIndex, previousIndex) {
|
|
395
|
-
var leafDivs = this.getLeafDivs(), leafDivsLength = leafDivs.length, previousLeafDiv = leafDivs[previousIndex];
|
|
396
|
-
if (nextIndex === -1 || nextIndex === previousIndex || nextIndex === leafDivsLength) {
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
previousLeafDiv.hide();
|
|
400
|
-
var nextLeafDiv = leafDivs[nextIndex], zoom = this.getZoom();
|
|
401
|
-
nextLeafDiv.zoom(zoom);
|
|
402
|
-
setTimeout(function() {
|
|
403
|
-
var scrollTop = 0;
|
|
404
|
-
nextLeafDiv.setScrollTop(scrollTop);
|
|
405
|
-
nextLeafDiv.show();
|
|
406
|
-
}, _constants.SHOW_DELAY);
|
|
407
|
-
}
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
key: "enableNativeGestures",
|
|
411
|
-
value: function enableNativeGestures() {
|
|
412
|
-
this.addClass("native-gestures");
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
|
-
{
|
|
416
|
-
key: "disableNativeGestures",
|
|
417
|
-
value: function disableNativeGestures() {
|
|
418
|
-
this.removeClass("native-gestures");
|
|
419
|
-
}
|
|
420
|
-
},
|
|
421
|
-
{
|
|
422
|
-
key: "forEachLeafDiv",
|
|
423
|
-
value: function forEachLeafDiv(callback) {
|
|
424
|
-
var leafDivs = this.getLeafDivs();
|
|
425
|
-
leafDivs.forEach(callback);
|
|
426
|
-
}
|
|
427
|
-
},
|
|
428
|
-
{
|
|
429
|
-
key: "findDisplayedLeafDiv",
|
|
430
|
-
value: function findDisplayedLeafDiv() {
|
|
431
|
-
var leafDivs = this.getLeafDivs(), displayedLeafDiv = leafDivs.find(function(leafDiv) {
|
|
432
|
-
var displayed = leafDiv.isDisplayed();
|
|
433
|
-
if (displayed) {
|
|
434
|
-
return true;
|
|
435
|
-
}
|
|
436
|
-
});
|
|
437
|
-
return displayedLeafDiv;
|
|
438
|
-
}
|
|
439
|
-
},
|
|
440
|
-
{
|
|
441
|
-
key: "retrieveLeafDivs",
|
|
442
|
-
value: function retrieveLeafDivs() {
|
|
443
|
-
var viewChildDivDOMElementNodeList = document.querySelectorAll(_selectors.VIEW_CHILD_DIVS_SELECTOR), viewChildDivDOMElements = (0, _tree.leafNodesFromNodeList)(viewChildDivDOMElementNodeList), leafDivs = (0, _element.elementsFromDOMElements)(viewChildDivDOMElements, _leaf.default);
|
|
444
|
-
return leafDivs;
|
|
445
|
-
}
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
key: "getZoom",
|
|
449
|
-
value: function getZoom() {
|
|
450
|
-
var zoom = this.getState().zoom;
|
|
451
|
-
return zoom;
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
key: "setZoom",
|
|
456
|
-
value: function setZoom(zoom) {
|
|
457
|
-
this.updateState({
|
|
458
|
-
zoom: zoom
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
key: "getLeafDivs",
|
|
464
|
-
value: function getLeafDivs() {
|
|
465
|
-
var leafDivs = this.getState().leafDivs;
|
|
466
|
-
return leafDivs;
|
|
467
|
-
}
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
key: "setLeftDivs",
|
|
471
|
-
value: function setLeftDivs(leafDivs) {
|
|
472
|
-
this.updateState({
|
|
473
|
-
leafDivs: leafDivs
|
|
474
|
-
});
|
|
475
|
-
}
|
|
476
|
-
},
|
|
477
|
-
{
|
|
478
|
-
key: "getInterval",
|
|
479
|
-
value: function getInterval() {
|
|
480
|
-
var interval = this.getState().interval;
|
|
481
|
-
return interval;
|
|
482
|
-
}
|
|
483
|
-
},
|
|
484
|
-
{
|
|
485
|
-
key: "setInterval",
|
|
486
|
-
value: function setInterval1(interval) {
|
|
487
|
-
this.updateState({
|
|
488
|
-
interval: interval
|
|
489
|
-
});
|
|
490
|
-
}
|
|
491
|
-
},
|
|
492
|
-
{
|
|
493
|
-
key: "getStartZoom",
|
|
494
|
-
value: function getStartZoom() {
|
|
495
|
-
var startZoom = this.getState().startZoom;
|
|
496
|
-
return startZoom;
|
|
497
|
-
}
|
|
498
|
-
},
|
|
499
|
-
{
|
|
500
|
-
key: "setStartZoom",
|
|
501
|
-
value: function setStartZoom(startZoom) {
|
|
502
|
-
this.updateState({
|
|
503
|
-
startZoom: startZoom
|
|
504
|
-
});
|
|
505
|
-
}
|
|
506
|
-
},
|
|
507
|
-
{
|
|
508
|
-
key: "getStartScrollTop",
|
|
509
|
-
value: function getStartScrollTop() {
|
|
510
|
-
var startScrollTop = this.getState().startScrollTop;
|
|
511
|
-
return startScrollTop;
|
|
512
|
-
}
|
|
513
|
-
},
|
|
514
|
-
{
|
|
515
|
-
key: "setStartScrollTop",
|
|
516
|
-
value: function setStartScrollTop(startScrollTop) {
|
|
517
|
-
this.updateState({
|
|
518
|
-
startScrollTop: startScrollTop
|
|
519
|
-
});
|
|
520
|
-
}
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
key: "areNativeGesturesEnabled",
|
|
524
|
-
value: function areNativeGesturesEnabled() {
|
|
525
|
-
var nativeGesturesEnabled = this.hasClass("native-gestures");
|
|
526
|
-
return nativeGesturesEnabled;
|
|
527
|
-
}
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
key: "setInitialState",
|
|
531
|
-
value: function setInitialState() {
|
|
532
|
-
var zoom = 1, leafDivs = this.retrieveLeafDivs(), interval = null, startZoom = null, startScrollTop = null;
|
|
533
|
-
this.setState({
|
|
534
|
-
zoom: zoom,
|
|
535
|
-
leafDivs: leafDivs,
|
|
536
|
-
interval: interval,
|
|
537
|
-
startZoom: startZoom,
|
|
538
|
-
startScrollTop: startScrollTop
|
|
539
|
-
});
|
|
540
|
-
}
|
|
541
|
-
},
|
|
542
|
-
{
|
|
543
|
-
key: "didMount",
|
|
544
|
-
value: function didMount() {
|
|
545
|
-
this.enableTouch();
|
|
546
|
-
this.onCustomTap(this.tapCustomHandler);
|
|
547
|
-
this.onCustomDragUp(this.dragUpCustomHandler);
|
|
548
|
-
this.onCustomDragDown(this.dragDownCustomHandler);
|
|
549
|
-
this.onCustomDragStart(this.dragStartCustomHandler);
|
|
550
|
-
this.onCustomSwipeUp(this.swipeUpCustomHandler);
|
|
551
|
-
this.onCustomSwipeDown(this.swipeDownCustomHandler);
|
|
552
|
-
this.onCustomSwipeLeft(this.swipeLeftCustomHandler);
|
|
553
|
-
this.onCustomSwipeRight(this.swipeRightCustomHandler);
|
|
554
|
-
this.onCustomPinchMove(this.pinchMoveCustomHandler);
|
|
555
|
-
this.onCustomPinchStart(this.pinchStartCustomHandler);
|
|
556
|
-
this.onCustomDoubleTap(this.doubleTapCustomHandler);
|
|
557
|
-
_easy.window.onKeyDown(this.keyDownHandler);
|
|
558
|
-
}
|
|
559
|
-
},
|
|
560
|
-
{
|
|
561
|
-
key: "willUnmount",
|
|
562
|
-
value: function willUnmount() {
|
|
563
|
-
this.offCustomTap(this.tapCustomHandler);
|
|
564
|
-
this.offCustomDragUp(this.dragUpCustomHandler);
|
|
565
|
-
this.offCustomDragDown(this.dragDownCustomHandler);
|
|
566
|
-
this.offCustomDragStart(this.dragStartCustomHandler);
|
|
567
|
-
this.offCustomSwipeUp(this.swipeUpCustomHandler);
|
|
568
|
-
this.offCustomSwipeDown(this.swipeDownCustomHandler);
|
|
569
|
-
this.offCustomSwipeLeft(this.swipeLeftCustomHandler);
|
|
570
|
-
this.offCustomSwipeRight(this.swipeRightCustomHandler);
|
|
571
|
-
this.offCustomPinchMove(this.pinchMoveCustomHandler);
|
|
572
|
-
this.offCustomPinchStart(this.pinchStartCustomHandler);
|
|
573
|
-
this.offCustomDoubleTap(this.doubleTapCustomHandler);
|
|
574
|
-
this.disableTouch();
|
|
575
|
-
_easy.window.offKeyDown(this.keyDownHandler);
|
|
193
|
+
key: "updateZoom",
|
|
194
|
+
value: function updateZoom() {
|
|
195
|
+
this.updateMenuDivZoom();
|
|
196
|
+
this.updateOverlayDivZoom();
|
|
576
197
|
}
|
|
577
198
|
},
|
|
578
199
|
{
|
|
579
200
|
key: "childElements",
|
|
580
201
|
value: function childElements() {
|
|
581
|
-
|
|
202
|
+
var divDOMElements = this.properties.divDOMElements;
|
|
203
|
+
return [
|
|
204
|
+
/*#__PURE__*/ React.createElement(_preloader.default, null),
|
|
205
|
+
/*#__PURE__*/ React.createElement(_overlay.default, {
|
|
206
|
+
divDOMElements: divDOMElements
|
|
207
|
+
}),
|
|
208
|
+
/*#__PURE__*/ React.createElement(_menu.default, null)
|
|
209
|
+
];
|
|
582
210
|
}
|
|
583
211
|
},
|
|
584
212
|
{
|
|
585
213
|
key: "initialise",
|
|
586
214
|
value: function initialise() {
|
|
587
215
|
this.assignContext();
|
|
588
|
-
this.
|
|
589
|
-
this.forEachLeafDiv(function(leafDiv, index) {
|
|
590
|
-
index === 0 ? leafDiv.show() : leafDiv.hide();
|
|
591
|
-
});
|
|
216
|
+
this.show();
|
|
592
217
|
}
|
|
593
218
|
}
|
|
594
219
|
]);
|
|
595
220
|
return View;
|
|
596
|
-
}(_wrap_native_super(
|
|
221
|
+
}(_wrap_native_super(_element.default));
|
|
597
222
|
_define_property(View, "tagName", "div");
|
|
223
|
+
_define_property(View, "ignoredProperties", [
|
|
224
|
+
"divDOMElements"
|
|
225
|
+
]);
|
|
598
226
|
_define_property(View, "defaultProperties", {
|
|
599
227
|
className: "view"
|
|
600
228
|
});
|
|
601
|
-
Object.assign(View.prototype, _touch.default);
|
|
602
229
|
var _default = (0, _easywithstyle.default)(View)(_templateObject());
|
|
603
230
|
|
|
604
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBFbGVtZW50LCB3aW5kb3cgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgTGVhZkRpdiBmcm9tIFwiLi92aWV3L2Rpdi9sZWFmXCI7XG5pbXBvcnQgTWVudURpdiBmcm9tIFwiLi92aWV3L2Rpdi9tZW51XCI7XG5pbXBvcnQgdG91Y2hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3RvdWNoXCI7XG5cbmltcG9ydCB7IGxlYWZOb2Rlc0Zyb21Ob2RlTGlzdCB9IGZyb20gXCIuL3V0aWxpdGllcy90cmVlXCI7XG5pbXBvcnQgeyBlbGVtZW50c0Zyb21ET01FbGVtZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9lbGVtZW50XCI7XG5pbXBvcnQgeyBWSUVXX0NISUxEX0RJVlNfU0VMRUNUT1IgfSBmcm9tIFwiLi9zZWxlY3RvcnNcIjtcbmltcG9ydCB7IFNIT1dfREVMQVksIFpPT01fUkFUSU8sIFNDUk9MTF9ERUxBWSwgVVBfRElSRUNUSU9OLCBERUNFTEVSQVRJT04sIERPV05fRElSRUNUSU9OLCBNRU5VX0RJVl9TV0lQRV9CT1RUT00gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBFTlRFUl9LRVlfQ09ERSxcbiAgICAgICAgRVNDQVBFX0tFWV9DT0RFLFxuICAgICAgICBCQUNLU1BBQ0VfS0VZX0NPREUsXG4gICAgICAgIEFSUk9XX1VQX0tFWV9DT0RFLFxuICAgICAgICBBUlJPV19ET1dOX0tFWV9DT0RFLFxuICAgICAgICBBUlJPV19MRUZUX0tFWV9DT0RFLFxuICAgICAgICBBUlJPV19SSUdIVF9LRVlfQ09ERSB9ID0ga2V5Q29kZXM7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZG91YmxlVGFwQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuZW5hYmxlTmF0aXZlR2VzdHVyZXMoKTtcbiAgfVxuXG4gIHBpbmNoU3RhcnRDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgbmF0aXZlR2VzdHVyZXNFbmFibGVkID0gdGhpcy5hcmVOYXRpdmVHZXN0dXJlc0VuYWJsZWQoKTtcblxuICAgIGlmIChuYXRpdmVHZXN0dXJlc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB6b29tID0gdGhpcy5nZXRab29tKCksXG4gICAgICAgICAgc3RhcnRab29tID0gem9vbTsgLy8vXG5cbiAgICB0aGlzLnNldFN0YXJ0Wm9vbShzdGFydFpvb20pO1xuICB9XG5cbiAgcGluY2hNb3ZlQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgcmF0aW8pID0+IHtcbiAgICBjb25zdCBuYXRpdmVHZXN0dXJlc0VuYWJsZWQgPSB0aGlzLmFyZU5hdGl2ZUdlc3R1cmVzRW5hYmxlZCgpO1xuXG4gICAgaWYgKG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0Wm9vbSA9IHRoaXMuZ2V0U3RhcnRab29tKCksXG4gICAgICAgICAgem9vbSA9IHN0YXJ0Wm9vbSAqIE1hdGguc3FydChyYXRpbyk7XG5cbiAgICB0aGlzLnNldFpvb20oem9vbSk7XG5cbiAgICB0aGlzLnpvb20oem9vbSk7XG4gIH1cblxuICBzd2lwZVJpZ2h0Q3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCA9IHRoaXMuYXJlTmF0aXZlR2VzdHVyZXNFbmFibGVkKCk7XG5cbiAgICBpZiAobmF0aXZlR2VzdHVyZXNFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93TGVmdExlYWZEaXYoKTtcbiAgfVxuXG4gIHN3aXBlTGVmdEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBuYXRpdmVHZXN0dXJlc0VuYWJsZWQgPSB0aGlzLmFyZU5hdGl2ZUdlc3R1cmVzRW5hYmxlZCgpO1xuXG4gICAgaWYgKG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1JpZ2h0TGVmdERpdigpO1xuICB9XG5cbiAgc3dpcGVEb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgdG9wLCBsZWZ0LCBzcGVlZCkgPT4ge1xuICAgIGNvbnN0IG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCA9IHRoaXMuYXJlTmF0aXZlR2VzdHVyZXNFbmFibGVkKCk7XG5cbiAgICBpZiAobmF0aXZlR2VzdHVyZXNFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gRE9XTl9ESVJFQ1RJT047XG5cbiAgICB0aGlzLnNjcm9sbChzcGVlZCwgZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHN3aXBlVXBDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50LCB0b3AsIGxlZnQsIHNwZWVkKSA9PiB7XG4gICAgY29uc3QgbmF0aXZlR2VzdHVyZXNFbmFibGVkID0gdGhpcy5hcmVOYXRpdmVHZXN0dXJlc0VuYWJsZWQoKTtcblxuICAgIGlmIChuYXRpdmVHZXN0dXJlc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmdldEhlaWdodCgpLFxuICAgICAgICAgIGJvdHRvbSA9IGhlaWdodCAtIHRvcDtcblxuICAgIGlmIChib3R0b20gPCBNRU5VX0RJVl9TV0lQRV9CT1RUT00pIHtcbiAgICAgIHRoaXMuc2hvd01lbnVEaXYoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IFVQX0RJUkVDVElPTjtcblxuICAgIHRoaXMuc2Nyb2xsKHNwZWVkLCBkaXJlY3Rpb24pO1xuICB9XG5cbiAgZHJhZ1N0YXJ0Q3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCA9IHRoaXMuYXJlTmF0aXZlR2VzdHVyZXNFbmFibGVkKCk7XG5cbiAgICBpZiAobmF0aXZlR2VzdHVyZXNFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgICBzdGFydFNjcm9sbFRvcCA9IHNjcm9sbFRvcDsgLy8vXG5cbiAgICB0aGlzLnNldFN0YXJ0U2Nyb2xsVG9wKHN0YXJ0U2Nyb2xsVG9wKTtcbiAgfVxuXG4gIGRyYWdEb3duQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgdG9wLCBsZWZ0KSA9PiB7XG4gICAgY29uc3QgbmF0aXZlR2VzdHVyZXNFbmFibGVkID0gdGhpcy5hcmVOYXRpdmVHZXN0dXJlc0VuYWJsZWQoKTtcblxuICAgIGlmIChuYXRpdmVHZXN0dXJlc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydFNjcm9sbFRvcCA9IHRoaXMuZ2V0U3RhcnRTY3JvbGxUb3AoKSxcbiAgICAgICAgICBzY3JvbGxUb3AgPSBzdGFydFNjcm9sbFRvcCAtIHRvcDtcblxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcCk7XG4gIH1cblxuICBkcmFnVXBDdXN0b21IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50LCB0b3AsIGxlZnQpID0+IHtcbiAgICBjb25zdCBuYXRpdmVHZXN0dXJlc0VuYWJsZWQgPSB0aGlzLmFyZU5hdGl2ZUdlc3R1cmVzRW5hYmxlZCgpO1xuXG4gICAgaWYgKG5hdGl2ZUdlc3R1cmVzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0U2Nyb2xsVG9wID0gdGhpcy5nZXRTdGFydFNjcm9sbFRvcCgpLFxuICAgICAgICAgIHNjcm9sbFRvcCA9IHN0YXJ0U2Nyb2xsVG9wIC0gdG9wO1xuXG4gICAgdGhpcy5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wKTtcbiAgfVxuXG4gIHRhcEN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcblxuICAgIGFsZXJ0KFwidmlldyB0YXAuLi5cIilcblxuICAgIHRoaXMuZGlzYWJsZU5hdGl2ZUdlc3R1cmVzKCk7XG4gIH1cblxuICBrZXlEb3duSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHsga2V5Q29kZSB9ID0gZXZlbnQ7XG5cbiAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgIGNhc2UgRU5URVJfS0VZX0NPREU6XG4gICAgICBjYXNlIEFSUk9XX1JJR0hUX0tFWV9DT0RFOiB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0TGVmdERpdigpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEJBQ0tTUEFDRV9LRVlfQ09ERTpcbiAgICAgIGNhc2UgQVJST1dfTEVGVF9LRVlfQ09ERToge1xuICAgICAgICB0aGlzLnNob3dMZWZ0TGVhZkRpdigpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEVTQ0FQRV9LRVlfQ09ERToge1xuICAgICAgICAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBBUlJPV19VUF9LRVlfQ09ERToge1xuICAgICAgICB0aGlzLnNob3dGaXJzdExlZnREaXYoKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBBUlJPV19ET1dOX0tFWV9DT0RFOiB7XG4gICAgICAgIHRoaXMuc2hvd0xhc3RMZWFmRGl2KCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgem9vbU91dCgpIHtcbiAgICBsZXQgem9vbSA9IHRoaXMuZ2V0Wm9vbSgpO1xuXG4gICAgem9vbSAvPSBaT09NX1JBVElPO1xuXG4gICAgdGhpcy5zZXRab29tKHpvb20pO1xuXG4gICAgdGhpcy56b29tKHpvb20pO1xuICB9XG5cbiAgem9vbUluKCkge1xuICAgIGxldCB6b29tID0gdGhpcy5nZXRab29tKCk7XG5cbiAgICB6b29tICo9IFpPT01fUkFUSU87XG5cbiAgICB0aGlzLnNldFpvb20oem9vbSk7XG5cbiAgICB0aGlzLnpvb20oem9vbSk7XG4gIH1cblxuICB6b29tKHpvb20pIHtcbiAgICBjb25zdCBkaXNwbGF5ZWRMZWFmRGl2ID0gdGhpcy5maW5kRGlzcGxheWVkTGVhZkRpdigpO1xuXG4gICAgZGlzcGxheWVkTGVhZkRpdi56b29tKHpvb20pO1xuICB9XG5cbiAgc2Nyb2xsKHNwZWVkLCBkaXJlY3Rpb24pIHtcbiAgICBsZXQgc2Nyb2xsVG9wID0gdGhpcy5nZXRTY3JvbGxUb3AoKTtcblxuICAgIHNjcm9sbFRvcCArPSBzcGVlZCAqIFNDUk9MTF9ERUxBWTtcblxuICAgIHRoaXMuc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcCk7XG5cbiAgICBsZXQgaW50ZXJ2YWwgPSB0aGlzLmdldEludGVydmFsKCk7XG5cbiAgICBpZiAoaW50ZXJ2YWwgIT09IG51bGwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgc3BlZWQgPSBzcGVlZCAtIGRpcmVjdGlvbiAqIERFQ0VMRVJBVElPTjtcblxuICAgICAgaWYgKChzcGVlZCAqIGRpcmVjdGlvbikgPCAwKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuXG4gICAgICAgIGludGVydmFsID0gbnVsbDtcblxuICAgICAgICB0aGlzLnNldEludGVydmFsKGludGVydmFsKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHNjcm9sbFRvcCA9IHRoaXMuZ2V0U2Nyb2xsVG9wKCk7XG5cbiAgICAgIHNjcm9sbFRvcCArPSBzcGVlZCAqIFNDUk9MTF9ERUxBWTtcblxuICAgICAgdGhpcy5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wKTtcbiAgICB9LCBTQ1JPTExfREVMQVkpO1xuXG4gICAgdGhpcy5zZXRJbnRlcnZhbChpbnRlcnZhbCk7XG4gIH1cblxuICBzaG93Rmlyc3RMZWZ0RGl2KCkge1xuICAgIGNvbnN0IGRpc3BsYXllZExlYWZEaXYgPSB0aGlzLmZpbmREaXNwbGF5ZWRMZWFmRGl2KCksXG4gICAgICAgICAgbGVhZkRpdnMgPSB0aGlzLmdldExlYWZEaXZzKCksXG4gICAgICAgICAgaW5kZXggPSBsZWFmRGl2cy5pbmRleE9mKGRpc3BsYXllZExlYWZEaXYpLFxuICAgICAgICAgIG5leHRJbmRleCA9IDAsXG4gICAgICAgICAgcHJldmlvdXNJbmRleCA9IGluZGV4OyAgLy8vXG5cbiAgICB0aGlzLnNob3dOZXh0TGVhZkRpdihuZXh0SW5kZXgsIHByZXZpb3VzSW5kZXgpO1xuICB9XG5cbiAgc2hvd0xlZnRMZWFmRGl2KCkge1xuICAgIGNvbnN0IGRpc3BsYXllZExlYWZEaXYgPSB0aGlzLmZpbmREaXNwbGF5ZWRMZWFmRGl2KCksXG4gICAgICAgICAgbGVhZkRpdnMgPSB0aGlzLmdldExlYWZEaXZzKCksXG4gICAgICAgICAgaW5kZXggPSBsZWFmRGl2cy5pbmRleE9mKGRpc3BsYXllZExlYWZEaXYpLFxuICAgICAgICAgIG5leHRJbmRleCA9IGluZGV4IC0gMSxcbiAgICAgICAgICBwcmV2aW91c0luZGV4ID0gaW5kZXg7ICAvLy9cblxuICAgIHRoaXMuc2hvd05leHRMZWFmRGl2KG5leHRJbmRleCwgcHJldmlvdXNJbmRleCk7XG4gIH1cblxuICBzaG93UmlnaHRMZWZ0RGl2KCkge1xuICAgIGNvbnN0IGRpc3BsYXllZExlYWZEaXYgPSB0aGlzLmZpbmREaXNwbGF5ZWRMZWFmRGl2KCksXG4gICAgICAgICAgbGVhZkRpdnMgPSB0aGlzLmdldExlYWZEaXZzKCksXG4gICAgICAgICAgaW5kZXggPSBsZWFmRGl2cy5pbmRleE9mKGRpc3BsYXllZExlYWZEaXYpLFxuICAgICAgICAgIG5leHRJbmRleCA9IGluZGV4ICsgMSxcbiAgICAgICAgICBwcmV2aW91c0luZGV4ID0gaW5kZXg7ICAvLy9cblxuICAgIHRoaXMuc2hvd05leHRMZWFmRGl2KG5leHRJbmRleCwgcHJldmlvdXNJbmRleCk7XG4gIH1cblxuICBzaG93TGFzdExlYWZEaXYoKSB7XG4gICAgY29uc3QgZGlzcGxheWVkTGVhZkRpdiA9IHRoaXMuZmluZERpc3BsYXllZExlYWZEaXYoKSxcbiAgICAgICAgICBsZWFmRGl2cyA9IHRoaXMuZ2V0TGVhZkRpdnMoKSxcbiAgICAgICAgICBpbmRleCA9IGxlYWZEaXZzLmluZGV4T2YoZGlzcGxheWVkTGVhZkRpdiksXG4gICAgICAgICAgbGVhZkRpdnNMZW5ndGggPSBsZWFmRGl2cy5sZW5ndGgsXG4gICAgICAgICAgbmV4dEluZGV4ID0gbGVhZkRpdnNMZW5ndGggLSAxLFxuICAgICAgICAgIHByZXZpb3VzSW5kZXggPSBpbmRleDsgIC8vL1xuXG4gICAgdGhpcy5zaG93TmV4dExlYWZEaXYobmV4dEluZGV4LCBwcmV2aW91c0luZGV4KTtcbiAgfVxuXG4gIHNob3dOZXh0TGVhZkRpdihuZXh0SW5kZXgsIHByZXZpb3VzSW5kZXgpIHtcbiAgICBjb25zdCBsZWFmRGl2cyA9IHRoaXMuZ2V0TGVhZkRpdnMoKSxcbiAgICAgICAgICBsZWFmRGl2c0xlbmd0aCA9IGxlYWZEaXZzLmxlbmd0aCxcbiAgICAgICAgICBwcmV2aW91c0xlYWZEaXYgPSBsZWFmRGl2c1twcmV2aW91c0luZGV4XTtcblxuICAgIGlmICgobmV4dEluZGV4ID09PSAtMSkgfHwgKG5leHRJbmRleCA9PT0gcHJldmlvdXNJbmRleCkgfHwgKG5leHRJbmRleCA9PT0gbGVhZkRpdnNMZW5ndGgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHJldmlvdXNMZWFmRGl2LmhpZGUoKTtcblxuICAgIGNvbnN0IG5leHRMZWFmRGl2ID0gbGVhZkRpdnNbbmV4dEluZGV4XSxcbiAgICAgICAgICB6b29tID0gdGhpcy5nZXRab29tKCk7XG5cbiAgICBuZXh0TGVhZkRpdi56b29tKHpvb20pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSAwO1xuXG4gICAgICBuZXh0TGVhZkRpdi5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wKTtcblxuICAgICAgbmV4dExlYWZEaXYuc2hvdygpO1xuICAgIH0sIFNIT1dfREVMQVkpO1xuICB9XG5cbiAgZW5hYmxlTmF0aXZlR2VzdHVyZXMoKSB7XG4gICAgdGhpcy5hZGRDbGFzcyhcIm5hdGl2ZS1nZXN0dXJlc1wiKTtcbiAgfVxuXG4gIGRpc2FibGVOYXRpdmVHZXN0dXJlcygpIHtcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwibmF0aXZlLWdlc3R1cmVzXCIpO1xuICB9XG5cbiAgZm9yRWFjaExlYWZEaXYoY2FsbGJhY2spIHtcbiAgICBjb25zdCBsZWFmRGl2cyA9IHRoaXMuZ2V0TGVhZkRpdnMoKTtcblxuICAgIGxlYWZEaXZzLmZvckVhY2goY2FsbGJhY2spO1xuICB9XG5cbiAgZmluZERpc3BsYXllZExlYWZEaXYoKSB7XG4gICAgY29uc3QgbGVhZkRpdnMgPSB0aGlzLmdldExlYWZEaXZzKCksXG4gICAgICAgICAgZGlzcGxheWVkTGVhZkRpdiA9IGxlYWZEaXZzLmZpbmQoKGxlYWZEaXYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZCA9IGxlYWZEaXYuaXNEaXNwbGF5ZWQoKTtcblxuICAgICAgICAgICAgaWYgKGRpc3BsYXllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiBkaXNwbGF5ZWRMZWFmRGl2O1xuICB9XG5cbiAgcmV0cmlldmVMZWFmRGl2cygpIHtcbiAgICBjb25zdCB2aWV3Q2hpbGREaXZET01FbGVtZW50Tm9kZUxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFZJRVdfQ0hJTERfRElWU19TRUxFQ1RPUiksXG4gICAgICAgICAgdmlld0NoaWxkRGl2RE9NRWxlbWVudHMgPSBsZWFmTm9kZXNGcm9tTm9kZUxpc3Qodmlld0NoaWxkRGl2RE9NRWxlbWVudE5vZGVMaXN0KSwgIC8vL1xuICAgICAgICAgIGxlYWZEaXZzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHModmlld0NoaWxkRGl2RE9NRWxlbWVudHMsIExlYWZEaXYpO1xuXG4gICAgcmV0dXJuIGxlYWZEaXZzO1xuICB9XG5cbiAgZ2V0Wm9vbSgpIHtcbiAgICBjb25zdCB7IHpvb20gfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiB6b29tO1xuICB9XG5cbiAgc2V0Wm9vbSh6b29tKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICB6b29tXG4gICAgfSk7XG4gIH1cblxuICBnZXRMZWFmRGl2cygpIHtcbiAgICBjb25zdCB7IGxlYWZEaXZzIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gbGVhZkRpdnM7XG4gIH1cblxuICBzZXRMZWZ0RGl2cyhsZWFmRGl2cykge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbGVhZkRpdnNcbiAgICB9KTtcbiAgfVxuXG4gIGdldEludGVydmFsKCkge1xuICAgIGNvbnN0IHsgaW50ZXJ2YWwgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBpbnRlcnZhbDtcbiAgfVxuXG4gIHNldEludGVydmFsKGludGVydmFsKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBpbnRlcnZhbFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3RhcnRab29tKCkge1xuICAgIGNvbnN0IHsgc3RhcnRab29tIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gc3RhcnRab29tO1xuICB9XG5cbiAgc2V0U3RhcnRab29tKHN0YXJ0Wm9vbSkge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgc3RhcnRab29tXG4gICAgfSk7XG4gIH1cblxuICBnZXRTdGFydFNjcm9sbFRvcCgpIHtcbiAgICBjb25zdCB7IHN0YXJ0U2Nyb2xsVG9wIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gc3RhcnRTY3JvbGxUb3A7XG4gIH1cblxuICBzZXRTdGFydFNjcm9sbFRvcChzdGFydFNjcm9sbFRvcCkge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgc3RhcnRTY3JvbGxUb3BcbiAgICB9KTtcbiAgfVxuXG4gIGFyZU5hdGl2ZUdlc3R1cmVzRW5hYmxlZCgpIHtcbiAgICBjb25zdCBuYXRpdmVHZXN0dXJlc0VuYWJsZWQgPSB0aGlzLmhhc0NsYXNzKFwibmF0aXZlLWdlc3R1cmVzXCIpO1xuXG4gICAgcmV0dXJuIG5hdGl2ZUdlc3R1cmVzRW5hYmxlZDtcbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpIHtcbiAgICBjb25zdCB6b29tID0gMSxcbiAgICAgICAgICBsZWFmRGl2cyA9IHRoaXMucmV0cmlldmVMZWFmRGl2cygpLFxuICAgICAgICAgIGludGVydmFsID0gbnVsbCxcbiAgICAgICAgICBzdGFydFpvb20gPSBudWxsLFxuICAgICAgICAgIHN0YXJ0U2Nyb2xsVG9wID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgem9vbSxcbiAgICAgIGxlYWZEaXZzLFxuICAgICAgaW50ZXJ2YWwsXG4gICAgICBzdGFydFpvb20sXG4gICAgICBzdGFydFNjcm9sbFRvcFxuICAgIH0pO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVUb3VjaCgpO1xuXG4gICAgdGhpcy5vbkN1c3RvbVRhcCh0aGlzLnRhcEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub25DdXN0b21EcmFnVXAodGhpcy5kcmFnVXBDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tRHJhZ0Rvd24odGhpcy5kcmFnRG93bkN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub25DdXN0b21EcmFnU3RhcnQodGhpcy5kcmFnU3RhcnRDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tU3dpcGVVcCh0aGlzLnN3aXBlVXBDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tU3dpcGVEb3duKHRoaXMuc3dpcGVEb3duQ3VzdG9tSGFuZGxlcik7XG4gICAgdGhpcy5vbkN1c3RvbVN3aXBlTGVmdCh0aGlzLnN3aXBlTGVmdEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub25DdXN0b21Td2lwZVJpZ2h0KHRoaXMuc3dpcGVSaWdodEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub25DdXN0b21QaW5jaE1vdmUodGhpcy5waW5jaE1vdmVDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tUGluY2hTdGFydCh0aGlzLnBpbmNoU3RhcnRDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9uQ3VzdG9tRG91YmxlVGFwKHRoaXMuZG91YmxlVGFwQ3VzdG9tSGFuZGxlcik7XG5cbiAgICB3aW5kb3cub25LZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5vZmZDdXN0b21UYXAodGhpcy50YXBDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9mZkN1c3RvbURyYWdVcCh0aGlzLmRyYWdVcEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub2ZmQ3VzdG9tRHJhZ0Rvd24odGhpcy5kcmFnRG93bkN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub2ZmQ3VzdG9tRHJhZ1N0YXJ0KHRoaXMuZHJhZ1N0YXJ0Q3VzdG9tSGFuZGxlcik7XG4gICAgdGhpcy5vZmZDdXN0b21Td2lwZVVwKHRoaXMuc3dpcGVVcEN1c3RvbUhhbmRsZXIpO1xuICAgIHRoaXMub2ZmQ3VzdG9tU3dpcGVEb3duKHRoaXMuc3dpcGVEb3duQ3VzdG9tSGFuZGxlcik7XG4gICAgdGhpcy5vZmZDdXN0b21Td2lwZUxlZnQodGhpcy5zd2lwZUxlZnRDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9mZkN1c3RvbVN3aXBlUmlnaHQodGhpcy5zd2lwZVJpZ2h0Q3VzdG9tSGFuZGxlcik7XG4gICAgdGhpcy5vZmZDdXN0b21QaW5jaE1vdmUodGhpcy5waW5jaE1vdmVDdXN0b21IYW5kbGVyKTtcbiAgICB0aGlzLm9mZkN1c3RvbVBpbmNoU3RhcnQodGhpcy5waW5jaFN0YXJ0Q3VzdG9tSGFuZGxlcik7XG4gICAgdGhpcy5vZmZDdXN0b21Eb3VibGVUYXAodGhpcy5kb3VibGVUYXBDdXN0b21IYW5kbGVyKTtcblxuICAgIHRoaXMuZGlzYWJsZVRvdWNoKCk7XG5cbiAgICB3aW5kb3cub2ZmS2V5RG93bih0aGlzLmtleURvd25IYW5kbGVyKTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChcblxuICAgICAgPE1lbnVEaXYvPlxuXG4gICAgKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuXG4gICAgdGhpcy5mb3JFYWNoTGVhZkRpdigobGVhZkRpdiwgaW5kZXgpID0+IHtcbiAgICAgIChpbmRleCA9PT0gMCkgP1xuICAgICAgICBsZWFmRGl2LnNob3coKSA6XG4gICAgICAgICAgbGVhZkRpdi5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ2aWV3XCJcbiAgfTtcbn1cblxuT2JqZWN0LmFzc2lnbihWaWV3LnByb3RvdHlwZSwgdG91Y2hNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBcbiAgLm5hdGl2ZS1nZXN0dXJlcyB7XG4gICAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB9XG4gICAgXG5gO1xuIl0sIm5hbWVzIjpbIkVOVEVSX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJFU0NBUEVfS0VZX0NPREUiLCJCQUNLU1BBQ0VfS0VZX0NPREUiLCJBUlJPV19VUF9LRVlfQ09ERSIsIkFSUk9XX0RPV05fS0VZX0NPREUiLCJBUlJPV19MRUZUX0tFWV9DT0RFIiwiQVJST1dfUklHSFRfS0VZX0NPREUiLCJWaWV3IiwiZG91YmxlVGFwQ3VzdG9tSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImVuYWJsZU5hdGl2ZUdlc3R1cmVzIiwicGluY2hTdGFydEN1c3RvbUhhbmRsZXIiLCJuYXRpdmVHZXN0dXJlc0VuYWJsZWQiLCJhcmVOYXRpdmVHZXN0dXJlc0VuYWJsZWQiLCJ6b29tIiwiZ2V0Wm9vbSIsInN0YXJ0Wm9vbSIsInNldFN0YXJ0Wm9vbSIsInBpbmNoTW92ZUN1c3RvbUhhbmRsZXIiLCJyYXRpbyIsImdldFN0YXJ0Wm9vbSIsIk1hdGgiLCJzcXJ0Iiwic2V0Wm9vbSIsInN3aXBlUmlnaHRDdXN0b21IYW5kbGVyIiwic2hvd0xlZnRMZWFmRGl2Iiwic3dpcGVMZWZ0Q3VzdG9tSGFuZGxlciIsInNob3dSaWdodExlZnREaXYiLCJzd2lwZURvd25DdXN0b21IYW5kbGVyIiwidG9wIiwibGVmdCIsInNwZWVkIiwiZGlyZWN0aW9uIiwiRE9XTl9ESVJFQ1RJT04iLCJzY3JvbGwiLCJzd2lwZVVwQ3VzdG9tSGFuZGxlciIsImhlaWdodCIsImdldEhlaWdodCIsImJvdHRvbSIsIk1FTlVfRElWX1NXSVBFX0JPVFRPTSIsInNob3dNZW51RGl2IiwiVVBfRElSRUNUSU9OIiwiZHJhZ1N0YXJ0Q3VzdG9tSGFuZGxlciIsInNjcm9sbFRvcCIsImdldFNjcm9sbFRvcCIsInN0YXJ0U2Nyb2xsVG9wIiwic2V0U3RhcnRTY3JvbGxUb3AiLCJkcmFnRG93bkN1c3RvbUhhbmRsZXIiLCJnZXRTdGFydFNjcm9sbFRvcCIsInNldFNjcm9sbFRvcCIsImRyYWdVcEN1c3RvbUhhbmRsZXIiLCJ0YXBDdXN0b21IYW5kbGVyIiwiYWxlcnQiLCJkaXNhYmxlTmF0aXZlR2VzdHVyZXMiLCJrZXlEb3duSGFuZGxlciIsImtleUNvZGUiLCJzaG93Rmlyc3RMZWZ0RGl2Iiwic2hvd0xhc3RMZWFmRGl2Iiwiem9vbU91dCIsIlpPT01fUkFUSU8iLCJ6b29tSW4iLCJkaXNwbGF5ZWRMZWFmRGl2IiwiZmluZERpc3BsYXllZExlYWZEaXYiLCJTQ1JPTExfREVMQVkiLCJpbnRlcnZhbCIsImdldEludGVydmFsIiwiY2xlYXJJbnRlcnZhbCIsInNldEludGVydmFsIiwiREVDRUxFUkFUSU9OIiwibGVhZkRpdnMiLCJnZXRMZWFmRGl2cyIsImluZGV4IiwiaW5kZXhPZiIsIm5leHRJbmRleCIsInByZXZpb3VzSW5kZXgiLCJzaG93TmV4dExlYWZEaXYiLCJsZWFmRGl2c0xlbmd0aCIsImxlbmd0aCIsInByZXZpb3VzTGVhZkRpdiIsImhpZGUiLCJuZXh0TGVhZkRpdiIsInNldFRpbWVvdXQiLCJzaG93IiwiU0hPV19ERUxBWSIsImFkZENsYXNzIiwicmVtb3ZlQ2xhc3MiLCJmb3JFYWNoTGVhZkRpdiIsImNhbGxiYWNrIiwiZm9yRWFjaCIsImZpbmQiLCJsZWFmRGl2IiwiZGlzcGxheWVkIiwiaXNEaXNwbGF5ZWQiLCJyZXRyaWV2ZUxlYWZEaXZzIiwidmlld0NoaWxkRGl2RE9NRWxlbWVudE5vZGVMaXN0IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiVklFV19DSElMRF9ESVZTX1NFTEVDVE9SIiwidmlld0NoaWxkRGl2RE9NRWxlbWVudHMiLCJsZWFmTm9kZXNGcm9tTm9kZUxpc3QiLCJlbGVtZW50c0Zyb21ET01FbGVtZW50cyIsIkxlYWZEaXYiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwic2V0TGVmdERpdnMiLCJoYXNDbGFzcyIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiZGlkTW91bnQiLCJlbmFibGVUb3VjaCIsIm9uQ3VzdG9tVGFwIiwib25DdXN0b21EcmFnVXAiLCJvbkN1c3RvbURyYWdEb3duIiwib25DdXN0b21EcmFnU3RhcnQiLCJvbkN1c3RvbVN3aXBlVXAiLCJvbkN1c3RvbVN3aXBlRG93biIsIm9uQ3VzdG9tU3dpcGVMZWZ0Iiwib25DdXN0b21Td2lwZVJpZ2h0Iiwib25DdXN0b21QaW5jaE1vdmUiLCJvbkN1c3RvbVBpbmNoU3RhcnQiLCJvbkN1c3RvbURvdWJsZVRhcCIsIndpbmRvdyIsIm9uS2V5RG93biIsIndpbGxVbm1vdW50Iiwib2ZmQ3VzdG9tVGFwIiwib2ZmQ3VzdG9tRHJhZ1VwIiwib2ZmQ3VzdG9tRHJhZ0Rvd24iLCJvZmZDdXN0b21EcmFnU3RhcnQiLCJvZmZDdXN0b21Td2lwZVVwIiwib2ZmQ3VzdG9tU3dpcGVEb3duIiwib2ZmQ3VzdG9tU3dpcGVMZWZ0Iiwib2ZmQ3VzdG9tU3dpcGVSaWdodCIsIm9mZkN1c3RvbVBpbmNoTW92ZSIsIm9mZkN1c3RvbVBpbmNoU3RhcnQiLCJvZmZDdXN0b21Eb3VibGVUYXAiLCJkaXNhYmxlVG91Y2giLCJvZmZLZXlEb3duIiwiY2hpbGRFbGVtZW50cyIsIk1lbnVEaXYiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJ0b3VjaE1peGlucyIsIndpdGhTdHlsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgRWxlbWVudCBmcm9tIFwiLi92aWV3L2VsZW1lbnRcIjtcbmltcG9ydCBNZW51RGl2IGZyb20gXCIuL3ZpZXcvZGl2L21lbnVcIjtcbmltcG9ydCBPdmVybGF5RGl2IGZyb20gXCIuL3ZpZXcvZGl2L292ZXJsYXlcIjtcbmltcG9ydCBQcmVsb2FkZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvcHJlbG9hZGVyXCI7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgdXBkYXRlWm9vbSgpIHtcbiAgICB0aGlzLnVwZGF0ZU1lbnVEaXZab29tKCk7XG4gICAgdGhpcy51cGRhdGVPdmVybGF5RGl2Wm9vbSgpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICBjb25zdCB7IGRpdkRPTUVsZW1lbnRzIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPFByZWxvYWRlckRpdi8+LFxuICAgICAgPE92ZXJsYXlEaXYgZGl2RE9NRWxlbWVudHM9e2RpdkRPTUVsZW1lbnRzfSAvPixcbiAgICAgIDxNZW51RGl2Lz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcImRpdkRPTUVsZW1lbnRzXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgXG5gO1xuIl0sIm5hbWVzIjpbIlZpZXciLCJ1cGRhdGVab29tIiwidXBkYXRlTWVudURpdlpvb20iLCJ1cGRhdGVPdmVybGF5RGl2Wm9vbSIsImNoaWxkRWxlbWVudHMiLCJkaXZET01FbGVtZW50cyIsInByb3BlcnRpZXMiLCJQcmVsb2FkZXJEaXYiLCJPdmVybGF5RGl2IiwiTWVudURpdiIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0Iiwic2hvdyIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRDQTs7O2VBQUE7OztvRUExQ3NCOzhEQUVGOzJEQUNBOzhEQUNHO2dFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpCLElBQUEsQUFBTUEscUJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxpQkFBaUI7Z0JBQ3RCLElBQUksQ0FBQ0Msb0JBQW9CO1lBQzNCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU0sQUFBRUMsaUJBQW1CLElBQUksQ0FBQ0MsVUFBVSxDQUFsQ0Q7Z0JBRVIsT0FBUTtrQ0FFTixvQkFBQ0Usa0JBQVk7a0NBQ2Isb0JBQUNDLGdCQUFVO3dCQUFDSCxnQkFBZ0JBOztrQ0FDNUIsb0JBQUNJLGFBQU87aUJBRVQ7WUFDSDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLGFBQWE7Z0JBRWxCLElBQUksQ0FBQ0MsSUFBSTtZQUNYOzs7V0F0QklaO3FCQUFhYSxnQkFBTztBQXdCeEIsaUJBeEJJYixNQXdCR2MsV0FBVTtBQUVqQixpQkExQklkLE1BMEJHZSxxQkFBb0I7SUFDekI7Q0FDRDtBQUVELGlCQTlCSWYsTUE4QkdnQixxQkFBb0I7SUFDekJDLFdBQVc7QUFDYjtJQUdGLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNsQiJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "highmark-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.140",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/highmark-cli",
|
|
7
7
|
"description": "Extensible, styleable Markdown.",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"express": "^4.19.2",
|
|
15
15
|
"highmark-fonts": "^1.0.36",
|
|
16
|
-
"highmark-markdown": "^0.0.
|
|
16
|
+
"highmark-markdown": "^0.0.229",
|
|
17
17
|
"lively-cli": "^2.0.59",
|
|
18
18
|
"necessary": "^13.6.1",
|
|
19
19
|
"occam-entities": "^1.0.90"
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"easy-with-style": "^3.0.349",
|
|
26
26
|
"esbuild": "^0.9.2",
|
|
27
27
|
"juxtapose": "^4.0.81",
|
|
28
|
+
"sufficient": "^2.0.55",
|
|
28
29
|
"watchful-cli": "^1.7.44"
|
|
29
30
|
},
|
|
30
31
|
"scripts": {
|
package/src/client.js
CHANGED
|
@@ -4,23 +4,49 @@ import "juxtapose";
|
|
|
4
4
|
|
|
5
5
|
import withStyle from "easy-with-style"; ///
|
|
6
6
|
|
|
7
|
+
import { controller } from "sufficient";
|
|
7
8
|
import { Body, Element } from "easy";
|
|
8
9
|
|
|
9
10
|
import View from "./view";
|
|
11
|
+
import createMethods from "./createMethods";
|
|
10
12
|
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
+
import { setOrientation } from "./state";
|
|
14
|
+
import { DIVS_SELECTOR, LOADING_DIV_SELECTOR } from "./selectors";
|
|
15
|
+
import { getOrientation, onOrientationChange } from "./utilities/orientation";
|
|
13
16
|
|
|
14
17
|
const { renderStyles } = withStyle;
|
|
15
18
|
|
|
16
19
|
renderStyles();
|
|
17
20
|
|
|
18
|
-
const
|
|
19
|
-
body = new Body(),
|
|
20
|
-
view = elementFromDOMElement(viewDOMElement, View); ///
|
|
21
|
+
const divDOMElements = [ ...document.querySelectorAll(DIVS_SELECTOR) ]; ///
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
divDOMElements.forEach((divDOMElement) => {
|
|
24
|
+
divDOMElement.remove();
|
|
25
|
+
});
|
|
23
26
|
|
|
24
|
-
const
|
|
27
|
+
const scheduler = null,
|
|
28
|
+
model = null,
|
|
29
|
+
view =
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
<View divDOMElements={divDOMElements} />
|
|
32
|
+
|
|
33
|
+
;
|
|
34
|
+
|
|
35
|
+
controller.assignMethods(createMethods, scheduler, model, view);
|
|
36
|
+
|
|
37
|
+
const body = new Body(),
|
|
38
|
+
loadingDiv = new Element(LOADING_DIV_SELECTOR);
|
|
39
|
+
|
|
40
|
+
onOrientationChange((orientation) => {
|
|
41
|
+
setOrientation(orientation);
|
|
42
|
+
|
|
43
|
+
view.updateZoom();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
getOrientation((orientation) => {
|
|
47
|
+
setOrientation(orientation);
|
|
48
|
+
|
|
49
|
+
body.mount(view);
|
|
50
|
+
|
|
51
|
+
loadingDiv.hide();
|
|
52
|
+
});
|
package/src/constants.js
CHANGED
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
export const { PI } = Math;
|
|
4
4
|
|
|
5
|
+
export const GRID = "grid";
|
|
6
|
+
export const STATE_KEY = "state";
|
|
5
7
|
export const TAP_DELAY = 250;
|
|
6
8
|
export const ZOOM_RATIO = 1.1;
|
|
7
|
-
export const SHOW_DELAY = 0;
|
|
8
9
|
export const PI_OVER_TWO = PI / 2;
|
|
9
10
|
export const SCROLL_DELAY = 10;
|
|
10
11
|
export const DECELERATION = 0.0333333;
|
|
11
|
-
export const SINGLE_SPACE = " ";
|
|
12
12
|
export const UP_DIRECTION = +1;
|
|
13
13
|
export const DOWN_DIRECTION = -1;
|
|
14
14
|
export const MAXIMUM_SPREAD = PI / 4;
|
|
15
15
|
export const MAXIMUM_TAP_TIME = 125;
|
|
16
|
+
export const BACKGROUND_COLOUR = "background-color"; ///
|
|
16
17
|
export const MINIMUM_SWIPE_SPEED = 1;
|
|
17
|
-
export const
|
|
18
|
+
export const PORTRAIT_ORIENTATION = "portrait";
|
|
19
|
+
export const LANDSCAPE_ORIENTATION = "landscape";
|
|
20
|
+
export const OPEN_MENU_TAP_AREA_HEIGHT = 256;
|
|
21
|
+
export const ORIENTATION_PORTRAIT_QUERY = "(orientation: portrait)";
|