|
1 | 1 | export const getAbsoluteXY = element => { |
2 | | - var viewportElement = document.documentElement; |
3 | | - var box = element.getBoundingClientRect(); |
4 | | - var scrollLeft = viewportElement.scrollLeft; |
5 | | - var scrollTop = viewportElement.scrollTop; |
6 | | - return { |
7 | | - x: box.left + scrollLeft, |
8 | | - y: box.top + scrollTop |
9 | | - }; |
| 2 | + const viewportElement = document.documentElement; |
| 3 | + const box = element.getBoundingClientRect(); |
| 4 | + const scrollLeft = viewportElement.scrollLeft; |
| 5 | + const scrollTop = viewportElement.scrollTop; |
| 6 | + return { |
| 7 | + x: box.left + scrollLeft, |
| 8 | + y: box.top + scrollTop |
| 9 | + }; |
10 | 10 | }; |
11 | 11 |
|
12 | 12 | export const snapToGrip = (val, gridSize) => { |
13 | | - return gridSize * Math.round(val / gridSize); |
14 | | -}; |
15 | | - |
16 | | -export const invertColor = (hex, bw) => { |
17 | | - if (hex.indexOf('#') === 0) { |
18 | | - hex = hex.slice(1); |
19 | | - } |
20 | | - if (hex.length === 3) { |
21 | | - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; |
22 | | - } |
23 | | - if (hex.length !== 6) { |
24 | | - throw new Error('Invalid HEX color.'); |
25 | | - } |
26 | | - var r = parseInt(hex.slice(0, 2), 16), |
27 | | - g = parseInt(hex.slice(2, 4), 16), |
28 | | - b = parseInt(hex.slice(4, 6), 16); |
29 | | - if (bw) { |
30 | | - return (r * 0.299 + g * 0.587 + b * 0.114) > 186 |
31 | | - ? '#000000' |
32 | | - : '#FFFFFF'; |
33 | | - } |
34 | | - r = (255 - r).toString(16); |
35 | | - g = (255 - g).toString(16); |
36 | | - b = (255 - b).toString(16); |
37 | | - return "#" + padZero(r) + padZero(g) + padZero(b); |
| 13 | + return gridSize * Math.round(val / gridSize); |
38 | 14 | }; |
0 commit comments