UNPKG

3.53 kBJavaScriptView Raw
1import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2var docStyle = window.document.documentElement.style;
3export function getContainer(domId) {
4 var $dom = domId;
5
6 if (typeof domId === 'string') {
7 $dom = document.getElementById(domId);
8 }
9
10 return $dom;
11}
12export function trim(str) {
13 return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
14}
15export function splitWords(str) {
16 return trim(str).split(/\s+/);
17}
18
19function testProp(props) {
20 if (!docStyle) {
21 return props[0];
22 }
23
24 for (var i in props) {
25 if (props[i] && props[i] in docStyle) {
26 return props[i];
27 }
28 }
29
30 return props[0];
31}
32
33export function create(tagName, className, container) {
34 var el = document.createElement(tagName);
35 el.className = className || '';
36
37 if (container) {
38 container.appendChild(el);
39 }
40
41 return el;
42}
43export function remove(el) {
44 var parent = el.parentNode;
45
46 if (parent) {
47 parent.removeChild(el);
48 }
49}
50export function addClass(el, name) {
51 if (el.classList !== undefined) {
52 var classes = splitWords(name);
53
54 for (var i = 0, len = classes.length; i < len; i++) {
55 el.classList.add(classes[i]);
56 }
57 } else if (!hasClass(el, name)) {
58 var className = getClass(el);
59 setClass(el, (className ? className + ' ' : '') + name);
60 }
61}
62export function removeClass(el, name) {
63 if (el.classList !== undefined) {
64 el.classList.remove(name);
65 } else {
66 setClass(el, trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')));
67 }
68}
69export function hasClass(el, name) {
70 if (el.classList !== undefined) {
71 return el.classList.contains(name);
72 }
73
74 var className = getClass(el);
75 return className.length > 0 && new RegExp('(^|\\s)' + name + '(\\s|$)').test(className);
76}
77export function setClass(el, name) {
78 if (el instanceof HTMLElement) {
79 el.className = name;
80 } else {
81 el.className.baseVal = name;
82 }
83}
84export function getClass(el) {
85 if (el instanceof SVGElement) {
86 el = el.correspondingElement;
87 }
88
89 return el.className.baseVal === undefined ? el.className : el.className.baseVal;
90}
91export function empty(el) {
92 while (el && el.firstChild) {
93 el.removeChild(el.firstChild);
94 }
95}
96var transformProp = testProp(['transform', 'WebkitTransform']);
97export function setTransform(el, value) {
98 el.style[transformProp] = value;
99}
100export function triggerResize() {
101 if (typeof Event === 'function') {
102 window.dispatchEvent(new Event('resize'));
103 } else {
104 var evt = window.document.createEvent('UIEvents');
105 evt.initUIEvent('resize', true, false, window, 0);
106 window.dispatchEvent(evt);
107 }
108}
109export function printCanvas(canvas) {
110 var css = ['padding: ' + (canvas.height / 2 - 8) + 'px ' + canvas.width / 2 + 'px;', 'line-height: ' + canvas.height + 'px;', 'background-image: url(' + canvas.toDataURL() + ');'];
111 console.log('%c\n', css.join(''));
112}
113export function getViewPortScale() {
114 var _content;
115
116 var meta = document.querySelector('meta[name="viewport"]');
117
118 if (!meta) {
119 return 1;
120 }
121
122 var contentItems = (_content = meta.content) === null || _content === void 0 ? void 0 : _content.split(',');
123 var scale = contentItems.find(function (item) {
124 var _item$split = item.split('='),
125 _item$split2 = _slicedToArray(_item$split, 2),
126 key = _item$split2[0],
127 value = _item$split2[1];
128
129 return key === 'initial-scale';
130 });
131 return scale ? scale.split('=')[1] * 1 : 1;
132}
133export var DPR = getViewPortScale() < 1 ? 1 : window.devicePixelRatio;
134//# sourceMappingURL=dom.js.map
\No newline at end of file