muigui 0.0.3 → 0.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muigui",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "A Simple GUI",
5
5
  "main": "muigui.js",
6
6
  "module": "src/muigui.js",
package/src/libs/touch.js CHANGED
@@ -17,7 +17,7 @@ export function computeRelativePosition(elem, event, start) {
17
17
 
18
18
  export function addTouchEvents(elem, {onDown = noop, onMove = noop, onUp = noop}) {
19
19
  let start;
20
- const mouseMove = function(event) {
20
+ const pointerMove = function(event) {
21
21
  const e = {
22
22
  type: 'move',
23
23
  ...computeRelativePosition(elem, event, start),
@@ -25,15 +25,21 @@ export function addTouchEvents(elem, {onDown = noop, onMove = noop, onUp = noop}
25
25
  onMove(e);
26
26
  };
27
27
 
28
- const mouseUp = function() {
29
- window.removeEventListener('mousemove', mouseMove);
30
- window.removeEventListener('mouseup', mouseUp);
28
+ const pointerUp = function(event) {
29
+ elem.releasePointerCapture(event.pointerId);
30
+ elem.removeEventListener('pointermove', pointerMove);
31
+ elem.removeEventListener('pointerup', pointerUp);
32
+
33
+ document.body.style.backgroundColor = '';
34
+
31
35
  onUp('up');
32
36
  };
33
37
 
34
- const mouseDown = function(event) {
35
- window.addEventListener('mousemove', mouseMove);
36
- window.addEventListener('mouseup', mouseUp);
38
+ const pointerDown = function(event) {
39
+ elem.addEventListener('pointermove', pointerMove);
40
+ elem.addEventListener('pointerup', pointerUp);
41
+ elem.setPointerCapture(event.pointerId);
42
+
37
43
  const rel = computeRelativePosition(elem, event);
38
44
  start = [rel.x, rel.y];
39
45
  onDown({
@@ -42,9 +48,9 @@ export function addTouchEvents(elem, {onDown = noop, onMove = noop, onUp = noop}
42
48
  });
43
49
  };
44
50
 
45
- elem.addEventListener('mousedown', mouseDown);
51
+ elem.addEventListener('pointerdown', pointerDown);
46
52
 
47
53
  return function() {
48
- elem.removeEventListener('mousedown', mouseDown);
54
+ elem.removeEventListener('pointerdown', pointerDown);
49
55
  };
50
56
  }
@@ -41,6 +41,16 @@ const css = `
41
41
  box-sizing: inherit;
42
42
  }
43
43
 
44
+ .muigui-no-scroll {
45
+ touch-action: none;
46
+ }
47
+ .muigui-no-h-scroll {
48
+ touch-action: pan-y;
49
+ }
50
+ .muigui-no-v-scroll {
51
+ touch-action: pan-x;
52
+ }
53
+
44
54
  .muigui-invalid-value {
45
55
  background-color: red !important;
46
56
  color: white !important;
@@ -59,6 +59,7 @@ export default class ColorChooserView extends EditView {
59
59
  constructor(setter) {
60
60
  super(createElem('div', {
61
61
  innerHTML: svg,
62
+ className: 'muigui-no-scroll',
62
63
  }));
63
64
  this.#satLevelElem = this.domElement.children[0];
64
65
  this.#hueUIElem = this.domElement.children[1];
@@ -63,7 +63,7 @@ export default class DirectionView extends EditView {
63
63
  constructor(setter, options = {}) {
64
64
  const wheelHelper = createWheelHelper();
65
65
  super(createElem('div', {
66
- className: 'muigui-direction',
66
+ className: 'muigui-direction muigui-no-scroll',
67
67
  innerHTML: svg,
68
68
  onWheel: e => {
69
69
  e.preventDefault();
@@ -102,6 +102,7 @@ export default class SliderView extends EditView {
102
102
  const wheelHelper = createWheelHelper();
103
103
  super(createElem('div', {
104
104
  innerHTML: svg,
105
+ className: 'muigui-no-v-scroll',
105
106
  onWheel: e => {
106
107
  e.preventDefault();
107
108
  const {min, max, step} = this.#options;
@@ -22,6 +22,7 @@ export default class Vec2View extends EditView {
22
22
  constructor(setter) {
23
23
  super(createElem('div', {
24
24
  innerHTML: svg,
25
+ className: 'muigui-no-scroll',
25
26
  }));
26
27
  const onTouch = (e) => {
27
28
  const {width, height} = this.#svgElem.getBoundingClientRect();