diff --git a/README.md b/README.md
index bb550af..d66cc5c 100644
--- a/README.md
+++ b/README.md
@@ -2,15 +2,15 @@
Peek.js
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Peek.js%2C%20a%20free%20JavaScript%json%20converter&url=https://github.com/williamtroup/Peek.js&hashtags=javascript,element,property,viewer)
-[![npm](https://img.shields.io/badge/npmjs-v1.7.0-blue)](https://www.npmjs.com/package/jpeek.js)
-[![nuget](https://img.shields.io/badge/nuget-v1.7.0-purple)](https://www.nuget.org/packages/Peek.js/)
+[![npm](https://img.shields.io/badge/npmjs-v1.8.0-blue)](https://www.npmjs.com/package/jpeek.js)
+[![nuget](https://img.shields.io/badge/nuget-v1.8.0-purple)](https://www.nuget.org/packages/Peek.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/Peek.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/Peek.js/discussions)
[![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/)
>
🐛 A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
->
v1.7.0
+>
v1.8.0
![Peek.js - CSS Mode](docs/images/css-mode.png)
@@ -64,8 +64,8 @@ npm install jpeek.js
You can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.7.0/dist/peek.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.7.0/dist/peek.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.8.0/dist/peek.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.8.0/dist/peek.js.min.css
```
@@ -106,7 +106,7 @@ Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows
```
-To see a list of all the available binding options you can use, click [here](docs/options/OPTIONS.md).
+To see a list of all the available binding options you can use, click [here](docs/options/START_OPTIONS.md).
diff --git a/README_NUGET.md b/README_NUGET.md
index 66b483b..e989332 100644
--- a/README_NUGET.md
+++ b/README_NUGET.md
@@ -1,8 +1,8 @@
-# Peek.js v1.7.0
+# Peek.js v1.8.0
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Peek.js%2C%20a%20free%20JavaScript%json%20converter&url=https://github.com/williamtroup/Peek.js&hashtags=javascript,element,property,viewer)
-[![npm](https://img.shields.io/badge/npmjs-v1.7.0-blue)](https://www.npmjs.com/package/jpeek.js)
-[![nuget](https://img.shields.io/badge/nuget-v1.7.0-purple)](https://www.nuget.org/packages/Peek.js/)
+[![npm](https://img.shields.io/badge/npmjs-v1.8.0-blue)](https://www.npmjs.com/package/jpeek.js)
+[![nuget](https://img.shields.io/badge/nuget-v1.8.0-purple)](https://www.nuget.org/packages/Peek.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/Peek.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/Peek.js/discussions)
[![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/)
@@ -47,8 +47,8 @@ npm install jpeek.js
You can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.7.0/dist/peek.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.7.0/dist/peek.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.8.0/dist/peek.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/Peek.js@1.8.0/dist/peek.js.min.css
```
@@ -81,7 +81,7 @@ Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows
```
-To see a list of all the available binding options you can use, click [here](docs/options/OPTIONS.md).
+To see a list of all the available binding options you can use, click [here](docs/options/START_OPTIONS.md).
### 4. Finishing Up:
diff --git a/dist/peek.esm.js b/dist/peek.esm.js
index eb679bc..aa52c38 100644
--- a/dist/peek.esm.js
+++ b/dist/peek.esm.js
@@ -5,32 +5,32 @@ var e;
return e !== null && e !== void 0 && e.toString() !== "";
}
e.defined = t;
- function n(e) {
+ function o(e) {
return t(e) && typeof e === "object";
}
- e.definedObject = n;
- function o(e) {
+ e.definedObject = o;
+ function n(e) {
return t(e) && typeof e === "boolean";
}
- e.definedBoolean = o;
- function l(e) {
+ e.definedBoolean = n;
+ function i(e) {
return t(e) && typeof e === "string";
}
- e.definedString = l;
- function i(e) {
+ e.definedString = i;
+ function l(e) {
return t(e) && typeof e === "function";
}
- e.definedFunction = i;
+ e.definedFunction = l;
function r(e) {
return t(e) && typeof e === "number";
}
e.definedNumber = r;
function s(e) {
- return n(e) && e instanceof Array;
+ return o(e) && e instanceof Array;
}
e.definedArray = s;
function a(e) {
- return n(e) && e instanceof Date;
+ return o(e) && e instanceof Date;
}
e.definedDate = a;
function c(e, t = 1) {
@@ -59,37 +59,37 @@ var t;
e.PEEK_JS_IGNORE_STATE_ATTRIBUTE = "data-peek-js-ignore-state";
})(t || (t = {}));
-var n;
+var o;
-(n => {
- function o(n, o, l = "", i = false) {
- const r = o.toLowerCase();
+(o => {
+ function n(o, n, i = "", l = false) {
+ const r = n.toLowerCase();
const s = r === "text";
let a = s ? document.createTextNode("") : document.createElement(r);
a.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE, "ignore");
- if (e.definedString(l)) {
- a.className = l;
+ if (e.definedString(i)) {
+ a.className = i;
}
- if (!i) {
- n.appendChild(a);
+ if (!l) {
+ o.appendChild(a);
} else {
- n.insertBefore(a, n.children[0]);
+ o.insertBefore(a, o.children[0]);
}
return a;
}
- n.create = o;
- function l(e, n, l, i, r = false) {
- const s = o(e, n, l, r);
- s.innerHTML = i;
+ o.create = n;
+ function i(e, o, i, l, r = false) {
+ const s = n(e, o, i, r);
+ s.innerHTML = l;
s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE, "ignore");
return s;
}
- n.createWithHTML = l;
- function i(e) {
+ o.createWithHTML = i;
+ function l(e) {
e.preventDefault();
e.stopPropagation();
}
- n.cancelBubble = i;
+ o.cancelBubble = l;
function r() {
const e = document.documentElement;
const t = {
@@ -98,34 +98,36 @@ var n;
};
return t;
}
- n.getScrollPosition = r;
- function s(e, t) {
+ o.getScrollPosition = r;
+ function s(e, t, o) {
if (t.style.display !== "block") {
let n = e.pageX;
- let o = e.pageY;
+ let i = e.pageY;
const l = r();
t.style.display = "block";
if (n + t.offsetWidth > window.innerWidth) {
- n -= t.offsetWidth;
+ n -= t.offsetWidth + o;
} else {
n++;
+ n += o;
}
- if (o + t.offsetHeight > window.innerHeight) {
- o -= t.offsetHeight;
+ if (i + t.offsetHeight > window.innerHeight) {
+ i -= t.offsetHeight + o;
} else {
- o++;
+ i++;
+ i += o;
}
if (n < l.left) {
n = e.pageX + 1;
}
- if (o < l.top) {
- o = e.pageY + 1;
+ if (i < l.top) {
+ i = e.pageY + 1;
}
t.style.left = `${n}px`;
- t.style.top = `${o}px`;
+ t.style.top = `${i}px`;
}
}
- n.showElementAtMousePosition = s;
+ o.showElementAtMousePosition = s;
function a(e) {
const t = {
left: 0,
@@ -138,124 +140,128 @@ var n;
}
return t;
}
- n.getOffset = a;
-})(n || (n = {}));
+ o.getOffset = a;
+})(o || (o = {}));
-var o;
+var n;
(t => {
- function n(e, t) {
+ function o(e, t) {
return typeof e === "string" ? e : t;
}
- t.getAnyString = n;
- function o(t, n) {
- return e.definedString(t) ? t : n;
+ t.getAnyString = o;
+ function n(t, o) {
+ return e.definedString(t) ? t : o;
}
- t.getString = o;
- function l(t, n) {
- return e.definedBoolean(t) ? t : n;
+ t.getString = n;
+ function i(t, o) {
+ return e.definedBoolean(t) ? t : o;
}
- t.getBoolean = l;
- function i(t, n) {
- return e.definedNumber(t) ? t : n;
+ t.getBoolean = i;
+ function l(t, o) {
+ return e.definedNumber(t) ? t : o;
}
- t.getNumber = i;
- function r(t, n) {
- return e.definedArray(t) ? t : n;
+ t.getNumber = l;
+ function r(t, o) {
+ return e.definedArray(t) ? t : o;
}
t.getArray = r;
- function s(t, n) {
- return e.definedObject(t) ? t : n;
+ function s(t, o) {
+ return e.definedObject(t) ? t : o;
}
t.getObject = s;
- function a(t, n) {
- let o = n;
+ function a(t, o) {
+ let n = o;
if (e.definedString(t)) {
const e = t.toString().split(" ");
if (e.length === 0) {
- t = n;
+ t = o;
} else {
- o = e;
+ n = e;
}
} else {
- o = r(t, n);
+ n = r(t, o);
}
- return o;
+ return n;
}
t.getStringOrArray = a;
-})(o || (o = {}));
+})(n || (n = {}));
-var l;
+var i;
(e => {
let t;
(e => {
function t(e = null) {
- let t = o.getObject(e, {});
- t.dialogDisplayDelay = o.getNumber(t.dialogDisplayDelay, 1e3);
- t.searchDelayDelay = o.getNumber(t.searchDelayDelay, 500);
- t = n(t);
+ let t = n.getObject(e, {});
+ t.dialogShowDelay = n.getNumber(t.dialogShowDelay, 1e3);
+ t.dialogHideDelay = n.getNumber(t.dialogHideDelay, 500);
+ t.searchDelay = n.getNumber(t.searchDelay, 500);
+ t = o(t);
return t;
}
e.get = t;
- function n(e) {
- e.text = o.getObject(e.text, {});
- e.text.cssText = o.getAnyString(e.text.cssText, "CSS");
- e.text.attributesText = o.getAnyString(e.text.attributesText, "Attributes");
- e.text.sizeText = o.getAnyString(e.text.sizeText, "Size");
- e.text.classesText = o.getAnyString(e.text.classesText, "Classes");
- e.text.noAttributesAvailableText = o.getAnyString(e.text.noAttributesAvailableText, "No attributes are available.");
- e.text.closeText = o.getAnyString(e.text.closeText, "Close");
- e.text.copyText = o.getAnyString(e.text.copyText, "Copy");
- e.text.copySymbolText = o.getAnyString(e.text.copySymbolText, "❐");
- e.text.pasteText = o.getAnyString(e.text.pasteText, "Paste");
- e.text.pasteSymbolText = o.getAnyString(e.text.pasteSymbolText, "☐");
- e.text.removeText = o.getAnyString(e.text.removeText, "Remove");
- e.text.removeSymbolText = o.getAnyString(e.text.removeSymbolText, "✕");
- e.text.noClassesAvailableText = o.getAnyString(e.text.noClassesAvailableText, "No classes are available.");
- e.text.searchPropertiesPlaceHolderText = o.getAnyString(e.text.searchPropertiesPlaceHolderText, "Search properties...");
- e.text.clearText = o.getAnyString(e.text.clearText, "Clear");
- e.text.clearSymbolText = o.getAnyString(e.text.clearSymbolText, "✕");
- e.text.noPropertiesFoundForSearchText = o.getAnyString(e.text.noPropertiesFoundForSearchText, "No properties were found for your search.");
- e.text.dialogMovedSymbolText = o.getAnyString(e.text.dialogMovedSymbolText, "✸");
- e.text.propertyValuePlaceHolderText = o.getAnyString(e.text.propertyValuePlaceHolderText, "Enter value...");
- e.text.modeNotSupportedText = o.getAnyString(e.text.modeNotSupportedText, "The mode you have specified is not supported.");
- e.text.unknownModeText = o.getAnyString(e.text.unknownModeText, "Unknown Mode");
- e.text.moveUpText = o.getAnyString(e.text.moveUpText, "Move Up");
- e.text.moveUpSymbolText = o.getAnyString(e.text.moveUpSymbolText, "↑");
- e.text.moveDownText = o.getAnyString(e.text.moveDownText, "Move Down");
- e.text.moveDownSymbolText = o.getAnyString(e.text.moveDownSymbolText, "↓");
- e.text.removeElementSymbolText = o.getAnyString(e.text.removeElementSymbolText, "⌫");
- e.text.lockText = o.getAnyString(e.text.lockText, "Lock");
+ function o(e) {
+ e.text = n.getObject(e.text, {});
+ e.text.cssText = n.getAnyString(e.text.cssText, "CSS");
+ e.text.attributesText = n.getAnyString(e.text.attributesText, "Attributes");
+ e.text.sizeText = n.getAnyString(e.text.sizeText, "Size");
+ e.text.classesText = n.getAnyString(e.text.classesText, "Classes");
+ e.text.noAttributesAvailableText = n.getAnyString(e.text.noAttributesAvailableText, "No attributes are available.");
+ e.text.closeText = n.getAnyString(e.text.closeText, "Close");
+ e.text.copyText = n.getAnyString(e.text.copyText, "Copy");
+ e.text.copySymbolText = n.getAnyString(e.text.copySymbolText, "❐");
+ e.text.pasteText = n.getAnyString(e.text.pasteText, "Paste");
+ e.text.pasteSymbolText = n.getAnyString(e.text.pasteSymbolText, "☐");
+ e.text.removeText = n.getAnyString(e.text.removeText, "Remove");
+ e.text.removeSymbolText = n.getAnyString(e.text.removeSymbolText, "✕");
+ e.text.noClassesAvailableText = n.getAnyString(e.text.noClassesAvailableText, "No classes are available.");
+ e.text.searchPropertiesPlaceHolderText = n.getAnyString(e.text.searchPropertiesPlaceHolderText, "Search properties...");
+ e.text.clearText = n.getAnyString(e.text.clearText, "Clear");
+ e.text.clearSymbolText = n.getAnyString(e.text.clearSymbolText, "✕");
+ e.text.noPropertiesFoundForSearchText = n.getAnyString(e.text.noPropertiesFoundForSearchText, "No properties were found for your search.");
+ e.text.dialogMovedSymbolText = n.getAnyString(e.text.dialogMovedSymbolText, "✸");
+ e.text.propertyValuePlaceHolderText = n.getAnyString(e.text.propertyValuePlaceHolderText, "Enter value...");
+ e.text.modeNotSupportedText = n.getAnyString(e.text.modeNotSupportedText, "The mode you have specified is not supported.");
+ e.text.unknownModeText = n.getAnyString(e.text.unknownModeText, "Unknown Mode");
+ e.text.moveUpText = n.getAnyString(e.text.moveUpText, "Move Up");
+ e.text.moveUpSymbolText = n.getAnyString(e.text.moveUpSymbolText, "↑");
+ e.text.moveDownText = n.getAnyString(e.text.moveDownText, "Move Down");
+ e.text.moveDownSymbolText = n.getAnyString(e.text.moveDownSymbolText, "↓");
+ e.text.removeElementSymbolText = n.getAnyString(e.text.removeElementSymbolText, "⌫");
+ e.text.lockText = n.getAnyString(e.text.lockText, "Lock");
return e;
}
})(t = e.Options || (e.Options = {}));
-})(l || (l = {}));
+})(i || (i = {}));
-var i;
+var l;
(e => {
let t;
(e => {
function t(e) {
- let t = o.getObject(e, {});
- t.nodeType = o.getStringOrArray(t.nodeType, []);
- t.mode = o.getNumber(t.mode, 1);
- t.titleText = o.getString(t.titleText, "");
- t.showOnly = o.getStringOrArray(t.showOnly, []);
- t.allowEditing = o.getBoolean(t.allowEditing, false);
- t.showIdOrNameInTitle = o.getBoolean(t.showIdOrNameInTitle, true);
- t.showNodeNameInTitle = o.getBoolean(t.showNodeNameInTitle, false);
- t.ignoreValues = o.getStringOrArray(t.ignoreValues, []);
- t.showLockButtonInTitle = o.getBoolean(t.showLockButtonInTitle, true);
+ let t = n.getObject(e, {});
+ t.nodeType = n.getStringOrArray(t.nodeType, []);
+ t.mode = n.getNumber(t.mode, 1);
+ t.titleText = n.getString(t.titleText, "");
+ t.showOnly = n.getStringOrArray(t.showOnly, []);
+ t.allowEditing = n.getBoolean(t.allowEditing, false);
+ t.showIdOrNameInTitle = n.getBoolean(t.showIdOrNameInTitle, true);
+ t.showNodeNameInTitle = n.getBoolean(t.showNodeNameInTitle, false);
+ t.ignoreValues = n.getStringOrArray(t.ignoreValues, []);
+ t.showLockButtonInTitle = n.getBoolean(t.showLockButtonInTitle, true);
+ t.dialogOffset = n.getNumber(t.dialogOffset, 0);
+ t.showSearch = n.getBoolean(t.showSearch, true);
+ t.showSearchPropertyCount = n.getNumber(t.showSearchPropertyCount, 15);
return t;
}
e.get = t;
})(t = e.Options || (e.Options = {}));
-})(i || (i = {}));
+})(l || (l = {}));
(() => {
- let o = {};
+ let n = {};
let r = null;
let s = null;
let a = null;
@@ -266,124 +272,140 @@ var i;
let p = null;
let x = null;
let g = null;
- let y = null;
let m = null;
+ let y = null;
let T = null;
+ let h = 0;
let v = 0;
let b = null;
- let h = [];
- let S = {};
+ let S = [];
+ let w = {};
let A = null;
- let w = false;
- let L = 0;
+ let L = false;
+ let N = 0;
let E = 0;
- let N = null;
- let O = 0;
+ let O = null;
+ let H = 0;
let M = 0;
- let H = false;
- let P = 0;
+ let P = false;
+ let C = 0;
let k = 0;
- function C() {
+ function W() {
if (e.definedObject(r)) {
- D();
+ I();
document.body.removeChild(r);
r = null;
}
- r = n.create(document.body, "div", "peek-js");
- r.onmousemove = n.cancelBubble;
- s = n.create(r, "div", "dialog-title-bar");
- c = n.create(r, "div", "dialog-search");
- d = n.create(r, "div", "dialog-contents");
- x = n.create(r, "div", "dialog-buttons");
- g = n.createWithHTML(x, "button", "copy", o.text.copyText);
- g.onclick = $;
- f = n.create(c, "input");
- f.placeholder = o.text.searchPropertiesPlaceHolderText;
+ r = o.create(document.body, "div", "peek-js");
+ r.onmousemove = o.cancelBubble;
+ s = o.create(r, "div", "dialog-title-bar");
+ c = o.create(r, "div", "dialog-search");
+ d = o.create(r, "div", "dialog-contents");
+ x = o.create(r, "div", "dialog-buttons");
+ g = o.createWithHTML(x, "button", "copy", n.text.copyText);
+ g.onclick = D;
+ f = o.create(c, "input");
+ f.placeholder = n.text.searchPropertiesPlaceHolderText;
f.type = "text";
- f.onkeyup = j;
- f.onpaste = j;
+ f.onkeyup = _;
+ f.onpaste = _;
f.onfocus = () => f.select();
- const t = n.createWithHTML(c, "button", "clear-small", o.text.clearSymbolText);
- t.title = o.text.clearText;
- t.onclick = _;
- const l = n.createWithHTML(x, "button", "close", o.text.closeText);
- l.onclick = D;
- y = n.createWithHTML(x, "button", "remove", o.text.removeElementSymbolText);
- y.onclick = I;
- y.title = o.text.removeText;
- m = n.createWithHTML(x, "button", "move-up", o.text.moveUpSymbolText);
- m.onclick = R;
- m.title = o.text.moveUpText;
- T = n.createWithHTML(x, "button", "move-down", o.text.moveDownSymbolText);
- T.onclick = U;
- T.title = o.text.moveDownText;
- se(s, r);
- }
- function W(t = null) {
- if (!w && e.defined(b)) {
- let l = b.titleText;
+ const t = o.createWithHTML(c, "button", "clear-small", n.text.clearSymbolText);
+ t.title = n.text.clearText;
+ t.onclick = R;
+ const i = o.createWithHTML(x, "button", "close", n.text.closeText);
+ i.onclick = () => I();
+ m = o.createWithHTML(x, "button", "remove", n.text.removeElementSymbolText);
+ m.onclick = j;
+ m.title = n.text.removeText;
+ y = o.createWithHTML(x, "button", "move-up", n.text.moveUpSymbolText);
+ y.onclick = U;
+ y.title = n.text.moveUpText;
+ T = o.createWithHTML(x, "button", "move-down", n.text.moveDownSymbolText);
+ T.onclick = V;
+ T.title = n.text.moveDownText;
+ ce(s, r);
+ }
+ function B(t = null) {
+ if (!L && e.defined(b)) {
+ let i = b.titleText;
s.innerHTML = "";
- if (!e.definedString(l)) {
+ if (!e.definedString(i)) {
if (b.mode === 1) {
- l = o.text.cssText;
+ i = n.text.cssText;
} else if (b.mode === 2) {
- l = o.text.attributesText;
+ i = n.text.attributesText;
} else if (b.mode === 3) {
- l = o.text.sizeText;
+ i = n.text.sizeText;
} else if (b.mode === 4) {
- l = o.text.classesText;
+ i = n.text.classesText;
} else {
- l = o.text.unknownModeText;
+ i = n.text.unknownModeText;
}
}
- n.createWithHTML(s, "span", "title", l);
- if (L > 1 && b.showNodeNameInTitle) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "node-name", `[${t.nodeName.toLowerCase()}]`);
+ o.createWithHTML(s, "span", "title", i);
+ if (N > 1 && b.showNodeNameInTitle) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "node-name", `[${t.nodeName.toLowerCase()}]`);
}
if (b.showIdOrNameInTitle && e.defined(t)) {
- const o = t.getAttribute("id");
- const l = t.getAttribute("name");
- if (e.definedString(o)) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "id-or-name", o);
- } else if (e.definedString(l)) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "id-or-name", l);
+ const n = t.getAttribute("id");
+ const i = t.getAttribute("name");
+ if (e.definedString(n)) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "id-or-name", n);
+ } else if (e.definedString(i)) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "id-or-name", i);
}
}
if (b.showLockButtonInTitle) {
- a = n.createWithHTML(s, "button", "lock", o.text.dialogMovedSymbolText);
- a.title = o.text.lockText;
- a.onclick = () => B();
+ a = o.createWithHTML(s, "button", "lock", n.text.dialogMovedSymbolText);
+ a.title = n.text.lockText;
+ a.onclick = () => $();
}
}
}
- function B() {
- if (!w) {
- n.createWithHTML(s, "span", "locked", `${o.text.dialogMovedSymbolText}${" "}`, true);
+ function $() {
+ if (!L) {
+ o.createWithHTML(s, "span", "locked", `${n.text.dialogMovedSymbolText}${" "}`, true);
if (e.defined(a)) {
a.parentNode.removeChild(a);
a = null;
}
- w = true;
+ L = true;
+ }
+ }
+ function I(e = false) {
+ if (r.style.display !== "none") {
+ const t = () => {
+ r.style.display = "none";
+ L = false;
+ f.value = "";
+ ae();
+ };
+ if (e) {
+ if (v === 0) {
+ se();
+ v = setTimeout((() => {
+ t();
+ }), n.dialogHideDelay);
+ }
+ } else {
+ t();
+ }
}
}
function D() {
- r.style.display = "none";
- w = false;
- f.value = "";
- }
- function $() {
const e = [];
- for (let t in S) {
- if (S.hasOwnProperty(t)) {
+ for (let t in w) {
+ if (w.hasOwnProperty(t)) {
if (b.mode === 1) {
- e.push(`${t}: ${S[t]};`);
+ e.push(`${t}: ${w[t]};`);
} else if (b.mode === 2) {
- e.push(`${t}="${S[t]}"`);
+ e.push(`${t}="${w[t]}"`);
} else if (b.mode === 4) {
- e.push(S[t]);
+ e.push(w[t]);
}
}
}
@@ -393,379 +415,385 @@ var i;
navigator.clipboard.writeText(e.join(" "));
}
}
- function I() {
- var e;
- (e = A.parentNode) == null ? void 0 : e.removeChild(A);
- D();
- }
function j() {
+ A.parentNode.removeChild(A);
+ I();
+ }
+ function _() {
if (u !== 0) {
clearTimeout(u);
u = 0;
}
u = setTimeout((() => {
const t = d.getElementsByClassName("property-name");
- const n = [].slice.call(t);
- const o = n.length;
- const l = f.value.toLowerCase();
- let i = 0;
- for (let t = 0; t < o; t++) {
- const o = n[t].parentNode;
- if (e.defined(o)) {
+ const o = [].slice.call(t);
+ const n = o.length;
+ const i = f.value.toLowerCase();
+ let l = 0;
+ for (let t = 0; t < n; t++) {
+ const n = o[t].parentNode;
+ if (e.defined(n)) {
if (f.value.trim() === "") {
- o.style.removeProperty("display");
- i++;
+ n.style.removeProperty("display");
+ l++;
} else {
- const e = n[t].innerText;
- if (e.toLowerCase().indexOf(l) > -1) {
- o.style.removeProperty("display");
- i++;
+ const e = o[t].innerText;
+ if (e.toLowerCase().indexOf(i) > -1) {
+ n.style.removeProperty("display");
+ l++;
} else {
- o.style.display = "none";
+ n.style.display = "none";
}
}
}
}
- if (i === 0) {
+ if (l === 0) {
p.style.display = "block";
} else {
p.style.removeProperty("display");
}
- }), o.searchDelayDelay);
+ }), n.searchDelay);
}
- function _() {
+ function R() {
f.value = "";
f.focus();
- j();
+ _();
}
- function R() {
+ function U() {
if (A.parentNode !== null && A.previousElementSibling !== null) {
A.parentNode.insertBefore(A, A.previousElementSibling);
}
}
- function U() {
+ function V() {
if (A.parentNode !== null && A.nextElementSibling !== null) {
A.parentNode.insertBefore(A.nextElementSibling, A);
}
}
- function V(t) {
+ function F(t) {
if (e.defined(b)) {
d.innerHTML = "";
d.scrollTop = 0;
- S = {};
+ w = {};
E = 0;
A = t;
- W(t);
+ B(t);
if (b.mode === 1 || b.mode === 4 || b.mode === 2) {
g.style.removeProperty("display");
} else {
g.style.display = "none";
}
if (!b.allowEditing) {
- y.style.display = "none";
m.style.display = "none";
+ y.style.display = "none";
T.style.display = "none";
} else {
- y.style.removeProperty("display");
m.style.removeProperty("display");
+ y.style.removeProperty("display");
T.style.removeProperty("display");
}
- p = n.createWithHTML(d, "span", "no-search-results", o.text.noPropertiesFoundForSearchText);
+ p = o.createWithHTML(d, "span", "no-search-results", n.text.noPropertiesFoundForSearchText);
if (b.mode === 1) {
- F(t);
- } else if (b.mode === 2) {
z(t);
- } else if (b.mode === 3) {
+ } else if (b.mode === 2) {
G(t);
- } else if (b.mode === 4) {
+ } else if (b.mode === 3) {
J(t);
+ } else if (b.mode === 4) {
+ K(t);
} else {
- n.createWithHTML(d, "span", "warning", o.text.modeNotSupportedText);
+ o.createWithHTML(d, "span", "warning", n.text.modeNotSupportedText);
}
- if (E <= 15) {
+ if (E <= b.showSearchPropertyCount || !b.showSearch) {
c.style.display = "none";
} else {
c.style.removeProperty("display");
}
}
}
- function F(e) {
+ function z(e) {
const t = getComputedStyle(e);
- const n = t.length;
- for (let o = 0; o < n; o++) {
- K(e, t[o], t.getPropertyValue(t[o]));
+ const o = t.length;
+ for (let n = 0; n < o; n++) {
+ X(e, t[n], t.getPropertyValue(t[n]));
}
}
- function z(e) {
+ function G(e) {
if (e.hasAttributes()) {
for (let t of e.attributes) {
- K(e, t.name, t.value);
+ X(e, t.name, t.value);
}
} else {
d.innerHTML = "";
- n.createWithHTML(d, "span", "warning", o.text.noAttributesAvailableText);
+ o.createWithHTML(d, "span", "warning", n.text.noAttributesAvailableText);
}
}
- function G(e) {
- const t = n.getOffset(e);
- K(e, "left", `${t.left.toString()}px`, false);
- K(e, "top", `${t.top.toString()}px`, false);
- K(e, "width", `${e.offsetWidth.toString()}px`, false);
- K(e, "height", `${e.offsetHeight.toString()}px`, false);
- }
function J(e) {
+ const t = o.getOffset(e);
+ X(e, "left", `${t.left.toString()}px`, false);
+ X(e, "top", `${t.top.toString()}px`, false);
+ X(e, "width", `${e.offsetWidth.toString()}px`, false);
+ X(e, "height", `${e.offsetHeight.toString()}px`, false);
+ }
+ function K(e) {
if (e.classList.length > 0) {
let t = 1;
- for (let n of e.classList) {
- K(e, t.toString(), n);
+ for (let o of e.classList) {
+ X(e, t.toString(), o);
t++;
}
} else {
d.innerHTML = "";
- n.createWithHTML(d, "span", "warning", o.text.noClassesAvailableText);
+ o.createWithHTML(d, "span", "warning", n.text.noClassesAvailableText);
}
}
- function K(t, l, i, r = true) {
- if (Z(l) && ee(i)) {
- const s = n.create(d, "div", "property-row");
- n.createWithHTML(s, "div", "property-name", l);
- const a = n.create(s, "div", "property-value");
- const c = n.create(a, "input");
- if (e.hexColor(i) || e.isRgbColor(i)) {
+ function X(t, i, l, r = true) {
+ if (ee(i) && te(l)) {
+ const s = o.create(d, "div", "property-row");
+ o.createWithHTML(s, "div", "property-name", i);
+ const a = o.create(s, "div", "property-value");
+ const c = o.create(a, "input");
+ if (e.hexColor(l) || e.isRgbColor(l)) {
c.classList.add("property-value-color");
- c.style.borderLeftColor = i;
+ c.style.borderLeftColor = l;
}
- c.placeholder = o.text.propertyValuePlaceHolderText;
+ c.placeholder = n.text.propertyValuePlaceHolderText;
c.onfocus = () => c.select();
- const f = n.createWithHTML(s, "button", "copy-small", o.text.copySymbolText);
- f.title = o.text.copyText;
- f.onclick = () => navigator.clipboard.writeText(i);
+ const f = o.createWithHTML(s, "button", "copy-small", n.text.copySymbolText);
+ f.title = n.text.copyText;
+ f.onclick = () => navigator.clipboard.writeText(l);
if (b.allowEditing && r) {
- const e = n.createWithHTML(s, "button", "paste-small", o.text.pasteSymbolText);
- const r = n.createWithHTML(s, "button", "remove-small", o.text.removeSymbolText);
- e.title = o.text.pasteText;
- r.title = o.text.removeText;
- e.onclick = () => X(t, c, l);
- r.onclick = () => Y(s, t, l, i);
+ const e = o.createWithHTML(s, "button", "paste-small", n.text.pasteSymbolText);
+ const r = o.createWithHTML(s, "button", "remove-small", n.text.removeSymbolText);
+ e.title = n.text.pasteText;
+ r.title = n.text.removeText;
+ e.onclick = () => Y(t, c, i);
+ r.onclick = () => q(s, t, i, l);
}
c.type = "text";
- c.value = i;
- S[l] = i;
+ c.value = l;
+ w[i] = l;
E++;
if (!b.allowEditing || !r) {
c.readOnly = true;
} else {
- c.onkeyup = e => q(e, l, c, t);
+ c.onkeyup = e => Q(e, i, c, t);
}
}
}
- function X(e, t, n) {
- navigator.clipboard.readText().then((o => {
- t.value = o;
- Q(e, n, t);
+ function Y(e, t, o) {
+ navigator.clipboard.readText().then((n => {
+ t.value = n;
+ Z(e, o, t);
}));
}
- function Y(e, t, n, o) {
+ function q(e, t, o, n) {
if (b.mode === 1) {
- t.style.removeProperty(n);
+ t.style.removeProperty(o);
e.parentNode.removeChild(e);
} else if (b.mode === 2) {
- t.removeAttribute(n);
+ t.removeAttribute(o);
e.parentNode.removeChild(e);
} else if (b.mode === 4) {
- t.classList.remove(o);
+ t.classList.remove(n);
e.parentNode.removeChild(e);
}
}
- function q(e, t, n, o) {
+ function Q(e, t, o, n) {
if (e.code === "Enter") {
- Q(o, t, n);
+ Z(n, t, o);
}
}
- function Q(t, n, o) {
+ function Z(t, o, n) {
if (b.mode === 1) {
- t.style.setProperty(n, o.value);
+ t.style.setProperty(o, n.value);
} else if (b.mode === 2) {
- t.setAttribute(n, o.value);
+ t.setAttribute(o, n.value);
} else if (b.mode === 4) {
- t.classList.replace(t.classList[parseInt(n) - 1], o.value);
+ t.classList.replace(t.classList[parseInt(o) - 1], n.value);
}
- S[n] = o.value;
- if (e.hexColor(o.value) || e.isRgbColor(o.value)) {
- o.classList.add("property-value-color");
- o.style.borderLeftColor = o.value;
+ w[o] = n.value;
+ if (e.hexColor(n.value) || e.isRgbColor(n.value)) {
+ n.classList.add("property-value-color");
+ n.style.borderLeftColor = n.value;
} else {
- o.classList.remove("property-value-color");
+ n.classList.remove("property-value-color");
}
}
- function Z(e) {
+ function ee(e) {
return b.showOnly.length === 0 || b.showOnly.indexOf(e) > -1;
}
- function ee(e) {
+ function te(e) {
return b.ignoreValues.length === 0 || b.ignoreValues.indexOf(e) <= -1;
}
- function te() {
+ function oe() {
const e = b.nodeType;
- L = e.length;
- for (let t = 0; t < L; t++) {
- const n = document.getElementsByTagName(e[t]);
- const o = [].slice.call(n);
- const l = o.length;
- for (let e = 0; e < l; e++) {
- ne(o[e]);
+ N = e.length;
+ for (let t = 0; t < N; t++) {
+ const o = document.getElementsByTagName(e[t]);
+ const n = [].slice.call(o);
+ const i = n.length;
+ for (let e = 0; e < i; e++) {
+ ne(n[e]);
}
}
- window.addEventListener("mousemove", ie);
+ window.addEventListener("mousemove", re);
}
- function ne(n) {
- const o = n.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);
- if (!e.definedString(o) && o !== "ignore") {
- n.addEventListener("mousemove", (e => {
- le(e, n);
+ function ne(o) {
+ const n = o.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);
+ if (!e.definedString(n) && n !== "ignore") {
+ o.addEventListener("mousemove", (e => {
+ le(e, o);
}));
- h.push(n);
+ S.push(o);
}
}
- function oe() {
- const e = h.length;
+ function ie() {
+ const e = S.length;
for (let t = 0; t < e; t++) {
- const e = h[t];
+ const e = S[t];
e.removeEventListener("mousemove", (t => {
le(t, e);
}));
}
- h = [];
- window.removeEventListener("mousemove", ie);
- D();
+ S = [];
+ window.removeEventListener("mousemove", re);
+ I();
}
- function le(t, l) {
- if (!w && e.defined(b)) {
- n.cancelBubble(t);
- re();
- v = setTimeout((() => {
- V(l);
- n.showElementAtMousePosition(t, r);
- }), o.dialogDisplayDelay);
+ function le(t, i) {
+ if (!L && e.defined(b)) {
+ o.cancelBubble(t);
+ se();
+ h = setTimeout((() => {
+ F(i);
+ ae();
+ o.showElementAtMousePosition(t, r, b.dialogOffset);
+ }), n.dialogShowDelay);
}
}
- function ie() {
- if (!w) {
- re();
- D();
+ function re() {
+ if (!L) {
+ se();
+ I(true);
}
}
- function re() {
+ function se() {
+ if (h !== 0) {
+ clearTimeout(h);
+ h = 0;
+ }
+ }
+ function ae() {
if (v !== 0) {
clearTimeout(v);
v = 0;
}
}
- function se(e, t) {
+ function ce(e, t) {
e.onmousedown = e => {
- ae(e, t);
+ fe(e, t);
};
t.onmousemove = e => {
- fe(e, true);
+ de(e, true);
};
e.onmouseup = () => {
- ce();
+ ue();
};
e.oncontextmenu = () => {
- ce();
+ ue();
};
- document.addEventListener("mousemove", fe);
- document.addEventListener("mouseleave", ue);
- }
- function ae(e, t) {
- if (!H) {
- N = t;
- H = true;
- P = e.pageX - N.offsetLeft;
- k = e.pageY - N.offsetTop;
- O = N.offsetLeft;
- M = N.offsetTop;
- }
- }
- function ce() {
- if (H) {
- H = false;
- N = null;
- O = 0;
+ document.addEventListener("mousemove", de);
+ document.addEventListener("mouseleave", pe);
+ }
+ function fe(e, t) {
+ if (!P) {
+ O = t;
+ P = true;
+ C = e.pageX - O.offsetLeft;
+ k = e.pageY - O.offsetTop;
+ H = O.offsetLeft;
+ M = O.offsetTop;
+ }
+ }
+ function ue() {
+ if (P) {
+ P = false;
+ O = null;
+ H = 0;
M = 0;
}
}
- function fe(e, t = false) {
+ function de(e, t = false) {
if (t) {
- n.cancelBubble(e);
+ o.cancelBubble(e);
}
- if (H) {
- B();
- N.style.left = `${e.pageX - P}px`;
- N.style.top = `${e.pageY - k}px`;
+ if (P) {
+ $();
+ O.style.left = `${e.pageX - C}px`;
+ O.style.top = `${e.pageY - k}px`;
}
}
- function ue() {
- if (H) {
- N.style.left = `${O}px`;
- N.style.top = `${M}px`;
- H = false;
- N = null;
- O = 0;
+ function pe() {
+ if (P) {
+ O.style.left = `${H}px`;
+ O.style.top = `${M}px`;
+ P = false;
+ O = null;
+ H = 0;
M = 0;
}
}
- const de = {
+ const xe = {
start: function(t) {
if (!e.definedObject(b)) {
- b = i.Options.get(t);
- W();
- te();
+ b = l.Options.get(t);
+ B();
+ oe();
}
- return de;
+ return xe;
},
stop: function() {
if (e.definedObject(b)) {
b = null;
- re();
- oe();
+ se();
+ ie();
}
- return de;
+ return xe;
},
close: function() {
- D();
- return de;
+ I();
+ return xe;
},
setConfiguration: function(t) {
if (e.definedObject(t)) {
- let n = false;
- const i = o;
+ let o = false;
+ const l = n;
for (let e in t) {
- if (t.hasOwnProperty(e) && o.hasOwnProperty(e) && i[e] !== t[e]) {
- i[e] = t[e];
- n = true;
+ if (t.hasOwnProperty(e) && n.hasOwnProperty(e) && l[e] !== t[e]) {
+ l[e] = t[e];
+ o = true;
}
}
- if (n) {
- o = l.Options.get(i);
- C();
+ if (o) {
+ n = i.Options.get(l);
+ W();
if (e.definedObject(b)) {
- W();
+ B();
}
}
}
- return de;
+ return xe;
},
getVersion: function() {
- return "1.7.0";
+ return "1.8.0";
}
};
(() => {
- o = l.Options.get();
+ n = i.Options.get();
document.addEventListener("DOMContentLoaded", (() => {
- C();
+ W();
}));
if (!e.defined(window.$peek)) {
- window.$peek = de;
+ window.$peek = xe;
}
})();
})();//# sourceMappingURL=peek.esm.js.map
\ No newline at end of file
diff --git a/dist/peek.esm.js.map b/dist/peek.esm.js.map
index 6714082..2ab1802 100644
--- a/dist/peek.esm.js.map
+++ b/dist/peek.esm.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/Peek.js/dist/peek.esm.js"],"names":["Is","Is2","defined","value","toString","definedObject","object","definedBoolean","definedString","definedFunction","definedNumber","definedArray","Array","definedDate","Date","invalidOptionArray","array","minimumLength","length","hexColor","valid","isNaN","substring","isRgbColor","startsWith","Constant","Constant2","PEEK_JS_IGNORE_STATE_ATTRIBUTE","DomElement","DomElement2","create","container","type","className","insertAtStart","nodeType","toLowerCase","isText","result","document","createTextNode","createElement","setAttribute","appendChild","insertBefore","children","createWithHTML","html","element","innerHTML","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","style","display","pageX","pageY","scrollPosition","offsetWidth","window","innerWidth","offsetHeight","innerHeight","getOffset","offsetLeft","offsetTop","offsetParent","Default","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getArray","getObject","getStringOrArray","values","split","Config","Config2","Options","Options2","get","newConfiguration","configuration","dialogDisplayDelay","searchDelayDelay","getText","text","cssText","attributesText","sizeText","classesText","noAttributesAvailableText","closeText","copyText","copySymbolText","pasteText","pasteSymbolText","removeText","removeSymbolText","noClassesAvailableText","searchPropertiesPlaceHolderText","clearText","clearSymbolText","noPropertiesFoundForSearchText","dialogMovedSymbolText","propertyValuePlaceHolderText","modeNotSupportedText","unknownModeText","moveUpText","moveUpSymbolText","moveDownText","moveDownSymbolText","removeElementSymbolText","lockText","Start","Start2","newOptions","options","mode","titleText","showOnly","allowEditing","showIdOrNameInTitle","showNodeNameInTitle","ignoreValues","showLockButtonInTitle","_configuration","_dialog","_dialog_Title","_dialog_Title_Button_Lock","_dialog_Search","_dialog_Search_Input","_dialog_Search_Input_TimerId","_dialog_Contents","_dialog_Contents_NoSearchResultsText","_dialog_Buttons","_dialog_Buttons_Copy","_dialog_Buttons_Remove","_dialog_Buttons_MoveUp","_dialog_Buttons_MoveDown","_dialog_TimerId","_current_Process_Options","_current_Process_Elements","_current_Process_Properties","_current_Process_Element","_current_Process_Locked","_current_Process_NodeCount","_current_Process_Properties_Count","_element_Dialog_Move","_element_Dialog_Move_Original_X","_element_Dialog_Move_Original_Y","_element_Dialog_Move_IsMoving","_element_Dialog_Move_X","_element_Dialog_Move_Y","buildDialog","closeDialog","body","removeChild","onmousemove","onclick","onCopy","placeholder","onkeyup","onSearchProperties","onpaste","onfocus","select","removeButton","title","onSearchPropertiesClear","closeButton","onRemove","onMoveUp","onMoveDown","makeDialogMovable","setDialogTitle","nodeName","id","getAttribute","name","setDialogAsLocked","parentNode","lines","propertyName","hasOwnProperty","push","navigator","clipboard","writeText","join","_a","clearTimeout","setTimeout","getElementsByClassName","propertyNames","slice","call","propertyNamesLength","searchValue","propertiesFound","propertyNameIndex","parent","trim","removeProperty","propertyNameText","innerText","indexOf","focus","previousElementSibling","nextElementSibling","buildDialogContent","buildCssProperties","buildAttributeProperties","buildSizeProperties","buildClassProperties","computedStyles","getComputedStyle","computedStylesLength","styleIndex","buildPropertyRow","getPropertyValue","hasAttributes","attribute","attributes","offset","classList","index","propertyValueText","isPropertyVisible","isPropertyValueVisible","property","propertyValue","propertyValueInput","add","borderLeftColor","copyButton","pasteButton","onPropertyPaste","onPropertyRemove","readOnly","onPropertyValueKeyUp","readText","then","data","updatePropertyValue","removeAttribute","remove","input","code","setProperty","replace","parseInt","buildNodeEvents","tagTypes","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","buildNodeEvent","addEventListener","onWindowMove","attributeValue","onNodeMouseOver","removeNodeEvents","currentProcessElementsLength","removeEventListener","clearDialogShowTimer","titleBar","dialog","onmousedown","onMoveTitleBarMouseDown","onMoveDocumentMouseMove","onmouseup","onMoveTitleBarMouseUp","oncontextmenu","onMoveDocumentMouseLeave","_public","start","stop","close","setConfiguration","configurationHasChanged","newInternalConfiguration","getVersion","$peek"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/Peek.js/dist/peek.esm.js"],"names":["Is","Is2","defined","value","toString","definedObject","object","definedBoolean","definedString","definedFunction","definedNumber","definedArray","Array","definedDate","Date","invalidOptionArray","array","minimumLength","length","hexColor","valid","isNaN","substring","isRgbColor","startsWith","Constant","Constant2","PEEK_JS_IGNORE_STATE_ATTRIBUTE","DomElement","DomElement2","create","container","type","className","insertAtStart","nodeType","toLowerCase","isText","result","document","createTextNode","createElement","setAttribute","appendChild","insertBefore","children","createWithHTML","html","element","innerHTML","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","style","display","pageX","pageY","scrollPosition","offsetWidth","window","innerWidth","offsetHeight","innerHeight","getOffset","offsetLeft","offsetTop","offsetParent","Default","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getArray","getObject","getStringOrArray","values","split","Config","Config2","Options","Options2","get","newConfiguration","configuration","dialogShowDelay","dialogHideDelay","searchDelay","getText","text","cssText","attributesText","sizeText","classesText","noAttributesAvailableText","closeText","copyText","copySymbolText","pasteText","pasteSymbolText","removeText","removeSymbolText","noClassesAvailableText","searchPropertiesPlaceHolderText","clearText","clearSymbolText","noPropertiesFoundForSearchText","dialogMovedSymbolText","propertyValuePlaceHolderText","modeNotSupportedText","unknownModeText","moveUpText","moveUpSymbolText","moveDownText","moveDownSymbolText","removeElementSymbolText","lockText","Start","Start2","newOptions","options","mode","titleText","showOnly","allowEditing","showIdOrNameInTitle","showNodeNameInTitle","ignoreValues","showLockButtonInTitle","dialogOffset","showSearch","showSearchPropertyCount","_configuration","_dialog","_dialog_Title","_dialog_Title_Button_Lock","_dialog_Search","_dialog_Search_Input","_dialog_Search_Input_TimerId","_dialog_Contents","_dialog_Contents_NoSearchResultsText","_dialog_Buttons","_dialog_Buttons_Copy","_dialog_Buttons_Remove","_dialog_Buttons_MoveUp","_dialog_Buttons_MoveDown","_dialog_Show_TimerId","_dialog_Hide_TimerId","_current_Process_Options","_current_Process_Elements","_current_Process_Properties","_current_Process_Element","_current_Process_Locked","_current_Process_NodeCount","_current_Process_Properties_Count","_element_Dialog_Move","_element_Dialog_Move_Original_X","_element_Dialog_Move_Original_Y","_element_Dialog_Move_IsMoving","_element_Dialog_Move_X","_element_Dialog_Move_Y","buildDialog","closeDialog","body","removeChild","onmousemove","onclick","onCopy","placeholder","onkeyup","onSearchProperties","onpaste","onfocus","select","removeButton","title","onSearchPropertiesClear","closeButton","onRemove","onMoveUp","onMoveDown","makeDialogMovable","setDialogTitle","nodeName","id","getAttribute","name","setDialogAsLocked","parentNode","useDelay","closeFunc","clearDialogHideTimer","clearDialogShowTimer","setTimeout","lines","propertyName","hasOwnProperty","push","navigator","clipboard","writeText","join","clearTimeout","getElementsByClassName","propertyNames","slice","call","propertyNamesLength","searchValue","propertiesFound","propertyNameIndex","parent","trim","removeProperty","propertyNameText","innerText","indexOf","focus","previousElementSibling","nextElementSibling","buildDialogContent","buildCssProperties","buildAttributeProperties","buildSizeProperties","buildClassProperties","computedStyles","getComputedStyle","computedStylesLength","styleIndex","buildPropertyRow","getPropertyValue","hasAttributes","attribute","attributes","classList","index","propertyValueText","isPropertyVisible","isPropertyValueVisible","property","propertyValue","propertyValueInput","add","borderLeftColor","copyButton","pasteButton","onPropertyPaste","onPropertyRemove","readOnly","onPropertyValueKeyUp","readText","then","data","updatePropertyValue","removeAttribute","remove","input","code","setProperty","replace","parseInt","buildNodeEvents","tagTypes","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","buildNodeEvent","addEventListener","onWindowMove","attributeValue","onNodeMouseOver","removeNodeEvents","currentProcessElementsLength","removeEventListener","titleBar","dialog","onmousedown","onMoveTitleBarMouseDown","onMoveDocumentMouseMove","onmouseup","onMoveTitleBarMouseUp","oncontextmenu","onMoveDocumentMouseLeave","_public","start","stop","close","setConfiguration","configurationHasChanged","newInternalConfiguration","getVersion","$peek"],"mappings":"AACA,IAAIA;;AACJ,CAAEC;IACA,SAASC,EAAQC;QACf,OAAOA,MAAU,QAAQA,WAAe,KAAKA,EAAMC,eAAe;AACpE;IACAH,EAAIC,UAAUA;IACd,SAASG,EAAcC;QACrB,OAAOJ,EAAQI,aAAkBA,MAAW;AAC9C;IACAL,EAAII,gBAAgBA;IACpB,SAASE,EAAeD;QACtB,OAAOJ,EAAQI,aAAkBA,MAAW;AAC9C;IACAL,EAAIM,iBAAiBA;IACrB,SAASC,EAAcF;QACrB,OAAOJ,EAAQI,aAAkBA,MAAW;AAC9C;IACAL,EAAIO,gBAAgBA;IACpB,SAASC,EAAgBH;QACvB,OAAOJ,EAAQI,aAAkBA,MAAW;AAC9C;IACAL,EAAIQ,kBAAkBA;IACtB,SAASC,EAAcJ;QACrB,OAAOJ,EAAQI,aAAkBA,MAAW;AAC9C;IACAL,EAAIS,gBAAgBA;IACpB,SAASC,EAAaL;QACpB,OAAOD,EAAcC,MAAWA,aAAkBM;AACpD;IACAX,EAAIU,eAAeA;IACnB,SAASE,EAAYP;QACnB,OAAOD,EAAcC,MAAWA,aAAkBQ;AACpD;IACAb,EAAIY,cAAcA;IAClB,SAASE,EAAmBC,GAAOC,IAAgB;QACjD,QAAQN,EAAaK,MAAUA,EAAME,SAASD;AAChD;IACAhB,EAAIc,qBAAqBA;IACzB,SAASI,EAAShB;QAChB,IAAIiB,IAAQjB,EAAMe,UAAU,KAAKf,EAAMe,UAAU;QACjD,IAAIE,KAASjB,EAAM,OAAO,KAAgB;YACxCiB,IAAQC,OAAOlB,EAAMmB,UAAU,GAAGnB,EAAMe,SAAS;AACnD,eAAO;YACLE,IAAQ;AACV;QACA,OAAOA;AACT;IACAnB,EAAIkB,WAAWA;IACf,SAASI,EAAWpB;QAClB,OAAOA,EAAMqB,WAAW,UAAUrB,EAAMqB,WAAW;AACrD;IACAvB,EAAIsB,aAAaA;AAClB,EAnDD,CAmDGvB,MAAOA,IAAK,CAAC;;AAGhB,IAAIyB;;AACJ,CAAEC;IACAA,EAAUC,iCAAiC;AAC5C,EAFD,CAEGF,MAAaA,IAAW,CAAC;;AAG5B,IAAIG;;AACJ,CAAEC;IACA,SAASC,EAAOC,GAAWC,GAAMC,IAAY,IAAgBC,IAAgB;QAC3E,MAAMC,IAAWH,EAAKI;QACtB,MAAMC,IAASF,MAAa;QAC5B,IAAIG,IAASD,IAASE,SAASC,eAAe,MAAkBD,SAASE,cAAcN;QACvFG,EAAOI,aAAajB,EAASE,gCAAgC;QAC7D,IAAI3B,EAAGQ,cAAcyB,IAAY;YAC/BK,EAAOL,YAAYA;AACrB;QACA,KAAKC,GAAe;YAClBH,EAAUY,YAAYL;AACxB,eAAO;YACLP,EAAUa,aAAaN,GAAQP,EAAUc,SAAS;AACpD;QACA,OAAOP;AACT;IACAT,EAAYC,SAASA;IACrB,SAASgB,EAAef,GAAWC,GAAMC,GAAWc,GAAMb,IAAgB;QACxE,MAAMc,IAAUlB,EAAOC,GAAWC,GAAMC,GAAWC;QACnDc,EAAQC,YAAYF;QACpBC,EAAQN,aAAajB,EAASE,gCAAgC;QAC9D,OAAOqB;AACT;IACAnB,EAAYiB,iBAAiBA;IAC7B,SAASI,EAAaC;QACpBA,EAAEC;QACFD,EAAEE;AACJ;IACAxB,EAAYqB,eAAeA;IAC3B,SAASI;QACP,MAAMC,IAAkBhB,SAASgB;QACjC,MAAMjB,IAAS;YACbkB,MAAMD,EAAgBE,cAAcF,EAAgBG,cAAc;YAClEC,KAAKJ,EAAgBK,aAAaL,EAAgBM,aAAa;;QAEjE,OAAOvB;AACT;IACAT,EAAYyB,oBAAoBA;IAChC,SAASQ,EAA2BX,GAAGH,GAASe;QAC9C,IAAIf,EAAQgB,MAAMC,YAAY,SAAS;YACrC,IAAIT,IAAOL,EAAEe;YACb,IAAIP,IAAMR,EAAEgB;YACZ,MAAMC,IAAiBd;YACvBN,EAAQgB,MAAMC,UAAU;YACxB,IAAIT,IAAOR,EAAQqB,cAAcC,OAAOC,YAAY;gBAClDf,KAAQR,EAAQqB,cAAcN;AAChC,mBAAO;gBACLP;gBACAA,KAAQO;AACV;YACA,IAAIJ,IAAMX,EAAQwB,eAAeF,OAAOG,aAAa;gBACnDd,KAAOX,EAAQwB,eAAeT;AAChC,mBAAO;gBACLJ;gBACAA,KAAOI;AACT;YACA,IAAIP,IAAOY,EAAeZ,MAAM;gBAC9BA,IAAOL,EAAEe,QAAQ;AACnB;YACA,IAAIP,IAAMS,EAAeT,KAAK;gBAC5BA,IAAMR,EAAEgB,QAAQ;AAClB;YACAnB,EAAQgB,MAAMR,OAAO,GAAGA;YACxBR,EAAQgB,MAAML,MAAM,GAAGA;AACzB;AACF;IACA9B,EAAYiC,6BAA6BA;IACzC,SAASY,EAAU1B;QACjB,MAAMV,IAAS;YACbkB,MAAM;YACNG,KAAK;;QAEP,OAAOX,MAAY3B,MAAM2B,EAAQ2B,gBAAgBtD,MAAM2B,EAAQ4B,YAAY;YACzEtC,EAAOkB,QAAQR,EAAQ2B,aAAa3B,EAAQS;YAC5CnB,EAAOqB,OAAOX,EAAQ4B,YAAY5B,EAAQY;YAC1CZ,IAAUA,EAAQ6B;AACpB;QACA,OAAOvC;AACT;IACAT,EAAY6C,YAAYA;AACzB,EAhFD,CAgFG9C,MAAeA,IAAa,CAAC;;AAGhC,IAAIkD;;AACJ,CAAEC;IACA,SAASC,EAAa7E,GAAO8E;QAC3B,cAAc9E,MAAU,WAAWA,IAAQ8E;AAC7C;IACAF,EAASC,eAAeA;IACxB,SAASE,EAAU/E,GAAO8E;QACxB,OAAOjF,EAAGQ,cAAcL,KAASA,IAAQ8E;AAC3C;IACAF,EAASG,YAAYA;IACrB,SAASC,EAAWhF,GAAO8E;QACzB,OAAOjF,EAAGO,eAAeJ,KAASA,IAAQ8E;AAC5C;IACAF,EAASI,aAAaA;IACtB,SAASC,EAAUjF,GAAO8E;QACxB,OAAOjF,EAAGU,cAAcP,KAASA,IAAQ8E;AAC3C;IACAF,EAASK,YAAYA;IACrB,SAASC,EAASlF,GAAO8E;QACvB,OAAOjF,EAAGW,aAAaR,KAASA,IAAQ8E;AAC1C;IACAF,EAASM,WAAWA;IACpB,SAASC,EAAUnF,GAAO8E;QACxB,OAAOjF,EAAGK,cAAcF,KAASA,IAAQ8E;AAC3C;IACAF,EAASO,YAAYA;IACrB,SAASC,EAAiBpF,GAAO8E;QAC/B,IAAI3C,IAAS2C;QACb,IAAIjF,EAAGQ,cAAcL,IAAQ;YAC3B,MAAMqF,IAASrF,EAAMC,WAAWqF,MAAM;YACtC,IAAID,EAAOtE,WAAW,GAAG;gBACvBf,IAAQ8E;AACV,mBAAO;gBACL3C,IAASkD;AACX;AACF,eAAO;YACLlD,IAAS+C,EAASlF,GAAO8E;AAC3B;QACA,OAAO3C;AACT;IACAyC,EAASQ,mBAAmBA;AAC7B,EAxCD,CAwCGT,MAAYA,IAAU,CAAC;;AAG1B,IAAIY;;AACJ,CAAEC;IACA,IAAIC;IACJ,CAAEC;QACA,SAASC,EAAIC,IAAmB;YAC9B,IAAIC,IAAgBlB,EAAQQ,UAAUS,GAAkB,CAAC;YACzDC,EAAcC,kBAAkBnB,EAAQM,UAAUY,EAAcC,iBAAiB;YACjFD,EAAcE,kBAAkBpB,EAAQM,UAAUY,EAAcE,iBAAiB;YACjFF,EAAcG,cAAcrB,EAAQM,UAAUY,EAAcG,aAAa;YACzEH,IAAgBI,EAAQJ;YACxB,OAAOA;AACT;QACAH,EAASC,MAAMA;QACf,SAASM,EAAQJ;YACfA,EAAcK,OAAOvB,EAAQQ,UAAUU,EAAcK,MAAM,CAAC;YAC5DL,EAAcK,KAAKC,UAAUxB,EAAQE,aAAagB,EAAcK,KAAKC,SAAS;YAC9EN,EAAcK,KAAKE,iBAAiBzB,EAAQE,aAAagB,EAAcK,KAAKE,gBAAgB;YAC5FP,EAAcK,KAAKG,WAAW1B,EAAQE,aAAagB,EAAcK,KAAKG,UAAU;YAChFR,EAAcK,KAAKI,cAAc3B,EAAQE,aAAagB,EAAcK,KAAKI,aAAa;YACtFT,EAAcK,KAAKK,4BAA4B5B,EAAQE,aAAagB,EAAcK,KAAKK,2BAA2B;YAClHV,EAAcK,KAAKM,YAAY7B,EAAQE,aAAagB,EAAcK,KAAKM,WAAW;YAClFX,EAAcK,KAAKO,WAAW9B,EAAQE,aAAagB,EAAcK,KAAKO,UAAU;YAChFZ,EAAcK,KAAKQ,iBAAiB/B,EAAQE,aAAagB,EAAcK,KAAKQ,gBAAgB;YAC5Fb,EAAcK,KAAKS,YAAYhC,EAAQE,aAAagB,EAAcK,KAAKS,WAAW;YAClFd,EAAcK,KAAKU,kBAAkBjC,EAAQE,aAAagB,EAAcK,KAAKU,iBAAiB;YAC9Ff,EAAcK,KAAKW,aAAalC,EAAQE,aAAagB,EAAcK,KAAKW,YAAY;YACpFhB,EAAcK,KAAKY,mBAAmBnC,EAAQE,aAAagB,EAAcK,KAAKY,kBAAkB;YAChGjB,EAAcK,KAAKa,yBAAyBpC,EAAQE,aAAagB,EAAcK,KAAKa,wBAAwB;YAC5GlB,EAAcK,KAAKc,kCAAkCrC,EAAQE,aAAagB,EAAcK,KAAKc,iCAAiC;YAC9HnB,EAAcK,KAAKe,YAAYtC,EAAQE,aAAagB,EAAcK,KAAKe,WAAW;YAClFpB,EAAcK,KAAKgB,kBAAkBvC,EAAQE,aAAagB,EAAcK,KAAKgB,iBAAiB;YAC9FrB,EAAcK,KAAKiB,iCAAiCxC,EAAQE,aAAagB,EAAcK,KAAKiB,gCAAgC;YAC5HtB,EAAcK,KAAKkB,wBAAwBzC,EAAQE,aAAagB,EAAcK,KAAKkB,uBAAuB;YAC1GvB,EAAcK,KAAKmB,+BAA+B1C,EAAQE,aAAagB,EAAcK,KAAKmB,8BAA8B;YACxHxB,EAAcK,KAAKoB,uBAAuB3C,EAAQE,aAAagB,EAAcK,KAAKoB,sBAAsB;YACxGzB,EAAcK,KAAKqB,kBAAkB5C,EAAQE,aAAagB,EAAcK,KAAKqB,iBAAiB;YAC9F1B,EAAcK,KAAKsB,aAAa7C,EAAQE,aAAagB,EAAcK,KAAKsB,YAAY;YACpF3B,EAAcK,KAAKuB,mBAAmB9C,EAAQE,aAAagB,EAAcK,KAAKuB,kBAAkB;YAChG5B,EAAcK,KAAKwB,eAAe/C,EAAQE,aAAagB,EAAcK,KAAKwB,cAAc;YACxF7B,EAAcK,KAAKyB,qBAAqBhD,EAAQE,aAAagB,EAAcK,KAAKyB,oBAAoB;YACpG9B,EAAcK,KAAK0B,0BAA0BjD,EAAQE,aAAagB,EAAcK,KAAK0B,yBAAyB;YAC9G/B,EAAcK,KAAK2B,WAAWlD,EAAQE,aAAagB,EAAcK,KAAK2B,UAAU;YAChF,OAAOhC;AACT;AACD,MAzCD,CAyCGJ,IAAUD,EAAQC,YAAYD,EAAQC,UAAU,CAAC;AACrD,EA5CD,CA4CGF,MAAWA,IAAS,CAAC;;AAGxB,IAAIuC;;AACJ,CAAEC;IACA,IAAItC;IACJ,CAAEC;QACA,SAASC,EAAIqC;YACX,IAAIC,IAAUtD,EAAQQ,UAAU6C,GAAY,CAAC;YAC7CC,EAAQjG,WAAW2C,EAAQS,iBAAiB6C,EAAQjG,UAAU;YAC9DiG,EAAQC,OAAOvD,EAAQM,UAAUgD,EAAQC,MAAM;YAC/CD,EAAQE,YAAYxD,EAAQI,UAAUkD,EAAQE,WAAW;YACzDF,EAAQG,WAAWzD,EAAQS,iBAAiB6C,EAAQG,UAAU;YAC9DH,EAAQI,eAAe1D,EAAQK,WAAWiD,EAAQI,cAAc;YAChEJ,EAAQK,sBAAsB3D,EAAQK,WAAWiD,EAAQK,qBAAqB;YAC9EL,EAAQM,sBAAsB5D,EAAQK,WAAWiD,EAAQM,qBAAqB;YAC9EN,EAAQO,eAAe7D,EAAQS,iBAAiB6C,EAAQO,cAAc;YACtEP,EAAQQ,wBAAwB9D,EAAQK,WAAWiD,EAAQQ,uBAAuB;YAClFR,EAAQS,eAAe/D,EAAQM,UAAUgD,EAAQS,cAAc;YAC/DT,EAAQU,aAAahE,EAAQK,WAAWiD,EAAQU,YAAY;YAC5DV,EAAQW,0BAA0BjE,EAAQM,UAAUgD,EAAQW,yBAAyB;YACrF,OAAOX;AACT;QACAvC,EAASC,MAAMA;AAChB,MAlBD,CAkBGF,IAAUsC,EAAOtC,YAAYsC,EAAOtC,UAAU,CAAC;AACnD,EArBD,CAqBGqC,MAAUA,IAAQ,CAAC;;AAGtB;IACE,IAAIe,IAAiB,CAAC;IACtB,IAAIC,IAAU;IACd,IAAIC,IAAgB;IACpB,IAAIC,IAA4B;IAChC,IAAIC,IAAiB;IACrB,IAAIC,IAAuB;IAC3B,IAAIC,IAA+B;IACnC,IAAIC,IAAmB;IACvB,IAAIC,IAAuC;IAC3C,IAAIC,IAAkB;IACtB,IAAIC,IAAuB;IAC3B,IAAIC,IAAyB;IAC7B,IAAIC,IAAyB;IAC7B,IAAIC,IAA2B;IAC/B,IAAIC,IAAuB;IAC3B,IAAIC,IAAuB;IAC3B,IAAIC,IAA2B;IAC/B,IAAIC,IAA4B;IAChC,IAAIC,IAA8B,CAAC;IACnC,IAAIC,IAA2B;IAC/B,IAAIC,IAA0B;IAC9B,IAAIC,IAA6B;IACjC,IAAIC,IAAoC;IACxC,IAAIC,IAAuB;IAC3B,IAAIC,IAAkC;IACtC,IAAIC,IAAkC;IACtC,IAAIC,IAAgC;IACpC,IAAIC,IAAyB;IAC7B,IAAIC,IAAyB;IAC7B,SAASC;QACP,IAAI7K,EAAGK,cAAc4I,IAAU;YAC7B6B;YACAvI,SAASwI,KAAKC,YAAY/B;YAC1BA,IAAU;AACZ;QACAA,IAAUrH,EAAWE,OAAOS,SAASwI,MAAM,OAAO;QAClD9B,EAAQgC,cAAcrJ,EAAWsB;QACjCgG,IAAgBtH,EAAWE,OAAOmH,GAAS,OAAO;QAClDG,IAAiBxH,EAAWE,OAAOmH,GAAS,OAAO;QACnDM,IAAmB3H,EAAWE,OAAOmH,GAAS,OAAO;QACrDQ,IAAkB7H,EAAWE,OAAOmH,GAAS,OAAO;QACpDS,IAAuB9H,EAAWkB,eAAe2G,GAAiB,UAAU,QAAQT,EAAe3C,KAAKO;QACxG8C,EAAqBwB,UAAUC;QAC/B9B,IAAuBzH,EAAWE,OAAOsH,GAAgB;QACzDC,EAAqB+B,cAAcpC,EAAe3C,KAAKc;QACvDkC,EAAqBrH,OAAO;QAC5BqH,EAAqBgC,UAAUC;QAC/BjC,EAAqBkC,UAAUD;QAC/BjC,EAAqBmC,UAAU,MAAMnC,EAAqBoC;QAC1D,MAAMC,IAAe9J,EAAWkB,eAAesG,GAAgB,UAAU,eAAeJ,EAAe3C,KAAKgB;QAC5GqE,EAAaC,QAAQ3C,EAAe3C,KAAKe;QACzCsE,EAAaR,UAAUU;QACvB,MAAMC,IAAcjK,EAAWkB,eAAe2G,GAAiB,UAAU,SAAST,EAAe3C,KAAKM;QACtGkF,EAAYX,UAAU,MAAMJ;QAC5BnB,IAAyB/H,EAAWkB,eAAe2G,GAAiB,UAAU,UAAUT,EAAe3C,KAAK0B;QAC5G4B,EAAuBuB,UAAUY;QACjCnC,EAAuBgC,QAAQ3C,EAAe3C,KAAKW;QACnD4C,IAAyBhI,EAAWkB,eAAe2G,GAAiB,UAAU,WAAWT,EAAe3C,KAAKuB;QAC7GgC,EAAuBsB,UAAUa;QACjCnC,EAAuB+B,QAAQ3C,EAAe3C,KAAKsB;QACnDkC,IAA2BjI,EAAWkB,eAAe2G,GAAiB,UAAU,aAAaT,EAAe3C,KAAKyB;QACjH+B,EAAyBqB,UAAUc;QACnCnC,EAAyB8B,QAAQ3C,EAAe3C,KAAKwB;QACrDoE,GAAkB/C,GAAeD;AACnC;IACA,SAASiD,EAAelJ,IAAU;QAChC,KAAKoH,KAA2BpK,EAAGE,QAAQ8J,IAA2B;YACpE,IAAI2B,IAAQ3B,EAAyB1B;YACrCY,EAAcjG,YAAY;YAC1B,KAAKjD,EAAGQ,cAAcmL,IAAQ;gBAC5B,IAAI3B,EAAyB3B,SAAS,GAAa;oBACjDsD,IAAQ3C,EAAe3C,KAAKC;AAC9B,uBAAO,IAAI0D,EAAyB3B,SAAS,GAAoB;oBAC/DsD,IAAQ3C,EAAe3C,KAAKE;AAC9B,uBAAO,IAAIyD,EAAyB3B,SAAS,GAAc;oBACzDsD,IAAQ3C,EAAe3C,KAAKG;AAC9B,uBAAO,IAAIwD,EAAyB3B,SAAS,GAAe;oBAC1DsD,IAAQ3C,EAAe3C,KAAKI;AAC9B,uBAAO;oBACLkF,IAAQ3C,EAAe3C,KAAKqB;AAC9B;AACF;YACA9F,EAAWkB,eAAeoG,GAAe,QAAQ,SAASyC;YAC1D,IAAItB,IAA6B,KAAKL,EAAyBtB,qBAAqB;gBAClF9G,EAAWkB,eAAeoG,GAAe,QAAQ,QAAQ;gBACzDtH,EAAWkB,eAAeoG,GAAe,QAAQ,aAAa,IAAIlG,EAAQmJ,SAAS/J;AACrF;YACA,IAAI4H,EAAyBvB,uBAAuBzI,EAAGE,QAAQ8C,IAAU;gBACvE,MAAMoJ,IAAKpJ,EAAQqJ,aAAa;gBAChC,MAAMC,IAAOtJ,EAAQqJ,aAAa;gBAClC,IAAIrM,EAAGQ,cAAc4L,IAAK;oBACxBxK,EAAWkB,eAAeoG,GAAe,QAAQ,QAAQ;oBACzDtH,EAAWkB,eAAeoG,GAAe,QAAQ,cAAckD;AACjE,uBAAO,IAAIpM,EAAGQ,cAAc8L,IAAO;oBACjC1K,EAAWkB,eAAeoG,GAAe,QAAQ,QAAQ;oBACzDtH,EAAWkB,eAAeoG,GAAe,QAAQ,cAAcoD;AACjE;AACF;YACA,IAAItC,EAAyBpB,uBAAuB;gBAClDO,IAA4BvH,EAAWkB,eAAeoG,GAAe,UAAU,QAAQF,EAAe3C,KAAKkB;gBAC3G4B,EAA0BwC,QAAQ3C,EAAe3C,KAAK2B;gBACtDmB,EAA0B+B,UAAU,MAAMqB;AAC5C;AACF;AACF;IACA,SAASA;QACP,KAAKnC,GAAyB;YAC5BxI,EAAWkB,eAAeoG,GAAe,QAAQ,UAAU,GAAGF,EAAe3C,KAAKkB,wBAAwB,OAAmB;YAC7H,IAAIvH,EAAGE,QAAQiJ,IAA4B;gBACzCA,EAA0BqD,WAAWxB,YAAY7B;gBACjDA,IAA4B;AAC9B;YACAiB,IAA0B;AAC5B;AACF;IACA,SAASU,EAAY2B,IAAW;QAC9B,IAAIxD,EAAQjF,MAAMC,YAAY,QAAQ;YACpC,MAAMyI,IAAY;gBAChBzD,EAAQjF,MAAMC,UAAU;gBACxBmG,IAA0B;gBAC1Bf,EAAqBlJ,QAAQ;gBAC7BwM;AAAsB;YAExB,IAAIF,GAAU;gBACZ,IAAI1C,MAAyB,GAAG;oBAC9B6C;oBACA7C,IAAuB8C,YAAW;wBAChCH;AAAW,wBACV1D,EAAe9C;AACpB;AACF,mBAAO;gBACLwG;AACF;AACF;AACF;IACA,SAASvB;QACP,MAAM2B,IAAQ;QACd,KAAK,IAAIC,KAAgB7C,GAA6B;YACpD,IAAIA,EAA4B8C,eAAeD,IAAe;gBAC5D,IAAI/C,EAAyB3B,SAAS,GAAa;oBACjDyE,EAAMG,KAAK,GAAGF,MAAiB7C,EAA4B6C;AAC7D,uBAAO,IAAI/C,EAAyB3B,SAAS,GAAoB;oBAC/DyE,EAAMG,KAAK,GAAGF,MAAiB7C,EAA4B6C;AAC7D,uBAAO,IAAI/C,EAAyB3B,SAAS,GAAe;oBAC1DyE,EAAMG,KAAK/C,EAA4B6C;AACzC;AACF;AACF;QACA,IAAI/C,EAAyB3B,SAAS,GAAa;YACjD6E,UAAUC,UAAUC,UAAU,GAAGjD,EAAyBgC,SAAS/J,mBAAmB,QAAsB0K,EAAMO,KAAK,SAAuB;AAChJ,eAAO,IAAIrD,EAAyB3B,SAAS,KAAsB2B,EAAyB3B,SAAS,GAAe;YAClH6E,UAAUC,UAAUC,UAAUN,EAAMO,KAAK;AAC3C;AACF;IACA,SAASvB;QACP3B,EAAyBqC,WAAWxB,YAAYb;QAChDW;AACF;IACA,SAASQ;QACP,IAAIhC,MAAiC,GAAG;YACtCgE,aAAahE;YACbA,IAA+B;AACjC;QACAA,IAA+BuD,YAAW;YACxC,MAAMhK,IAAW0G,EAAiBgE,uBAAuB;YACzD,MAAMC,IAAgB,GAAGC,MAAMC,KAAK7K;YACpC,MAAM8K,IAAsBH,EAActM;YAC1C,MAAM0M,IAAcvE,EAAqBlJ,MAAMiC;YAC/C,IAAIyL,IAAkB;YACtB,KAAK,IAAIC,IAAoB,GAAGA,IAAoBH,GAAqBG,KAAqB;gBAC5F,MAAMC,IAASP,EAAcM,GAAmBtB;gBAChD,IAAIxM,EAAGE,QAAQ6N,IAAS;oBACtB,IAAI1E,EAAqBlJ,MAAM6N,WAAW,IAAgB;wBACxDD,EAAO/J,MAAMiK,eAAe;wBAC5BJ;AACF,2BAAO;wBACL,MAAMK,IAAmBV,EAAcM,GAAmBK;wBAC1D,IAAID,EAAiB9L,cAAcgM,QAAQR,MAAgB,GAAkB;4BAC3EG,EAAO/J,MAAMiK,eAAe;4BAC5BJ;AACF,+BAAO;4BACLE,EAAO/J,MAAMC,UAAU;AACzB;AACF;AACF;AACF;YACA,IAAI4J,MAAoB,GAAG;gBACzBrE,EAAqCxF,MAAMC,UAAU;AACvD,mBAAO;gBACLuF,EAAqCxF,MAAMiK,eAAe;AAC5D;AAAA,YACCjF,EAAe7C;AACpB;IACA,SAASyF;QACPvC,EAAqBlJ,QAAQ;QAC7BkJ,EAAqBgF;QACrB/C;AACF;IACA,SAASS;QACP,IAAI5B,EAAyBqC,eAAe,QAAQrC,EAAyBmE,2BAA2B,MAAM;YAC5GnE,EAAyBqC,WAAW5J,aAAauH,GAA0BA,EAAyBmE;AACtG;AACF;IACA,SAAStC;QACP,IAAI7B,EAAyBqC,eAAe,QAAQrC,EAAyBoE,uBAAuB,MAAM;YACxGpE,EAAyBqC,WAAW5J,aAAauH,EAAyBoE,oBAAoBpE;AAChG;AACF;IACA,SAASqE,EAAmBxL;QAC1B,IAAIhD,EAAGE,QAAQ8J,IAA2B;YACxCT,EAAiBtG,YAAY;YAC7BsG,EAAiB3F,YAAY;YAC7BsG,IAA8B,CAAC;YAC/BI,IAAoC;YACpCH,IAA2BnH;YAC3BkJ,EAAelJ;YACf,IAAIgH,EAAyB3B,SAAS,KAAe2B,EAAyB3B,SAAS,KAAiB2B,EAAyB3B,SAAS,GAAoB;gBAC5JqB,EAAqB1F,MAAMiK,eAAe;AAC5C,mBAAO;gBACLvE,EAAqB1F,MAAMC,UAAU;AACvC;YACA,KAAK+F,EAAyBxB,cAAc;gBAC1CmB,EAAuB3F,MAAMC,UAAU;gBACvC2F,EAAuB5F,MAAMC,UAAU;gBACvC4F,EAAyB7F,MAAMC,UAAU;AAC3C,mBAAO;gBACL0F,EAAuB3F,MAAMiK,eAAe;gBAC5CrE,EAAuB5F,MAAMiK,eAAe;gBAC5CpE,EAAyB7F,MAAMiK,eAAe;AAChD;YACAzE,IAAuC5H,EAAWkB,eAAeyG,GAAkB,QAAQ,qBAAqBP,EAAe3C,KAAKiB;YACpI,IAAI0C,EAAyB3B,SAAS,GAAa;gBACjDoG,EAAmBzL;AACrB,mBAAO,IAAIgH,EAAyB3B,SAAS,GAAoB;gBAC/DqG,EAAyB1L;AAC3B,mBAAO,IAAIgH,EAAyB3B,SAAS,GAAc;gBACzDsG,EAAoB3L;AACtB,mBAAO,IAAIgH,EAAyB3B,SAAS,GAAe;gBAC1DuG,EAAqB5L;AACvB,mBAAO;gBACLpB,EAAWkB,eAAeyG,GAAkB,QAAQ,WAAWP,EAAe3C,KAAKoB;AACrF;YACA,IAAI6C,KAAqCN,EAAyBjB,4BAA4BiB,EAAyBlB,YAAY;gBACjIM,EAAepF,MAAMC,UAAU;AACjC,mBAAO;gBACLmF,EAAepF,MAAMiK,eAAe;AACtC;AACF;AACF;IACA,SAASQ,EAAmBzL;QAC1B,MAAM6L,IAAiBC,iBAAiB9L;QACxC,MAAM+L,IAAuBF,EAAe3N;QAC5C,KAAK,IAAI8N,IAAa,GAAGA,IAAaD,GAAsBC,KAAc;YACxEC,EAAiBjM,GAAS6L,EAAeG,IAAaH,EAAeK,iBAAiBL,EAAeG;AACvG;AACF;IACA,SAASN,EAAyB1L;QAChC,IAAIA,EAAQmM,iBAAiB;YAC3B,KAAK,IAAIC,KAAapM,EAAQqM,YAAY;gBACxCJ,EAAiBjM,GAASoM,EAAU9C,MAAM8C,EAAUjP;AACtD;AACF,eAAO;YACLoJ,EAAiBtG,YAAY;YAC7BrB,EAAWkB,eAAeyG,GAAkB,QAAQ,WAAWP,EAAe3C,KAAKK;AACrF;AACF;IACA,SAASiI,EAAoB3L;QAC3B,MAAMe,IAASnC,EAAW8C,UAAU1B;QACpCiM,EAAiBjM,GAAS,QAAQ,GAAGe,EAAOP,KAAKpD,gBAAgB;QACjE6O,EAAiBjM,GAAS,OAAO,GAAGe,EAAOJ,IAAIvD,gBAAgB;QAC/D6O,EAAiBjM,GAAS,SAAS,GAAGA,EAAQqB,YAAYjE,gBAAgB;QAC1E6O,EAAiBjM,GAAS,UAAU,GAAGA,EAAQwB,aAAapE,gBAAgB;AAC9E;IACA,SAASwO,EAAqB5L;QAC5B,IAAIA,EAAQsM,UAAUpO,SAAS,GAAG;YAChC,IAAIqO,IAAQ;YACZ,KAAK,IAAItN,KAAae,EAAQsM,WAAW;gBACvCL,EAAiBjM,GAASuM,EAAMnP,YAAY6B;gBAC5CsN;AACF;AACF,eAAO;YACLhG,EAAiBtG,YAAY;YAC7BrB,EAAWkB,eAAeyG,GAAkB,QAAQ,WAAWP,EAAe3C,KAAKa;AACrF;AACF;IACA,SAAS+H,EAAiBjM,GAASkL,GAAkBsB,GAAmBhH,IAAe;QACrF,IAAIiH,GAAkBvB,MAAqBwB,GAAuBF,IAAoB;YACpF,MAAMG,IAAW/N,EAAWE,OAAOyH,GAAkB,OAAO;YAC5D3H,EAAWkB,eAAe6M,GAAU,OAAO,iBAAiBzB;YAC5D,MAAM0B,IAAgBhO,EAAWE,OAAO6N,GAAU,OAAO;YACzD,MAAME,IAAqBjO,EAAWE,OAAO8N,GAAe;YAC5D,IAAI5P,EAAGmB,SAASqO,MAAsBxP,EAAGuB,WAAWiO,IAAoB;gBACtEK,EAAmBP,UAAUQ,IAAI;gBACjCD,EAAmB7L,MAAM+L,kBAAkBP;AAC7C;YACAK,EAAmBzE,cAAcpC,EAAe3C,KAAKmB;YACrDqI,EAAmBrE,UAAU,MAAMqE,EAAmBpE;YACtD,MAAMuE,IAAapO,EAAWkB,eAAe6M,GAAU,UAAU,cAAc3G,EAAe3C,KAAKQ;YACnGmJ,EAAWrE,QAAQ3C,EAAe3C,KAAKO;YACvCoJ,EAAW9E,UAAU,MAAMgC,UAAUC,UAAUC,UAAUoC;YACzD,IAAIxF,EAAyBxB,gBAAgBA,GAAc;gBACzD,MAAMyH,IAAcrO,EAAWkB,eAAe6M,GAAU,UAAU,eAAe3G,EAAe3C,KAAKU;gBACrG,MAAM2E,IAAe9J,EAAWkB,eAAe6M,GAAU,UAAU,gBAAgB3G,EAAe3C,KAAKY;gBACvGgJ,EAAYtE,QAAQ3C,EAAe3C,KAAKS;gBACxC4E,EAAaC,QAAQ3C,EAAe3C,KAAKW;gBACzCiJ,EAAY/E,UAAU,MAAMgF,EAAgBlN,GAAS6M,GAAoB3B;gBACzExC,EAAaR,UAAU,MAAMiF,EAAiBR,GAAU3M,GAASkL,GAAkBsB;AACrF;YACAK,EAAmB7N,OAAO;YAC1B6N,EAAmB1P,QAAQqP;YAC3BtF,EAA4BgE,KAAoBsB;YAChDlF;YACA,KAAKN,EAAyBxB,iBAAiBA,GAAc;gBAC3DqH,EAAmBO,WAAW;AAChC,mBAAO;gBACLP,EAAmBxE,UAAWlI,KAAMkN,EAAqBlN,GAAG+K,GAAkB2B,GAAoB7M;AACpG;AACF;AACF;IACA,SAASkN,EAAgBlN,GAAS6M,GAAoB3B;QACpDhB,UAAUC,UAAUmD,WAAWC,MAAMC;YACnCX,EAAmB1P,QAAQqQ;YAC3BC,EAAoBzN,GAASkL,GAAkB2B;AAAmB;AAEtE;IACA,SAASM,EAAiBR,GAAU3M,GAASkL,GAAkBsB;QAC7D,IAAIxF,EAAyB3B,SAAS,GAAa;YACjDrF,EAAQgB,MAAMiK,eAAeC;YAC7ByB,EAASnD,WAAWxB,YAAY2E;AAClC,eAAO,IAAI3F,EAAyB3B,SAAS,GAAoB;YAC/DrF,EAAQ0N,gBAAgBxC;YACxByB,EAASnD,WAAWxB,YAAY2E;AAClC,eAAO,IAAI3F,EAAyB3B,SAAS,GAAe;YAC1DrF,EAAQsM,UAAUqB,OAAOnB;YACzBG,EAASnD,WAAWxB,YAAY2E;AAClC;AACF;IACA,SAASU,EAAqBlN,GAAG4J,GAAc6D,GAAO5N;QACpD,IAAIG,EAAE0N,SAAS,SAAqB;YAClCJ,EAAoBzN,GAAS+J,GAAc6D;AAC7C;AACF;IACA,SAASH,EAAoBzN,GAAS+J,GAAc6D;QAClD,IAAI5G,EAAyB3B,SAAS,GAAa;YACjDrF,EAAQgB,MAAM8M,YAAY/D,GAAc6D,EAAMzQ;AAChD,eAAO,IAAI6J,EAAyB3B,SAAS,GAAoB;YAC/DrF,EAAQN,aAAaqK,GAAc6D,EAAMzQ;AAC3C,eAAO,IAAI6J,EAAyB3B,SAAS,GAAe;YAC1DrF,EAAQsM,UAAUyB,QAAQ/N,EAAQsM,UAAU0B,SAASjE,KAAgB,IAAI6D,EAAMzQ;AACjF;QACA+J,EAA4B6C,KAAgB6D,EAAMzQ;QAClD,IAAIH,EAAGmB,SAASyP,EAAMzQ,UAAUH,EAAGuB,WAAWqP,EAAMzQ,QAAQ;YAC1DyQ,EAAMtB,UAAUQ,IAAI;YACpBc,EAAM5M,MAAM+L,kBAAkBa,EAAMzQ;AACtC,eAAO;YACLyQ,EAAMtB,UAAUqB,OAAO;AACzB;AACF;IACA,SAASlB,GAAkBvB;QACzB,OAAOlE,EAAyBzB,SAASrH,WAAW,KAAK8I,EAAyBzB,SAAS6F,QAAQF,MAAqB;AAC1H;IACA,SAASwB,GAAuBF;QAC9B,OAAOxF,EAAyBrB,aAAazH,WAAW,KAAK8I,EAAyBrB,aAAayF,QAAQoB,OAAuB;AACpI;IACA,SAASyB;QACP,MAAMC,IAAWlH,EAAyB7H;QAC1CkI,IAA6B6G,EAAShQ;QACtC,KAAK,IAAIiQ,IAAe,GAAGA,IAAe9G,GAA4B8G,KAAgB;YACpF,MAAMC,IAAc7O,SAAS8O,qBAAqBH,EAASC;YAC3D,MAAMG,IAAW,GAAG7D,MAAMC,KAAK0D;YAC/B,MAAMG,IAAiBD,EAASpQ;YAChC,KAAK,IAAIsQ,IAAe,GAAGA,IAAeD,GAAgBC,KAAgB;gBACxEC,GAAeH,EAASE;AAC1B;AACF;QACAlN,OAAOoN,iBAAiB,aAAaC;AACvC;IACA,SAASF,GAAezO;QACtB,MAAM4O,IAAiB5O,EAAQqJ,aAAa5K,EAASE;QACrD,KAAK3B,EAAGQ,cAAcoR,MAAmBA,MAAmB,UAAuB;YACjF5O,EAAQ0O,iBAAiB,cAAcvO;gBACrC0O,GAAgB1O,GAAGH;AAAQ;YAE7BiH,EAA0BgD,KAAKjK;AACjC;AACF;IACA,SAAS8O;QACP,MAAMC,IAA+B9H,EAA0B/I;QAC/D,KAAK,IAAIsQ,IAAe,GAAGA,IAAeO,GAA8BP,KAAgB;YACtF,MAAMxO,IAAUiH,EAA0BuH;YAC1CxO,EAAQgP,oBAAoB,cAAc7O;gBACxC0O,GAAgB1O,GAAGH;AAAQ;AAE/B;QACAiH,IAA4B;QAC5B3F,OAAO0N,oBAAoB,aAAaL;QACxC7G;AACF;IACA,SAAS+G,GAAgB1O,GAAGH;QAC1B,KAAKoH,KAA2BpK,EAAGE,QAAQ8J,IAA2B;YACpEpI,EAAWsB,aAAaC;YACxByJ;YACA9C,IAAuB+C,YAAW;gBAChC2B,EAAmBxL;gBACnB2J;gBACA/K,EAAWkC,2BAA2BX,GAAG8F,GAASe,EAAyBnB;AAAa,gBACvFG,EAAe/C;AACpB;AACF;IACA,SAAS0L;QACP,KAAKvH,GAAyB;YAC5BwC;YACA9B,EAAY;AACd;AACF;IACA,SAAS8B;QACP,IAAI9C,MAAyB,GAAG;YAC9BwD,aAAaxD;YACbA,IAAuB;AACzB;AACF;IACA,SAAS6C;QACP,IAAI5C,MAAyB,GAAG;YAC9BuD,aAAavD;YACbA,IAAuB;AACzB;AACF;IACA,SAASkC,GAAkBgG,GAAUC;QACnCD,EAASE,cAAehP;YACtBiP,GAAwBjP,GAAG+O;AAAO;QAEpCA,EAAOjH,cAAe9H;YACpBkP,GAAwBlP,GAAG;AAAK;QAElC8O,EAASK,YAAY;YACnBC;AAAuB;QAEzBN,EAASO,gBAAgB;YACvBD;AAAuB;QAEzBhQ,SAASmP,iBAAiB,aAAaW;QACvC9P,SAASmP,iBAAiB,cAAce;AAC1C;IACA,SAASL,GAAwBjP,GAAG+O;QAClC,KAAKxH,GAA+B;YAClCH,IAAuB2H;YACvBxH,IAAgC;YAChCC,IAAyBxH,EAAEe,QAAQqG,EAAqB5F;YACxDiG,IAAyBzH,EAAEgB,QAAQoG,EAAqB3F;YACxD4F,IAAkCD,EAAqB5F;YACvD8F,IAAkCF,EAAqB3F;AACzD;AACF;IACA,SAAS2N;QACP,IAAI7H,GAA+B;YACjCA,IAAgC;YAChCH,IAAuB;YACvBC,IAAkC;YAClCC,IAAkC;AACpC;AACF;IACA,SAAS4H,GAAwBlP,GAAGD,IAAe;QACjD,IAAIA,GAAc;YAChBtB,EAAWsB,aAAaC;AAC1B;QACA,IAAIuH,GAA+B;YACjC6B;YACAhC,EAAqBvG,MAAMR,OAAO,GAAGL,EAAEe,QAAQyG;YAC/CJ,EAAqBvG,MAAML,MAAM,GAAGR,EAAEgB,QAAQyG;AAChD;AACF;IACA,SAAS6H;QACP,IAAI/H,GAA+B;YACjCH,EAAqBvG,MAAMR,OAAO,GAAGgH;YACrCD,EAAqBvG,MAAML,MAAM,GAAG8G;YACpCC,IAAgC;YAChCH,IAAuB;YACvBC,IAAkC;YAClCC,IAAkC;AACpC;AACF;IACA,MAAMiI,KAAU;QAMdC,OAAO,SAASvK;YACd,KAAKpI,EAAGK,cAAc2J,IAA2B;gBAC/CA,IAA2B/B,EAAMrC,QAAQE,IAAIsC;gBAC7C8D;gBACA+E;AACF;YACA,OAAOyB;AACT;QACAE,MAAM;YACJ,IAAI5S,EAAGK,cAAc2J,IAA2B;gBAC9CA,IAA2B;gBAC3B4C;gBACAkF;AACF;YACA,OAAOY;AACT;QACAG,OAAO;YACL/H;YACA,OAAO4H;AACT;QAMAI,kBAAkB,SAAS/M;YACzB,IAAI/F,EAAGK,cAAc0F,IAAmB;gBACtC,IAAIgN,IAA0B;gBAC9B,MAAMC,IAA2BhK;gBACjC,KAAK,IAAI+D,KAAgBhH,GAAkB;oBACzC,IAAIA,EAAiBiH,eAAeD,MAAiB/D,EAAegE,eAAeD,MAAiBiG,EAAyBjG,OAAkBhH,EAAiBgH,IAAe;wBAC7KiG,EAAyBjG,KAAgBhH,EAAiBgH;wBAC1DgG,IAA0B;AAC5B;AACF;gBACA,IAAIA,GAAyB;oBAC3B/J,IAAiBtD,EAAOE,QAAQE,IAAIkN;oBACpCnI;oBACA,IAAI7K,EAAGK,cAAc2J,IAA2B;wBAC9CkC;AACF;AACF;AACF;YACA,OAAOwG;AACT;QAMAO,YAAY;YACV,OAAO;AACT;;IAEF;QACEjK,IAAiBtD,EAAOE,QAAQE;QAChCvD,SAASmP,iBAAiB,qBAAoB;YAC5C7G;AAAa;QAEf,KAAK7K,EAAGE,QAAQoE,OAAO4O,QAAQ;YAC7B5O,OAAO4O,QAAQR;AACjB;AACD,MARD;AASD,EAviBD","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/peek.js b/dist/peek.js
index 1d2d9c5..09f0e0d 100644
--- a/dist/peek.js
+++ b/dist/peek.js
@@ -7,32 +7,32 @@ var e;
return e !== null && e !== void 0 && e.toString() !== "";
}
e.defined = t;
- function n(e) {
+ function o(e) {
return t(e) && typeof e === "object";
}
- e.definedObject = n;
- function o(e) {
+ e.definedObject = o;
+ function n(e) {
return t(e) && typeof e === "boolean";
}
- e.definedBoolean = o;
- function l(e) {
+ e.definedBoolean = n;
+ function i(e) {
return t(e) && typeof e === "string";
}
- e.definedString = l;
- function i(e) {
+ e.definedString = i;
+ function l(e) {
return t(e) && typeof e === "function";
}
- e.definedFunction = i;
+ e.definedFunction = l;
function r(e) {
return t(e) && typeof e === "number";
}
e.definedNumber = r;
function s(e) {
- return n(e) && e instanceof Array;
+ return o(e) && e instanceof Array;
}
e.definedArray = s;
function a(e) {
- return n(e) && e instanceof Date;
+ return o(e) && e instanceof Date;
}
e.definedDate = a;
function c(e, t = 1) {
@@ -61,37 +61,37 @@ var t;
e.PEEK_JS_IGNORE_STATE_ATTRIBUTE = "data-peek-js-ignore-state";
})(t || (t = {}));
-var n;
+var o;
-(n => {
- function o(n, o, l = "", i = false) {
- const r = o.toLowerCase();
+(o => {
+ function n(o, n, i = "", l = false) {
+ const r = n.toLowerCase();
const s = r === "text";
let a = s ? document.createTextNode("") : document.createElement(r);
a.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE, "ignore");
- if (e.definedString(l)) {
- a.className = l;
+ if (e.definedString(i)) {
+ a.className = i;
}
- if (!i) {
- n.appendChild(a);
+ if (!l) {
+ o.appendChild(a);
} else {
- n.insertBefore(a, n.children[0]);
+ o.insertBefore(a, o.children[0]);
}
return a;
}
- n.create = o;
- function l(e, n, l, i, r = false) {
- const s = o(e, n, l, r);
- s.innerHTML = i;
+ o.create = n;
+ function i(e, o, i, l, r = false) {
+ const s = n(e, o, i, r);
+ s.innerHTML = l;
s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE, "ignore");
return s;
}
- n.createWithHTML = l;
- function i(e) {
+ o.createWithHTML = i;
+ function l(e) {
e.preventDefault();
e.stopPropagation();
}
- n.cancelBubble = i;
+ o.cancelBubble = l;
function r() {
const e = document.documentElement;
const t = {
@@ -100,34 +100,36 @@ var n;
};
return t;
}
- n.getScrollPosition = r;
- function s(e, t) {
+ o.getScrollPosition = r;
+ function s(e, t, o) {
if (t.style.display !== "block") {
let n = e.pageX;
- let o = e.pageY;
+ let i = e.pageY;
const l = r();
t.style.display = "block";
if (n + t.offsetWidth > window.innerWidth) {
- n -= t.offsetWidth;
+ n -= t.offsetWidth + o;
} else {
n++;
+ n += o;
}
- if (o + t.offsetHeight > window.innerHeight) {
- o -= t.offsetHeight;
+ if (i + t.offsetHeight > window.innerHeight) {
+ i -= t.offsetHeight + o;
} else {
- o++;
+ i++;
+ i += o;
}
if (n < l.left) {
n = e.pageX + 1;
}
- if (o < l.top) {
- o = e.pageY + 1;
+ if (i < l.top) {
+ i = e.pageY + 1;
}
t.style.left = `${n}px`;
- t.style.top = `${o}px`;
+ t.style.top = `${i}px`;
}
}
- n.showElementAtMousePosition = s;
+ o.showElementAtMousePosition = s;
function a(e) {
const t = {
left: 0,
@@ -140,124 +142,128 @@ var n;
}
return t;
}
- n.getOffset = a;
-})(n || (n = {}));
+ o.getOffset = a;
+})(o || (o = {}));
-var o;
+var n;
(t => {
- function n(e, t) {
+ function o(e, t) {
return typeof e === "string" ? e : t;
}
- t.getAnyString = n;
- function o(t, n) {
- return e.definedString(t) ? t : n;
+ t.getAnyString = o;
+ function n(t, o) {
+ return e.definedString(t) ? t : o;
}
- t.getString = o;
- function l(t, n) {
- return e.definedBoolean(t) ? t : n;
+ t.getString = n;
+ function i(t, o) {
+ return e.definedBoolean(t) ? t : o;
}
- t.getBoolean = l;
- function i(t, n) {
- return e.definedNumber(t) ? t : n;
+ t.getBoolean = i;
+ function l(t, o) {
+ return e.definedNumber(t) ? t : o;
}
- t.getNumber = i;
- function r(t, n) {
- return e.definedArray(t) ? t : n;
+ t.getNumber = l;
+ function r(t, o) {
+ return e.definedArray(t) ? t : o;
}
t.getArray = r;
- function s(t, n) {
- return e.definedObject(t) ? t : n;
+ function s(t, o) {
+ return e.definedObject(t) ? t : o;
}
t.getObject = s;
- function a(t, n) {
- let o = n;
+ function a(t, o) {
+ let n = o;
if (e.definedString(t)) {
const e = t.toString().split(" ");
if (e.length === 0) {
- t = n;
+ t = o;
} else {
- o = e;
+ n = e;
}
} else {
- o = r(t, n);
+ n = r(t, o);
}
- return o;
+ return n;
}
t.getStringOrArray = a;
-})(o || (o = {}));
+})(n || (n = {}));
-var l;
+var i;
(e => {
let t;
(e => {
function t(e = null) {
- let t = o.getObject(e, {});
- t.dialogDisplayDelay = o.getNumber(t.dialogDisplayDelay, 1e3);
- t.searchDelayDelay = o.getNumber(t.searchDelayDelay, 500);
- t = n(t);
+ let t = n.getObject(e, {});
+ t.dialogShowDelay = n.getNumber(t.dialogShowDelay, 1e3);
+ t.dialogHideDelay = n.getNumber(t.dialogHideDelay, 500);
+ t.searchDelay = n.getNumber(t.searchDelay, 500);
+ t = o(t);
return t;
}
e.get = t;
- function n(e) {
- e.text = o.getObject(e.text, {});
- e.text.cssText = o.getAnyString(e.text.cssText, "CSS");
- e.text.attributesText = o.getAnyString(e.text.attributesText, "Attributes");
- e.text.sizeText = o.getAnyString(e.text.sizeText, "Size");
- e.text.classesText = o.getAnyString(e.text.classesText, "Classes");
- e.text.noAttributesAvailableText = o.getAnyString(e.text.noAttributesAvailableText, "No attributes are available.");
- e.text.closeText = o.getAnyString(e.text.closeText, "Close");
- e.text.copyText = o.getAnyString(e.text.copyText, "Copy");
- e.text.copySymbolText = o.getAnyString(e.text.copySymbolText, "❐");
- e.text.pasteText = o.getAnyString(e.text.pasteText, "Paste");
- e.text.pasteSymbolText = o.getAnyString(e.text.pasteSymbolText, "☐");
- e.text.removeText = o.getAnyString(e.text.removeText, "Remove");
- e.text.removeSymbolText = o.getAnyString(e.text.removeSymbolText, "✕");
- e.text.noClassesAvailableText = o.getAnyString(e.text.noClassesAvailableText, "No classes are available.");
- e.text.searchPropertiesPlaceHolderText = o.getAnyString(e.text.searchPropertiesPlaceHolderText, "Search properties...");
- e.text.clearText = o.getAnyString(e.text.clearText, "Clear");
- e.text.clearSymbolText = o.getAnyString(e.text.clearSymbolText, "✕");
- e.text.noPropertiesFoundForSearchText = o.getAnyString(e.text.noPropertiesFoundForSearchText, "No properties were found for your search.");
- e.text.dialogMovedSymbolText = o.getAnyString(e.text.dialogMovedSymbolText, "✸");
- e.text.propertyValuePlaceHolderText = o.getAnyString(e.text.propertyValuePlaceHolderText, "Enter value...");
- e.text.modeNotSupportedText = o.getAnyString(e.text.modeNotSupportedText, "The mode you have specified is not supported.");
- e.text.unknownModeText = o.getAnyString(e.text.unknownModeText, "Unknown Mode");
- e.text.moveUpText = o.getAnyString(e.text.moveUpText, "Move Up");
- e.text.moveUpSymbolText = o.getAnyString(e.text.moveUpSymbolText, "↑");
- e.text.moveDownText = o.getAnyString(e.text.moveDownText, "Move Down");
- e.text.moveDownSymbolText = o.getAnyString(e.text.moveDownSymbolText, "↓");
- e.text.removeElementSymbolText = o.getAnyString(e.text.removeElementSymbolText, "⌫");
- e.text.lockText = o.getAnyString(e.text.lockText, "Lock");
+ function o(e) {
+ e.text = n.getObject(e.text, {});
+ e.text.cssText = n.getAnyString(e.text.cssText, "CSS");
+ e.text.attributesText = n.getAnyString(e.text.attributesText, "Attributes");
+ e.text.sizeText = n.getAnyString(e.text.sizeText, "Size");
+ e.text.classesText = n.getAnyString(e.text.classesText, "Classes");
+ e.text.noAttributesAvailableText = n.getAnyString(e.text.noAttributesAvailableText, "No attributes are available.");
+ e.text.closeText = n.getAnyString(e.text.closeText, "Close");
+ e.text.copyText = n.getAnyString(e.text.copyText, "Copy");
+ e.text.copySymbolText = n.getAnyString(e.text.copySymbolText, "❐");
+ e.text.pasteText = n.getAnyString(e.text.pasteText, "Paste");
+ e.text.pasteSymbolText = n.getAnyString(e.text.pasteSymbolText, "☐");
+ e.text.removeText = n.getAnyString(e.text.removeText, "Remove");
+ e.text.removeSymbolText = n.getAnyString(e.text.removeSymbolText, "✕");
+ e.text.noClassesAvailableText = n.getAnyString(e.text.noClassesAvailableText, "No classes are available.");
+ e.text.searchPropertiesPlaceHolderText = n.getAnyString(e.text.searchPropertiesPlaceHolderText, "Search properties...");
+ e.text.clearText = n.getAnyString(e.text.clearText, "Clear");
+ e.text.clearSymbolText = n.getAnyString(e.text.clearSymbolText, "✕");
+ e.text.noPropertiesFoundForSearchText = n.getAnyString(e.text.noPropertiesFoundForSearchText, "No properties were found for your search.");
+ e.text.dialogMovedSymbolText = n.getAnyString(e.text.dialogMovedSymbolText, "✸");
+ e.text.propertyValuePlaceHolderText = n.getAnyString(e.text.propertyValuePlaceHolderText, "Enter value...");
+ e.text.modeNotSupportedText = n.getAnyString(e.text.modeNotSupportedText, "The mode you have specified is not supported.");
+ e.text.unknownModeText = n.getAnyString(e.text.unknownModeText, "Unknown Mode");
+ e.text.moveUpText = n.getAnyString(e.text.moveUpText, "Move Up");
+ e.text.moveUpSymbolText = n.getAnyString(e.text.moveUpSymbolText, "↑");
+ e.text.moveDownText = n.getAnyString(e.text.moveDownText, "Move Down");
+ e.text.moveDownSymbolText = n.getAnyString(e.text.moveDownSymbolText, "↓");
+ e.text.removeElementSymbolText = n.getAnyString(e.text.removeElementSymbolText, "⌫");
+ e.text.lockText = n.getAnyString(e.text.lockText, "Lock");
return e;
}
})(t = e.Options || (e.Options = {}));
-})(l || (l = {}));
+})(i || (i = {}));
-var i;
+var l;
(e => {
let t;
(e => {
function t(e) {
- let t = o.getObject(e, {});
- t.nodeType = o.getStringOrArray(t.nodeType, []);
- t.mode = o.getNumber(t.mode, 1);
- t.titleText = o.getString(t.titleText, "");
- t.showOnly = o.getStringOrArray(t.showOnly, []);
- t.allowEditing = o.getBoolean(t.allowEditing, false);
- t.showIdOrNameInTitle = o.getBoolean(t.showIdOrNameInTitle, true);
- t.showNodeNameInTitle = o.getBoolean(t.showNodeNameInTitle, false);
- t.ignoreValues = o.getStringOrArray(t.ignoreValues, []);
- t.showLockButtonInTitle = o.getBoolean(t.showLockButtonInTitle, true);
+ let t = n.getObject(e, {});
+ t.nodeType = n.getStringOrArray(t.nodeType, []);
+ t.mode = n.getNumber(t.mode, 1);
+ t.titleText = n.getString(t.titleText, "");
+ t.showOnly = n.getStringOrArray(t.showOnly, []);
+ t.allowEditing = n.getBoolean(t.allowEditing, false);
+ t.showIdOrNameInTitle = n.getBoolean(t.showIdOrNameInTitle, true);
+ t.showNodeNameInTitle = n.getBoolean(t.showNodeNameInTitle, false);
+ t.ignoreValues = n.getStringOrArray(t.ignoreValues, []);
+ t.showLockButtonInTitle = n.getBoolean(t.showLockButtonInTitle, true);
+ t.dialogOffset = n.getNumber(t.dialogOffset, 0);
+ t.showSearch = n.getBoolean(t.showSearch, true);
+ t.showSearchPropertyCount = n.getNumber(t.showSearchPropertyCount, 15);
return t;
}
e.get = t;
})(t = e.Options || (e.Options = {}));
-})(i || (i = {}));
+})(l || (l = {}));
(() => {
- let o = {};
+ let n = {};
let r = null;
let s = null;
let a = null;
@@ -268,124 +274,140 @@ var i;
let p = null;
let x = null;
let g = null;
- let y = null;
let m = null;
+ let y = null;
let T = null;
+ let h = 0;
let v = 0;
let b = null;
- let h = [];
- let S = {};
+ let S = [];
+ let w = {};
let A = null;
- let w = false;
- let L = 0;
+ let L = false;
+ let N = 0;
let E = 0;
- let N = null;
- let O = 0;
+ let O = null;
+ let H = 0;
let M = 0;
- let H = false;
- let P = 0;
+ let P = false;
+ let C = 0;
let k = 0;
- function C() {
+ function W() {
if (e.definedObject(r)) {
- D();
+ I();
document.body.removeChild(r);
r = null;
}
- r = n.create(document.body, "div", "peek-js");
- r.onmousemove = n.cancelBubble;
- s = n.create(r, "div", "dialog-title-bar");
- c = n.create(r, "div", "dialog-search");
- d = n.create(r, "div", "dialog-contents");
- x = n.create(r, "div", "dialog-buttons");
- g = n.createWithHTML(x, "button", "copy", o.text.copyText);
- g.onclick = $;
- f = n.create(c, "input");
- f.placeholder = o.text.searchPropertiesPlaceHolderText;
+ r = o.create(document.body, "div", "peek-js");
+ r.onmousemove = o.cancelBubble;
+ s = o.create(r, "div", "dialog-title-bar");
+ c = o.create(r, "div", "dialog-search");
+ d = o.create(r, "div", "dialog-contents");
+ x = o.create(r, "div", "dialog-buttons");
+ g = o.createWithHTML(x, "button", "copy", n.text.copyText);
+ g.onclick = D;
+ f = o.create(c, "input");
+ f.placeholder = n.text.searchPropertiesPlaceHolderText;
f.type = "text";
- f.onkeyup = j;
- f.onpaste = j;
+ f.onkeyup = _;
+ f.onpaste = _;
f.onfocus = () => f.select();
- const t = n.createWithHTML(c, "button", "clear-small", o.text.clearSymbolText);
- t.title = o.text.clearText;
- t.onclick = _;
- const l = n.createWithHTML(x, "button", "close", o.text.closeText);
- l.onclick = D;
- y = n.createWithHTML(x, "button", "remove", o.text.removeElementSymbolText);
- y.onclick = I;
- y.title = o.text.removeText;
- m = n.createWithHTML(x, "button", "move-up", o.text.moveUpSymbolText);
- m.onclick = R;
- m.title = o.text.moveUpText;
- T = n.createWithHTML(x, "button", "move-down", o.text.moveDownSymbolText);
- T.onclick = U;
- T.title = o.text.moveDownText;
- se(s, r);
- }
- function W(t = null) {
- if (!w && e.defined(b)) {
- let l = b.titleText;
+ const t = o.createWithHTML(c, "button", "clear-small", n.text.clearSymbolText);
+ t.title = n.text.clearText;
+ t.onclick = R;
+ const i = o.createWithHTML(x, "button", "close", n.text.closeText);
+ i.onclick = () => I();
+ m = o.createWithHTML(x, "button", "remove", n.text.removeElementSymbolText);
+ m.onclick = j;
+ m.title = n.text.removeText;
+ y = o.createWithHTML(x, "button", "move-up", n.text.moveUpSymbolText);
+ y.onclick = U;
+ y.title = n.text.moveUpText;
+ T = o.createWithHTML(x, "button", "move-down", n.text.moveDownSymbolText);
+ T.onclick = V;
+ T.title = n.text.moveDownText;
+ ce(s, r);
+ }
+ function B(t = null) {
+ if (!L && e.defined(b)) {
+ let i = b.titleText;
s.innerHTML = "";
- if (!e.definedString(l)) {
+ if (!e.definedString(i)) {
if (b.mode === 1) {
- l = o.text.cssText;
+ i = n.text.cssText;
} else if (b.mode === 2) {
- l = o.text.attributesText;
+ i = n.text.attributesText;
} else if (b.mode === 3) {
- l = o.text.sizeText;
+ i = n.text.sizeText;
} else if (b.mode === 4) {
- l = o.text.classesText;
+ i = n.text.classesText;
} else {
- l = o.text.unknownModeText;
+ i = n.text.unknownModeText;
}
}
- n.createWithHTML(s, "span", "title", l);
- if (L > 1 && b.showNodeNameInTitle) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "node-name", `[${t.nodeName.toLowerCase()}]`);
+ o.createWithHTML(s, "span", "title", i);
+ if (N > 1 && b.showNodeNameInTitle) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "node-name", `[${t.nodeName.toLowerCase()}]`);
}
if (b.showIdOrNameInTitle && e.defined(t)) {
- const o = t.getAttribute("id");
- const l = t.getAttribute("name");
- if (e.definedString(o)) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "id-or-name", o);
- } else if (e.definedString(l)) {
- n.createWithHTML(s, "span", "dash", " - ");
- n.createWithHTML(s, "span", "id-or-name", l);
+ const n = t.getAttribute("id");
+ const i = t.getAttribute("name");
+ if (e.definedString(n)) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "id-or-name", n);
+ } else if (e.definedString(i)) {
+ o.createWithHTML(s, "span", "dash", " - ");
+ o.createWithHTML(s, "span", "id-or-name", i);
}
}
if (b.showLockButtonInTitle) {
- a = n.createWithHTML(s, "button", "lock", o.text.dialogMovedSymbolText);
- a.title = o.text.lockText;
- a.onclick = () => B();
+ a = o.createWithHTML(s, "button", "lock", n.text.dialogMovedSymbolText);
+ a.title = n.text.lockText;
+ a.onclick = () => $();
}
}
}
- function B() {
- if (!w) {
- n.createWithHTML(s, "span", "locked", `${o.text.dialogMovedSymbolText}${" "}`, true);
+ function $() {
+ if (!L) {
+ o.createWithHTML(s, "span", "locked", `${n.text.dialogMovedSymbolText}${" "}`, true);
if (e.defined(a)) {
a.parentNode.removeChild(a);
a = null;
}
- w = true;
+ L = true;
+ }
+ }
+ function I(e = false) {
+ if (r.style.display !== "none") {
+ const t = () => {
+ r.style.display = "none";
+ L = false;
+ f.value = "";
+ ae();
+ };
+ if (e) {
+ if (v === 0) {
+ se();
+ v = setTimeout((() => {
+ t();
+ }), n.dialogHideDelay);
+ }
+ } else {
+ t();
+ }
}
}
function D() {
- r.style.display = "none";
- w = false;
- f.value = "";
- }
- function $() {
const e = [];
- for (let t in S) {
- if (S.hasOwnProperty(t)) {
+ for (let t in w) {
+ if (w.hasOwnProperty(t)) {
if (b.mode === 1) {
- e.push(`${t}: ${S[t]};`);
+ e.push(`${t}: ${w[t]};`);
} else if (b.mode === 2) {
- e.push(`${t}="${S[t]}"`);
+ e.push(`${t}="${w[t]}"`);
} else if (b.mode === 4) {
- e.push(S[t]);
+ e.push(w[t]);
}
}
}
@@ -395,379 +417,385 @@ var i;
navigator.clipboard.writeText(e.join(" "));
}
}
- function I() {
- var e;
- (e = A.parentNode) == null ? void 0 : e.removeChild(A);
- D();
- }
function j() {
+ A.parentNode.removeChild(A);
+ I();
+ }
+ function _() {
if (u !== 0) {
clearTimeout(u);
u = 0;
}
u = setTimeout((() => {
const t = d.getElementsByClassName("property-name");
- const n = [].slice.call(t);
- const o = n.length;
- const l = f.value.toLowerCase();
- let i = 0;
- for (let t = 0; t < o; t++) {
- const o = n[t].parentNode;
- if (e.defined(o)) {
+ const o = [].slice.call(t);
+ const n = o.length;
+ const i = f.value.toLowerCase();
+ let l = 0;
+ for (let t = 0; t < n; t++) {
+ const n = o[t].parentNode;
+ if (e.defined(n)) {
if (f.value.trim() === "") {
- o.style.removeProperty("display");
- i++;
+ n.style.removeProperty("display");
+ l++;
} else {
- const e = n[t].innerText;
- if (e.toLowerCase().indexOf(l) > -1) {
- o.style.removeProperty("display");
- i++;
+ const e = o[t].innerText;
+ if (e.toLowerCase().indexOf(i) > -1) {
+ n.style.removeProperty("display");
+ l++;
} else {
- o.style.display = "none";
+ n.style.display = "none";
}
}
}
}
- if (i === 0) {
+ if (l === 0) {
p.style.display = "block";
} else {
p.style.removeProperty("display");
}
- }), o.searchDelayDelay);
+ }), n.searchDelay);
}
- function _() {
+ function R() {
f.value = "";
f.focus();
- j();
+ _();
}
- function R() {
+ function U() {
if (A.parentNode !== null && A.previousElementSibling !== null) {
A.parentNode.insertBefore(A, A.previousElementSibling);
}
}
- function U() {
+ function V() {
if (A.parentNode !== null && A.nextElementSibling !== null) {
A.parentNode.insertBefore(A.nextElementSibling, A);
}
}
- function V(t) {
+ function F(t) {
if (e.defined(b)) {
d.innerHTML = "";
d.scrollTop = 0;
- S = {};
+ w = {};
E = 0;
A = t;
- W(t);
+ B(t);
if (b.mode === 1 || b.mode === 4 || b.mode === 2) {
g.style.removeProperty("display");
} else {
g.style.display = "none";
}
if (!b.allowEditing) {
- y.style.display = "none";
m.style.display = "none";
+ y.style.display = "none";
T.style.display = "none";
} else {
- y.style.removeProperty("display");
m.style.removeProperty("display");
+ y.style.removeProperty("display");
T.style.removeProperty("display");
}
- p = n.createWithHTML(d, "span", "no-search-results", o.text.noPropertiesFoundForSearchText);
+ p = o.createWithHTML(d, "span", "no-search-results", n.text.noPropertiesFoundForSearchText);
if (b.mode === 1) {
- F(t);
- } else if (b.mode === 2) {
z(t);
- } else if (b.mode === 3) {
+ } else if (b.mode === 2) {
G(t);
- } else if (b.mode === 4) {
+ } else if (b.mode === 3) {
J(t);
+ } else if (b.mode === 4) {
+ K(t);
} else {
- n.createWithHTML(d, "span", "warning", o.text.modeNotSupportedText);
+ o.createWithHTML(d, "span", "warning", n.text.modeNotSupportedText);
}
- if (E <= 15) {
+ if (E <= b.showSearchPropertyCount || !b.showSearch) {
c.style.display = "none";
} else {
c.style.removeProperty("display");
}
}
}
- function F(e) {
+ function z(e) {
const t = getComputedStyle(e);
- const n = t.length;
- for (let o = 0; o < n; o++) {
- K(e, t[o], t.getPropertyValue(t[o]));
+ const o = t.length;
+ for (let n = 0; n < o; n++) {
+ X(e, t[n], t.getPropertyValue(t[n]));
}
}
- function z(e) {
+ function G(e) {
if (e.hasAttributes()) {
for (let t of e.attributes) {
- K(e, t.name, t.value);
+ X(e, t.name, t.value);
}
} else {
d.innerHTML = "";
- n.createWithHTML(d, "span", "warning", o.text.noAttributesAvailableText);
+ o.createWithHTML(d, "span", "warning", n.text.noAttributesAvailableText);
}
}
- function G(e) {
- const t = n.getOffset(e);
- K(e, "left", `${t.left.toString()}px`, false);
- K(e, "top", `${t.top.toString()}px`, false);
- K(e, "width", `${e.offsetWidth.toString()}px`, false);
- K(e, "height", `${e.offsetHeight.toString()}px`, false);
- }
function J(e) {
+ const t = o.getOffset(e);
+ X(e, "left", `${t.left.toString()}px`, false);
+ X(e, "top", `${t.top.toString()}px`, false);
+ X(e, "width", `${e.offsetWidth.toString()}px`, false);
+ X(e, "height", `${e.offsetHeight.toString()}px`, false);
+ }
+ function K(e) {
if (e.classList.length > 0) {
let t = 1;
- for (let n of e.classList) {
- K(e, t.toString(), n);
+ for (let o of e.classList) {
+ X(e, t.toString(), o);
t++;
}
} else {
d.innerHTML = "";
- n.createWithHTML(d, "span", "warning", o.text.noClassesAvailableText);
+ o.createWithHTML(d, "span", "warning", n.text.noClassesAvailableText);
}
}
- function K(t, l, i, r = true) {
- if (Z(l) && ee(i)) {
- const s = n.create(d, "div", "property-row");
- n.createWithHTML(s, "div", "property-name", l);
- const a = n.create(s, "div", "property-value");
- const c = n.create(a, "input");
- if (e.hexColor(i) || e.isRgbColor(i)) {
+ function X(t, i, l, r = true) {
+ if (ee(i) && te(l)) {
+ const s = o.create(d, "div", "property-row");
+ o.createWithHTML(s, "div", "property-name", i);
+ const a = o.create(s, "div", "property-value");
+ const c = o.create(a, "input");
+ if (e.hexColor(l) || e.isRgbColor(l)) {
c.classList.add("property-value-color");
- c.style.borderLeftColor = i;
+ c.style.borderLeftColor = l;
}
- c.placeholder = o.text.propertyValuePlaceHolderText;
+ c.placeholder = n.text.propertyValuePlaceHolderText;
c.onfocus = () => c.select();
- const f = n.createWithHTML(s, "button", "copy-small", o.text.copySymbolText);
- f.title = o.text.copyText;
- f.onclick = () => navigator.clipboard.writeText(i);
+ const f = o.createWithHTML(s, "button", "copy-small", n.text.copySymbolText);
+ f.title = n.text.copyText;
+ f.onclick = () => navigator.clipboard.writeText(l);
if (b.allowEditing && r) {
- const e = n.createWithHTML(s, "button", "paste-small", o.text.pasteSymbolText);
- const r = n.createWithHTML(s, "button", "remove-small", o.text.removeSymbolText);
- e.title = o.text.pasteText;
- r.title = o.text.removeText;
- e.onclick = () => X(t, c, l);
- r.onclick = () => Y(s, t, l, i);
+ const e = o.createWithHTML(s, "button", "paste-small", n.text.pasteSymbolText);
+ const r = o.createWithHTML(s, "button", "remove-small", n.text.removeSymbolText);
+ e.title = n.text.pasteText;
+ r.title = n.text.removeText;
+ e.onclick = () => Y(t, c, i);
+ r.onclick = () => q(s, t, i, l);
}
c.type = "text";
- c.value = i;
- S[l] = i;
+ c.value = l;
+ w[i] = l;
E++;
if (!b.allowEditing || !r) {
c.readOnly = true;
} else {
- c.onkeyup = e => q(e, l, c, t);
+ c.onkeyup = e => Q(e, i, c, t);
}
}
}
- function X(e, t, n) {
- navigator.clipboard.readText().then((o => {
- t.value = o;
- Q(e, n, t);
+ function Y(e, t, o) {
+ navigator.clipboard.readText().then((n => {
+ t.value = n;
+ Z(e, o, t);
}));
}
- function Y(e, t, n, o) {
+ function q(e, t, o, n) {
if (b.mode === 1) {
- t.style.removeProperty(n);
+ t.style.removeProperty(o);
e.parentNode.removeChild(e);
} else if (b.mode === 2) {
- t.removeAttribute(n);
+ t.removeAttribute(o);
e.parentNode.removeChild(e);
} else if (b.mode === 4) {
- t.classList.remove(o);
+ t.classList.remove(n);
e.parentNode.removeChild(e);
}
}
- function q(e, t, n, o) {
+ function Q(e, t, o, n) {
if (e.code === "Enter") {
- Q(o, t, n);
+ Z(n, t, o);
}
}
- function Q(t, n, o) {
+ function Z(t, o, n) {
if (b.mode === 1) {
- t.style.setProperty(n, o.value);
+ t.style.setProperty(o, n.value);
} else if (b.mode === 2) {
- t.setAttribute(n, o.value);
+ t.setAttribute(o, n.value);
} else if (b.mode === 4) {
- t.classList.replace(t.classList[parseInt(n) - 1], o.value);
+ t.classList.replace(t.classList[parseInt(o) - 1], n.value);
}
- S[n] = o.value;
- if (e.hexColor(o.value) || e.isRgbColor(o.value)) {
- o.classList.add("property-value-color");
- o.style.borderLeftColor = o.value;
+ w[o] = n.value;
+ if (e.hexColor(n.value) || e.isRgbColor(n.value)) {
+ n.classList.add("property-value-color");
+ n.style.borderLeftColor = n.value;
} else {
- o.classList.remove("property-value-color");
+ n.classList.remove("property-value-color");
}
}
- function Z(e) {
+ function ee(e) {
return b.showOnly.length === 0 || b.showOnly.indexOf(e) > -1;
}
- function ee(e) {
+ function te(e) {
return b.ignoreValues.length === 0 || b.ignoreValues.indexOf(e) <= -1;
}
- function te() {
+ function oe() {
const e = b.nodeType;
- L = e.length;
- for (let t = 0; t < L; t++) {
- const n = document.getElementsByTagName(e[t]);
- const o = [].slice.call(n);
- const l = o.length;
- for (let e = 0; e < l; e++) {
- ne(o[e]);
+ N = e.length;
+ for (let t = 0; t < N; t++) {
+ const o = document.getElementsByTagName(e[t]);
+ const n = [].slice.call(o);
+ const i = n.length;
+ for (let e = 0; e < i; e++) {
+ ne(n[e]);
}
}
- window.addEventListener("mousemove", ie);
+ window.addEventListener("mousemove", re);
}
- function ne(n) {
- const o = n.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);
- if (!e.definedString(o) && o !== "ignore") {
- n.addEventListener("mousemove", (e => {
- le(e, n);
+ function ne(o) {
+ const n = o.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);
+ if (!e.definedString(n) && n !== "ignore") {
+ o.addEventListener("mousemove", (e => {
+ le(e, o);
}));
- h.push(n);
+ S.push(o);
}
}
- function oe() {
- const e = h.length;
+ function ie() {
+ const e = S.length;
for (let t = 0; t < e; t++) {
- const e = h[t];
+ const e = S[t];
e.removeEventListener("mousemove", (t => {
le(t, e);
}));
}
- h = [];
- window.removeEventListener("mousemove", ie);
- D();
+ S = [];
+ window.removeEventListener("mousemove", re);
+ I();
}
- function le(t, l) {
- if (!w && e.defined(b)) {
- n.cancelBubble(t);
- re();
- v = setTimeout((() => {
- V(l);
- n.showElementAtMousePosition(t, r);
- }), o.dialogDisplayDelay);
+ function le(t, i) {
+ if (!L && e.defined(b)) {
+ o.cancelBubble(t);
+ se();
+ h = setTimeout((() => {
+ F(i);
+ ae();
+ o.showElementAtMousePosition(t, r, b.dialogOffset);
+ }), n.dialogShowDelay);
}
}
- function ie() {
- if (!w) {
- re();
- D();
+ function re() {
+ if (!L) {
+ se();
+ I(true);
}
}
- function re() {
+ function se() {
+ if (h !== 0) {
+ clearTimeout(h);
+ h = 0;
+ }
+ }
+ function ae() {
if (v !== 0) {
clearTimeout(v);
v = 0;
}
}
- function se(e, t) {
+ function ce(e, t) {
e.onmousedown = e => {
- ae(e, t);
+ fe(e, t);
};
t.onmousemove = e => {
- fe(e, true);
+ de(e, true);
};
e.onmouseup = () => {
- ce();
+ ue();
};
e.oncontextmenu = () => {
- ce();
+ ue();
};
- document.addEventListener("mousemove", fe);
- document.addEventListener("mouseleave", ue);
- }
- function ae(e, t) {
- if (!H) {
- N = t;
- H = true;
- P = e.pageX - N.offsetLeft;
- k = e.pageY - N.offsetTop;
- O = N.offsetLeft;
- M = N.offsetTop;
- }
- }
- function ce() {
- if (H) {
- H = false;
- N = null;
- O = 0;
+ document.addEventListener("mousemove", de);
+ document.addEventListener("mouseleave", pe);
+ }
+ function fe(e, t) {
+ if (!P) {
+ O = t;
+ P = true;
+ C = e.pageX - O.offsetLeft;
+ k = e.pageY - O.offsetTop;
+ H = O.offsetLeft;
+ M = O.offsetTop;
+ }
+ }
+ function ue() {
+ if (P) {
+ P = false;
+ O = null;
+ H = 0;
M = 0;
}
}
- function fe(e, t = false) {
+ function de(e, t = false) {
if (t) {
- n.cancelBubble(e);
+ o.cancelBubble(e);
}
- if (H) {
- B();
- N.style.left = `${e.pageX - P}px`;
- N.style.top = `${e.pageY - k}px`;
+ if (P) {
+ $();
+ O.style.left = `${e.pageX - C}px`;
+ O.style.top = `${e.pageY - k}px`;
}
}
- function ue() {
- if (H) {
- N.style.left = `${O}px`;
- N.style.top = `${M}px`;
- H = false;
- N = null;
- O = 0;
+ function pe() {
+ if (P) {
+ O.style.left = `${H}px`;
+ O.style.top = `${M}px`;
+ P = false;
+ O = null;
+ H = 0;
M = 0;
}
}
- const de = {
+ const xe = {
start: function(t) {
if (!e.definedObject(b)) {
- b = i.Options.get(t);
- W();
- te();
+ b = l.Options.get(t);
+ B();
+ oe();
}
- return de;
+ return xe;
},
stop: function() {
if (e.definedObject(b)) {
b = null;
- re();
- oe();
+ se();
+ ie();
}
- return de;
+ return xe;
},
close: function() {
- D();
- return de;
+ I();
+ return xe;
},
setConfiguration: function(t) {
if (e.definedObject(t)) {
- let n = false;
- const i = o;
+ let o = false;
+ const l = n;
for (let e in t) {
- if (t.hasOwnProperty(e) && o.hasOwnProperty(e) && i[e] !== t[e]) {
- i[e] = t[e];
- n = true;
+ if (t.hasOwnProperty(e) && n.hasOwnProperty(e) && l[e] !== t[e]) {
+ l[e] = t[e];
+ o = true;
}
}
- if (n) {
- o = l.Options.get(i);
- C();
+ if (o) {
+ n = i.Options.get(l);
+ W();
if (e.definedObject(b)) {
- W();
+ B();
}
}
}
- return de;
+ return xe;
},
getVersion: function() {
- return "1.7.0";
+ return "1.8.0";
}
};
(() => {
- o = l.Options.get();
+ n = i.Options.get();
document.addEventListener("DOMContentLoaded", (() => {
- C();
+ W();
}));
if (!e.defined(window.$peek)) {
- window.$peek = de;
+ window.$peek = xe;
}
})();
})();//# sourceMappingURL=peek.js.map
\ No newline at end of file
diff --git a/dist/peek.js.css b/dist/peek.js.css
index 77b5f2f..96f8e21 100644
--- a/dist/peek.js.css
+++ b/dist/peek.js.css
@@ -1,5 +1,5 @@
/*
- * Peek.js Library v1.7.0
+ * Peek.js Library v1.8.0
*
* Copyright 2024 Bunoon
* Released under the MIT License
diff --git a/dist/peek.js.map b/dist/peek.js.map
index 9735311..f306acb 100644
--- a/dist/peek.js.map
+++ b/dist/peek.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/Peek.js/dist/peek.js"],"names":["Is","Is2","defined","value","toString","definedObject","object","definedBoolean","definedString","definedFunction","definedNumber","definedArray","Array","definedDate","Date","invalidOptionArray","array","minimumLength","length","hexColor","valid","isNaN","substring","isRgbColor","startsWith","Constant","Constant2","PEEK_JS_IGNORE_STATE_ATTRIBUTE","DomElement","DomElement2","create","container","type","className","insertAtStart","nodeType","toLowerCase","isText","result","document","createTextNode","createElement","setAttribute","appendChild","insertBefore","children","createWithHTML","html","element","innerHTML","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","style","display","pageX","pageY","scrollPosition","offsetWidth","window","innerWidth","offsetHeight","innerHeight","getOffset","offsetLeft","offsetTop","offsetParent","Default","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getArray","getObject","getStringOrArray","values","split","Config","Config2","Options","Options2","get","newConfiguration","configuration","dialogDisplayDelay","searchDelayDelay","getText","text","cssText","attributesText","sizeText","classesText","noAttributesAvailableText","closeText","copyText","copySymbolText","pasteText","pasteSymbolText","removeText","removeSymbolText","noClassesAvailableText","searchPropertiesPlaceHolderText","clearText","clearSymbolText","noPropertiesFoundForSearchText","dialogMovedSymbolText","propertyValuePlaceHolderText","modeNotSupportedText","unknownModeText","moveUpText","moveUpSymbolText","moveDownText","moveDownSymbolText","removeElementSymbolText","lockText","Start","Start2","newOptions","options","mode","titleText","showOnly","allowEditing","showIdOrNameInTitle","showNodeNameInTitle","ignoreValues","showLockButtonInTitle","_configuration","_dialog","_dialog_Title","_dialog_Title_Button_Lock","_dialog_Search","_dialog_Search_Input","_dialog_Search_Input_TimerId","_dialog_Contents","_dialog_Contents_NoSearchResultsText","_dialog_Buttons","_dialog_Buttons_Copy","_dialog_Buttons_Remove","_dialog_Buttons_MoveUp","_dialog_Buttons_MoveDown","_dialog_TimerId","_current_Process_Options","_current_Process_Elements","_current_Process_Properties","_current_Process_Element","_current_Process_Locked","_current_Process_NodeCount","_current_Process_Properties_Count","_element_Dialog_Move","_element_Dialog_Move_Original_X","_element_Dialog_Move_Original_Y","_element_Dialog_Move_IsMoving","_element_Dialog_Move_X","_element_Dialog_Move_Y","buildDialog","closeDialog","body","removeChild","onmousemove","onclick","onCopy","placeholder","onkeyup","onSearchProperties","onpaste","onfocus","select","removeButton","title","onSearchPropertiesClear","closeButton","onRemove","onMoveUp","onMoveDown","makeDialogMovable","setDialogTitle","nodeName","id","getAttribute","name","setDialogAsLocked","parentNode","lines","propertyName","hasOwnProperty","push","navigator","clipboard","writeText","join","_a","clearTimeout","setTimeout","getElementsByClassName","propertyNames","slice","call","propertyNamesLength","searchValue","propertiesFound","propertyNameIndex","parent","trim","removeProperty","propertyNameText","innerText","indexOf","focus","previousElementSibling","nextElementSibling","buildDialogContent","buildCssProperties","buildAttributeProperties","buildSizeProperties","buildClassProperties","computedStyles","getComputedStyle","computedStylesLength","styleIndex","buildPropertyRow","getPropertyValue","hasAttributes","attribute","attributes","offset","classList","index","propertyValueText","isPropertyVisible","isPropertyValueVisible","property","propertyValue","propertyValueInput","add","borderLeftColor","copyButton","pasteButton","onPropertyPaste","onPropertyRemove","readOnly","onPropertyValueKeyUp","readText","then","data","updatePropertyValue","removeAttribute","remove","input","code","setProperty","replace","parseInt","buildNodeEvents","tagTypes","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","buildNodeEvent","addEventListener","onWindowMove","attributeValue","onNodeMouseOver","removeNodeEvents","currentProcessElementsLength","removeEventListener","clearDialogShowTimer","titleBar","dialog","onmousedown","onMoveTitleBarMouseDown","onMoveDocumentMouseMove","onmouseup","onMoveTitleBarMouseUp","oncontextmenu","onMoveDocumentMouseLeave","_public","start","stop","close","setConfiguration","configurationHasChanged","newInternalConfiguration","getVersion","$peek"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/Peek.js/dist/peek.js"],"names":["Is","Is2","defined","value","toString","definedObject","object","definedBoolean","definedString","definedFunction","definedNumber","definedArray","Array","definedDate","Date","invalidOptionArray","array","minimumLength","length","hexColor","valid","isNaN","substring","isRgbColor","startsWith","Constant","Constant2","PEEK_JS_IGNORE_STATE_ATTRIBUTE","DomElement","DomElement2","create","container","type","className","insertAtStart","nodeType","toLowerCase","isText","result","document","createTextNode","createElement","setAttribute","appendChild","insertBefore","children","createWithHTML","html","element","innerHTML","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","offset","style","display","pageX","pageY","scrollPosition","offsetWidth","window","innerWidth","offsetHeight","innerHeight","getOffset","offsetLeft","offsetTop","offsetParent","Default","Default2","getAnyString","defaultValue","getString","getBoolean","getNumber","getArray","getObject","getStringOrArray","values","split","Config","Config2","Options","Options2","get","newConfiguration","configuration","dialogShowDelay","dialogHideDelay","searchDelay","getText","text","cssText","attributesText","sizeText","classesText","noAttributesAvailableText","closeText","copyText","copySymbolText","pasteText","pasteSymbolText","removeText","removeSymbolText","noClassesAvailableText","searchPropertiesPlaceHolderText","clearText","clearSymbolText","noPropertiesFoundForSearchText","dialogMovedSymbolText","propertyValuePlaceHolderText","modeNotSupportedText","unknownModeText","moveUpText","moveUpSymbolText","moveDownText","moveDownSymbolText","removeElementSymbolText","lockText","Start","Start2","newOptions","options","mode","titleText","showOnly","allowEditing","showIdOrNameInTitle","showNodeNameInTitle","ignoreValues","showLockButtonInTitle","dialogOffset","showSearch","showSearchPropertyCount","_configuration","_dialog","_dialog_Title","_dialog_Title_Button_Lock","_dialog_Search","_dialog_Search_Input","_dialog_Search_Input_TimerId","_dialog_Contents","_dialog_Contents_NoSearchResultsText","_dialog_Buttons","_dialog_Buttons_Copy","_dialog_Buttons_Remove","_dialog_Buttons_MoveUp","_dialog_Buttons_MoveDown","_dialog_Show_TimerId","_dialog_Hide_TimerId","_current_Process_Options","_current_Process_Elements","_current_Process_Properties","_current_Process_Element","_current_Process_Locked","_current_Process_NodeCount","_current_Process_Properties_Count","_element_Dialog_Move","_element_Dialog_Move_Original_X","_element_Dialog_Move_Original_Y","_element_Dialog_Move_IsMoving","_element_Dialog_Move_X","_element_Dialog_Move_Y","buildDialog","closeDialog","body","removeChild","onmousemove","onclick","onCopy","placeholder","onkeyup","onSearchProperties","onpaste","onfocus","select","removeButton","title","onSearchPropertiesClear","closeButton","onRemove","onMoveUp","onMoveDown","makeDialogMovable","setDialogTitle","nodeName","id","getAttribute","name","setDialogAsLocked","parentNode","useDelay","closeFunc","clearDialogHideTimer","clearDialogShowTimer","setTimeout","lines","propertyName","hasOwnProperty","push","navigator","clipboard","writeText","join","clearTimeout","getElementsByClassName","propertyNames","slice","call","propertyNamesLength","searchValue","propertiesFound","propertyNameIndex","parent","trim","removeProperty","propertyNameText","innerText","indexOf","focus","previousElementSibling","nextElementSibling","buildDialogContent","buildCssProperties","buildAttributeProperties","buildSizeProperties","buildClassProperties","computedStyles","getComputedStyle","computedStylesLength","styleIndex","buildPropertyRow","getPropertyValue","hasAttributes","attribute","attributes","classList","index","propertyValueText","isPropertyVisible","isPropertyValueVisible","property","propertyValue","propertyValueInput","add","borderLeftColor","copyButton","pasteButton","onPropertyPaste","onPropertyRemove","readOnly","onPropertyValueKeyUp","readText","then","data","updatePropertyValue","removeAttribute","remove","input","code","setProperty","replace","parseInt","buildNodeEvents","tagTypes","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","buildNodeEvent","addEventListener","onWindowMove","attributeValue","onNodeMouseOver","removeNodeEvents","currentProcessElementsLength","removeEventListener","titleBar","dialog","onmousedown","onMoveTitleBarMouseDown","onMoveDocumentMouseMove","onmouseup","onMoveTitleBarMouseUp","oncontextmenu","onMoveDocumentMouseLeave","_public","start","stop","close","setConfiguration","configurationHasChanged","newInternalConfiguration","getVersion","$peek"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/peek.min.js b/dist/peek.min.js
index fc10689..f86c3f4 100644
--- a/dist/peek.min.js
+++ b/dist/peek.min.js
@@ -1 +1 @@
-"use strict";var e,t,n,o,r,i;(e=>{function t(e){return null!=e&&""!==e.toString()}function n(e){return t(e)&&"object"==typeof e}function o(e){return n(e)&&e instanceof Array}e.defined=t,e.definedObject=n,e.definedBoolean=function(e){return t(e)&&"boolean"==typeof e},e.definedString=function(e){return t(e)&&"string"==typeof e},e.definedFunction=function(e){return t(e)&&"function"==typeof e},e.definedNumber=function(e){return t(e)&&"number"==typeof e},e.definedArray=o,e.definedDate=function(e){return n(e)&&e instanceof Date},e.invalidOptionArray=function(e,t=1){return!o(e)||e.length=2&&e.length<=7;return t=!(!t||"#"!==e[0])&&isNaN(+e.substring(1,e.length-1)),t},e.isRgbColor=function(e){return e.startsWith("rgb")||e.startsWith("rgba")}})(e||(e={})),(t||(t={})).PEEK_JS_IGNORE_STATE_ATTRIBUTE="data-peek-js-ignore-state",(n=>{function o(n,o,r="",i=!1){const l=o.toLowerCase();let s="text"===l?document.createTextNode(""):document.createElement(l);return s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE,"ignore"),e.definedString(r)&&(s.className=r),i?n.insertBefore(s,n.children[0]):n.appendChild(s),s}function r(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}n.create=o,n.createWithHTML=function(e,n,r,i,l=!1){const s=o(e,n,r,l);return s.innerHTML=i,s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE,"ignore"),s},n.cancelBubble=function(e){e.preventDefault(),e.stopPropagation()},n.getScrollPosition=r,n.showElementAtMousePosition=function(e,t){if("block"!==t.style.display){let n=e.pageX,o=e.pageY;const i=r();t.style.display="block",n+t.offsetWidth>window.innerWidth?n-=t.offsetWidth:n++,o+t.offsetHeight>window.innerHeight?o-=t.offsetHeight:o++,n{function n(t,n){return e.definedArray(t)?t:n}t.getAnyString=function(e,t){return"string"==typeof e?e:t},t.getString=function(t,n){return e.definedString(t)?t:n},t.getBoolean=function(t,n){return e.definedBoolean(t)?t:n},t.getNumber=function(t,n){return e.definedNumber(t)?t:n},t.getArray=n,t.getObject=function(t,n){return e.definedObject(t)?t:n},t.getStringOrArray=function(t,o){let r=o;if(e.definedString(t)){const e=t.toString().split(" ");0===e.length?t=o:r=e}else r=n(t,o);return r}})(o||(o={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){let t=o.getObject(e,{});return t.dialogDisplayDelay=o.getNumber(t.dialogDisplayDelay,1e3),t.searchDelayDelay=o.getNumber(t.searchDelayDelay,500),t=function(e){return e.text=o.getObject(e.text,{}),e.text.cssText=o.getAnyString(e.text.cssText,"CSS"),e.text.attributesText=o.getAnyString(e.text.attributesText,"Attributes"),e.text.sizeText=o.getAnyString(e.text.sizeText,"Size"),e.text.classesText=o.getAnyString(e.text.classesText,"Classes"),e.text.noAttributesAvailableText=o.getAnyString(e.text.noAttributesAvailableText,"No attributes are available."),e.text.closeText=o.getAnyString(e.text.closeText,"Close"),e.text.copyText=o.getAnyString(e.text.copyText,"Copy"),e.text.copySymbolText=o.getAnyString(e.text.copySymbolText,"❐"),e.text.pasteText=o.getAnyString(e.text.pasteText,"Paste"),e.text.pasteSymbolText=o.getAnyString(e.text.pasteSymbolText,"☐"),e.text.removeText=o.getAnyString(e.text.removeText,"Remove"),e.text.removeSymbolText=o.getAnyString(e.text.removeSymbolText,"✕"),e.text.noClassesAvailableText=o.getAnyString(e.text.noClassesAvailableText,"No classes are available."),e.text.searchPropertiesPlaceHolderText=o.getAnyString(e.text.searchPropertiesPlaceHolderText,"Search properties..."),e.text.clearText=o.getAnyString(e.text.clearText,"Clear"),e.text.clearSymbolText=o.getAnyString(e.text.clearSymbolText,"✕"),e.text.noPropertiesFoundForSearchText=o.getAnyString(e.text.noPropertiesFoundForSearchText,"No properties were found for your search."),e.text.dialogMovedSymbolText=o.getAnyString(e.text.dialogMovedSymbolText,"✸"),e.text.propertyValuePlaceHolderText=o.getAnyString(e.text.propertyValuePlaceHolderText,"Enter value..."),e.text.modeNotSupportedText=o.getAnyString(e.text.modeNotSupportedText,"The mode you have specified is not supported."),e.text.unknownModeText=o.getAnyString(e.text.unknownModeText,"Unknown Mode"),e.text.moveUpText=o.getAnyString(e.text.moveUpText,"Move Up"),e.text.moveUpSymbolText=o.getAnyString(e.text.moveUpSymbolText,"↑"),e.text.moveDownText=o.getAnyString(e.text.moveDownText,"Move Down"),e.text.moveDownSymbolText=o.getAnyString(e.text.moveDownSymbolText,"↓"),e.text.removeElementSymbolText=o.getAnyString(e.text.removeElementSymbolText,"⌫"),e.text.lockText=o.getAnyString(e.text.lockText,"Lock"),e}(t),t}})(r||(r={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e){let t=o.getObject(e,{});return t.nodeType=o.getStringOrArray(t.nodeType,[]),t.mode=o.getNumber(t.mode,1),t.titleText=o.getString(t.titleText,""),t.showOnly=o.getStringOrArray(t.showOnly,[]),t.allowEditing=o.getBoolean(t.allowEditing,!1),t.showIdOrNameInTitle=o.getBoolean(t.showIdOrNameInTitle,!0),t.showNodeNameInTitle=o.getBoolean(t.showNodeNameInTitle,!1),t.ignoreValues=o.getStringOrArray(t.ignoreValues,[]),t.showLockButtonInTitle=o.getBoolean(t.showLockButtonInTitle,!0),t}})(i||(i={})),(()=>{let o={},l=null,s=null,a=null,c=null,u=null,d=0,p=null,x=null,f=null,g=null,y=null,m=null,T=null,v=0,b=null,h=[],S={},A=null,L=!1,w=0,E=0,N=null,O=0,M=0,H=!1,P=0,k=0;function C(){e.definedObject(l)&&(D(),document.body.removeChild(l),l=null),l=n.create(document.body,"div","peek-js"),l.onmousemove=n.cancelBubble,s=n.create(l,"div","dialog-title-bar"),c=n.create(l,"div","dialog-search"),p=n.create(l,"div","dialog-contents"),f=n.create(l,"div","dialog-buttons"),g=n.createWithHTML(f,"button","copy",o.text.copyText),g.onclick=I,u=n.create(c,"input"),u.placeholder=o.text.searchPropertiesPlaceHolderText,u.type="text",u.onkeyup=j,u.onpaste=j,u.onfocus=()=>u.select();const t=n.createWithHTML(c,"button","clear-small",o.text.clearSymbolText);t.title=o.text.clearText,t.onclick=_;var r,i;n.createWithHTML(f,"button","close",o.text.closeText).onclick=D,y=n.createWithHTML(f,"button","remove",o.text.removeElementSymbolText),y.onclick=$,y.title=o.text.removeText,m=n.createWithHTML(f,"button","move-up",o.text.moveUpSymbolText),m.onclick=R,m.title=o.text.moveUpText,T=n.createWithHTML(f,"button","move-down",o.text.moveDownSymbolText),T.onclick=U,T.title=o.text.moveDownText,i=l,(r=s).onmousedown=e=>{!function(e,t){H||(N=t,H=!0,P=e.pageX-N.offsetLeft,k=e.pageY-N.offsetTop,O=N.offsetLeft,M=N.offsetTop)}(e,i)},i.onmousemove=e=>{q(e,!0)},r.onmouseup=()=>{Y()},r.oncontextmenu=()=>{Y()},document.addEventListener("mousemove",q),document.addEventListener("mouseleave",Q)}function W(t=null){if(!L&&e.defined(b)){let r=b.titleText;if(s.innerHTML="",e.definedString(r)||(r=1===b.mode?o.text.cssText:2===b.mode?o.text.attributesText:3===b.mode?o.text.sizeText:4===b.mode?o.text.classesText:o.text.unknownModeText),n.createWithHTML(s,"span","title",r),w>1&&b.showNodeNameInTitle&&(n.createWithHTML(s,"span","dash"," - "),n.createWithHTML(s,"span","node-name",`[${t.nodeName.toLowerCase()}]`)),b.showIdOrNameInTitle&&e.defined(t)){const o=t.getAttribute("id"),r=t.getAttribute("name");e.definedString(o)?(n.createWithHTML(s,"span","dash"," - "),n.createWithHTML(s,"span","id-or-name",o)):e.definedString(r)&&(n.createWithHTML(s,"span","dash"," - "),n.createWithHTML(s,"span","id-or-name",r))}b.showLockButtonInTitle&&(a=n.createWithHTML(s,"button","lock",o.text.dialogMovedSymbolText),a.title=o.text.lockText,a.onclick=()=>B())}}function B(){L||(n.createWithHTML(s,"span","locked",`${o.text.dialogMovedSymbolText} `,!0),e.defined(a)&&(a.parentNode.removeChild(a),a=null),L=!0)}function D(){l.style.display="none",L=!1,u.value=""}function I(){const e=[];for(let t in S)S.hasOwnProperty(t)&&(1===b.mode?e.push(`${t}: ${S[t]};`):2===b.mode?e.push(`${t}="${S[t]}"`):4===b.mode&&e.push(S[t]));1===b.mode?navigator.clipboard.writeText(`${A.nodeName.toLowerCase()} { \n ${e.join("\n")} \n }`):2!==b.mode&&4!==b.mode||navigator.clipboard.writeText(e.join(" "))}function $(){var e;null==(e=A.parentNode)||e.removeChild(A),D()}function j(){0!==d&&(clearTimeout(d),d=0),d=setTimeout((()=>{const t=p.getElementsByClassName("property-name"),n=[].slice.call(t),o=n.length,r=u.value.toLowerCase();let i=0;for(let t=0;t-1?(o.style.removeProperty("display"),i++):o.style.display="none"}}0===i?x.style.display="block":x.style.removeProperty("display")}),o.searchDelayDelay)}function _(){u.value="",u.focus(),j()}function R(){null!==A.parentNode&&null!==A.previousElementSibling&&A.parentNode.insertBefore(A,A.previousElementSibling)}function U(){null!==A.parentNode&&null!==A.nextElementSibling&&A.parentNode.insertBefore(A.nextElementSibling,A)}function V(t){e.defined(b)&&(p.innerHTML="",p.scrollTop=0,S={},E=0,A=t,W(t),1===b.mode||4===b.mode||2===b.mode?g.style.removeProperty("display"):g.style.display="none",b.allowEditing?(y.style.removeProperty("display"),m.style.removeProperty("display"),T.style.removeProperty("display")):(y.style.display="none",m.style.display="none",T.style.display="none"),x=n.createWithHTML(p,"span","no-search-results",o.text.noPropertiesFoundForSearchText),1===b.mode?function(e){const t=getComputedStyle(e),n=t.length;for(let o=0;o0){let t=1;for(let n of e.classList)F(e,t.toString(),n),t++}else p.innerHTML="",n.createWithHTML(p,"span","warning",o.text.noClassesAvailableText)}(t):n.createWithHTML(p,"span","warning",o.text.modeNotSupportedText),E<=15?c.style.display="none":c.style.removeProperty("display"))}function F(t,r,i,l=!0){if(function(e){return 0===b.showOnly.length||b.showOnly.indexOf(e)>-1}(r)&&function(e){return 0===b.ignoreValues.length||b.ignoreValues.indexOf(e)<=-1}(i)){const s=n.create(p,"div","property-row");n.createWithHTML(s,"div","property-name",r);const a=n.create(s,"div","property-value"),c=n.create(a,"input");(e.hexColor(i)||e.isRgbColor(i))&&(c.classList.add("property-value-color"),c.style.borderLeftColor=i),c.placeholder=o.text.propertyValuePlaceHolderText,c.onfocus=()=>c.select();const u=n.createWithHTML(s,"button","copy-small",o.text.copySymbolText);if(u.title=o.text.copyText,u.onclick=()=>navigator.clipboard.writeText(i),b.allowEditing&&l){const e=n.createWithHTML(s,"button","paste-small",o.text.pasteSymbolText),l=n.createWithHTML(s,"button","remove-small",o.text.removeSymbolText);e.title=o.text.pasteText,l.title=o.text.removeText,e.onclick=()=>function(e,t,n){navigator.clipboard.readText().then((o=>{t.value=o,z(e,n,t)}))}(t,c,r),l.onclick=()=>function(e,t,n,o){1===b.mode?(t.style.removeProperty(n),e.parentNode.removeChild(e)):2===b.mode?(t.removeAttribute(n),e.parentNode.removeChild(e)):4===b.mode&&(t.classList.remove(o),e.parentNode.removeChild(e))}(s,t,r,i)}c.type="text",c.value=i,S[r]=i,E++,b.allowEditing&&l?c.onkeyup=e=>function(e,t,n,o){"Enter"===e.code&&z(o,t,n)}(e,r,c,t):c.readOnly=!0}}function z(t,n,o){1===b.mode?t.style.setProperty(n,o.value):2===b.mode?t.setAttribute(n,o.value):4===b.mode&&t.classList.replace(t.classList[parseInt(n)-1],o.value),S[n]=o.value,e.hexColor(o.value)||e.isRgbColor(o.value)?(o.classList.add("property-value-color"),o.style.borderLeftColor=o.value):o.classList.remove("property-value-color")}function G(n){const o=n.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);e.definedString(o)||"ignore"===o||(n.addEventListener("mousemove",(e=>{J(e,n)})),h.push(n))}function J(t,r){!L&&e.defined(b)&&(n.cancelBubble(t),X(),v=setTimeout((()=>{V(r),n.showElementAtMousePosition(t,l)}),o.dialogDisplayDelay))}function K(){L||(X(),D())}function X(){0!==v&&(clearTimeout(v),v=0)}function Y(){H&&(H=!1,N=null,O=0,M=0)}function q(e,t=!1){t&&n.cancelBubble(e),H&&(B(),N.style.left=e.pageX-P+"px",N.style.top=e.pageY-k+"px")}function Q(){H&&(N.style.left=`${O}px`,N.style.top=`${M}px`,H=!1,N=null,O=0,M=0)}const Z={start:function(t){return e.definedObject(b)||(b=i.Options.get(t),W(),function(){const e=b.nodeType;w=e.length;for(let t=0;t{J(t,e)}))}h=[],window.removeEventListener("mousemove",K),D()}()),Z},close:function(){return D(),Z},setConfiguration:function(t){if(e.definedObject(t)){let n=!1;const i=o;for(let e in t)t.hasOwnProperty(e)&&o.hasOwnProperty(e)&&i[e]!==t[e]&&(i[e]=t[e],n=!0);n&&(o=r.Options.get(i),C(),e.definedObject(b)&&W())}return Z},getVersion:function(){return"1.7.0"}};o=r.Options.get(),document.addEventListener("DOMContentLoaded",(()=>{C()})),e.defined(window.$peek)||(window.$peek=Z)})();
\ No newline at end of file
+"use strict";var e,t,o,n,r,i;(e=>{function t(e){return null!=e&&""!==e.toString()}function o(e){return t(e)&&"object"==typeof e}function n(e){return o(e)&&e instanceof Array}e.defined=t,e.definedObject=o,e.definedBoolean=function(e){return t(e)&&"boolean"==typeof e},e.definedString=function(e){return t(e)&&"string"==typeof e},e.definedFunction=function(e){return t(e)&&"function"==typeof e},e.definedNumber=function(e){return t(e)&&"number"==typeof e},e.definedArray=n,e.definedDate=function(e){return o(e)&&e instanceof Date},e.invalidOptionArray=function(e,t=1){return!n(e)||e.length=2&&e.length<=7;return t=!(!t||"#"!==e[0])&&isNaN(+e.substring(1,e.length-1)),t},e.isRgbColor=function(e){return e.startsWith("rgb")||e.startsWith("rgba")}})(e||(e={})),(t||(t={})).PEEK_JS_IGNORE_STATE_ATTRIBUTE="data-peek-js-ignore-state",(o=>{function n(o,n,r="",i=!1){const l=n.toLowerCase();let s="text"===l?document.createTextNode(""):document.createElement(l);return s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE,"ignore"),e.definedString(r)&&(s.className=r),i?o.insertBefore(s,o.children[0]):o.appendChild(s),s}function r(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}o.create=n,o.createWithHTML=function(e,o,r,i,l=!1){const s=n(e,o,r,l);return s.innerHTML=i,s.setAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE,"ignore"),s},o.cancelBubble=function(e){e.preventDefault(),e.stopPropagation()},o.getScrollPosition=r,o.showElementAtMousePosition=function(e,t,o){if("block"!==t.style.display){let n=e.pageX,i=e.pageY;const l=r();t.style.display="block",n+t.offsetWidth>window.innerWidth?n-=t.offsetWidth+o:(n++,n+=o),i+t.offsetHeight>window.innerHeight?i-=t.offsetHeight+o:(i++,i+=o),n{function o(t,o){return e.definedArray(t)?t:o}t.getAnyString=function(e,t){return"string"==typeof e?e:t},t.getString=function(t,o){return e.definedString(t)?t:o},t.getBoolean=function(t,o){return e.definedBoolean(t)?t:o},t.getNumber=function(t,o){return e.definedNumber(t)?t:o},t.getArray=o,t.getObject=function(t,o){return e.definedObject(t)?t:o},t.getStringOrArray=function(t,n){let r=n;if(e.definedString(t)){const e=t.toString().split(" ");0===e.length?t=n:r=e}else r=o(t,n);return r}})(n||(n={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){let t=n.getObject(e,{});return t.dialogShowDelay=n.getNumber(t.dialogShowDelay,1e3),t.dialogHideDelay=n.getNumber(t.dialogHideDelay,500),t.searchDelay=n.getNumber(t.searchDelay,500),t=function(e){return e.text=n.getObject(e.text,{}),e.text.cssText=n.getAnyString(e.text.cssText,"CSS"),e.text.attributesText=n.getAnyString(e.text.attributesText,"Attributes"),e.text.sizeText=n.getAnyString(e.text.sizeText,"Size"),e.text.classesText=n.getAnyString(e.text.classesText,"Classes"),e.text.noAttributesAvailableText=n.getAnyString(e.text.noAttributesAvailableText,"No attributes are available."),e.text.closeText=n.getAnyString(e.text.closeText,"Close"),e.text.copyText=n.getAnyString(e.text.copyText,"Copy"),e.text.copySymbolText=n.getAnyString(e.text.copySymbolText,"❐"),e.text.pasteText=n.getAnyString(e.text.pasteText,"Paste"),e.text.pasteSymbolText=n.getAnyString(e.text.pasteSymbolText,"☐"),e.text.removeText=n.getAnyString(e.text.removeText,"Remove"),e.text.removeSymbolText=n.getAnyString(e.text.removeSymbolText,"✕"),e.text.noClassesAvailableText=n.getAnyString(e.text.noClassesAvailableText,"No classes are available."),e.text.searchPropertiesPlaceHolderText=n.getAnyString(e.text.searchPropertiesPlaceHolderText,"Search properties..."),e.text.clearText=n.getAnyString(e.text.clearText,"Clear"),e.text.clearSymbolText=n.getAnyString(e.text.clearSymbolText,"✕"),e.text.noPropertiesFoundForSearchText=n.getAnyString(e.text.noPropertiesFoundForSearchText,"No properties were found for your search."),e.text.dialogMovedSymbolText=n.getAnyString(e.text.dialogMovedSymbolText,"✸"),e.text.propertyValuePlaceHolderText=n.getAnyString(e.text.propertyValuePlaceHolderText,"Enter value..."),e.text.modeNotSupportedText=n.getAnyString(e.text.modeNotSupportedText,"The mode you have specified is not supported."),e.text.unknownModeText=n.getAnyString(e.text.unknownModeText,"Unknown Mode"),e.text.moveUpText=n.getAnyString(e.text.moveUpText,"Move Up"),e.text.moveUpSymbolText=n.getAnyString(e.text.moveUpSymbolText,"↑"),e.text.moveDownText=n.getAnyString(e.text.moveDownText,"Move Down"),e.text.moveDownSymbolText=n.getAnyString(e.text.moveDownSymbolText,"↓"),e.text.removeElementSymbolText=n.getAnyString(e.text.removeElementSymbolText,"⌫"),e.text.lockText=n.getAnyString(e.text.lockText,"Lock"),e}(t),t}})(r||(r={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e){let t=n.getObject(e,{});return t.nodeType=n.getStringOrArray(t.nodeType,[]),t.mode=n.getNumber(t.mode,1),t.titleText=n.getString(t.titleText,""),t.showOnly=n.getStringOrArray(t.showOnly,[]),t.allowEditing=n.getBoolean(t.allowEditing,!1),t.showIdOrNameInTitle=n.getBoolean(t.showIdOrNameInTitle,!0),t.showNodeNameInTitle=n.getBoolean(t.showNodeNameInTitle,!1),t.ignoreValues=n.getStringOrArray(t.ignoreValues,[]),t.showLockButtonInTitle=n.getBoolean(t.showLockButtonInTitle,!0),t.dialogOffset=n.getNumber(t.dialogOffset,0),t.showSearch=n.getBoolean(t.showSearch,!0),t.showSearchPropertyCount=n.getNumber(t.showSearchPropertyCount,15),t}})(i||(i={})),(()=>{let n={},l=null,s=null,a=null,c=null,u=null,d=0,p=null,f=null,x=null,g=null,m=null,y=null,T=null,h=0,b=0,v=null,S=[],w={},A=null,L=!1,N=0,E=0,O=null,H=0,M=0,P=!1,C=0,k=0;function W(){e.definedObject(l)&&(D(),document.body.removeChild(l),l=null),l=o.create(document.body,"div","peek-js"),l.onmousemove=o.cancelBubble,s=o.create(l,"div","dialog-title-bar"),c=o.create(l,"div","dialog-search"),p=o.create(l,"div","dialog-contents"),x=o.create(l,"div","dialog-buttons"),g=o.createWithHTML(x,"button","copy",n.text.copyText),g.onclick=$,u=o.create(c,"input"),u.placeholder=n.text.searchPropertiesPlaceHolderText,u.type="text",u.onkeyup=_,u.onpaste=_,u.onfocus=()=>u.select();const t=o.createWithHTML(c,"button","clear-small",n.text.clearSymbolText);t.title=n.text.clearText,t.onclick=R;var r,i;o.createWithHTML(x,"button","close",n.text.closeText).onclick=()=>D(),m=o.createWithHTML(x,"button","remove",n.text.removeElementSymbolText),m.onclick=j,m.title=n.text.removeText,y=o.createWithHTML(x,"button","move-up",n.text.moveUpSymbolText),y.onclick=U,y.title=n.text.moveUpText,T=o.createWithHTML(x,"button","move-down",n.text.moveDownSymbolText),T.onclick=V,T.title=n.text.moveDownText,i=l,(r=s).onmousedown=e=>{!function(e,t){P||(O=t,P=!0,C=e.pageX-O.offsetLeft,k=e.pageY-O.offsetTop,H=O.offsetLeft,M=O.offsetTop)}(e,i)},i.onmousemove=e=>{Z(e,!0)},r.onmouseup=()=>{Q()},r.oncontextmenu=()=>{Q()},document.addEventListener("mousemove",Z),document.addEventListener("mouseleave",ee)}function B(t=null){if(!L&&e.defined(v)){let r=v.titleText;if(s.innerHTML="",e.definedString(r)||(r=1===v.mode?n.text.cssText:2===v.mode?n.text.attributesText:3===v.mode?n.text.sizeText:4===v.mode?n.text.classesText:n.text.unknownModeText),o.createWithHTML(s,"span","title",r),N>1&&v.showNodeNameInTitle&&(o.createWithHTML(s,"span","dash"," - "),o.createWithHTML(s,"span","node-name",`[${t.nodeName.toLowerCase()}]`)),v.showIdOrNameInTitle&&e.defined(t)){const n=t.getAttribute("id"),r=t.getAttribute("name");e.definedString(n)?(o.createWithHTML(s,"span","dash"," - "),o.createWithHTML(s,"span","id-or-name",n)):e.definedString(r)&&(o.createWithHTML(s,"span","dash"," - "),o.createWithHTML(s,"span","id-or-name",r))}v.showLockButtonInTitle&&(a=o.createWithHTML(s,"button","lock",n.text.dialogMovedSymbolText),a.title=n.text.lockText,a.onclick=()=>I())}}function I(){L||(o.createWithHTML(s,"span","locked",`${n.text.dialogMovedSymbolText} `,!0),e.defined(a)&&(a.parentNode.removeChild(a),a=null),L=!0)}function D(e=!1){if("none"!==l.style.display){const t=()=>{l.style.display="none",L=!1,u.value="",q()};e?0===b&&(Y(),b=setTimeout((()=>{t()}),n.dialogHideDelay)):t()}}function $(){const e=[];for(let t in w)w.hasOwnProperty(t)&&(1===v.mode?e.push(`${t}: ${w[t]};`):2===v.mode?e.push(`${t}="${w[t]}"`):4===v.mode&&e.push(w[t]));1===v.mode?navigator.clipboard.writeText(`${A.nodeName.toLowerCase()} { \n ${e.join("\n")} \n }`):2!==v.mode&&4!==v.mode||navigator.clipboard.writeText(e.join(" "))}function j(){A.parentNode.removeChild(A),D()}function _(){0!==d&&(clearTimeout(d),d=0),d=setTimeout((()=>{const t=p.getElementsByClassName("property-name"),o=[].slice.call(t),n=o.length,r=u.value.toLowerCase();let i=0;for(let t=0;t-1?(n.style.removeProperty("display"),i++):n.style.display="none"}}0===i?f.style.display="block":f.style.removeProperty("display")}),n.searchDelay)}function R(){u.value="",u.focus(),_()}function U(){null!==A.parentNode&&null!==A.previousElementSibling&&A.parentNode.insertBefore(A,A.previousElementSibling)}function V(){null!==A.parentNode&&null!==A.nextElementSibling&&A.parentNode.insertBefore(A.nextElementSibling,A)}function F(t){e.defined(v)&&(p.innerHTML="",p.scrollTop=0,w={},E=0,A=t,B(t),1===v.mode||4===v.mode||2===v.mode?g.style.removeProperty("display"):g.style.display="none",v.allowEditing?(m.style.removeProperty("display"),y.style.removeProperty("display"),T.style.removeProperty("display")):(m.style.display="none",y.style.display="none",T.style.display="none"),f=o.createWithHTML(p,"span","no-search-results",n.text.noPropertiesFoundForSearchText),1===v.mode?function(e){const t=getComputedStyle(e),o=t.length;for(let n=0;n0){let t=1;for(let o of e.classList)z(e,t.toString(),o),t++}else p.innerHTML="",o.createWithHTML(p,"span","warning",n.text.noClassesAvailableText)}(t):o.createWithHTML(p,"span","warning",n.text.modeNotSupportedText),E<=v.showSearchPropertyCount||!v.showSearch?c.style.display="none":c.style.removeProperty("display"))}function z(t,r,i,l=!0){if(function(e){return 0===v.showOnly.length||v.showOnly.indexOf(e)>-1}(r)&&function(e){return 0===v.ignoreValues.length||v.ignoreValues.indexOf(e)<=-1}(i)){const s=o.create(p,"div","property-row");o.createWithHTML(s,"div","property-name",r);const a=o.create(s,"div","property-value"),c=o.create(a,"input");(e.hexColor(i)||e.isRgbColor(i))&&(c.classList.add("property-value-color"),c.style.borderLeftColor=i),c.placeholder=n.text.propertyValuePlaceHolderText,c.onfocus=()=>c.select();const u=o.createWithHTML(s,"button","copy-small",n.text.copySymbolText);if(u.title=n.text.copyText,u.onclick=()=>navigator.clipboard.writeText(i),v.allowEditing&&l){const e=o.createWithHTML(s,"button","paste-small",n.text.pasteSymbolText),l=o.createWithHTML(s,"button","remove-small",n.text.removeSymbolText);e.title=n.text.pasteText,l.title=n.text.removeText,e.onclick=()=>function(e,t,o){navigator.clipboard.readText().then((n=>{t.value=n,G(e,o,t)}))}(t,c,r),l.onclick=()=>function(e,t,o,n){1===v.mode?(t.style.removeProperty(o),e.parentNode.removeChild(e)):2===v.mode?(t.removeAttribute(o),e.parentNode.removeChild(e)):4===v.mode&&(t.classList.remove(n),e.parentNode.removeChild(e))}(s,t,r,i)}c.type="text",c.value=i,w[r]=i,E++,v.allowEditing&&l?c.onkeyup=e=>function(e,t,o,n){"Enter"===e.code&&G(n,t,o)}(e,r,c,t):c.readOnly=!0}}function G(t,o,n){1===v.mode?t.style.setProperty(o,n.value):2===v.mode?t.setAttribute(o,n.value):4===v.mode&&t.classList.replace(t.classList[parseInt(o)-1],n.value),w[o]=n.value,e.hexColor(n.value)||e.isRgbColor(n.value)?(n.classList.add("property-value-color"),n.style.borderLeftColor=n.value):n.classList.remove("property-value-color")}function J(o){const n=o.getAttribute(t.PEEK_JS_IGNORE_STATE_ATTRIBUTE);e.definedString(n)||"ignore"===n||(o.addEventListener("mousemove",(e=>{K(e,o)})),S.push(o))}function K(t,r){!L&&e.defined(v)&&(o.cancelBubble(t),Y(),h=setTimeout((()=>{F(r),q(),o.showElementAtMousePosition(t,l,v.dialogOffset)}),n.dialogShowDelay))}function X(){L||(Y(),D(!0))}function Y(){0!==h&&(clearTimeout(h),h=0)}function q(){0!==b&&(clearTimeout(b),b=0)}function Q(){P&&(P=!1,O=null,H=0,M=0)}function Z(e,t=!1){t&&o.cancelBubble(e),P&&(I(),O.style.left=e.pageX-C+"px",O.style.top=e.pageY-k+"px")}function ee(){P&&(O.style.left=`${H}px`,O.style.top=`${M}px`,P=!1,O=null,H=0,M=0)}const te={start:function(t){return e.definedObject(v)||(v=i.Options.get(t),B(),function(){const e=v.nodeType;N=e.length;for(let t=0;t{K(t,e)}))}S=[],window.removeEventListener("mousemove",X),D()}()),te},close:function(){return D(),te},setConfiguration:function(t){if(e.definedObject(t)){let o=!1;const i=n;for(let e in t)t.hasOwnProperty(e)&&n.hasOwnProperty(e)&&i[e]!==t[e]&&(i[e]=t[e],o=!0);o&&(n=r.Options.get(i),W(),e.definedObject(v)&&B())}return te},getVersion:function(){return"1.8.0"}};n=r.Options.get(),document.addEventListener("DOMContentLoaded",(()=>{W()})),e.defined(window.$peek)||(window.$peek=te)})();
\ No newline at end of file
diff --git a/docs/CHANGE_LOG.md b/docs/CHANGE_LOG.md
index 96dc182..aff89f7 100755
--- a/docs/CHANGE_LOG.md
+++ b/docs/CHANGE_LOG.md
@@ -1,9 +1,31 @@
# Peek.js - Change Log:
+## Version 1.8.0:
+
+#### **Start Options:**
+- Added a start option "dialogOffset" (defaults to 0), which states the additional offset to use for the dialogs position.
+- Added a start option "showSearch" (defaults to true), which states if the search bar should be shown.
+- Added a start option "showSearchPropertyCount" (defaults to 15), which states the minimum number of properties that should be available for the search bar to be visible.
+
+#### **Configuration Options:**
+- BREAKING: Renamed the configuration option "dialogDisplayDelay" to "dialogShowDelay".
+- BREAKING: Renamed the configuration option "searchDelayDelay" to "searchDelay".
+- Added a new configuration option called "dialogHideDelay" (default to 0 milliseconds), which states the delay that should be used before hiding the dialog when moving away from an element.
+
+#### **Adjustments:**
+- Moved from ES2016 to ES2020.
+- Updated to the latest NPM packages.
+- Added an ignore path for ".DS_Store" files when packing the NuGet package.
+- Renamed some of the documentation.
+
+#### **Fixes:**
+- Fixed some missing documentation in the "options/OPTIONS.md".
+
+
## Version 1.7.0:
#### **Start Options:**
-- Added a start option "ignore" (defaults to "[]"), which states the property values that only should be ignored.
+- Added a start option "ignoreValues" (defaults to "[]"), which states the property values that only should be ignored.
- Added start option "showLockButtonInTitle" (defaults to true), which states if the lock button should be shown in the title bar.
#### **Configuration Options:**
diff --git a/docs/configuration/OPTIONS.md b/docs/configuration/OPTIONS.md
index c019de7..e3d2d33 100755
--- a/docs/configuration/OPTIONS.md
+++ b/docs/configuration/OPTIONS.md
@@ -9,8 +9,9 @@ Below are all the configuration options that can be passed to the "setConfigurat
| Type: | Name: | Description: |
| --- | --- | --- |
-| *number* | dialogDisplayDelay | States the delay (in milliseconds) that should be used before showing the viewer dialog (defaults to 1000). |
-| *number* | searchDelayDelay | States the delay (in milliseconds) that should be used when typing before searching (defaults to 500). |
+| *number* | dialogShowDelay | States the delay (in milliseconds) that should be used before showing the viewer dialog (defaults to 1000). |
+| *number* | dialogHideDelay | States the delay (in milliseconds) that should be used before hiding the viewer dialog when moving away from a DOM element (defaults to 500). |
+| *number* | searchDelay | States the delay (in milliseconds) that should be used when typing before searching (defaults to 500). |
diff --git a/docs/options/OPTIONS.md b/docs/options/START_OPTIONS.md
similarity index 72%
rename from docs/options/OPTIONS.md
rename to docs/options/START_OPTIONS.md
index 2f39ed9..63acbb6 100755
--- a/docs/options/OPTIONS.md
+++ b/docs/options/START_OPTIONS.md
@@ -1,4 +1,4 @@
-# Peek.js - Options:
+# Peek.js - Start Options:
Below are all the options that can be passed to the "start()" public function.
@@ -16,6 +16,10 @@ Below are all the options that can be passed to the "start()" public function.
| *boolean* | showIdOrNameInTitle | States if showing the Name/ID of the element in the title of the dialog is enabled (defaults to true). |
| *boolean* | showNodeNameInTitle | States if the node type should be shown in the title (if more than one is being used. Defaults to false). |
| *string[]* | ignoreValues | States the property values that only should be ignored (defaults to []). |
+| *boolean* | showLockButtonInTitle | States if the lock symbol button should be shown in the title when the dialog is moved (defaults to true). |
+| *number* | dialogOffset | States the additional offset to use for the dialog position (defaults to 0). |
+| *boolean* | showSearch | States if the search bar should be shown (defaults to true). |
+| *number* | showSearchPropertyCount | States minimum number of properties that should be available to show the search bar (defaults to 15). |
diff --git a/package-lock.json b/package-lock.json
index 3b092a0..067cbbe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,17 +1,17 @@
{
"name": "jpeek.js",
- "version": "1.7.0",
+ "version": "1.8.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "jpeek.js",
- "version": "1.7.0",
+ "version": "1.8.0",
"license": "MIT",
"devDependencies": {
- "@swc/core": "^1.7.5",
+ "@swc/core": "^1.7.22",
"sass": "^1.77.8",
- "terser": "^5.31.3",
+ "terser": "^5.31.6",
"tsup": "^8.2.4",
"typescript": "^5.5.4"
}
@@ -780,9 +780,9 @@
]
},
"node_modules/@swc/core": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.5.tgz",
- "integrity": "sha512-qKK0/Ta4qvxs/ok3XyYVPT7OBenwRn1sSINf1cKQTBHPqr7U/uB4k2GTl6JgEs8H4PiJrMTNWfMLTucIoVSfAg==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.22.tgz",
+ "integrity": "sha512-Asn79WKqyjEuO2VEeSnVjn2YiRMToRhFJwOsQeqftBvwWMn1FGUuzVcXtkQFBk37si8Gh2Vkk/+p0u4K5NxDig==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
@@ -798,16 +798,16 @@
"url": "https://opencollective.com/swc"
},
"optionalDependencies": {
- "@swc/core-darwin-arm64": "1.7.5",
- "@swc/core-darwin-x64": "1.7.5",
- "@swc/core-linux-arm-gnueabihf": "1.7.5",
- "@swc/core-linux-arm64-gnu": "1.7.5",
- "@swc/core-linux-arm64-musl": "1.7.5",
- "@swc/core-linux-x64-gnu": "1.7.5",
- "@swc/core-linux-x64-musl": "1.7.5",
- "@swc/core-win32-arm64-msvc": "1.7.5",
- "@swc/core-win32-ia32-msvc": "1.7.5",
- "@swc/core-win32-x64-msvc": "1.7.5"
+ "@swc/core-darwin-arm64": "1.7.22",
+ "@swc/core-darwin-x64": "1.7.22",
+ "@swc/core-linux-arm-gnueabihf": "1.7.22",
+ "@swc/core-linux-arm64-gnu": "1.7.22",
+ "@swc/core-linux-arm64-musl": "1.7.22",
+ "@swc/core-linux-x64-gnu": "1.7.22",
+ "@swc/core-linux-x64-musl": "1.7.22",
+ "@swc/core-win32-arm64-msvc": "1.7.22",
+ "@swc/core-win32-ia32-msvc": "1.7.22",
+ "@swc/core-win32-x64-msvc": "1.7.22"
},
"peerDependencies": {
"@swc/helpers": "*"
@@ -819,9 +819,9 @@
}
},
"node_modules/@swc/core-darwin-arm64": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.5.tgz",
- "integrity": "sha512-Y+bvW9C4/u26DskMbtQKT4FU6QQenaDYkKDi028vDIKAa7v1NZqYG9wmhD/Ih7n5EUy2uJ5I5EWD7WaoLzT6PA==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.22.tgz",
+ "integrity": "sha512-B2Bh2W+C7ALdGwDxRWAJ+UtNExfozvwyayGiNkbR3wmDKXXeQfhGM5MK+QYUWKu7UQ6ATq69OyZrxofDobKUug==",
"cpu": [
"arm64"
],
@@ -836,9 +836,9 @@
}
},
"node_modules/@swc/core-darwin-x64": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.5.tgz",
- "integrity": "sha512-AuIbDlcaAhYS6mtF4UqvXgrLeAfXZbVf4pgtgShPbutF80VbCQiIB55zOFz5aZdCpsBVuCWcBq0zLneK+VQKkQ==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.22.tgz",
+ "integrity": "sha512-s34UQntnQ6tL9hS9aX3xG7OfGhpmy05FEEndbHaooGO8O+L5k8uWxhE5KhYCOC0N803sGdZg6YZmKtYrWN/YxA==",
"cpu": [
"x64"
],
@@ -853,9 +853,9 @@
}
},
"node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.5.tgz",
- "integrity": "sha512-99uBPHITRqgGwCXAjHY94VaV3Z40+D2NQNgR1t6xQpO8ZnevI6YSzX6GVZfBnV7+7oisiGkrVEwfIRRa+1s8FA==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.22.tgz",
+ "integrity": "sha512-SE69+oos1jLOXx5YdMH//Qc5zQc2xYukajB+0BWmkcFd/S/cCanGWYtdSzYausm8af2Fw1hPJMNIfndJLnBDFw==",
"cpu": [
"arm"
],
@@ -870,9 +870,9 @@
}
},
"node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.5.tgz",
- "integrity": "sha512-xHL3Erlz+OGGCG4h6K2HWiR56H5UYMuBWWPbbUufi2bJpfhuKQy/X3vWffwL8ZVfJmCUwr4/G91GHcm32uYzRg==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.22.tgz",
+ "integrity": "sha512-59FzDW/ojgiTj4dlnv3Z3ESuVlzhSAq9X12CNYh4/WTCNA8BoJqOnWMRQKspWtoNlnVviFLMvpek0pGXHndEBA==",
"cpu": [
"arm64"
],
@@ -887,9 +887,9 @@
}
},
"node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.5.tgz",
- "integrity": "sha512-5ArGdqvFMszNHdi4a67vopeYq8d1K+FuTWDrblHrAvZFhAyv+GQz2PnKqYOgl0sWmQxsNPfNwBFtxACpUO3Jzg==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.22.tgz",
+ "integrity": "sha512-cMQMI8YRO/XR3OrYuiUlWksNsJOZSkA6gSLNyH6eHTw+FOAzv05oJ4SFYe6s1WesrOqRwhpez6y5H6OIP/EKzg==",
"cpu": [
"arm64"
],
@@ -904,9 +904,9 @@
}
},
"node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.5.tgz",
- "integrity": "sha512-mSVVV/PFzCGtI1nVQQyx34NwCMgSurF6ZX/me8pUAX054vsE/pSFL66xN+kQOe/1Z/LOd4UmXFkZ/EzOSnYcSg==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.22.tgz",
+ "integrity": "sha512-639kA7MXrWqWYfwuSJ+XTg21VYb/5o99R1zJrndoEjEX6m7Wza/sXssQKU5jbbkPoSEKVKNP3n/gazLWiUKgiQ==",
"cpu": [
"x64"
],
@@ -921,9 +921,9 @@
}
},
"node_modules/@swc/core-linux-x64-musl": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.5.tgz",
- "integrity": "sha512-09hY3ZKMUORXVunESKS9yuP78+gQbr759GKHo8wyCdtAx8lCZdEjfI5NtC7/1VqwfeE32/U6u+5MBTVhZTt0AA==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.22.tgz",
+ "integrity": "sha512-f3zfGgY8EJQUOk3ve25ZTkNkhB/kHo9QlN2r+0exaE1g9W7X8IS6J8pWzF3hJrV2P9dBi6ofMOt+opVA89JKHA==",
"cpu": [
"x64"
],
@@ -938,9 +938,9 @@
}
},
"node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.5.tgz",
- "integrity": "sha512-B/UDtPI3RlYRFW42xQxOpl6kI/9LtkD7No+XeRIKQTPe15EP2o+rUlv7CmKljVBXgJ8KmaQbZlaEh1YP+QZEEQ==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.22.tgz",
+ "integrity": "sha512-p/Fav5U+LtTJD/tbbS0dKK8SVVAhXo5Jdm1TDeBPJ4BEIVguYBZEXgD3CW9wY4K34g1hscpiz2Q2rktfhFj1+A==",
"cpu": [
"arm64"
],
@@ -955,9 +955,9 @@
}
},
"node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.5.tgz",
- "integrity": "sha512-BgLesVGmIY6Nub/sURqtSRvWYcbCE/ACfuZB3bZHVKD6nsZJJuOpdB8oC41fZPyc8yZUzL3XTBIifkT2RP+w9w==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.22.tgz",
+ "integrity": "sha512-HbmfasaCNTqeCTvDjleYj+jJZQ6MlraiVOdhW55KtbA9mAVQdPBq6DDAvR7VOero3wUNYUM/e36otFKgEJI5Rg==",
"cpu": [
"ia32"
],
@@ -972,9 +972,9 @@
}
},
"node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.5.tgz",
- "integrity": "sha512-CnF557tidLfQRPczcqDJ8x+LBQYsFa0Ra6w2+YU1iFUboaI2jJVuqt3vEChu80y6JiRIBAaaV2L/GawDJh1dIQ==",
+ "version": "1.7.22",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.22.tgz",
+ "integrity": "sha512-lppIveE+hpe7WXny/9cUT+T6sBM/ND0E+dviKWJ5jFBISj2KWomlSJGUjYEsRGJVPnTEc8uOlKK7etmXBhQx9A==",
"cpu": [
"x64"
],
@@ -2284,9 +2284,9 @@
}
},
"node_modules/terser": {
- "version": "5.31.3",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz",
- "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==",
+ "version": "5.31.6",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz",
+ "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
diff --git a/package.json b/package.json
index 716e2b2..8b2a8f4 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "jpeek.js",
"title": "Peek.js",
"description": "A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.",
- "version": "1.7.0",
+ "version": "1.8.0",
"homepage": "https://www.william-troup.com/peek-js/",
"author": {
"name": "Bunoon"
@@ -43,9 +43,9 @@
"build-sass-minimized": "sass src/peek.js.scss dist/peek.js.min.css --style=compressed --no-source-map"
},
"devDependencies": {
- "@swc/core": "^1.7.5",
+ "@swc/core": "^1.7.22",
"sass": "^1.77.8",
- "terser": "^5.31.3",
+ "terser": "^5.31.6",
"tsup": "^8.2.4",
"typescript": "^5.5.4"
}
diff --git a/peek.js.nuspec b/peek.js.nuspec
index f1e37a3..ed36cbe 100644
--- a/peek.js.nuspec
+++ b/peek.js.nuspec
@@ -2,7 +2,7 @@
jPeek.js
- 1.7.0
+ 1.8.0Peek.jsA lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.William Troup
@@ -15,6 +15,6 @@
William Troup
-
+
\ No newline at end of file
diff --git a/src/peek.js.scss b/src/peek.js.scss
index 2ff7313..f7f83e9 100644
--- a/src/peek.js.scss
+++ b/src/peek.js.scss
@@ -1,5 +1,5 @@
/*
- * Peek.js Library v1.7.0
+ * Peek.js Library v1.8.0
*
* Copyright 2024 Bunoon
* Released under the MIT License
diff --git a/src/peek.ts b/src/peek.ts
index 5c88af7..ff43e8c 100644
--- a/src/peek.ts
+++ b/src/peek.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file peek.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -46,7 +46,8 @@ type DialogProperties = Record;
let _dialog_Buttons_Remove: HTMLButtonElement = null!;
let _dialog_Buttons_MoveUp: HTMLButtonElement = null!;
let _dialog_Buttons_MoveDown: HTMLButtonElement = null!;
- let _dialog_TimerId: number = 0;
+ let _dialog_Show_TimerId: number = 0;
+ let _dialog_Hide_TimerId: number = 0;
// Variables: Current Process:
let _current_Process_Options: StartOptions = null!;
@@ -103,7 +104,7 @@ type DialogProperties = Record;
removeButton.onclick = onSearchPropertiesClear;
const closeButton: HTMLElement = DomElement.createWithHTML( _dialog_Buttons, "button", "close", _configuration.text!.closeText! );
- closeButton.onclick = closeDialog;
+ closeButton.onclick = () => closeDialog();
_dialog_Buttons_Remove = DomElement.createWithHTML( _dialog_Buttons, "button", "remove", _configuration.text!.removeElementSymbolText! ) as HTMLButtonElement;
_dialog_Buttons_Remove.onclick = onRemove;
@@ -181,10 +182,29 @@ type DialogProperties = Record;
}
}
- function closeDialog() : void {
- _dialog.style.display = "none";
- _current_Process_Locked = false;
- _dialog_Search_Input.value = Char.empty;
+ function closeDialog( useDelay: boolean = false ) : void {
+ if ( _dialog.style.display !== "none" ) {
+ const closeFunc: Function = () => {
+ _dialog.style.display = "none";
+ _current_Process_Locked = false;
+ _dialog_Search_Input.value = Char.empty;
+
+ clearDialogHideTimer();
+ }
+
+ if ( useDelay ) {
+ if ( _dialog_Hide_TimerId === 0 ) {
+ clearDialogShowTimer();
+
+ _dialog_Hide_TimerId = setTimeout( () => {
+ closeFunc();
+ }, _configuration.dialogHideDelay );
+ }
+
+ } else {
+ closeFunc();
+ }
+ }
}
function onCopy() : void {
@@ -210,7 +230,7 @@ type DialogProperties = Record;
}
function onRemove() : void {
- _current_Process_Element.parentNode?.removeChild( _current_Process_Element );
+ _current_Process_Element.parentNode!.removeChild( _current_Process_Element );
closeDialog();
}
@@ -255,7 +275,7 @@ type DialogProperties = Record;
_dialog_Contents_NoSearchResultsText.style.removeProperty( "display" );
}
- }, _configuration.searchDelayDelay );
+ }, _configuration.searchDelay );
}
function onSearchPropertiesClear() : void {
@@ -324,7 +344,7 @@ type DialogProperties = Record;
DomElement.createWithHTML( _dialog_Contents, "span", "warning", _configuration.text!.modeNotSupportedText! );
}
- if ( _current_Process_Properties_Count <= 15 ) {
+ if ( _current_Process_Properties_Count <= _current_Process_Options.showSearchPropertyCount! || !_current_Process_Options.showSearch ) {
_dialog_Search.style.display = "none";
} else {
_dialog_Search.style.removeProperty( "display" );
@@ -542,25 +562,33 @@ type DialogProperties = Record;
clearDialogShowTimer();
- _dialog_TimerId = setTimeout( () => {
+ _dialog_Show_TimerId = setTimeout( () => {
buildDialogContent( element );
+ clearDialogHideTimer();
- DomElement.showElementAtMousePosition( e, _dialog );
- }, _configuration.dialogDisplayDelay );
+ DomElement.showElementAtMousePosition( e, _dialog, _current_Process_Options.dialogOffset! );
+ }, _configuration.dialogShowDelay );
}
}
function onWindowMove() : void {
if ( !_current_Process_Locked ) {
clearDialogShowTimer();
- closeDialog();
+ closeDialog( true );
}
}
function clearDialogShowTimer() : void {
- if ( _dialog_TimerId !== 0 ) {
- clearTimeout( _dialog_TimerId );
- _dialog_TimerId = 0;
+ if ( _dialog_Show_TimerId !== 0 ) {
+ clearTimeout( _dialog_Show_TimerId );
+ _dialog_Show_TimerId = 0;
+ }
+ }
+
+ function clearDialogHideTimer() : void {
+ if ( _dialog_Hide_TimerId !== 0 ) {
+ clearTimeout( _dialog_Hide_TimerId );
+ _dialog_Hide_TimerId = 0;
}
}
@@ -719,7 +747,7 @@ type DialogProperties = Record;
*/
getVersion: function () : string {
- return "1.7.0";
+ return "1.8.0";
}
};
diff --git a/src/ts/api.ts b/src/ts/api.ts
index 61f0f83..df34816 100644
--- a/src/ts/api.ts
+++ b/src/ts/api.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file api.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/constant.ts b/src/ts/constant.ts
index 08aaf63..06780ea 100644
--- a/src/ts/constant.ts
+++ b/src/ts/constant.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file constant.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/default.ts b/src/ts/data/default.ts
index c7ee4e8..473f655 100644
--- a/src/ts/data/default.ts
+++ b/src/ts/data/default.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file default.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/enum.ts b/src/ts/data/enum.ts
index f878ff3..90459a6 100644
--- a/src/ts/data/enum.ts
+++ b/src/ts/data/enum.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file enum.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/is.ts b/src/ts/data/is.ts
index 97ebfaf..650fdc6 100644
--- a/src/ts/data/is.ts
+++ b/src/ts/data/is.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file is.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/dom/dom.ts b/src/ts/dom/dom.ts
index 2e77292..e78bf73 100644
--- a/src/ts/dom/dom.ts
+++ b/src/ts/dom/dom.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file dom.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -63,7 +63,7 @@ export namespace DomElement {
return result;
}
- export function showElementAtMousePosition( e: MouseEvent, element: HTMLElement ) : void {
+ export function showElementAtMousePosition( e: MouseEvent, element: HTMLElement, offset: number ) : void {
if ( element.style.display !== "block" ) {
let left: number = e.pageX;
let top: number = e.pageY;
@@ -72,15 +72,17 @@ export namespace DomElement {
element.style.display = "block";
if ( left + element.offsetWidth > window.innerWidth ) {
- left -= element.offsetWidth;
+ left -= ( element.offsetWidth + offset );
} else {
left++;
+ left += offset;
}
if ( top + element.offsetHeight > window.innerHeight ) {
- top -= element.offsetHeight;
+ top -= ( element.offsetHeight + offset );
} else {
top++;
+ top += offset;
}
if ( left < scrollPosition.left ) {
diff --git a/src/ts/options/config.ts b/src/ts/options/config.ts
index ae64bb7..73c8326 100644
--- a/src/ts/options/config.ts
+++ b/src/ts/options/config.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file config.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -19,8 +19,9 @@ export namespace Config {
export namespace Options {
export function get( newConfiguration: Configuration = null! ) : Configuration {
let configuration: Configuration = Default.getObject( newConfiguration, {} as Configuration );
- configuration.dialogDisplayDelay = Default.getNumber( configuration.dialogDisplayDelay, 1000 );
- configuration.searchDelayDelay = Default.getNumber( configuration.searchDelayDelay, 500 );
+ configuration.dialogShowDelay = Default.getNumber( configuration.dialogShowDelay, 1000 );
+ configuration.dialogHideDelay = Default.getNumber( configuration.dialogHideDelay, 500 );
+ configuration.searchDelay = Default.getNumber( configuration.searchDelay, 500 );
configuration = getText( configuration );
diff --git a/src/ts/options/options.ts b/src/ts/options/options.ts
index 6c64465..393c800 100644
--- a/src/ts/options/options.ts
+++ b/src/ts/options/options.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file options.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -29,6 +29,9 @@ export namespace Start {
options.showNodeNameInTitle = Default.getBoolean( options.showNodeNameInTitle, false );
options.ignoreValues = Default.getStringOrArray( options.ignoreValues, [] );
options.showLockButtonInTitle = Default.getBoolean( options.showLockButtonInTitle, true );
+ options.dialogOffset = Default.getNumber( options.dialogOffset, 0 );
+ options.showSearch = Default.getBoolean( options.showSearch, true );
+ options.showSearchPropertyCount = Default.getNumber( options.showSearchPropertyCount, 15 );
return options;
}
diff --git a/src/ts/type.ts b/src/ts/type.ts
index e24d561..bf2ef91 100644
--- a/src/ts/type.ts
+++ b/src/ts/type.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that attaches a viewer to a specific node type, allowing you to view the CSS properties, attributes, and size/position.
*
* @file type.ts
- * @version v1.7.0
+ * @version v1.8.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -17,8 +17,9 @@ export type Position = {
};
export type Configuration = {
- dialogDisplayDelay?: number;
- searchDelayDelay?: number;
+ dialogShowDelay?: number;
+ dialogHideDelay?: number;
+ searchDelay?: number;
text?: ConfigurationText;
};
@@ -62,4 +63,7 @@ export type StartOptions = {
showNodeNameInTitle?: boolean;
ignoreValues?: string[] | string;
showLockButtonInTitle?: boolean;
+ dialogOffset?: number;
+ showSearch?: boolean;
+ showSearchPropertyCount?: number;
};
\ No newline at end of file
diff --git a/test/peek.js.attributes.html b/test/peek.js.attributes.html
index 857135d..5de27e0 100644
--- a/test/peek.js.attributes.html
+++ b/test/peek.js.attributes.html
@@ -25,7 +25,7 @@