highmark-cli 0.0.139 → 0.0.141

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.
Files changed (47) hide show
  1. package/bin/constants.js +4 -2
  2. package/bin/importer.js +7 -4
  3. package/bin/operation/markdownHTML.js +31 -9
  4. package/bin/operation/markdownStylesCSS.js +17 -10
  5. package/client.js +549 -710
  6. package/lib/client.js +32 -5
  7. package/lib/constants.js +5 -9
  8. package/lib/createMethods.js +35 -17
  9. package/lib/localStorage.js +6 -5
  10. package/lib/mixins/fullsrean.js +3 -5
  11. package/lib/selectors.js +2 -6
  12. package/lib/state.js +62 -44
  13. package/lib/utilities/element.js +11 -11
  14. package/lib/view/div/buttons.js +4 -6
  15. package/lib/view/div/checkbox/{restoreNativeGestures.js → fullScreen.js} +23 -16
  16. package/lib/view/div/checkbox/invertColours.js +9 -6
  17. package/lib/view/div/checkbox/nativeGestures.js +154 -0
  18. package/lib/view/div/checkboxes.js +5 -3
  19. package/lib/view/div/menu.js +11 -43
  20. package/lib/view/div/overlay.js +115 -157
  21. package/lib/view/{div/leaf.js → div.js} +21 -16
  22. package/lib/view.js +24 -6
  23. package/package.json +3 -2
  24. package/src/client.js +10 -5
  25. package/src/constants.js +1 -2
  26. package/src/createMethods.js +52 -16
  27. package/src/localStorage.js +9 -6
  28. package/src/mixins/fullsrean.js +3 -4
  29. package/src/selectors.js +1 -2
  30. package/src/state.js +66 -48
  31. package/src/utilities/element.js +18 -15
  32. package/src/view/div/buttons.js +4 -6
  33. package/src/view/div/checkbox/fullScreen.js +38 -0
  34. package/src/view/div/checkbox/invertColours.js +7 -3
  35. package/src/view/div/checkbox/nativeGestures.js +38 -0
  36. package/src/view/div/checkboxes.js +4 -2
  37. package/src/view/div/menu.js +13 -45
  38. package/src/view/div/overlay.js +132 -186
  39. package/src/view/{div/leaf.js → div.js} +15 -10
  40. package/src/view.js +19 -5
  41. package/lib/utilities/tree.js +0 -55
  42. package/lib/view/button/fullScreen.js +0 -121
  43. package/lib/view/svg/fullScreen.js +0 -138
  44. package/src/utilities/tree.js +0 -29
  45. package/src/view/button/fullScreen.js +0 -16
  46. package/src/view/div/checkbox/restoreNativeGestures.js +0 -29
  47. package/src/view/svg/fullScreen.js +0 -19
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _easy = require("easy");
13
- var _constants = require("../../constants");
13
+ var _constants = require("../constants");
14
14
  function _assert_this_initialized(self) {
15
15
  if (self === void 0) {
16
16
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -172,21 +172,21 @@ function _create_super(Derived) {
172
172
  }
173
173
  function _templateObject() {
174
174
  var data = _tagged_template_literal([
175
- "\n\n width: 100%;\n min-height: 100%;\n pointer-events: none;\n transform-origin: top left;\n \n"
175
+ "\n\n width: 100%;\n transform-origin: top left;\n \n"
176
176
  ]);
177
177
  _templateObject = function _templateObject() {
178
178
  return data;
179
179
  };
180
180
  return data;
181
181
  }
182
- var LeafDiv = /*#__PURE__*/ function(Element) {
183
- _inherits(LeafDiv, Element);
184
- var _super = _create_super(LeafDiv);
185
- function LeafDiv() {
186
- _class_call_check(this, LeafDiv);
182
+ var Div = /*#__PURE__*/ function(Element) {
183
+ _inherits(Div, Element);
184
+ var _super = _create_super(Div);
185
+ function Div() {
186
+ _class_call_check(this, Div);
187
187
  return _super.apply(this, arguments);
188
188
  }
189
- _create_class(LeafDiv, [
189
+ _create_class(Div, [
190
190
  {
191
191
  key: "getBackgroundColour",
192
192
  value: function getBackgroundColour() {
@@ -194,24 +194,29 @@ var LeafDiv = /*#__PURE__*/ function(Element) {
194
194
  return backgroundColour;
195
195
  }
196
196
  },
197
+ {
198
+ key: "isAdded",
199
+ value: function isAdded() {
200
+ var domElement = this.getDOMElement(), parentNode = domElement.parentNode, added = parentNode !== null;
201
+ return added;
202
+ }
203
+ },
197
204
  {
198
205
  key: "zoom",
199
206
  value: function zoom(zoom) {
200
- var width = "".concat(100 / zoom, "%"), transform = "scale(".concat(zoom, ")");
207
+ var zoomRatio = 100 / zoom, width = "".concat(zoomRatio, "%"), minHeight = "".concat(zoomRatio, "%"), transform = "scale(".concat(zoom, ")");
201
208
  var css = {
202
209
  width: width,
210
+ minHeight: minHeight,
203
211
  transform: transform
204
212
  };
205
213
  this.css(css);
206
214
  }
207
215
  }
208
216
  ]);
209
- return LeafDiv;
217
+ return Div;
210
218
  }(_wrap_native_super(_easy.Element));
211
- _define_property(LeafDiv, "tagName", "div");
212
- _define_property(LeafDiv, "defaultProperties", {
213
- className: "leaf"
214
- });
215
- var _default = (0, _easywithstyle.default)(LeafDiv)(_templateObject());
219
+ _define_property(Div, "tagName", "div");
220
+ var _default = (0, _easywithstyle.default)(Div)(_templateObject());
216
221
 
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92aWV3L2Rpdi9sZWFmLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IHsgQkFDS0dST1VORF9DT0xPVVIgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5cbmNsYXNzIExlYWZEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZ2V0QmFja2dyb3VuZENvbG91cigpIHtcbiAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3VyID0gdGhpcy5jc3MoQkFDS0dST1VORF9DT0xPVVIpIHx8IG51bGw7XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZENvbG91cjtcbiAgfVxuXG4gIHpvb20oem9vbSkge1xuICAgIGNvbnN0IHdpZHRoID0gYCR7MTAwL3pvb219JWAsXG4gICAgICAgICAgdHJhbnNmb3JtID0gYHNjYWxlKCR7em9vbX0pYDtcblxuICAgIGNvbnN0IGNzcyA9IHtcbiAgICAgIHdpZHRoLFxuICAgICAgdHJhbnNmb3JtXG4gICAgfTtcblxuICAgIHRoaXMuY3NzKGNzcyk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJsZWFmXCJcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKExlYWZEaXYpYFxuXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIFxuYDtcbiJdLCJuYW1lcyI6WyJMZWFmRGl2IiwiZ2V0QmFja2dyb3VuZENvbG91ciIsImJhY2tncm91bmRDb2xvdXIiLCJjc3MiLCJCQUNLR1JPVU5EX0NPTE9VUiIsInpvb20iLCJ3aWR0aCIsInRyYW5zZm9ybSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa0NBOzs7ZUFBQTs7O29FQWhDc0I7b0JBRUU7eUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBQSxBQUFNQSx3QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxHQUFHLENBQUNDLDRCQUFpQixLQUFLO2dCQUV4RCxPQUFPRjtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtBLElBQUk7Z0JBQ1AsSUFBTUMsUUFBUSxBQUFDLEdBQVcsT0FBVCxNQUFJRCxNQUFLLE1BQ3BCRSxZQUFZLEFBQUMsU0FBYSxPQUFMRixNQUFLO2dCQUVoQyxJQUFNRixNQUFNO29CQUNWRyxPQUFBQTtvQkFDQUMsV0FBQUE7Z0JBQ0Y7Z0JBRUEsSUFBSSxDQUFDSixHQUFHLENBQUNBO1lBQ1g7OztXQWpCSUg7cUJBQWdCUSxhQUFPO0FBbUIzQixpQkFuQklSLFNBbUJHUyxXQUFVO0FBRWpCLGlCQXJCSVQsU0FxQkdVLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiO0lBR0YsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ1oifQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWV3L2Rpdi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCB7IEJBQ0tHUk9VTkRfQ09MT1VSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZ2V0QmFja2dyb3VuZENvbG91cigpIHtcbiAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3VyID0gdGhpcy5jc3MoQkFDS0dST1VORF9DT0xPVVIpIHx8IG51bGw7XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZENvbG91cjtcbiAgfVxuXG4gIGlzQWRkZWQoKSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxuICAgICAgICAgIHsgcGFyZW50Tm9kZSB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBhZGRlZCA9IChwYXJlbnROb2RlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBhZGRlZDtcbiAgfVxuXG4gIHpvb20oem9vbSkge1xuICAgIGNvbnN0IHpvb21SYXRpbyA9IDEwMCAvIHpvb20sXG4gICAgICAgICAgd2lkdGggPSBgJHt6b29tUmF0aW99JWAsXG4gICAgICAgICAgbWluSGVpZ2h0ID0gYCR7em9vbVJhdGlvfSVgLFxuICAgICAgICAgIHRyYW5zZm9ybSA9IGBzY2FsZSgke3pvb219KWA7XG5cbiAgICBjb25zdCBjc3MgPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIG1pbkhlaWdodCxcbiAgICAgIHRyYW5zZm9ybVxuICAgIH07XG5cbiAgICB0aGlzLmNzcyhjc3MpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoRGl2KWBcblxuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIFxuYDtcbiJdLCJuYW1lcyI6WyJEaXYiLCJnZXRCYWNrZ3JvdW5kQ29sb3VyIiwiYmFja2dyb3VuZENvbG91ciIsImNzcyIsIkJBQ0tHUk9VTkRfQ09MT1VSIiwiaXNBZGRlZCIsImRvbUVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwicGFyZW50Tm9kZSIsImFkZGVkIiwiem9vbSIsInpvb21SYXRpbyIsIndpZHRoIiwibWluSGVpZ2h0IiwidHJhbnNmb3JtIiwiRWxlbWVudCIsInRhZ05hbWUiLCJ3aXRoU3R5bGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5Q0E7OztlQUFBOzs7b0VBdkNzQjtvQkFFRTt5QkFFVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQyxJQUFBLEFBQU1BLG9CQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLG1CQUFtQixJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsNEJBQWlCLEtBQUs7Z0JBRXhELE9BQU9GO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNDLGFBQWEsSUFDL0IsQUFBRUMsYUFBZUYsV0FBZkUsWUFDRkMsUUFBU0QsZUFBZTtnQkFFOUIsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxLQUFLQSxJQUFJO2dCQUNQLElBQU1DLFlBQVksTUFBTUQsTUFDbEJFLFFBQVEsQUFBQyxHQUFZLE9BQVZELFdBQVUsTUFDckJFLFlBQVksQUFBQyxHQUFZLE9BQVZGLFdBQVUsTUFDekJHLFlBQVksQUFBQyxTQUFhLE9BQUxKLE1BQUs7Z0JBRWhDLElBQU1QLE1BQU07b0JBQ1ZTLE9BQUFBO29CQUNBQyxXQUFBQTtvQkFDQUMsV0FBQUE7Z0JBQ0Y7Z0JBRUEsSUFBSSxDQUFDWCxHQUFHLENBQUNBO1lBQ1g7OztXQTVCSUg7cUJBQVllLGFBQU87QUE4QnZCLGlCQTlCSWYsS0E4QkdnQixXQUFVO0lBR25CLFdBQWVDLElBQUFBLHNCQUFTLEVBQUNqQiJ9
package/lib/view.js CHANGED
@@ -192,18 +192,36 @@ var View = /*#__PURE__*/ function(Element) {
192
192
  {
193
193
  key: "updateZoom",
194
194
  value: function updateZoom() {
195
- this.updateMenuDivZoom();
196
- this.updateOverlayDivZoom();
195
+ this.updateMenuZoom();
196
+ this.updateOverlayZoom();
197
+ }
198
+ },
199
+ {
200
+ key: "didMount",
201
+ value: function didMount() {
202
+ this.updateMenuZoom();
203
+ this.updateOverlayZoom();
204
+ this.updateOverlayColours();
205
+ this.updateNativeGestures();
206
+ this.updateFullScreenCheckboxDiv();
207
+ this.updateInvertColoursCheckboxDiv();
208
+ this.updateNativeGesturesCheckboxDiv();
209
+ }
210
+ },
211
+ {
212
+ key: "willUnmount",
213
+ value: function willUnmount() {
214
+ ///
197
215
  }
198
216
  },
199
217
  {
200
218
  key: "childElements",
201
219
  value: function childElements() {
202
- var divDOMElement = this.properties.divDOMElement;
220
+ var divDOMElements = this.properties.divDOMElements;
203
221
  return [
204
222
  /*#__PURE__*/ React.createElement(_preloader.default, null),
205
223
  /*#__PURE__*/ React.createElement(_overlay.default, {
206
- divDOMElement: divDOMElement
224
+ divDOMElements: divDOMElements
207
225
  }),
208
226
  /*#__PURE__*/ React.createElement(_menu.default, null)
209
227
  ];
@@ -221,11 +239,11 @@ var View = /*#__PURE__*/ function(Element) {
221
239
  }(_wrap_native_super(_element.default));
222
240
  _define_property(View, "tagName", "div");
223
241
  _define_property(View, "ignoredProperties", [
224
- "divDOMElement"
242
+ "divDOMElements"
225
243
  ]);
226
244
  _define_property(View, "defaultProperties", {
227
245
  className: "view"
228
246
  });
229
247
  var _default = (0, _easywithstyle.default)(View)(_templateObject());
230
248
 
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgRWxlbWVudCBmcm9tIFwiLi92aWV3L2VsZW1lbnRcIjtcbmltcG9ydCBNZW51RGl2IGZyb20gXCIuL3ZpZXcvZGl2L21lbnVcIjtcbmltcG9ydCBPdmVybGF5RGl2IGZyb20gXCIuL3ZpZXcvZGl2L292ZXJsYXlcIjtcbmltcG9ydCBQcmVsb2FkZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvcHJlbG9hZGVyXCI7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgdXBkYXRlWm9vbSgpIHtcbiAgICB0aGlzLnVwZGF0ZU1lbnVEaXZab29tKCk7XG4gICAgdGhpcy51cGRhdGVPdmVybGF5RGl2Wm9vbSgpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICBjb25zdCB7IGRpdkRPTUVsZW1lbnQgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8UHJlbG9hZGVyRGl2Lz4sXG4gICAgICA8T3ZlcmxheURpdiBkaXZET01FbGVtZW50PXtkaXZET01FbGVtZW50fSAvPixcbiAgICAgIDxNZW51RGl2Lz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcImRpdkRPTUVsZW1lbnRcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBcbmA7XG4iXSwibmFtZXMiOlsiVmlldyIsInVwZGF0ZVpvb20iLCJ1cGRhdGVNZW51RGl2Wm9vbSIsInVwZGF0ZU92ZXJsYXlEaXZab29tIiwiY2hpbGRFbGVtZW50cyIsImRpdkRPTUVsZW1lbnQiLCJwcm9wZXJ0aWVzIiwiUHJlbG9hZGVyRGl2IiwiT3ZlcmxheURpdiIsIk1lbnVEaXYiLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsInNob3ciLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE0Q0E7OztlQUFBOzs7b0VBMUNzQjs4REFFRjsyREFDQTs4REFDRztnRUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QixJQUFBLEFBQU1BLHFCQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsaUJBQWlCO2dCQUN0QixJQUFJLENBQUNDLG9CQUFvQjtZQUMzQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNLEFBQUVDLGdCQUFrQixJQUFJLENBQUNDLFVBQVUsQ0FBakNEO2dCQUVSLE9BQVE7a0NBRU4sb0JBQUNFLGtCQUFZO2tDQUNiLG9CQUFDQyxnQkFBVTt3QkFBQ0gsZUFBZUE7O2tDQUMzQixvQkFBQ0ksYUFBTztpQkFFVDtZQUNIOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsYUFBYTtnQkFFbEIsSUFBSSxDQUFDQyxJQUFJO1lBQ1g7OztXQXRCSVo7cUJBQWFhLGdCQUFPO0FBd0J4QixpQkF4QkliLE1Bd0JHYyxXQUFVO0FBRWpCLGlCQTFCSWQsTUEwQkdlLHFCQUFvQjtJQUN6QjtDQUNEO0FBRUQsaUJBOUJJZixNQThCR2dCLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiO0lBR0YsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ2xCIn0=
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgRWxlbWVudCBmcm9tIFwiLi92aWV3L2VsZW1lbnRcIjtcbmltcG9ydCBNZW51RGl2IGZyb20gXCIuL3ZpZXcvZGl2L21lbnVcIjtcbmltcG9ydCBPdmVybGF5RGl2IGZyb20gXCIuL3ZpZXcvZGl2L292ZXJsYXlcIjtcbmltcG9ydCBQcmVsb2FkZXJEaXYgZnJvbSBcIi4vdmlldy9kaXYvcHJlbG9hZGVyXCI7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgdXBkYXRlWm9vbSgpIHtcbiAgICB0aGlzLnVwZGF0ZU1lbnVab29tKCk7XG4gICAgdGhpcy51cGRhdGVPdmVybGF5Wm9vbSgpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy51cGRhdGVNZW51Wm9vbSgpO1xuICAgIHRoaXMudXBkYXRlT3ZlcmxheVpvb20oKTtcbiAgICB0aGlzLnVwZGF0ZU92ZXJsYXlDb2xvdXJzKCk7XG4gICAgdGhpcy51cGRhdGVOYXRpdmVHZXN0dXJlcygpO1xuICAgIHRoaXMudXBkYXRlRnVsbFNjcmVlbkNoZWNrYm94RGl2KCk7XG4gICAgdGhpcy51cGRhdGVJbnZlcnRDb2xvdXJzQ2hlY2tib3hEaXYoKTtcbiAgICB0aGlzLnVwZGF0ZU5hdGl2ZUdlc3R1cmVzQ2hlY2tib3hEaXYoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIC8vL1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICBjb25zdCB7IGRpdkRPTUVsZW1lbnRzIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPFByZWxvYWRlckRpdi8+LFxuICAgICAgPE92ZXJsYXlEaXYgZGl2RE9NRWxlbWVudHM9e2RpdkRPTUVsZW1lbnRzfSAvPixcbiAgICAgIDxNZW51RGl2Lz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcImRpdkRPTUVsZW1lbnRzXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInZpZXdcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoVmlldylgXG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgXG5gO1xuIl0sIm5hbWVzIjpbIlZpZXciLCJ1cGRhdGVab29tIiwidXBkYXRlTWVudVpvb20iLCJ1cGRhdGVPdmVybGF5Wm9vbSIsImRpZE1vdW50IiwidXBkYXRlT3ZlcmxheUNvbG91cnMiLCJ1cGRhdGVOYXRpdmVHZXN0dXJlcyIsInVwZGF0ZUZ1bGxTY3JlZW5DaGVja2JveERpdiIsInVwZGF0ZUludmVydENvbG91cnNDaGVja2JveERpdiIsInVwZGF0ZU5hdGl2ZUdlc3R1cmVzQ2hlY2tib3hEaXYiLCJ3aWxsVW5tb3VudCIsImNoaWxkRWxlbWVudHMiLCJkaXZET01FbGVtZW50cyIsInByb3BlcnRpZXMiLCJQcmVsb2FkZXJEaXYiLCJPdmVybGF5RGl2IiwiTWVudURpdiIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0Iiwic2hvdyIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTBEQTs7O2VBQUE7OztvRUF4RHNCOzhEQUVGOzJEQUNBOzhEQUNHO2dFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpCLElBQUEsQUFBTUEscUJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxjQUFjO2dCQUNuQixJQUFJLENBQUNDLGlCQUFpQjtZQUN4Qjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNGLGNBQWM7Z0JBQ25CLElBQUksQ0FBQ0MsaUJBQWlCO2dCQUN0QixJQUFJLENBQUNFLG9CQUFvQjtnQkFDekIsSUFBSSxDQUFDQyxvQkFBb0I7Z0JBQ3pCLElBQUksQ0FBQ0MsMkJBQTJCO2dCQUNoQyxJQUFJLENBQUNDLDhCQUE4QjtnQkFDbkMsSUFBSSxDQUFDQywrQkFBK0I7WUFDdEM7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7WUFDRSxHQUFHO1lBQ0w7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTSxBQUFFQyxpQkFBbUIsSUFBSSxDQUFDQyxVQUFVLENBQWxDRDtnQkFFUixPQUFRO2tDQUVOLG9CQUFDRSxrQkFBWTtrQ0FDYixvQkFBQ0MsZ0JBQVU7d0JBQUNILGdCQUFnQkE7O2tDQUM1QixvQkFBQ0ksYUFBTztpQkFFVDtZQUNIOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsYUFBYTtnQkFFbEIsSUFBSSxDQUFDQyxJQUFJO1lBQ1g7OztXQXBDSW5CO3FCQUFhb0IsZ0JBQU87QUFzQ3hCLGlCQXRDSXBCLE1Bc0NHcUIsV0FBVTtBQUVqQixpQkF4Q0lyQixNQXdDR3NCLHFCQUFvQjtJQUN6QjtDQUNEO0FBRUQsaUJBNUNJdEIsTUE0Q0d1QixxQkFBb0I7SUFDekJDLFdBQVc7QUFDYjtJQUdGLFdBQWVDLElBQUFBLHNCQUFTLEVBQUN6QiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.139",
4
+ "version": "0.0.141",
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.228",
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"
@@ -24,6 +24,7 @@
24
24
  "easy-layout": "^6.0.145",
25
25
  "easy-with-style": "^3.0.349",
26
26
  "esbuild": "^0.9.2",
27
+ "fragmented": "^2.1.1",
27
28
  "juxtapose": "^4.0.81",
28
29
  "sufficient": "^2.0.55",
29
30
  "watchful-cli": "^1.7.44"
package/src/client.js CHANGED
@@ -11,22 +11,25 @@ import View from "./view";
11
11
  import createMethods from "./createMethods";
12
12
 
13
13
  import { setOrientation } from "./state";
14
- import { DIV_SELECTOR, LOADING_DIV_SELECTOR } from "./selectors";
14
+ import { DIVS_SELECTOR, LOADING_DIV_SELECTOR } from "./selectors";
15
15
  import { getOrientation, onOrientationChange } from "./utilities/orientation";
16
16
 
17
- const { renderStyles } = withStyle;
17
+ const { renderStyles } = withStyle,
18
+ { onFragmentChange } = fragment;
18
19
 
19
20
  renderStyles();
20
21
 
21
- const divDOMElement = document.querySelector(DIV_SELECTOR);
22
+ const divDOMElements = [ ...document.querySelectorAll(DIVS_SELECTOR) ]; ///
22
23
 
23
- divDOMElement.remove();
24
+ divDOMElements.forEach((divDOMElement) => {
25
+ divDOMElement.remove();
26
+ });
24
27
 
25
28
  const scheduler = null,
26
29
  model = null,
27
30
  view =
28
31
 
29
- <View divDOMElement={divDOMElement} />
32
+ <View divDOMElements={divDOMElements} />
30
33
 
31
34
  ;
32
35
 
@@ -41,6 +44,8 @@ onOrientationChange((orientation) => {
41
44
  view.updateZoom();
42
45
  });
43
46
 
47
+
48
+
44
49
  getOrientation((orientation) => {
45
50
  setOrientation(orientation);
46
51
 
package/src/constants.js CHANGED
@@ -5,14 +5,13 @@ export const { PI } = Math;
5
5
  export const GRID = "grid";
6
6
  export const STATE_KEY = "state";
7
7
  export const TAP_DELAY = 250;
8
- export const ZOOM_RATIO = 1.1;
9
8
  export const PI_OVER_TWO = PI / 2;
10
9
  export const SCROLL_DELAY = 10;
11
10
  export const DECELERATION = 0.0333333;
12
- export const SINGLE_SPACE = " ";
13
11
  export const UP_DIRECTION = +1;
14
12
  export const DOWN_DIRECTION = -1;
15
13
  export const MAXIMUM_SPREAD = PI / 4;
14
+ export const MENU_ZOOM_RATIO = 1.1;
16
15
  export const MAXIMUM_TAP_TIME = 125;
17
16
  export const BACKGROUND_COLOUR = "background-color"; ///
18
17
  export const MINIMUM_SWIPE_SPEED = 1;
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import { MENU_ZOOM_RATIO } from "./constants";
4
+ import { getMenuZoom, setMenuZoom, setOverlayZoom, setColoursInverted, setNativeGesturesRestored } from "./state";
5
+
3
6
  export default function createMethods(scheduler, model, view) {
4
7
  function openMenu() {
5
8
  view.openMenu();
@@ -10,43 +13,77 @@ export default function createMethods(scheduler, model, view) {
10
13
  }
11
14
 
12
15
  function zoomMenuIn() {
13
- view.zoomMenuIn();
16
+ let menuZoom = getMenuZoom();
17
+
18
+ menuZoom *= MENU_ZOOM_RATIO;
19
+
20
+ setMenuZoom(menuZoom);
21
+
22
+ view.updateMenuZoom();
14
23
  }
15
24
 
16
25
  function zoomMenuOut() {
17
- view.zoomMenuOut();
26
+ let menuZoom = getMenuZoom();
27
+
28
+ menuZoom /= MENU_ZOOM_RATIO;
29
+
30
+ setMenuZoom(menuZoom);
31
+
32
+ view.updateMenuZoom();
33
+ }
34
+
35
+ function zoomOverlay(overlayZoom) {
36
+ setOverlayZoom(overlayZoom);
37
+
38
+ view.updateOverlayZoom();
18
39
  }
19
40
 
20
41
  function invertColours() {
21
- view.invertColours();
42
+ const coloursInverted = true;
43
+
44
+ setColoursInverted(coloursInverted);
45
+
46
+ view.updateOverlayColours();
22
47
  }
23
48
 
24
49
  function revertColours() {
25
- view.revertColours();
50
+ const coloursInverted = false;
51
+
52
+ setColoursInverted(coloursInverted);
53
+
54
+ view.updateOverlayColours();
26
55
  }
27
56
 
28
57
  function exitFullScreen() {
29
58
  view.exitFullScreen();
59
+
60
+ view.updateFullScreenCheckboxDiv();
30
61
  }
31
62
 
32
63
  function enterFullScreen() {
33
- view.enterFullScreen();
64
+ view.enterFullScreen(() => {
65
+ view.updateFullScreenCheckboxDiv();
66
+ });
34
67
  }
35
68
 
36
69
  function restoreNativeGestures() {
37
- view.restoreNativeGestures();
70
+ const nativeGesturesRestored = true;
71
+
72
+ setNativeGesturesRestored(nativeGesturesRestored);
73
+
74
+ view.updateNativeGestures();
75
+
76
+ view.updateNativeGesturesCheckboxDiv();
38
77
  }
39
78
 
40
79
  function suppressNativeGestures() {
41
- view.suppressNativeGestures();
42
- }
80
+ const nativeGesturesRestored = false;
43
81
 
44
- function checkRestoreNativeGesturesCheckbox(checked) {
45
- view.checkRestoreNativeGesturesCheckbox(checked);
46
- }
82
+ setNativeGesturesRestored(nativeGesturesRestored);
83
+
84
+ view.updateNativeGestures();
47
85
 
48
- function uncheckRestoreNativeGesturesCheckbox(checked) {
49
- view.uncheckRestoreNativeGesturesCheckbox(checked);
86
+ view.updateNativeGesturesCheckboxDiv();
50
87
  }
51
88
 
52
89
  return ({
@@ -54,13 +91,12 @@ export default function createMethods(scheduler, model, view) {
54
91
  closeMenu,
55
92
  zoomMenuIn,
56
93
  zoomMenuOut,
94
+ zoomOverlay,
57
95
  invertColours,
58
96
  revertColours,
59
97
  exitFullScreen,
60
98
  enterFullScreen,
61
99
  restoreNativeGestures,
62
- suppressNativeGestures,
63
- checkRestoreNativeGesturesCheckbox,
64
- uncheckRestoreNativeGesturesCheckbox
100
+ suppressNativeGestures
65
101
  });
66
102
  }
@@ -2,23 +2,25 @@
2
2
 
3
3
  import { STATE_KEY, LANDSCAPE_ORIENTATION, PORTRAIT_ORIENTATION } from "./constants";
4
4
 
5
- const viewZoom = {
5
+ const menuZoom = {
6
6
  [PORTRAIT_ORIENTATION]: 1,
7
7
  [LANDSCAPE_ORIENTATION]: 1
8
8
  },
9
- menuDivZoom = {
9
+ overlayZoom = {
10
10
  [PORTRAIT_ORIENTATION]: 1,
11
11
  [LANDSCAPE_ORIENTATION]: 1
12
12
  },
13
- fullScreenViewZoom = {
13
+ fullScreenOverlayZoom = {
14
14
  [PORTRAIT_ORIENTATION]: 1,
15
15
  [LANDSCAPE_ORIENTATION]: 1
16
16
  },
17
17
  coloursInverted = false,
18
+ nativeGesturesRestored = false,
18
19
  defaultPersistentState = {
19
- viewZoom,
20
- menuDivZoom,
21
- fullScreenViewZoom,
20
+ menuZoom,
21
+ overlayZoom,
22
+ fullScreenOverlayZoom,
23
+ nativeGesturesRestored,
22
24
  coloursInverted
23
25
  };
24
26
 
@@ -46,3 +48,4 @@ export function setPersistentState(persistentState) {
46
48
 
47
49
  localStorage.setItem(key, value);
48
50
  }
51
+
@@ -16,13 +16,12 @@ function exitFullScreen() {
16
16
  document.exitFullscreen();
17
17
  }
18
18
 
19
- function requestFullScreen() {
19
+ function requestFullScreen(callback) {
20
20
  const domElement = this.getDOMElement();
21
21
 
22
22
  domElement.requestFullscreen()
23
- .catch((error) => {
24
- alert(error);
25
- });
23
+ .then(callback)
24
+ .catch(alert);
26
25
  }
27
26
 
28
27
  function onFullscreenchange(fullscreenchangeHandler) {
package/src/selectors.js CHANGED
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export const DIV_SELECTOR = "body > div:not(.loading)"; ///
4
- export const DIVS_SELECTOR = "div"; ///
3
+ export const DIVS_SELECTOR = "body > div:not(.loading)"; ///
5
4
  export const LOADING_DIV_SELECTOR = "body > div.loading";
package/src/state.js CHANGED
@@ -2,95 +2,112 @@
2
2
 
3
3
  import { isFullScreen } from "./utilities/fullScreen";
4
4
  import { getPersistentState, setPersistentState } from "./localStorage";
5
- import {PORTRAIT_ORIENTATION} from "./constants";
6
5
 
7
6
  const orientation = null,
8
7
  state = {
9
8
  orientation
10
9
  };
11
10
 
12
- export function getViewZoom() {
13
- stateFromPersistentState();
11
+ export function getOrientation() {
12
+ const { orientation } = state;
14
13
 
15
- const fullScreen = isFullScreen(),
16
- orientation = getOrientation();
14
+ return orientation;
15
+ }
17
16
 
18
- let viewZoom;
17
+ export function setOrientation(orientation) {
18
+ Object.assign(state, {
19
+ orientation
20
+ });
21
+ }
19
22
 
20
- if (fullScreen) {
21
- ({ fullScreenViewZoom: viewZoom } = state);
22
- } else {
23
- ({ viewZoom } = state);
24
- }
23
+ export function getMenuZoom() {
24
+ stateFromPersistentState();
25
25
 
26
- const orientedViewZoom = viewZoom[orientation]; ///
26
+ let menuZoom;
27
27
 
28
- viewZoom = orientedViewZoom; ///
28
+ ({ menuZoom } = state);
29
29
 
30
- return viewZoom;
30
+ const { orientation } = state,
31
+ orientedMenuZoom = menuZoom[orientation]; ///
32
+
33
+ menuZoom = orientedMenuZoom; ///
34
+
35
+ return menuZoom;
31
36
  }
32
37
 
33
- export function setViewZoom(viewZoom) {
38
+ export function setMenuZoom(menuZoom) {
34
39
  stateFromPersistentState();
35
40
 
36
- const fullScreen = isFullScreen(),
37
- orientation = getOrientation();
38
-
39
- const orientedViewZoom = viewZoom; ///
41
+ const { orientation } = state,
42
+ orientedMenuZoom = menuZoom; ///
40
43
 
41
- if (fullScreen) {
42
- ({ fullScreenViewZoom: viewZoom } = state);
43
- } else {
44
- ({ viewZoom } = state);
45
- }
44
+ ({ menuZoom } = state);
46
45
 
47
- Object.assign(viewZoom, {
48
- [orientation]: orientedViewZoom
46
+ Object.assign(menuZoom, {
47
+ [orientation]: orientedMenuZoom
49
48
  });
50
49
 
51
50
  stateToPersistentState();
52
51
  }
53
52
 
54
- export function getMenuDivZoom() {
53
+ export function getOverlayZoom() {
55
54
  stateFromPersistentState();
56
55
 
57
- let menuDivZoom;
56
+ const fullScreen = isFullScreen(),
57
+ orientation = getOrientation();
58
58
 
59
- ({ menuDivZoom } = state);
59
+ let overlayZoom;
60
60
 
61
- const { orientation } = state,
62
- orientedMenuDivZoom = menuDivZoom[orientation]; ///
61
+ if (fullScreen) {
62
+ ({ fullScreenOverlayZoom: overlayZoom } = state);
63
+ } else {
64
+ ({ overlayZoom } = state);
65
+ }
66
+
67
+ const orientedOverlayZoom = overlayZoom[orientation]; ///
63
68
 
64
- menuDivZoom = orientedMenuDivZoom; ///
69
+ overlayZoom = orientedOverlayZoom; ///
65
70
 
66
- return menuDivZoom;
71
+ return overlayZoom;
67
72
  }
68
73
 
69
- export function setMenuDivZoom(menuDivZoom) {
74
+ export function setOverlayZoom(overlayZoom) {
70
75
  stateFromPersistentState();
71
76
 
72
- const { orientation } = state,
73
- orientedMenuDivZoom = menuDivZoom; ///
77
+ const fullScreen = isFullScreen(),
78
+ orientation = getOrientation();
74
79
 
75
- ({ menuDivZoom } = state);
80
+ const orientedOverlayZoom = overlayZoom; ///
76
81
 
77
- Object.assign(menuDivZoom, {
78
- [orientation]: orientedMenuDivZoom
82
+ if (fullScreen) {
83
+ ({ fullScreenOverlayZoom: overlayZoom } = state);
84
+ } else {
85
+ ({ overlayZoom } = state);
86
+ }
87
+
88
+ Object.assign(overlayZoom, {
89
+ [orientation]: orientedOverlayZoom
79
90
  });
80
91
 
81
92
  stateToPersistentState();
82
93
  }
83
94
 
84
- export function getOrientation() {
85
- const { orientation } = state;
95
+ export function areNativeGesturesRestored() {
96
+ stateFromPersistentState();
86
97
 
87
- return orientation;
98
+ const { nativeGesturesRestored } = state;
99
+
100
+ return nativeGesturesRestored;
88
101
  }
89
102
 
90
- export function setOrientation(orientation) {
103
+ export function setNativeGesturesRestored(nativeGesturesRestored) {
104
+ stateFromPersistentState();
105
+
91
106
  Object.assign(state, {
92
- orientation
107
+ nativeGesturesRestored
93
108
  });
109
+
110
+ stateToPersistentState();
94
111
  }
95
112
 
96
113
  export function areColoursInverted() {
@@ -112,11 +129,12 @@ export function setColoursInverted(coloursInverted) {
112
129
  }
113
130
 
114
131
  function stateToPersistentState() {
115
- const { viewZoom, menuDivZoom, fullScreenViewZoom, coloursInverted } = state,
132
+ const { menuZoom, overlayZoom, fullScreenOverlayZoom, nativeGesturesRestored, coloursInverted } = state,
116
133
  persistentState = {
117
- viewZoom,
118
- menuDivZoom,
119
- fullScreenViewZoom,
134
+ menuZoom,
135
+ overlayZoom,
136
+ fullScreenOverlayZoom,
137
+ nativeGesturesRestored,
120
138
  coloursInverted
121
139
  };
122
140
 
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { SINGLE_SPACE } from "../constants";
4
-
5
3
  export function elementsFromDOMElements(domElements, Element) {
6
4
  const elements = domElements.map((domElement) => {
7
5
  const element = elementFromDOMElement(domElement, Element);
@@ -13,22 +11,14 @@ export function elementsFromDOMElements(domElements, Element) {
13
11
  }
14
12
 
15
13
  export function elementFromDOMElement(domElement, Element) {
16
- const element = <Element/>;
14
+ const element =
17
15
 
18
- const { domElement: temporaryDOMElement } = element,
19
- { className: classNamesString } = temporaryDOMElement,
20
- classNames = classNamesString.split(SINGLE_SPACE);
16
+ <Element/>
21
17
 
22
- const { classList } = domElement,
23
- { childNodes } = temporaryDOMElement;
18
+ ,
19
+ className = classNameFromElement(element);
24
20
 
25
- childNodes.forEach((childNode) => {
26
- domElement.appendChild(childNode);
27
- });
28
-
29
- classNames.forEach((className) => {
30
- classList.add(className);
31
- });
21
+ addClassNameToDOMElement(domElement, className)
32
22
 
33
23
  element.domElement = domElement; ///
34
24
 
@@ -36,3 +26,16 @@ export function elementFromDOMElement(domElement, Element) {
36
26
 
37
27
  return element;
38
28
  }
29
+
30
+ function classNameFromElement(element) {
31
+ const domElement = element.getDOMElement(),
32
+ { className } = domElement;
33
+
34
+ return className;
35
+ }
36
+
37
+ function addClassNameToDOMElement(domElement, className) {
38
+ const { classList } = domElement;
39
+
40
+ classList.add(className);
41
+ }
@@ -4,7 +4,6 @@ import withStyle from "easy-with-style"; ///
4
4
 
5
5
  import Element from "../element";
6
6
  import CloseMenuButton from "../button/closeMenu";
7
- import FullScreenButton from "../button/fullScreen";
8
7
  import ZoomMenuInButton from "../button/zoomMenuIn";
9
8
  import ZoomMenuOutButton from "../button/zoomMenuOut";
10
9
 
@@ -14,10 +13,9 @@ class ButtonsDiv extends Element {
14
13
  childElements() {
15
14
  return ([
16
15
 
17
- <ZoomMenuInButton/>,
18
- <CloseMenuButton/>,
19
16
  <ZoomMenuOutButton/>,
20
- <FullScreenButton/>
17
+ <ZoomMenuInButton/>,
18
+ <CloseMenuButton/>
21
19
 
22
20
  ]);
23
21
  }
@@ -33,7 +31,7 @@ export default withStyle(ButtonsDiv)`
33
31
 
34
32
  gap: ${buttonsDivGap};
35
33
  display: grid;
36
- grid-template-rows: min-content min-content;
37
- grid-template-columns: min-content min-content;
34
+ grid-template-rows: min-content;
35
+ grid-template-columns: min-content min-content min-content;
38
36
 
39
37
  `;