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.
- package/bin/constants.js +4 -2
- package/bin/importer.js +7 -4
- package/bin/operation/markdownHTML.js +31 -9
- package/bin/operation/markdownStylesCSS.js +17 -10
- package/client.js +549 -710
- package/lib/client.js +32 -5
- package/lib/constants.js +5 -9
- package/lib/createMethods.js +35 -17
- package/lib/localStorage.js +6 -5
- package/lib/mixins/fullsrean.js +3 -5
- package/lib/selectors.js +2 -6
- package/lib/state.js +62 -44
- package/lib/utilities/element.js +11 -11
- package/lib/view/div/buttons.js +4 -6
- package/lib/view/div/checkbox/{restoreNativeGestures.js → fullScreen.js} +23 -16
- package/lib/view/div/checkbox/invertColours.js +9 -6
- package/lib/view/div/checkbox/nativeGestures.js +154 -0
- package/lib/view/div/checkboxes.js +5 -3
- package/lib/view/div/menu.js +11 -43
- package/lib/view/div/overlay.js +115 -157
- package/lib/view/{div/leaf.js → div.js} +21 -16
- package/lib/view.js +24 -6
- package/package.json +3 -2
- package/src/client.js +10 -5
- package/src/constants.js +1 -2
- package/src/createMethods.js +52 -16
- package/src/localStorage.js +9 -6
- package/src/mixins/fullsrean.js +3 -4
- package/src/selectors.js +1 -2
- package/src/state.js +66 -48
- package/src/utilities/element.js +18 -15
- package/src/view/div/buttons.js +4 -6
- package/src/view/div/checkbox/fullScreen.js +38 -0
- package/src/view/div/checkbox/invertColours.js +7 -3
- package/src/view/div/checkbox/nativeGestures.js +38 -0
- package/src/view/div/checkboxes.js +4 -2
- package/src/view/div/menu.js +13 -45
- package/src/view/div/overlay.js +132 -186
- package/src/view/{div/leaf.js → div.js} +15 -10
- package/src/view.js +19 -5
- package/lib/utilities/tree.js +0 -55
- package/lib/view/button/fullScreen.js +0 -121
- package/lib/view/svg/fullScreen.js +0 -138
- package/src/utilities/tree.js +0 -29
- package/src/view/button/fullScreen.js +0 -16
- package/src/view/div/checkbox/restoreNativeGestures.js +0 -29
- 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("
|
|
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
|
|
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
|
|
183
|
-
_inherits(
|
|
184
|
-
var _super = _create_super(
|
|
185
|
-
function
|
|
186
|
-
_class_call_check(this,
|
|
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(
|
|
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(
|
|
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
|
|
217
|
+
return Div;
|
|
210
218
|
}(_wrap_native_super(_easy.Element));
|
|
211
|
-
_define_property(
|
|
212
|
-
|
|
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,
|
|
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.
|
|
196
|
-
this.
|
|
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
|
|
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
|
-
|
|
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
|
-
"
|
|
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,
|
|
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.
|
|
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.
|
|
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 {
|
|
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
|
|
22
|
+
const divDOMElements = [ ...document.querySelectorAll(DIVS_SELECTOR) ]; ///
|
|
22
23
|
|
|
23
|
-
|
|
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
|
|
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;
|
package/src/createMethods.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
42
|
+
const coloursInverted = true;
|
|
43
|
+
|
|
44
|
+
setColoursInverted(coloursInverted);
|
|
45
|
+
|
|
46
|
+
view.updateOverlayColours();
|
|
22
47
|
}
|
|
23
48
|
|
|
24
49
|
function revertColours() {
|
|
25
|
-
|
|
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
|
-
|
|
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
|
-
|
|
42
|
-
}
|
|
80
|
+
const nativeGesturesRestored = false;
|
|
43
81
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
82
|
+
setNativeGesturesRestored(nativeGesturesRestored);
|
|
83
|
+
|
|
84
|
+
view.updateNativeGestures();
|
|
47
85
|
|
|
48
|
-
|
|
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
|
}
|
package/src/localStorage.js
CHANGED
|
@@ -2,23 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
import { STATE_KEY, LANDSCAPE_ORIENTATION, PORTRAIT_ORIENTATION } from "./constants";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const menuZoom = {
|
|
6
6
|
[PORTRAIT_ORIENTATION]: 1,
|
|
7
7
|
[LANDSCAPE_ORIENTATION]: 1
|
|
8
8
|
},
|
|
9
|
-
|
|
9
|
+
overlayZoom = {
|
|
10
10
|
[PORTRAIT_ORIENTATION]: 1,
|
|
11
11
|
[LANDSCAPE_ORIENTATION]: 1
|
|
12
12
|
},
|
|
13
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
+
|
package/src/mixins/fullsrean.js
CHANGED
|
@@ -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
|
-
.
|
|
24
|
-
|
|
25
|
-
});
|
|
23
|
+
.then(callback)
|
|
24
|
+
.catch(alert);
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
function onFullscreenchange(fullscreenchangeHandler) {
|
package/src/selectors.js
CHANGED
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
|
|
13
|
-
|
|
11
|
+
export function getOrientation() {
|
|
12
|
+
const { orientation } = state;
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
return orientation;
|
|
15
|
+
}
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
export function setOrientation(orientation) {
|
|
18
|
+
Object.assign(state, {
|
|
19
|
+
orientation
|
|
20
|
+
});
|
|
21
|
+
}
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} else {
|
|
23
|
-
({ viewZoom } = state);
|
|
24
|
-
}
|
|
23
|
+
export function getMenuZoom() {
|
|
24
|
+
stateFromPersistentState();
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
let menuZoom;
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
({ menuZoom } = state);
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
const { orientation } = state,
|
|
31
|
+
orientedMenuZoom = menuZoom[orientation]; ///
|
|
32
|
+
|
|
33
|
+
menuZoom = orientedMenuZoom; ///
|
|
34
|
+
|
|
35
|
+
return menuZoom;
|
|
31
36
|
}
|
|
32
37
|
|
|
33
|
-
export function
|
|
38
|
+
export function setMenuZoom(menuZoom) {
|
|
34
39
|
stateFromPersistentState();
|
|
35
40
|
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const orientedViewZoom = viewZoom; ///
|
|
41
|
+
const { orientation } = state,
|
|
42
|
+
orientedMenuZoom = menuZoom; ///
|
|
40
43
|
|
|
41
|
-
|
|
42
|
-
({ fullScreenViewZoom: viewZoom } = state);
|
|
43
|
-
} else {
|
|
44
|
-
({ viewZoom } = state);
|
|
45
|
-
}
|
|
44
|
+
({ menuZoom } = state);
|
|
46
45
|
|
|
47
|
-
Object.assign(
|
|
48
|
-
[orientation]:
|
|
46
|
+
Object.assign(menuZoom, {
|
|
47
|
+
[orientation]: orientedMenuZoom
|
|
49
48
|
});
|
|
50
49
|
|
|
51
50
|
stateToPersistentState();
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
export function
|
|
53
|
+
export function getOverlayZoom() {
|
|
55
54
|
stateFromPersistentState();
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
const fullScreen = isFullScreen(),
|
|
57
|
+
orientation = getOrientation();
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
let overlayZoom;
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
if (fullScreen) {
|
|
62
|
+
({ fullScreenOverlayZoom: overlayZoom } = state);
|
|
63
|
+
} else {
|
|
64
|
+
({ overlayZoom } = state);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const orientedOverlayZoom = overlayZoom[orientation]; ///
|
|
63
68
|
|
|
64
|
-
|
|
69
|
+
overlayZoom = orientedOverlayZoom; ///
|
|
65
70
|
|
|
66
|
-
return
|
|
71
|
+
return overlayZoom;
|
|
67
72
|
}
|
|
68
73
|
|
|
69
|
-
export function
|
|
74
|
+
export function setOverlayZoom(overlayZoom) {
|
|
70
75
|
stateFromPersistentState();
|
|
71
76
|
|
|
72
|
-
const
|
|
73
|
-
|
|
77
|
+
const fullScreen = isFullScreen(),
|
|
78
|
+
orientation = getOrientation();
|
|
74
79
|
|
|
75
|
-
|
|
80
|
+
const orientedOverlayZoom = overlayZoom; ///
|
|
76
81
|
|
|
77
|
-
|
|
78
|
-
|
|
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
|
|
85
|
-
|
|
95
|
+
export function areNativeGesturesRestored() {
|
|
96
|
+
stateFromPersistentState();
|
|
86
97
|
|
|
87
|
-
|
|
98
|
+
const { nativeGesturesRestored } = state;
|
|
99
|
+
|
|
100
|
+
return nativeGesturesRestored;
|
|
88
101
|
}
|
|
89
102
|
|
|
90
|
-
export function
|
|
103
|
+
export function setNativeGesturesRestored(nativeGesturesRestored) {
|
|
104
|
+
stateFromPersistentState();
|
|
105
|
+
|
|
91
106
|
Object.assign(state, {
|
|
92
|
-
|
|
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 {
|
|
132
|
+
const { menuZoom, overlayZoom, fullScreenOverlayZoom, nativeGesturesRestored, coloursInverted } = state,
|
|
116
133
|
persistentState = {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
134
|
+
menuZoom,
|
|
135
|
+
overlayZoom,
|
|
136
|
+
fullScreenOverlayZoom,
|
|
137
|
+
nativeGesturesRestored,
|
|
120
138
|
coloursInverted
|
|
121
139
|
};
|
|
122
140
|
|
package/src/utilities/element.js
CHANGED
|
@@ -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 =
|
|
14
|
+
const element =
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
{ className: classNamesString } = temporaryDOMElement,
|
|
20
|
-
classNames = classNamesString.split(SINGLE_SPACE);
|
|
16
|
+
<Element/>
|
|
21
17
|
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
,
|
|
19
|
+
className = classNameFromElement(element);
|
|
24
20
|
|
|
25
|
-
|
|
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
|
+
}
|
package/src/view/div/buttons.js
CHANGED
|
@@ -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
|
-
<
|
|
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
|
|
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
|
`;
|