diff --git a/README.md b/README.md
index 1b9310ec..51c4bebf 100755
--- a/README.md
+++ b/README.md
@@ -2,15 +2,15 @@
JsonTree.js
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=JsonTree.js%2C%20a%20free%20JavaScript%json%20treeview&url=https://github.com/williamtroup/JsonTree.js&hashtags=javascript,treeview,json)
-[![npm](https://img.shields.io/badge/npmjs-v2.6.0-blue)](https://www.npmjs.com/package/jjsontree.js)
-[![nuget](https://img.shields.io/badge/nuget-v2.6.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
+[![npm](https://img.shields.io/badge/npmjs-v2.7.0-blue)](https://www.npmjs.com/package/jjsontree.js)
+[![nuget](https://img.shields.io/badge/nuget-v2.7.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/JsonTree.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/JsonTree.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 generates customizable tree views to better visualize, and edit, JSON data.
-> v2.6.0
+> v2.7.0
![JsonTree.js](docs/images/main.png)
@@ -24,7 +24,7 @@ JsonTree.js
- Full API available via public functions.
- Fully styled in CSS/SASS, fully responsive, and compatible with the Bootstrap library!
- Full CSS theme support (using :root variables), with dark and light themes.
-- 11 types supported by default (with unknown type support).
+- 14 types supported by default (with unknown type support).
- Fully configurable per DOM element!
- Close/Open all nodes.
- Clickable values via custom triggers!
@@ -32,6 +32,8 @@ JsonTree.js
- Array paging support (show array objects on different pages)!
- Drag & Drop JSON files support!
- Full property/value editing support (double click the property name/value).
+- Keyboard navigation keys support!
+- Toggle between regular and full-screen views.
@@ -64,6 +66,8 @@ All modern browsers (such as Google Chrome, FireFox, and Opera) are fully suppor
- `symbol` Symbols
- `function` Functions and Lambdas
- `undefined` Undefined
+- `color` Colors
+- `guid` GUIDs
- `any` Unknown
@@ -144,8 +148,8 @@ npm install jjsontree.js
You can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.6.0/dist/jsontree.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.6.0/dist/jsontree.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.7.0/dist/jsontree.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.7.0/dist/jsontree.js.min.css
```
diff --git a/README_NUGET.md b/README_NUGET.md
index 807fd0d2..a475e30f 100755
--- a/README_NUGET.md
+++ b/README_NUGET.md
@@ -1,8 +1,8 @@
-# JsonTree.js v2.6.0
+# JsonTree.js v2.7.0
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=JsonTree.js%2C%20a%20free%20JavaScript%json%20treeview&url=https://github.com/williamtroup/JsonTree.js&hashtags=javascript,treeview,json)
-[![npm](https://img.shields.io/badge/npmjs-v2.6.0-blue)](https://www.npmjs.com/package/jjsontree.js)
-[![nuget](https://img.shields.io/badge/nuget-v2.6.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
+[![npm](https://img.shields.io/badge/npmjs-v2.7.0-blue)](https://www.npmjs.com/package/jjsontree.js)
+[![nuget](https://img.shields.io/badge/nuget-v2.7.0-purple)](https://www.nuget.org/packages/jJsonTree.js/)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/JsonTree.js/blob/main/LICENSE.txt)
[![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/JsonTree.js/discussions)
[![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/)
@@ -17,7 +17,7 @@
- Full API available via public functions.
- Fully styled in CSS/SASS, fully responsive, and compatible with the Bootstrap library!
- Full CSS theme support (using :root variables), with dark and light themes.
-- 12 types supported by default (with unknown type support).
+- 14 types supported by default (with unknown type support).
- Fully configurable per DOM element!
- Close/Open all nodes.
- Clickable values via custom triggers!
@@ -25,6 +25,8 @@
- Array paging support (show array objects on different pages)!
- Drag & Drop JSON files support!
- Full property/value editing support (double click the property name/value).
+- Keyboard navigation keys support!
+- Toggle between regular and full-screen views.
## Where can I find the documentation?
@@ -51,6 +53,8 @@ All modern browsers (such as Google Chrome, FireFox, and Opera) are fully suppor
- `symbol` Symbols
- `function` Functions and Lambdas
- `undefined` Undefined
+- `color` Colors
+- `guid` GUIDs
- `any` Unknown
@@ -125,8 +129,8 @@ npm install jjsontree.js
You can also use the following CDN links:
```markdown
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.6.0/dist/jsontree.min.js
-https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.6.0/dist/jsontree.js.min.css
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.7.0/dist/jsontree.min.js
+https://cdn.jsdelivr.net/gh/williamtroup/JsonTree.js@2.7.0/dist/jsontree.js.min.css
```
diff --git a/dist/jsontree.esm.js b/dist/jsontree.esm.js
index bacfc961..345c2c1b 100644
--- a/dist/jsontree.esm.js
+++ b/dist/jsontree.esm.js
@@ -23,6 +23,11 @@ var Is;
return !isNaN(+new Date(e));
}
e.date = r;
+ function l(e) {
+ const t = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
+ return t.test(e);
+ }
+ e.guid = l;
})(t = e.String || (e.String = {}));
function n(e) {
return e !== null && e !== void 0 && e.toString() !== "";
@@ -44,14 +49,14 @@ var Is;
return n(e) && typeof e === "function";
}
e.definedFunction = i;
- function s(e) {
+ function a(e) {
return n(e) && typeof e === "number";
}
- e.definedNumber = s;
- function a(e) {
+ e.definedNumber = a;
+ function s(e) {
return n(e) && typeof e === "bigint";
}
- e.definedBigInt = a;
+ e.definedBigInt = s;
function u(e) {
return o(e) && e instanceof Array;
}
@@ -60,14 +65,14 @@ var Is;
return o(e) && e instanceof Date;
}
e.definedDate = c;
- function f(e) {
+ function d(e) {
return n(e) && typeof e === "number" && e % 1 !== 0;
}
- e.definedDecimal = f;
- function d(e) {
+ e.definedDecimal = d;
+ function f(e) {
return n(e) && typeof e === "symbol";
}
- e.definedSymbol = d;
+ e.definedSymbol = f;
function g(e, t = 1) {
return !u(e) || e.length < t;
}
@@ -216,7 +221,7 @@ var DomElement;
return t;
}
e.getScrollPosition = i;
- function s(e, t) {
+ function a(e, t) {
let n = e.pageX;
let o = e.pageY;
const r = i();
@@ -240,33 +245,21 @@ var DomElement;
t.style.left = `${n}px`;
t.style.top = `${o}px`;
}
- e.showElementAtMousePosition = s;
- function a(e) {
+ e.showElementAtMousePosition = a;
+ function s(e) {
const t = document.createRange();
t.selectNodeContents(e);
const n = window.getSelection();
n.removeAllRanges();
n.addRange(t);
}
- e.selectAllText = a;
+ e.selectAllText = s;
})(DomElement || (DomElement = {}));
var Str;
(e => {
- function t() {
- const e = [];
- for (let t = 0; t < 32; t++) {
- if (t === 8 || t === 12 || t === 16 || t === 20) {
- e.push("-");
- }
- const n = Math.floor(Math.random() * 16).toString(16);
- e.push(n);
- }
- return e.join("");
- }
- e.newGuid = t;
- function n(e, t = 1) {
+ function t(e, t = 1) {
const n = e.toString();
let o = n;
if (n.length < t) {
@@ -275,7 +268,7 @@ var Str;
}
return o;
}
- e.padNumber = n;
+ e.padNumber = t;
})(Str || (Str = {}));
var DateTime;
@@ -348,6 +341,8 @@ var Binding;
o._currentView.idSet = false;
o._currentView.contentPanelsOpen = {};
o._currentView.contentPanelsIndex = 0;
+ o._currentView.backButton = null;
+ o._currentView.nextButton = null;
return o;
}
t.getForNewInstance = n;
@@ -368,7 +363,6 @@ var Binding;
t.showValueColors = Default2.getBoolean(t.showValueColors, true);
t.maximumDecimalPlaces = Default2.getNumber(t.maximumDecimalPlaces, 2);
t.maximumStringLength = Default2.getNumber(t.maximumStringLength, 0);
- t.showStringHexColors = Default2.getBoolean(t.showStringHexColors, false);
t.showArrayItemsAsSeparateObjects = Default2.getBoolean(t.showArrayItemsAsSeparateObjects, false);
t.copyOnlyCurrentPage = Default2.getBoolean(t.copyOnlyCurrentPage, false);
t.fileDroppingEnabled = Default2.getBoolean(t.fileDroppingEnabled, true);
@@ -376,12 +370,16 @@ var Binding;
t.showArrayIndexBrackets = Default2.getBoolean(t.showArrayIndexBrackets, true);
t.showOpeningClosingCurlyBraces = Default2.getBoolean(t.showOpeningClosingCurlyBraces, false);
t.showOpeningClosingSquaredBrackets = Default2.getBoolean(t.showOpeningClosingSquaredBrackets, false);
- t.allowEditing = Default2.getBoolean(t.allowEditing, true);
+ t.includeTimeZoneInDateTimeEditing = Default2.getBoolean(t.includeTimeZoneInDateTimeEditing, true);
+ t.shortcutKeysEnabled = Default2.getBoolean(t.shortcutKeysEnabled, true);
+ t.openInFullScreenMode = Default2.getBoolean(t.openInFullScreenMode, false);
+ t.enableFullScreenToggling = Default2.getBoolean(t.enableFullScreenToggling, true);
t = r(t);
t = l(t);
t = i(t);
- t = s(t);
t = a(t);
+ t = s(t);
+ t = u(t);
return t;
}
t.get = o;
@@ -409,6 +407,8 @@ var Binding;
e.ignore.symbolValues = Default2.getBoolean(e.ignore.symbolValues, false);
e.ignore.emptyObjects = Default2.getBoolean(e.ignore.emptyObjects, true);
e.ignore.undefinedValues = Default2.getBoolean(e.ignore.undefinedValues, false);
+ e.ignore.guidValues = Default2.getBoolean(e.ignore.guidValues, false);
+ e.ignore.colorValues = Default2.getBoolean(e.ignore.colorValues, false);
return e;
}
function i(e) {
@@ -416,14 +416,26 @@ var Binding;
e.tooltip.delay = Default2.getNumber(e.tooltip.delay, 750);
return e;
}
- function s(e) {
+ function a(e) {
e.parse = Default2.getObject(e.parse, {});
e.parse.stringsToDates = Default2.getBoolean(e.parse.stringsToDates, false);
e.parse.stringsToBooleans = Default2.getBoolean(e.parse.stringsToBooleans, false);
e.parse.stringsToNumbers = Default2.getBoolean(e.parse.stringsToNumbers, false);
return e;
}
- function a(e) {
+ function s(e) {
+ e.allowEditing = Default2.getObject(e.allowEditing, {});
+ e.allowEditing.booleanValues = Default2.getBoolean(e.allowEditing.booleanValues, true);
+ e.allowEditing.decimalValues = Default2.getBoolean(e.allowEditing.decimalValues, true);
+ e.allowEditing.numberValues = Default2.getBoolean(e.allowEditing.numberValues, true);
+ e.allowEditing.stringValues = Default2.getBoolean(e.allowEditing.stringValues, true);
+ e.allowEditing.dateValues = Default2.getBoolean(e.allowEditing.dateValues, true);
+ e.allowEditing.bigIntValues = Default2.getBoolean(e.allowEditing.bigIntValues, true);
+ e.allowEditing.guidValues = Default2.getBoolean(e.allowEditing.guidValues, true);
+ e.allowEditing.colorValues = Default2.getBoolean(e.allowEditing.colorValues, true);
+ return e;
+ }
+ function u(e) {
e.events = Default2.getObject(e.events, {});
e.events.onBeforeRender = Default2.getFunction(e.events.onBeforeRender, null);
e.events.onRenderComplete = Default2.getFunction(e.events.onRenderComplete, null);
@@ -445,6 +457,8 @@ var Binding;
e.events.onSymbolRender = Default2.getFunction(e.events.onSymbolRender, null);
e.events.onCopyJsonReplacer = Default2.getFunction(e.events.onCopyJsonReplacer, null);
e.events.onUndefinedRender = Default2.getFunction(e.events.onUndefinedRender, null);
+ e.events.onGuidRender = Default2.getFunction(e.events.onGuidRender, null);
+ e.events.onColorRender = Default2.getFunction(e.events.onColorRender, null);
return e;
}
})(t = e.Options || (e.Options = {}));
@@ -531,19 +545,13 @@ var ToolTip;
function n(e, t = true) {
let n = t ? window.addEventListener : window.removeEventListener;
let o = t ? document.addEventListener : document.removeEventListener;
- n("mousemove", (() => {
- l(e);
- }));
- o("scroll", (() => {
- l(e);
- }));
+ n("mousemove", (() => l(e)));
+ o("scroll", (() => l(e)));
}
e.assignToEvents = n;
function o(e, t, n) {
if (e !== null) {
- e.onmousemove = e => {
- r(e, t, n);
- };
+ e.onmousemove = e => r(e, t, n);
}
}
e.add = o;
@@ -574,28 +582,29 @@ var ToolTip;
(() => {
let e = {};
let t = {};
- function n() {
+ let n = 0;
+ function o() {
const t = e.domElementTypes;
const n = t.length;
for (let e = 0; e < n; e++) {
const n = document.getElementsByTagName(t[e]);
- const r = [].slice.call(n);
- const l = r.length;
+ const o = [].slice.call(n);
+ const l = o.length;
for (let e = 0; e < l; e++) {
- if (!o(r[e])) {
+ if (!r(o[e])) {
break;
}
}
}
}
- function o(t) {
+ function r(t) {
let n = true;
if (Is.defined(t) && t.hasAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME)) {
const o = t.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);
if (Is.definedString(o)) {
- const l = Default2.getObjectFromString(o, e);
- if (l.parsed && Is.definedObject(l.object)) {
- r(Binding.Options.getForNewInstance(l.object, t));
+ const r = Default2.getObjectFromString(o, e);
+ if (r.parsed && Is.definedObject(r.object)) {
+ l(Binding.Options.getForNewInstance(r.object, t));
} else {
if (!e.safeMode) {
console.error(e.text.attributeNotValidErrorText.replace("{{attribute_name}}", Constants.JSONTREE_JS_ATTRIBUTE_NAME));
@@ -611,40 +620,45 @@ var ToolTip;
}
return n;
}
- function r(e) {
+ function l(e) {
Trigger.customEvent(e.events.onBeforeRender, e._currentView.element);
ToolTip.renderControl(e);
if (!Is.definedString(e._currentView.element.id)) {
- e._currentView.element.id = Str.newGuid();
+ e._currentView.element.id = crypto.randomUUID();
e._currentView.idSet = true;
}
e._currentView.element.className = "json-tree-js";
e._currentView.element.removeAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);
+ if (e.enableFullScreenToggling && e.openInFullScreenMode) {
+ DomElement.addClass(e._currentView.element, "full-screen");
+ }
if (!t.hasOwnProperty(e._currentView.element.id)) {
t[e._currentView.element.id] = e;
+ n++;
}
- l(e);
+ i(e);
+ p(e);
Trigger.customEvent(e.events.onRenderComplete, e._currentView.element);
}
- function l(n, o = false) {
+ function i(n, o = false) {
let r = t[n._currentView.element.id].data;
ToolTip.hide(n);
n._currentView.element.innerHTML = "";
n._currentView.editMode = false;
n._currentView.contentPanelsIndex = 0;
- i(n, r);
+ a(n, r);
const l = DomElement.create(n._currentView.element, "div", "contents");
if (o) {
DomElement.addClass(l, "page-switch");
}
- A(l, n);
+ _(l, n);
if (n.showArrayItemsAsSeparateObjects && Is.definedArray(r)) {
r = r[n._currentView.dataArrayCurrentIndex];
}
if (Is.definedObject(r) && !Is.definedArray(r)) {
- f(l, n, r);
+ w(l, n, r);
} else if (Is.definedArray(r)) {
- d(l, n, r);
+ y(l, n, r);
}
if (l.innerHTML === "") {
DomElement.createWithHTML(l, "span", "no-json-text", e.text.noJsonToViewText);
@@ -653,54 +667,48 @@ var ToolTip;
n._currentView.titleBarButtons.style.display = "block";
}
}
- function i(t, n) {
+ function a(t, n) {
if (t.title.show || t.title.showTreeControls || t.title.showCopyButton) {
const o = DomElement.create(t._currentView.element, "div", "title-bar");
+ if (t.enableFullScreenToggling) {
+ o.ondblclick = () => s(t);
+ }
t._currentView.titleBarButtons = DomElement.create(o, "div", "controls");
if (t.title.show) {
DomElement.createWithHTML(o, "div", "title", t.title.text, t._currentView.titleBarButtons);
}
if (t.title.showCopyButton) {
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "copy-all", e.text.copyAllButtonSymbolText);
+ o.onclick = () => u(t, n);
+ o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.copyAllButtonText);
- o.onclick = () => {
- s(t, n);
- };
}
if (t.title.showTreeControls) {
const n = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "openAll", e.text.openAllButtonSymbolText);
+ n.onclick = () => c(t);
+ n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "closeAll", e.text.closeAllButtonSymbolText);
+ o.onclick = () => d(t);
+ o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.closeAllButtonText);
- n.onclick = () => {
- u(t);
- };
- o.onclick = () => {
- c(t);
- };
}
if (t.showArrayItemsAsSeparateObjects && Is.definedArray(n) && n.length > 1) {
- const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
- ToolTip.add(o, t, e.text.backButtonText);
+ t._currentView.backButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
+ t._currentView.backButton.ondblclick = DomElement.cancelBubble;
+ ToolTip.add(t._currentView.backButton, t, e.text.backButtonText);
if (t._currentView.dataArrayCurrentIndex > 0) {
- o.onclick = () => {
- t._currentView.dataArrayCurrentIndex--;
- l(t, true);
- Trigger.customEvent(t.events.onBackPage, t._currentView.element);
- };
+ t._currentView.backButton.onclick = () => f(t);
} else {
- o.disabled = true;
+ t._currentView.backButton.disabled = true;
}
- const r = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
- ToolTip.add(r, t, e.text.nextButtonText);
+ t._currentView.nextButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
+ t._currentView.nextButton.ondblclick = DomElement.cancelBubble;
+ ToolTip.add(t._currentView.nextButton, t, e.text.nextButtonText);
if (t._currentView.dataArrayCurrentIndex < n.length - 1) {
- r.onclick = () => {
- t._currentView.dataArrayCurrentIndex++;
- l(t, true);
- Trigger.customEvent(t.events.onNextPage, t._currentView.element);
- };
+ t._currentView.nextButton.onclick = () => g(t);
} else {
- r.disabled = true;
+ t._currentView.nextButton.disabled = true;
}
} else {
if (Is.definedArray(n)) {
@@ -709,9 +717,16 @@ var ToolTip;
}
}
}
- function s(e, t) {
+ function s(e) {
+ if (e._currentView.element.classList.contains("full-screen")) {
+ DomElement.removeClass(e._currentView.element, "full-screen");
+ } else {
+ DomElement.addClass(e._currentView.element, "full-screen");
+ }
+ }
+ function u(e, t) {
let n = null;
- let o = a;
+ let o = m;
if (Is.definedFunction(e.events.onCopyJsonReplacer)) {
o = e.events.onCopyJsonReplacer;
}
@@ -723,7 +738,33 @@ var ToolTip;
navigator.clipboard.writeText(n);
Trigger.customEvent(e.events.onCopyAll, n);
}
- function a(t, n) {
+ function c(e) {
+ e.showAllAsClosed = false;
+ e._currentView.contentPanelsOpen = {};
+ i(e);
+ Trigger.customEvent(e.events.onOpenAll, e._currentView.element);
+ }
+ function d(e) {
+ e.showAllAsClosed = true;
+ e._currentView.contentPanelsOpen = {};
+ i(e);
+ Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
+ }
+ function f(e) {
+ if (e._currentView.backButton !== null && !e._currentView.backButton.disabled) {
+ e._currentView.dataArrayCurrentIndex--;
+ i(e, true);
+ Trigger.customEvent(e.events.onBackPage, e._currentView.element);
+ }
+ }
+ function g(e) {
+ if (e._currentView.nextButton !== null && !e._currentView.nextButton.disabled) {
+ e._currentView.dataArrayCurrentIndex++;
+ i(e, true);
+ Trigger.customEvent(e.events.onNextPage, e._currentView.element);
+ }
+ }
+ function m(t, n) {
if (Is.definedBigInt(n)) {
n = n.toString();
} else if (Is.definedSymbol(n)) {
@@ -733,25 +774,34 @@ var ToolTip;
}
return n;
}
- function u(e) {
- e.showAllAsClosed = false;
- e._currentView.contentPanelsOpen = {};
- l(e);
- Trigger.customEvent(e.events.onOpenAll, e._currentView.element);
- }
- function c(e) {
- e.showAllAsClosed = true;
- e._currentView.contentPanelsOpen = {};
- l(e);
- Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
+ function p(e, t = true) {
+ const n = t ? document.addEventListener : document.removeEventListener;
+ n("keydown", (t => b(t, e)));
+ }
+ function b(e, o) {
+ if (o.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(o._currentView.element.id)) {
+ if (e.code === "ArrowLeft") {
+ e.preventDefault();
+ f(o);
+ } else if (e.code === "ArrowRight") {
+ e.preventDefault();
+ g(o);
+ } else if (e.code === "ArrowUp") {
+ e.preventDefault();
+ d(o);
+ } else if (e.code === "ArrowDown") {
+ e.preventDefault();
+ c(o);
+ }
+ }
}
- function f(t, n, o) {
- const r = x(o, n);
+ function w(t, n, o) {
+ const r = I(o, n);
const l = r.length;
if (l !== 0 || !n.ignore.emptyObjects) {
const i = DomElement.create(t, "div", "object-type-title");
- const s = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
- const a = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
+ const a = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
+ const s = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
const u = DomElement.createWithHTML(i, "span", n.showValueColors ? "object main-title" : "main-title", e.text.objectText);
let c = null;
if (n.showArrayItemsAsSeparateObjects) {
@@ -759,289 +809,309 @@ var ToolTip;
if (n.showArrayIndexBrackets) {
e = `[${e}]:`;
}
- DomElement.createWithHTML(i, "span", n.showValueColors ? "object data-array-index" : "data-array-index", e, u);
+ DomElement.createWithHTML(i, "span", n.showValueColors ? `${"object"} data-array-index` : "data-array-index", e, u);
}
if (n.showCounts && l > 0) {
- DomElement.createWithHTML(i, "span", n.showValueColors ? "object count" : "count", `{${l}}`);
+ DomElement.createWithHTML(i, "span", n.showValueColors ? `${"object"} count` : "count", `{${l}}`);
}
if (n.showOpeningClosingCurlyBraces) {
c = DomElement.createWithHTML(i, "span", "opening-symbol", "{");
}
- g(a, null, s, n, o, r, c, false, true);
- T(n, u, o, "object");
+ D(s, null, a, n, o, r, c, false, true);
+ E(n, u, o, "object");
}
}
- function d(t, n, o) {
+ function y(t, n, o) {
const r = DomElement.create(t, "div", "object-type-title");
const l = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
const i = n.showArrowToggles ? DomElement.create(r, "div", "down-arrow") : null;
- const s = DomElement.createWithHTML(r, "span", n.showValueColors ? "array main-title" : "main-title", e.text.arrayText);
- let a = null;
+ const a = DomElement.createWithHTML(r, "span", n.showValueColors ? "array main-title" : "main-title", e.text.arrayText);
+ let s = null;
if (n.showCounts) {
- DomElement.createWithHTML(r, "span", n.showValueColors ? "array count" : "count", `[${o.length}]`);
+ DomElement.createWithHTML(r, "span", n.showValueColors ? `${"array"} count` : "count", `[${o.length}]`);
}
if (n.showOpeningClosingCurlyBraces) {
- a = DomElement.createWithHTML(r, "span", "opening-symbol", "[");
+ s = DomElement.createWithHTML(r, "span", "opening-symbol", "[");
}
- m(i, null, l, n, o, a, false, true);
- T(n, s, o, "object");
+ T(i, null, l, n, o, s, false, true);
+ E(n, a, o, "object");
}
- function g(e, t, n, o, r, l, i, s, a) {
+ function D(e, t, n, o, r, l, i, a, s) {
const u = l.length;
for (let e = 0; e < u; e++) {
const t = l[e];
if (r.hasOwnProperty(t)) {
- p(r, n, o, t, r[t], e === u - 1, false);
+ v(r, n, o, t, r[t], e === u - 1, false);
}
}
if (o.showOpeningClosingCurlyBraces) {
- S(o, n, "}", s, a);
+ C(o, n, "}", a, s);
}
- D(o, e, t, n, i);
+ S(o, e, t, n, i);
}
- function m(e, t, n, o, r, l, i, s) {
- const a = r.length;
+ function T(e, t, n, o, r, l, i, a) {
+ const s = r.length;
if (!o.reverseArrayValues) {
- for (let e = 0; e < a; e++) {
- p(r, n, o, v(o, e, a), r[e], e === a - 1, true);
+ for (let e = 0; e < s; e++) {
+ v(r, n, o, B(o, e, s), r[e], e === s - 1, true);
}
} else {
- for (let e = a; e--; ) {
- p(r, n, o, v(o, e, a), r[e], e === 0, true);
+ for (let e = s; e--; ) {
+ v(r, n, o, B(o, e, s), r[e], e === 0, true);
}
}
if (o.showOpeningClosingCurlyBraces) {
- S(o, n, "]", i, s);
+ C(o, n, "]", i, a);
}
- D(o, e, t, n, l);
+ S(o, e, t, n, l);
}
- function p(t, n, o, r, l, i, s) {
- const a = DomElement.create(n, "div", "object-type-value");
- const u = o.showArrowToggles ? DomElement.create(a, "div", "no-arrow") : null;
+ function v(t, n, o, r, l, i, a) {
+ const s = DomElement.create(n, "div", "object-type-value");
+ const u = o.showArrowToggles ? DomElement.create(s, "div", "no-arrow") : null;
let c = null;
- let f = null;
- let d = false;
- let w = null;
- const D = DomElement.createWithHTML(a, "span", "title", r);
- DomElement.createWithHTML(a, "span", "split", ":");
- if (!s) {
- y(o, t, r, D);
+ let d = null;
+ let f = false;
+ let g = null;
+ const m = DomElement.createWithHTML(s, "span", "title", r);
+ DomElement.createWithHTML(s, "span", "split", ":");
+ if (!a) {
+ x(o, t, r, m);
}
if (l === null) {
if (!o.ignore.nullValues) {
- c = o.showValueColors ? "null value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, "null");
- w = "null";
+ c = o.showValueColors ? `${"null"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, "null");
+ g = "null";
if (Is.definedFunction(o.events.onNullRender)) {
- Trigger.customEvent(o.events.onNullRender, f);
+ Trigger.customEvent(o.events.onNullRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (l === void 0) {
if (!o.ignore.undefinedValues) {
- c = o.showValueColors ? "undefined value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, "undefined");
- w = "undefined";
+ c = o.showValueColors ? `${"undefined"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, "undefined");
+ g = "undefined";
if (Is.definedFunction(o.events.onUndefinedRender)) {
- Trigger.customEvent(o.events.onUndefinedRender, f);
+ Trigger.customEvent(o.events.onUndefinedRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedFunction(l)) {
if (!o.ignore.functionValues) {
- c = o.showValueColors ? "function value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, Default2.getFunctionName(l, e));
- w = "function";
+ c = o.showValueColors ? `${"function"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, Default2.getFunctionName(l, e));
+ g = "function";
if (Is.definedFunction(o.events.onFunctionRender)) {
- Trigger.customEvent(o.events.onFunctionRender, f);
+ Trigger.customEvent(o.events.onFunctionRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedBoolean(l)) {
if (!o.ignore.booleanValues) {
- c = o.showValueColors ? "boolean value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "boolean";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"boolean"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "boolean";
+ h(o, t, r, l, d, a, o.allowEditing.booleanValues);
if (Is.definedFunction(o.events.onBooleanRender)) {
- Trigger.customEvent(o.events.onBooleanRender, f);
+ Trigger.customEvent(o.events.onBooleanRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedDecimal(l)) {
if (!o.ignore.decimalValues) {
const e = Default2.getFixedDecimalPlacesValue(l, o.maximumDecimalPlaces);
- c = o.showValueColors ? "decimal value" : "value";
- f = DomElement.createWithHTML(a, "span", c, e);
- w = "decimal";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"decimal"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, e);
+ g = "decimal";
+ h(o, t, r, l, d, a, o.allowEditing.decimalValues);
if (Is.definedFunction(o.events.onDecimalRender)) {
- Trigger.customEvent(o.events.onDecimalRender, f);
+ Trigger.customEvent(o.events.onDecimalRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedNumber(l)) {
if (!o.ignore.numberValues) {
- c = o.showValueColors ? "number value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "number";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"number"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "number";
+ h(o, t, r, l, d, a, o.allowEditing.numberValues);
if (Is.definedFunction(o.events.onNumberRender)) {
- Trigger.customEvent(o.events.onNumberRender, f);
+ Trigger.customEvent(o.events.onNumberRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedBigInt(l)) {
if (!o.ignore.bigIntValues) {
- c = o.showValueColors ? "bigint value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "bigint";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"bigint"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "bigint";
+ h(o, t, r, l, d, a, o.allowEditing.bigIntValues);
if (Is.definedFunction(o.events.onBigIntRender)) {
- Trigger.customEvent(o.events.onBigIntRender, f);
+ Trigger.customEvent(o.events.onBigIntRender, d);
+ }
+ A(o, s, i);
+ } else {
+ f = true;
+ }
+ } else if (Is.definedString(l) && Is.String.guid(l)) {
+ if (!o.ignore.guidValues) {
+ c = o.showValueColors ? `${"guid"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "guid";
+ h(o, t, r, l, d, a, o.allowEditing.guidValues);
+ if (Is.definedFunction(o.events.onGuidRender)) {
+ Trigger.customEvent(o.events.onGuidRender, d);
+ }
+ A(o, s, i);
+ } else {
+ f = true;
+ }
+ } else if (Is.definedString(l) && (Is.String.hexColor(l) || Is.String.rgbColor(l))) {
+ if (!o.ignore.colorValues) {
+ c = o.showValueColors ? `${"color"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "color";
+ if (o.showValueColors) {
+ d.style.color = l;
+ }
+ h(o, t, r, l, d, a, o.allowEditing.colorValues);
+ if (Is.definedFunction(o.events.onColorRender)) {
+ Trigger.customEvent(o.events.onColorRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedString(l)) {
if (!o.ignore.stringValues) {
if (o.parse.stringsToBooleans && Is.String.boolean(l)) {
- p(t, n, o, r, l.toString().toLowerCase().trim() === "true", i, s);
- d = true;
+ v(t, n, o, r, l.toString().toLowerCase().trim() === "true", i, a);
+ f = true;
} else if (o.parse.stringsToNumbers && !isNaN(l)) {
- p(t, n, o, r, parseFloat(l), i, s);
- d = true;
+ v(t, n, o, r, parseFloat(l), i, a);
+ f = true;
} else if (o.parse.stringsToDates && Is.String.date(l)) {
- p(t, n, o, r, new Date(l), i, s);
- d = true;
+ v(t, n, o, r, new Date(l), i, a);
+ f = true;
} else {
- let n = null;
- if (o.showValueColors && o.showStringHexColors && (Is.String.hexColor(l) || Is.String.rgbColor(l))) {
- n = l;
- w = "color";
- } else {
- if (o.maximumStringLength > 0 && l.length > o.maximumStringLength) {
- l = l.substring(0, o.maximumStringLength) + e.text.ellipsisText;
- }
- w = "string";
- }
- const u = o.showStringQuotes && n === null ? `"${l}"` : l;
- c = o.showValueColors ? "string value" : "value";
- f = DomElement.createWithHTML(a, "span", c, u);
- b(o, t, r, l, f, s);
- if (Is.definedString(n)) {
- f.style.color = n;
+ if (o.maximumStringLength > 0 && l.length > o.maximumStringLength) {
+ l = l.substring(0, o.maximumStringLength) + e.text.ellipsisText;
}
+ const n = o.showStringQuotes ? `"${l}"` : l;
+ c = o.showValueColors ? `${"string"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, n);
+ g = "string";
+ h(o, t, r, l, d, a, o.allowEditing.stringValues);
if (Is.definedFunction(o.events.onStringRender)) {
- Trigger.customEvent(o.events.onStringRender, f);
+ Trigger.customEvent(o.events.onStringRender, d);
}
- h(o, a, i);
+ A(o, s, i);
}
} else {
- d = true;
+ f = true;
}
} else if (Is.definedDate(l)) {
if (!o.ignore.dateValues) {
- c = o.showValueColors ? "date value" : "value";
- f = DomElement.createWithHTML(a, "span", c, DateTime.getCustomFormattedDateText(e, l, o.dateTimeFormat));
- w = "date";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"date"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, DateTime.getCustomFormattedDateText(e, l, o.dateTimeFormat));
+ g = "date";
+ h(o, t, r, l, d, a, o.allowEditing.dateValues);
if (Is.definedFunction(o.events.onDateRender)) {
- Trigger.customEvent(o.events.onDateRender, f);
+ Trigger.customEvent(o.events.onDateRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedSymbol(l)) {
if (!o.ignore.symbolValues) {
- c = o.showValueColors ? "symbol value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l.toString());
- w = "symbol";
+ c = o.showValueColors ? `${"symbol"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l.toString());
+ g = "symbol";
if (Is.definedFunction(o.events.onSymbolRender)) {
- Trigger.customEvent(o.events.onSymbolRender, f);
+ Trigger.customEvent(o.events.onSymbolRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedObject(l) && !Is.definedArray(l)) {
if (!o.ignore.objectValues) {
- const t = x(l, o);
+ const t = I(l, o);
const n = t.length;
if (n === 0 && o.ignore.emptyObjects) {
- d = true;
+ f = true;
} else {
- const r = DomElement.create(a, "span", o.showValueColors ? "object" : "");
- const s = DomElement.create(a, "div", "object-type-contents");
+ const r = DomElement.create(s, "span", o.showValueColors ? "object" : "");
+ const a = DomElement.create(s, "div", "object-type-contents");
let c = null;
- f = DomElement.createWithHTML(r, "span", "main-title", e.text.objectText);
+ d = DomElement.createWithHTML(r, "span", "main-title", e.text.objectText);
if (o.showCounts && n > 0) {
DomElement.createWithHTML(r, "span", "count", `{${n}}`);
}
if (o.showOpeningClosingCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
}
- let d = h(o, r, i);
- g(u, d, s, o, l, t, c, true, i);
- w = "object";
+ let f = A(o, r, i);
+ D(u, f, a, o, l, t, c, true, i);
+ g = "object";
}
} else {
- d = true;
+ f = true;
}
} else if (Is.definedArray(l)) {
if (!o.ignore.arrayValues) {
- const t = DomElement.create(a, "span", o.showValueColors ? "array" : "");
- const n = DomElement.create(a, "div", "object-type-contents");
+ const t = DomElement.create(s, "span", o.showValueColors ? "array" : "");
+ const n = DomElement.create(s, "div", "object-type-contents");
let r = null;
- f = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
+ d = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
if (o.showCounts) {
DomElement.createWithHTML(t, "span", "count", `[${l.length}]`);
}
if (o.showOpeningClosingCurlyBraces) {
r = DomElement.createWithHTML(t, "span", "opening-symbol", "[");
}
- let s = h(o, t, i);
- m(u, s, n, o, l, r, true, i);
- w = "array";
+ let a = A(o, t, i);
+ T(u, a, n, o, l, r, true, i);
+ g = "array";
} else {
- d = true;
+ f = true;
}
} else {
if (!o.ignore.unknownValues) {
- c = o.showValueColors ? "unknown value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, l.toString());
- w = "unknown";
+ c = o.showValueColors ? `${"unknown"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, l.toString());
+ g = "unknown";
if (Is.definedFunction(o.events.onUnknownRender)) {
- Trigger.customEvent(o.events.onUnknownRender, f);
+ Trigger.customEvent(o.events.onUnknownRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
}
- if (d) {
- n.removeChild(a);
+ if (f) {
+ n.removeChild(s);
} else {
- if (Is.defined(f)) {
- T(o, f, l, w);
+ if (Is.defined(d)) {
+ E(o, d, l, g);
}
}
}
- function y(e, t, n, o) {
+ function x(e, t, n, o) {
if (e.allowEditing) {
o.ondblclick = () => {
clearTimeout(e._currentView.valueClickTimerId);
@@ -1051,9 +1121,7 @@ var ToolTip;
o.setAttribute("contenteditable", "true");
o.focus();
DomElement.selectAllText(o);
- o.onblur = () => {
- l(e, false);
- };
+ o.onblur = () => i(e, false);
o.onkeydown = e => {
if (e.code == "Escape") {
e.preventDefault();
@@ -1076,51 +1144,53 @@ var ToolTip;
};
}
}
- function b(e, t, n, o, r, i) {
- if (e.allowEditing) {
+ function h(e, t, n, o, r, l, a) {
+ if (a) {
r.ondblclick = () => {
clearTimeout(e._currentView.valueClickTimerId);
e._currentView.valueClickTimerId = 0;
e._currentView.editMode = true;
DomElement.addClass(r, "editable");
r.setAttribute("contenteditable", "true");
- r.innerText = o.toString();
+ if (Is.definedDate(o) && !e.includeTimeZoneInDateTimeEditing) {
+ r.innerText = JSON.stringify(o).replace(/['"]+/g, "");
+ } else {
+ r.innerText = o.toString();
+ }
r.focus();
DomElement.selectAllText(r);
- r.onblur = () => {
- l(e, false);
- };
+ r.onblur = () => i(e, false);
r.onkeydown = e => {
if (e.code == "Escape") {
e.preventDefault();
r.setAttribute("contenteditable", "false");
} else if (e.code == "Enter") {
e.preventDefault();
- const l = r.innerText;
- if (l.trim() === "") {
- if (i) {
- t.splice(w(n), 1);
+ const i = r.innerText;
+ if (i.trim() === "") {
+ if (l) {
+ t.splice(V(n), 1);
} else {
delete t[n];
}
} else {
let e = null;
if (Is.definedBoolean(o)) {
- e = l.toLowerCase() === "true";
- } else if (Is.definedDecimal(o) && !isNaN(+l)) {
- e = parseFloat(l);
- } else if (Is.definedNumber(o) && !isNaN(+l)) {
- e = parseInt(l);
+ e = i.toLowerCase() === "true";
+ } else if (Is.definedDecimal(o) && !isNaN(+i)) {
+ e = parseFloat(i);
+ } else if (Is.definedNumber(o) && !isNaN(+i)) {
+ e = parseInt(i);
} else if (Is.definedString(o)) {
- e = l;
+ e = i;
} else if (Is.definedDate(o)) {
- e = new Date(l);
+ e = new Date(i);
} else if (Is.definedBigInt(o)) {
- e = BigInt(l);
+ e = BigInt(i);
}
if (e !== null) {
- if (i) {
- t[w(n)] = e;
+ if (l) {
+ t[V(n)] = e;
} else {
t[n] = e;
}
@@ -1132,10 +1202,10 @@ var ToolTip;
};
}
}
- function w(e) {
+ function V(e) {
return parseInt(e.replace("[", "").replace("]", ""));
}
- function T(e, t, n, o) {
+ function E(e, t, n, o) {
if (Is.definedFunction(e.events.onValueClick)) {
t.onclick = () => {
if (e.allowEditing) {
@@ -1152,14 +1222,14 @@ var ToolTip;
DomElement.addClass(t, "no-hover");
}
}
- function D(e, t, n, o, r) {
+ function S(e, t, n, o, r) {
if (Is.defined(t)) {
const l = e._currentView.contentPanelsIndex;
const i = e._currentView.dataArrayCurrentIndex;
if (!e._currentView.contentPanelsOpen.hasOwnProperty(i)) {
e._currentView.contentPanelsOpen[i] = {};
}
- const s = () => {
+ const a = () => {
o.style.display = "none";
t.className = "right-arrow";
e._currentView.contentPanelsOpen[i][l] = true;
@@ -1170,7 +1240,7 @@ var ToolTip;
n.style.display = "inline-block";
}
};
- const a = () => {
+ const s = () => {
o.style.display = "block";
t.className = "down-arrow";
e._currentView.contentPanelsOpen[i][l] = false;
@@ -1183,9 +1253,9 @@ var ToolTip;
};
const u = e => {
if (e) {
- s();
- } else {
a();
+ } else {
+ s();
}
};
let c = e.showAllAsClosed;
@@ -1194,21 +1264,19 @@ var ToolTip;
} else {
e._currentView.contentPanelsOpen[i][l] = c;
}
- t.onclick = () => {
- u(t.className === "down-arrow");
- };
+ t.onclick = () => u(t.className === "down-arrow");
u(c);
e._currentView.contentPanelsIndex++;
}
}
- function h(e, t, n) {
+ function A(e, t, n) {
let o = null;
if (e.showCommas && !n) {
o = DomElement.createWithHTML(t, "span", "comma", ",");
}
return o;
}
- function v(e, t, n) {
+ function B(e, t, n) {
let o = e.useZeroIndexingForArrays ? t.toString() : (t + 1).toString();
if (!e.addArrayIndexPadding) {
o = Str.padNumber(parseInt(o), n.toString().length);
@@ -1218,7 +1286,7 @@ var ToolTip;
}
return o;
}
- function x(e, t) {
+ function I(e, t) {
let n = [];
for (let t in e) {
if (e.hasOwnProperty(t)) {
@@ -1237,15 +1305,15 @@ var ToolTip;
}
return n;
}
- function S(e, t, n, o, r) {
+ function C(e, t, n, o, r) {
let l = DomElement.create(t, "div", "closing-symbol");
if (o) {
DomElement.create(l, "div", "no-arrow");
}
DomElement.createWithHTML(l, "div", "object-type-end", n);
- h(e, l, r);
+ A(e, l, r);
}
- function A(e, t) {
+ function _(e, t) {
if (t.fileDroppingEnabled) {
e.ondragover = DomElement.cancelBubble;
e.ondragenter = DomElement.cancelBubble;
@@ -1253,29 +1321,29 @@ var ToolTip;
e.ondrop = e => {
DomElement.cancelBubble(e);
if (Is.defined(window.FileReader) && e.dataTransfer.files.length > 0) {
- V(e.dataTransfer.files, t);
+ O(e.dataTransfer.files, t);
}
};
}
}
- function V(e, t) {
+ function O(e, t) {
const n = e.length;
for (let o = 0; o < n; o++) {
const n = e[o];
const r = n.name.split(".").pop().toLowerCase();
if (r === "json") {
- I(n, t);
+ N(n, t);
}
}
}
- function I(t, n) {
+ function N(t, n) {
const o = new FileReader;
let r = null;
o.onloadend = () => {
n._currentView.dataArrayCurrentIndex = 0;
n._currentView.contentPanelsOpen = {};
n.data = r;
- l(n);
+ i(n);
Trigger.customEvent(n.events.onSetJson, n._currentView.element);
};
o.onload = t => {
@@ -1286,7 +1354,7 @@ var ToolTip;
};
o.readAsText(t);
}
- function E(e) {
+ function F(e) {
e._currentView.element.innerHTML = "";
DomElement.removeClass(e._currentView.element, "json-tree-js");
if (e._currentView.element.className.trim() === "") {
@@ -1295,49 +1363,50 @@ var ToolTip;
if (e._currentView.idSet) {
e._currentView.element.removeAttribute("id");
}
+ p(e, false);
ToolTip.assignToEvents(e, false);
Trigger.customEvent(e.events.onDestroy, e._currentView.element);
}
- const B = {
+ const j = {
refresh: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
- l(n);
+ i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
- return B;
+ return j;
},
refreshAll: function() {
for (let e in t) {
if (t.hasOwnProperty(e)) {
const n = t[e];
- l(n);
+ i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
}
- return B;
+ return j;
},
render: function(e, t) {
if (Is.definedObject(e) && Is.definedObject(t)) {
- r(Binding.Options.getForNewInstance(t, e));
+ l(Binding.Options.getForNewInstance(t, e));
}
- return B;
+ return j;
},
renderAll: function() {
- n();
- return B;
+ o();
+ return j;
},
openAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- u(t[e]);
+ c(t[e]);
}
- return B;
+ return j;
},
closeAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- c(t[e]);
+ d(t[e]);
}
- return B;
+ return j;
},
setJson: function(n, o) {
if (Is.definedString(n) && Is.defined(o) && t.hasOwnProperty(n)) {
@@ -1350,14 +1419,14 @@ var ToolTip;
} else {
r = o;
}
- const i = t[n];
- i._currentView.dataArrayCurrentIndex = 0;
- i._currentView.contentPanelsOpen = {};
- i.data = r;
- l(i);
- Trigger.customEvent(i.events.onSetJson, i._currentView.element);
+ const l = t[n];
+ l._currentView.dataArrayCurrentIndex = 0;
+ l._currentView.contentPanelsOpen = {};
+ l.data = r;
+ i(l);
+ Trigger.customEvent(l.events.onSetJson, l._currentView.element);
}
- return B;
+ return j;
},
getJson: function(e) {
let n = null;
@@ -1368,19 +1437,21 @@ var ToolTip;
},
destroy: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- E(t[e]);
+ F(t[e]);
delete t[e];
+ n--;
}
- return B;
+ return j;
},
destroyAll: function() {
for (let e in t) {
if (t.hasOwnProperty(e)) {
- E(t[e]);
+ F(t[e]);
}
}
t = {};
- return B;
+ n = 0;
+ return j;
},
setConfiguration: function(t) {
if (Is.definedObject(t)) {
@@ -1396,7 +1467,7 @@ var ToolTip;
e = Config.Options.get(o);
}
}
- return B;
+ return j;
},
getIds: function() {
const e = [];
@@ -1408,16 +1479,14 @@ var ToolTip;
return e;
},
getVersion: function() {
- return "2.6.0";
+ return "2.7.0";
}
};
(() => {
e = Config.Options.get();
- document.addEventListener("DOMContentLoaded", (function() {
- n();
- }));
+ document.addEventListener("DOMContentLoaded", (() => o()));
if (!Is.defined(window.$jsontree)) {
- window.$jsontree = B;
+ window.$jsontree = j;
}
})();
})();//# sourceMappingURL=jsontree.esm.js.map
\ No newline at end of file
diff --git a/dist/jsontree.esm.js.map b/dist/jsontree.esm.js.map
index 152ac1d4..efd8bef4 100644
--- a/dist/jsontree.esm.js.map
+++ b/dist/jsontree.esm.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.esm.js"],"names":["Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","Date","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","definedDecimal","definedSymbol","invalidOptionArray","array","minimumLength","Default2","Default","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getStringOrArray","result2","values","split","getFixedDecimalPlacesValue","decimalPlaces","regExp","RegExp","match","getFunctionName","configuration2","valueParts","valueNameParts","functionBrackets","text","functionText","getObjectFromString","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","objectErrorText","replace","message","DomElement","DomElement2","create","container","type","className","beforeNode","nodeType","isText","document","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","addClass","classList","add","removeClass","remove","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","Str","Str2","newGuid","charIndex","push","character","Math","floor","random","join","padNumber","number","numberString","numberResult","arrayLength","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","parseInt","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","Binding","Binding2","Options","Options2","getForNewInstance","data","bindingOptions","get","_currentView","dataArrayCurrentIndex","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","newOptions","options","showCounts","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","showStringHexColors","showArrayItemsAsSeparateObjects","copyOnlyCurrentPage","fileDroppingEnabled","copyIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","allowEditing","getTitle","getIgnore","getToolTip","getParse","getCustomTriggers","title","show","showTreeControls","showCopyButton","ignore","nullValues","functionValues","unknownValues","booleanValues","decimalValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigIntValues","symbolValues","emptyObjects","undefinedValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onDecimalRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyAllButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","slice","call","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","onmousemove","tooltipTimerId","setTimeout","clearTimeout","_configuration","_elements_Data","render","tagTypes","tagTypesLength","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","renderElement","hasAttribute","bindingOptionsData","getAttribute","id","removeAttribute","hasOwnProperty","renderControlContainer","isForPageSwitch","renderControlTitleBar","contents","makeAreaDroppable","renderObject","renderArray","titleBar","copy","onclick","onTitleBarCopyClick","openAll","closeAll","openAllNodes","closeAllNodes","back","onBackPage","disabled","next","onNextPage","copyData","replaceFunction","jsonStringifyReplacer","stringify","navigator","clipboard","writeText","_","propertyNames","getObjectPropertyNames","propertyCount","objectTypeTitle","objectTypeContents","arrow","titleText","openingBrace","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","propertiesLength","propertyIndex","propertyName","renderValue","createClosingSymbol","addArrowEvent","dataLength","dataIndex1","getIndexName","dataIndex2","name","isArrayItem","objectTypeValue","valueClass","valueElement","ignored","makePropertyNameEditable","createComma","makePropertyValueEditable","newValue","parseFloat","color","newStringValue","objectTitle","arrayTypeContents","removeChild","originalPropertyName","ondblclick","setAttribute","focus","onblur","onkeydown","code","newPropertyName","innerText","originalValue","originalPropertyValue","propertyValue","newPropertyValue","splice","getArrayIndex","newDataPropertyValue","BigInt","openingSymbol","panelId","hideFunc","showFunc","conditionFunc","condition","isClosed","index","largestValue","properties","key","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","symbol","addNoArrow","symbolContainer","ondragover","ondragenter","ondragleave","ondrop","FileReader","dataTransfer","files","importFromFiles","filesLength","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onSetJson","onload","json","target","readAsText","destroyElement","_public","refresh","elementId","refreshAll","renderAll","setJson","jsonObject","jsonResult","getJson","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.esm.js"],"names":["Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","Date","guid","regex","test","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","definedDecimal","definedSymbol","invalidOptionArray","array","minimumLength","Default2","Default","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getStringOrArray","result2","values","split","getFixedDecimalPlacesValue","decimalPlaces","regExp","RegExp","match","getFunctionName","configuration2","valueParts","valueNameParts","functionBrackets","text","functionText","getObjectFromString","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","objectErrorText","replace","message","DomElement","DomElement2","create","container","type","className","beforeNode","nodeType","isText","document","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","addClass","classList","add","removeClass","remove","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","Str","Str2","padNumber","number","numberString","numberResult","arrayLength","join","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","parseInt","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","Binding","Binding2","Options","Options2","getForNewInstance","data","bindingOptions","get","_currentView","dataArrayCurrentIndex","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","backButton","nextButton","newOptions","options","showCounts","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","showArrayItemsAsSeparateObjects","copyOnlyCurrentPage","fileDroppingEnabled","copyIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","includeTimeZoneInDateTimeEditing","shortcutKeysEnabled","openInFullScreenMode","enableFullScreenToggling","getTitle","getIgnore","getToolTip","getParse","getAllowEditing","getCustomTriggers","title","show","showTreeControls","showCopyButton","ignore","nullValues","functionValues","unknownValues","booleanValues","decimalValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigIntValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","allowEditing","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onDecimalRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyAllButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","slice","call","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","onmousemove","tooltipTimerId","setTimeout","clearTimeout","_configuration","_elements_Data","_elements_Data_Count","render","tagTypes","tagTypesLength","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","renderElement","hasAttribute","bindingOptionsData","getAttribute","id","crypto","randomUUID","removeAttribute","hasOwnProperty","renderControlContainer","buildDocumentEvents","isForPageSwitch","renderControlTitleBar","contents","makeAreaDroppable","renderObject","renderArray","titleBar","ondblclick","onTitleBarDblClick","copy","onclick","onTitleBarCopyClick","openAll","closeAll","onBackPage","disabled","onNextPage","contains","copyData","replaceFunction","jsonStringifyReplacer","stringify","navigator","clipboard","writeText","_","addEvents","documentFunc","onWindowKeyDown","code","propertyNames","getObjectPropertyNames","propertyCount","objectTypeTitle","objectTypeContents","arrow","titleText","openingBrace","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","propertiesLength","propertyIndex","propertyName","renderValue","createClosingSymbol","addArrowEvent","dataLength","dataIndex1","getIndexName","dataIndex2","name","isArrayItem","objectTypeValue","valueClass","valueElement","ignored","makePropertyNameEditable","createComma","makePropertyValueEditable","newValue","color","parseFloat","newStringValue","objectTitle","arrayTypeContents","removeChild","originalPropertyName","setAttribute","focus","onblur","onkeydown","newPropertyName","innerText","originalValue","originalPropertyValue","propertyValue","newPropertyValue","splice","getArrayIndex","newDataPropertyValue","BigInt","openingSymbol","panelId","hideFunc","showFunc","conditionFunc","condition","isClosed","index","largestValue","properties","key","push","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","symbol","addNoArrow","symbolContainer","ondragover","ondragenter","ondragleave","ondrop","FileReader","dataTransfer","files","importFromFiles","filesLength","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onSetJson","onload","json","target","readAsText","destroyElement","_public","refresh","elementId","refreshAll","renderAll","setJson","jsonObject","jsonResult","getJson","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/jsontree.js b/dist/jsontree.js
index ce26f12b..821f6ca6 100644
--- a/dist/jsontree.js
+++ b/dist/jsontree.js
@@ -25,6 +25,11 @@ var Is;
return !isNaN(+new Date(e));
}
e.date = r;
+ function l(e) {
+ const t = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
+ return t.test(e);
+ }
+ e.guid = l;
})(t = e.String || (e.String = {}));
function n(e) {
return e !== null && e !== void 0 && e.toString() !== "";
@@ -46,14 +51,14 @@ var Is;
return n(e) && typeof e === "function";
}
e.definedFunction = i;
- function s(e) {
+ function a(e) {
return n(e) && typeof e === "number";
}
- e.definedNumber = s;
- function a(e) {
+ e.definedNumber = a;
+ function s(e) {
return n(e) && typeof e === "bigint";
}
- e.definedBigInt = a;
+ e.definedBigInt = s;
function u(e) {
return o(e) && e instanceof Array;
}
@@ -62,14 +67,14 @@ var Is;
return o(e) && e instanceof Date;
}
e.definedDate = c;
- function f(e) {
+ function d(e) {
return n(e) && typeof e === "number" && e % 1 !== 0;
}
- e.definedDecimal = f;
- function d(e) {
+ e.definedDecimal = d;
+ function f(e) {
return n(e) && typeof e === "symbol";
}
- e.definedSymbol = d;
+ e.definedSymbol = f;
function g(e, t = 1) {
return !u(e) || e.length < t;
}
@@ -218,7 +223,7 @@ var DomElement;
return t;
}
e.getScrollPosition = i;
- function s(e, t) {
+ function a(e, t) {
let n = e.pageX;
let o = e.pageY;
const r = i();
@@ -242,33 +247,21 @@ var DomElement;
t.style.left = `${n}px`;
t.style.top = `${o}px`;
}
- e.showElementAtMousePosition = s;
- function a(e) {
+ e.showElementAtMousePosition = a;
+ function s(e) {
const t = document.createRange();
t.selectNodeContents(e);
const n = window.getSelection();
n.removeAllRanges();
n.addRange(t);
}
- e.selectAllText = a;
+ e.selectAllText = s;
})(DomElement || (DomElement = {}));
var Str;
(e => {
- function t() {
- const e = [];
- for (let t = 0; t < 32; t++) {
- if (t === 8 || t === 12 || t === 16 || t === 20) {
- e.push("-");
- }
- const n = Math.floor(Math.random() * 16).toString(16);
- e.push(n);
- }
- return e.join("");
- }
- e.newGuid = t;
- function n(e, t = 1) {
+ function t(e, t = 1) {
const n = e.toString();
let o = n;
if (n.length < t) {
@@ -277,7 +270,7 @@ var Str;
}
return o;
}
- e.padNumber = n;
+ e.padNumber = t;
})(Str || (Str = {}));
var DateTime;
@@ -350,6 +343,8 @@ var Binding;
o._currentView.idSet = false;
o._currentView.contentPanelsOpen = {};
o._currentView.contentPanelsIndex = 0;
+ o._currentView.backButton = null;
+ o._currentView.nextButton = null;
return o;
}
t.getForNewInstance = n;
@@ -370,7 +365,6 @@ var Binding;
t.showValueColors = Default2.getBoolean(t.showValueColors, true);
t.maximumDecimalPlaces = Default2.getNumber(t.maximumDecimalPlaces, 2);
t.maximumStringLength = Default2.getNumber(t.maximumStringLength, 0);
- t.showStringHexColors = Default2.getBoolean(t.showStringHexColors, false);
t.showArrayItemsAsSeparateObjects = Default2.getBoolean(t.showArrayItemsAsSeparateObjects, false);
t.copyOnlyCurrentPage = Default2.getBoolean(t.copyOnlyCurrentPage, false);
t.fileDroppingEnabled = Default2.getBoolean(t.fileDroppingEnabled, true);
@@ -378,12 +372,16 @@ var Binding;
t.showArrayIndexBrackets = Default2.getBoolean(t.showArrayIndexBrackets, true);
t.showOpeningClosingCurlyBraces = Default2.getBoolean(t.showOpeningClosingCurlyBraces, false);
t.showOpeningClosingSquaredBrackets = Default2.getBoolean(t.showOpeningClosingSquaredBrackets, false);
- t.allowEditing = Default2.getBoolean(t.allowEditing, true);
+ t.includeTimeZoneInDateTimeEditing = Default2.getBoolean(t.includeTimeZoneInDateTimeEditing, true);
+ t.shortcutKeysEnabled = Default2.getBoolean(t.shortcutKeysEnabled, true);
+ t.openInFullScreenMode = Default2.getBoolean(t.openInFullScreenMode, false);
+ t.enableFullScreenToggling = Default2.getBoolean(t.enableFullScreenToggling, true);
t = r(t);
t = l(t);
t = i(t);
- t = s(t);
t = a(t);
+ t = s(t);
+ t = u(t);
return t;
}
t.get = o;
@@ -411,6 +409,8 @@ var Binding;
e.ignore.symbolValues = Default2.getBoolean(e.ignore.symbolValues, false);
e.ignore.emptyObjects = Default2.getBoolean(e.ignore.emptyObjects, true);
e.ignore.undefinedValues = Default2.getBoolean(e.ignore.undefinedValues, false);
+ e.ignore.guidValues = Default2.getBoolean(e.ignore.guidValues, false);
+ e.ignore.colorValues = Default2.getBoolean(e.ignore.colorValues, false);
return e;
}
function i(e) {
@@ -418,14 +418,26 @@ var Binding;
e.tooltip.delay = Default2.getNumber(e.tooltip.delay, 750);
return e;
}
- function s(e) {
+ function a(e) {
e.parse = Default2.getObject(e.parse, {});
e.parse.stringsToDates = Default2.getBoolean(e.parse.stringsToDates, false);
e.parse.stringsToBooleans = Default2.getBoolean(e.parse.stringsToBooleans, false);
e.parse.stringsToNumbers = Default2.getBoolean(e.parse.stringsToNumbers, false);
return e;
}
- function a(e) {
+ function s(e) {
+ e.allowEditing = Default2.getObject(e.allowEditing, {});
+ e.allowEditing.booleanValues = Default2.getBoolean(e.allowEditing.booleanValues, true);
+ e.allowEditing.decimalValues = Default2.getBoolean(e.allowEditing.decimalValues, true);
+ e.allowEditing.numberValues = Default2.getBoolean(e.allowEditing.numberValues, true);
+ e.allowEditing.stringValues = Default2.getBoolean(e.allowEditing.stringValues, true);
+ e.allowEditing.dateValues = Default2.getBoolean(e.allowEditing.dateValues, true);
+ e.allowEditing.bigIntValues = Default2.getBoolean(e.allowEditing.bigIntValues, true);
+ e.allowEditing.guidValues = Default2.getBoolean(e.allowEditing.guidValues, true);
+ e.allowEditing.colorValues = Default2.getBoolean(e.allowEditing.colorValues, true);
+ return e;
+ }
+ function u(e) {
e.events = Default2.getObject(e.events, {});
e.events.onBeforeRender = Default2.getFunction(e.events.onBeforeRender, null);
e.events.onRenderComplete = Default2.getFunction(e.events.onRenderComplete, null);
@@ -447,6 +459,8 @@ var Binding;
e.events.onSymbolRender = Default2.getFunction(e.events.onSymbolRender, null);
e.events.onCopyJsonReplacer = Default2.getFunction(e.events.onCopyJsonReplacer, null);
e.events.onUndefinedRender = Default2.getFunction(e.events.onUndefinedRender, null);
+ e.events.onGuidRender = Default2.getFunction(e.events.onGuidRender, null);
+ e.events.onColorRender = Default2.getFunction(e.events.onColorRender, null);
return e;
}
})(t = e.Options || (e.Options = {}));
@@ -533,19 +547,13 @@ var ToolTip;
function n(e, t = true) {
let n = t ? window.addEventListener : window.removeEventListener;
let o = t ? document.addEventListener : document.removeEventListener;
- n("mousemove", (() => {
- l(e);
- }));
- o("scroll", (() => {
- l(e);
- }));
+ n("mousemove", (() => l(e)));
+ o("scroll", (() => l(e)));
}
e.assignToEvents = n;
function o(e, t, n) {
if (e !== null) {
- e.onmousemove = e => {
- r(e, t, n);
- };
+ e.onmousemove = e => r(e, t, n);
}
}
e.add = o;
@@ -576,28 +584,29 @@ var ToolTip;
(() => {
let e = {};
let t = {};
- function n() {
+ let n = 0;
+ function o() {
const t = e.domElementTypes;
const n = t.length;
for (let e = 0; e < n; e++) {
const n = document.getElementsByTagName(t[e]);
- const r = [].slice.call(n);
- const l = r.length;
+ const o = [].slice.call(n);
+ const l = o.length;
for (let e = 0; e < l; e++) {
- if (!o(r[e])) {
+ if (!r(o[e])) {
break;
}
}
}
}
- function o(t) {
+ function r(t) {
let n = true;
if (Is.defined(t) && t.hasAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME)) {
const o = t.getAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);
if (Is.definedString(o)) {
- const l = Default2.getObjectFromString(o, e);
- if (l.parsed && Is.definedObject(l.object)) {
- r(Binding.Options.getForNewInstance(l.object, t));
+ const r = Default2.getObjectFromString(o, e);
+ if (r.parsed && Is.definedObject(r.object)) {
+ l(Binding.Options.getForNewInstance(r.object, t));
} else {
if (!e.safeMode) {
console.error(e.text.attributeNotValidErrorText.replace("{{attribute_name}}", Constants.JSONTREE_JS_ATTRIBUTE_NAME));
@@ -613,40 +622,45 @@ var ToolTip;
}
return n;
}
- function r(e) {
+ function l(e) {
Trigger.customEvent(e.events.onBeforeRender, e._currentView.element);
ToolTip.renderControl(e);
if (!Is.definedString(e._currentView.element.id)) {
- e._currentView.element.id = Str.newGuid();
+ e._currentView.element.id = crypto.randomUUID();
e._currentView.idSet = true;
}
e._currentView.element.className = "json-tree-js";
e._currentView.element.removeAttribute(Constants.JSONTREE_JS_ATTRIBUTE_NAME);
+ if (e.enableFullScreenToggling && e.openInFullScreenMode) {
+ DomElement.addClass(e._currentView.element, "full-screen");
+ }
if (!t.hasOwnProperty(e._currentView.element.id)) {
t[e._currentView.element.id] = e;
+ n++;
}
- l(e);
+ i(e);
+ p(e);
Trigger.customEvent(e.events.onRenderComplete, e._currentView.element);
}
- function l(n, o = false) {
+ function i(n, o = false) {
let r = t[n._currentView.element.id].data;
ToolTip.hide(n);
n._currentView.element.innerHTML = "";
n._currentView.editMode = false;
n._currentView.contentPanelsIndex = 0;
- i(n, r);
+ a(n, r);
const l = DomElement.create(n._currentView.element, "div", "contents");
if (o) {
DomElement.addClass(l, "page-switch");
}
- A(l, n);
+ _(l, n);
if (n.showArrayItemsAsSeparateObjects && Is.definedArray(r)) {
r = r[n._currentView.dataArrayCurrentIndex];
}
if (Is.definedObject(r) && !Is.definedArray(r)) {
- f(l, n, r);
+ w(l, n, r);
} else if (Is.definedArray(r)) {
- d(l, n, r);
+ y(l, n, r);
}
if (l.innerHTML === "") {
DomElement.createWithHTML(l, "span", "no-json-text", e.text.noJsonToViewText);
@@ -655,54 +669,48 @@ var ToolTip;
n._currentView.titleBarButtons.style.display = "block";
}
}
- function i(t, n) {
+ function a(t, n) {
if (t.title.show || t.title.showTreeControls || t.title.showCopyButton) {
const o = DomElement.create(t._currentView.element, "div", "title-bar");
+ if (t.enableFullScreenToggling) {
+ o.ondblclick = () => s(t);
+ }
t._currentView.titleBarButtons = DomElement.create(o, "div", "controls");
if (t.title.show) {
DomElement.createWithHTML(o, "div", "title", t.title.text, t._currentView.titleBarButtons);
}
if (t.title.showCopyButton) {
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "copy-all", e.text.copyAllButtonSymbolText);
+ o.onclick = () => u(t, n);
+ o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.copyAllButtonText);
- o.onclick = () => {
- s(t, n);
- };
}
if (t.title.showTreeControls) {
const n = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "openAll", e.text.openAllButtonSymbolText);
+ n.onclick = () => c(t);
+ n.ondblclick = DomElement.cancelBubble;
ToolTip.add(n, t, e.text.openAllButtonText);
const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "closeAll", e.text.closeAllButtonSymbolText);
+ o.onclick = () => d(t);
+ o.ondblclick = DomElement.cancelBubble;
ToolTip.add(o, t, e.text.closeAllButtonText);
- n.onclick = () => {
- u(t);
- };
- o.onclick = () => {
- c(t);
- };
}
if (t.showArrayItemsAsSeparateObjects && Is.definedArray(n) && n.length > 1) {
- const o = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
- ToolTip.add(o, t, e.text.backButtonText);
+ t._currentView.backButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "back", e.text.backButtonSymbolText);
+ t._currentView.backButton.ondblclick = DomElement.cancelBubble;
+ ToolTip.add(t._currentView.backButton, t, e.text.backButtonText);
if (t._currentView.dataArrayCurrentIndex > 0) {
- o.onclick = () => {
- t._currentView.dataArrayCurrentIndex--;
- l(t, true);
- Trigger.customEvent(t.events.onBackPage, t._currentView.element);
- };
+ t._currentView.backButton.onclick = () => f(t);
} else {
- o.disabled = true;
+ t._currentView.backButton.disabled = true;
}
- const r = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
- ToolTip.add(r, t, e.text.nextButtonText);
+ t._currentView.nextButton = DomElement.createWithHTML(t._currentView.titleBarButtons, "button", "next", e.text.nextButtonSymbolText);
+ t._currentView.nextButton.ondblclick = DomElement.cancelBubble;
+ ToolTip.add(t._currentView.nextButton, t, e.text.nextButtonText);
if (t._currentView.dataArrayCurrentIndex < n.length - 1) {
- r.onclick = () => {
- t._currentView.dataArrayCurrentIndex++;
- l(t, true);
- Trigger.customEvent(t.events.onNextPage, t._currentView.element);
- };
+ t._currentView.nextButton.onclick = () => g(t);
} else {
- r.disabled = true;
+ t._currentView.nextButton.disabled = true;
}
} else {
if (Is.definedArray(n)) {
@@ -711,9 +719,16 @@ var ToolTip;
}
}
}
- function s(e, t) {
+ function s(e) {
+ if (e._currentView.element.classList.contains("full-screen")) {
+ DomElement.removeClass(e._currentView.element, "full-screen");
+ } else {
+ DomElement.addClass(e._currentView.element, "full-screen");
+ }
+ }
+ function u(e, t) {
let n = null;
- let o = a;
+ let o = m;
if (Is.definedFunction(e.events.onCopyJsonReplacer)) {
o = e.events.onCopyJsonReplacer;
}
@@ -725,7 +740,33 @@ var ToolTip;
navigator.clipboard.writeText(n);
Trigger.customEvent(e.events.onCopyAll, n);
}
- function a(t, n) {
+ function c(e) {
+ e.showAllAsClosed = false;
+ e._currentView.contentPanelsOpen = {};
+ i(e);
+ Trigger.customEvent(e.events.onOpenAll, e._currentView.element);
+ }
+ function d(e) {
+ e.showAllAsClosed = true;
+ e._currentView.contentPanelsOpen = {};
+ i(e);
+ Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
+ }
+ function f(e) {
+ if (e._currentView.backButton !== null && !e._currentView.backButton.disabled) {
+ e._currentView.dataArrayCurrentIndex--;
+ i(e, true);
+ Trigger.customEvent(e.events.onBackPage, e._currentView.element);
+ }
+ }
+ function g(e) {
+ if (e._currentView.nextButton !== null && !e._currentView.nextButton.disabled) {
+ e._currentView.dataArrayCurrentIndex++;
+ i(e, true);
+ Trigger.customEvent(e.events.onNextPage, e._currentView.element);
+ }
+ }
+ function m(t, n) {
if (Is.definedBigInt(n)) {
n = n.toString();
} else if (Is.definedSymbol(n)) {
@@ -735,25 +776,34 @@ var ToolTip;
}
return n;
}
- function u(e) {
- e.showAllAsClosed = false;
- e._currentView.contentPanelsOpen = {};
- l(e);
- Trigger.customEvent(e.events.onOpenAll, e._currentView.element);
- }
- function c(e) {
- e.showAllAsClosed = true;
- e._currentView.contentPanelsOpen = {};
- l(e);
- Trigger.customEvent(e.events.onCloseAll, e._currentView.element);
+ function p(e, t = true) {
+ const n = t ? document.addEventListener : document.removeEventListener;
+ n("keydown", (t => b(t, e)));
+ }
+ function b(e, o) {
+ if (o.shortcutKeysEnabled && n === 1 && t.hasOwnProperty(o._currentView.element.id)) {
+ if (e.code === "ArrowLeft") {
+ e.preventDefault();
+ f(o);
+ } else if (e.code === "ArrowRight") {
+ e.preventDefault();
+ g(o);
+ } else if (e.code === "ArrowUp") {
+ e.preventDefault();
+ d(o);
+ } else if (e.code === "ArrowDown") {
+ e.preventDefault();
+ c(o);
+ }
+ }
}
- function f(t, n, o) {
- const r = x(o, n);
+ function w(t, n, o) {
+ const r = I(o, n);
const l = r.length;
if (l !== 0 || !n.ignore.emptyObjects) {
const i = DomElement.create(t, "div", "object-type-title");
- const s = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
- const a = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
+ const a = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
+ const s = n.showArrowToggles ? DomElement.create(i, "div", "down-arrow") : null;
const u = DomElement.createWithHTML(i, "span", n.showValueColors ? "object main-title" : "main-title", e.text.objectText);
let c = null;
if (n.showArrayItemsAsSeparateObjects) {
@@ -761,289 +811,309 @@ var ToolTip;
if (n.showArrayIndexBrackets) {
e = `[${e}]:`;
}
- DomElement.createWithHTML(i, "span", n.showValueColors ? "object data-array-index" : "data-array-index", e, u);
+ DomElement.createWithHTML(i, "span", n.showValueColors ? `${"object"} data-array-index` : "data-array-index", e, u);
}
if (n.showCounts && l > 0) {
- DomElement.createWithHTML(i, "span", n.showValueColors ? "object count" : "count", `{${l}}`);
+ DomElement.createWithHTML(i, "span", n.showValueColors ? `${"object"} count` : "count", `{${l}}`);
}
if (n.showOpeningClosingCurlyBraces) {
c = DomElement.createWithHTML(i, "span", "opening-symbol", "{");
}
- g(a, null, s, n, o, r, c, false, true);
- T(n, u, o, "object");
+ D(s, null, a, n, o, r, c, false, true);
+ E(n, u, o, "object");
}
}
- function d(t, n, o) {
+ function y(t, n, o) {
const r = DomElement.create(t, "div", "object-type-title");
const l = DomElement.create(t, "div", "object-type-contents object-type-contents-parent");
const i = n.showArrowToggles ? DomElement.create(r, "div", "down-arrow") : null;
- const s = DomElement.createWithHTML(r, "span", n.showValueColors ? "array main-title" : "main-title", e.text.arrayText);
- let a = null;
+ const a = DomElement.createWithHTML(r, "span", n.showValueColors ? "array main-title" : "main-title", e.text.arrayText);
+ let s = null;
if (n.showCounts) {
- DomElement.createWithHTML(r, "span", n.showValueColors ? "array count" : "count", `[${o.length}]`);
+ DomElement.createWithHTML(r, "span", n.showValueColors ? `${"array"} count` : "count", `[${o.length}]`);
}
if (n.showOpeningClosingCurlyBraces) {
- a = DomElement.createWithHTML(r, "span", "opening-symbol", "[");
+ s = DomElement.createWithHTML(r, "span", "opening-symbol", "[");
}
- m(i, null, l, n, o, a, false, true);
- T(n, s, o, "object");
+ T(i, null, l, n, o, s, false, true);
+ E(n, a, o, "object");
}
- function g(e, t, n, o, r, l, i, s, a) {
+ function D(e, t, n, o, r, l, i, a, s) {
const u = l.length;
for (let e = 0; e < u; e++) {
const t = l[e];
if (r.hasOwnProperty(t)) {
- p(r, n, o, t, r[t], e === u - 1, false);
+ v(r, n, o, t, r[t], e === u - 1, false);
}
}
if (o.showOpeningClosingCurlyBraces) {
- S(o, n, "}", s, a);
+ C(o, n, "}", a, s);
}
- D(o, e, t, n, i);
+ S(o, e, t, n, i);
}
- function m(e, t, n, o, r, l, i, s) {
- const a = r.length;
+ function T(e, t, n, o, r, l, i, a) {
+ const s = r.length;
if (!o.reverseArrayValues) {
- for (let e = 0; e < a; e++) {
- p(r, n, o, v(o, e, a), r[e], e === a - 1, true);
+ for (let e = 0; e < s; e++) {
+ v(r, n, o, B(o, e, s), r[e], e === s - 1, true);
}
} else {
- for (let e = a; e--; ) {
- p(r, n, o, v(o, e, a), r[e], e === 0, true);
+ for (let e = s; e--; ) {
+ v(r, n, o, B(o, e, s), r[e], e === 0, true);
}
}
if (o.showOpeningClosingCurlyBraces) {
- S(o, n, "]", i, s);
+ C(o, n, "]", i, a);
}
- D(o, e, t, n, l);
+ S(o, e, t, n, l);
}
- function p(t, n, o, r, l, i, s) {
- const a = DomElement.create(n, "div", "object-type-value");
- const u = o.showArrowToggles ? DomElement.create(a, "div", "no-arrow") : null;
+ function v(t, n, o, r, l, i, a) {
+ const s = DomElement.create(n, "div", "object-type-value");
+ const u = o.showArrowToggles ? DomElement.create(s, "div", "no-arrow") : null;
let c = null;
- let f = null;
- let d = false;
- let w = null;
- const D = DomElement.createWithHTML(a, "span", "title", r);
- DomElement.createWithHTML(a, "span", "split", ":");
- if (!s) {
- y(o, t, r, D);
+ let d = null;
+ let f = false;
+ let g = null;
+ const m = DomElement.createWithHTML(s, "span", "title", r);
+ DomElement.createWithHTML(s, "span", "split", ":");
+ if (!a) {
+ x(o, t, r, m);
}
if (l === null) {
if (!o.ignore.nullValues) {
- c = o.showValueColors ? "null value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, "null");
- w = "null";
+ c = o.showValueColors ? `${"null"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, "null");
+ g = "null";
if (Is.definedFunction(o.events.onNullRender)) {
- Trigger.customEvent(o.events.onNullRender, f);
+ Trigger.customEvent(o.events.onNullRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (l === void 0) {
if (!o.ignore.undefinedValues) {
- c = o.showValueColors ? "undefined value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, "undefined");
- w = "undefined";
+ c = o.showValueColors ? `${"undefined"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, "undefined");
+ g = "undefined";
if (Is.definedFunction(o.events.onUndefinedRender)) {
- Trigger.customEvent(o.events.onUndefinedRender, f);
+ Trigger.customEvent(o.events.onUndefinedRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedFunction(l)) {
if (!o.ignore.functionValues) {
- c = o.showValueColors ? "function value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, Default2.getFunctionName(l, e));
- w = "function";
+ c = o.showValueColors ? `${"function"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, Default2.getFunctionName(l, e));
+ g = "function";
if (Is.definedFunction(o.events.onFunctionRender)) {
- Trigger.customEvent(o.events.onFunctionRender, f);
+ Trigger.customEvent(o.events.onFunctionRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedBoolean(l)) {
if (!o.ignore.booleanValues) {
- c = o.showValueColors ? "boolean value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "boolean";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"boolean"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "boolean";
+ h(o, t, r, l, d, a, o.allowEditing.booleanValues);
if (Is.definedFunction(o.events.onBooleanRender)) {
- Trigger.customEvent(o.events.onBooleanRender, f);
+ Trigger.customEvent(o.events.onBooleanRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedDecimal(l)) {
if (!o.ignore.decimalValues) {
const e = Default2.getFixedDecimalPlacesValue(l, o.maximumDecimalPlaces);
- c = o.showValueColors ? "decimal value" : "value";
- f = DomElement.createWithHTML(a, "span", c, e);
- w = "decimal";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"decimal"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, e);
+ g = "decimal";
+ h(o, t, r, l, d, a, o.allowEditing.decimalValues);
if (Is.definedFunction(o.events.onDecimalRender)) {
- Trigger.customEvent(o.events.onDecimalRender, f);
+ Trigger.customEvent(o.events.onDecimalRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedNumber(l)) {
if (!o.ignore.numberValues) {
- c = o.showValueColors ? "number value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "number";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"number"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "number";
+ h(o, t, r, l, d, a, o.allowEditing.numberValues);
if (Is.definedFunction(o.events.onNumberRender)) {
- Trigger.customEvent(o.events.onNumberRender, f);
+ Trigger.customEvent(o.events.onNumberRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedBigInt(l)) {
if (!o.ignore.bigIntValues) {
- c = o.showValueColors ? "bigint value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l);
- w = "bigint";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"bigint"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "bigint";
+ h(o, t, r, l, d, a, o.allowEditing.bigIntValues);
if (Is.definedFunction(o.events.onBigIntRender)) {
- Trigger.customEvent(o.events.onBigIntRender, f);
+ Trigger.customEvent(o.events.onBigIntRender, d);
+ }
+ A(o, s, i);
+ } else {
+ f = true;
+ }
+ } else if (Is.definedString(l) && Is.String.guid(l)) {
+ if (!o.ignore.guidValues) {
+ c = o.showValueColors ? `${"guid"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "guid";
+ h(o, t, r, l, d, a, o.allowEditing.guidValues);
+ if (Is.definedFunction(o.events.onGuidRender)) {
+ Trigger.customEvent(o.events.onGuidRender, d);
+ }
+ A(o, s, i);
+ } else {
+ f = true;
+ }
+ } else if (Is.definedString(l) && (Is.String.hexColor(l) || Is.String.rgbColor(l))) {
+ if (!o.ignore.colorValues) {
+ c = o.showValueColors ? `${"color"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l);
+ g = "color";
+ if (o.showValueColors) {
+ d.style.color = l;
+ }
+ h(o, t, r, l, d, a, o.allowEditing.colorValues);
+ if (Is.definedFunction(o.events.onColorRender)) {
+ Trigger.customEvent(o.events.onColorRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedString(l)) {
if (!o.ignore.stringValues) {
if (o.parse.stringsToBooleans && Is.String.boolean(l)) {
- p(t, n, o, r, l.toString().toLowerCase().trim() === "true", i, s);
- d = true;
+ v(t, n, o, r, l.toString().toLowerCase().trim() === "true", i, a);
+ f = true;
} else if (o.parse.stringsToNumbers && !isNaN(l)) {
- p(t, n, o, r, parseFloat(l), i, s);
- d = true;
+ v(t, n, o, r, parseFloat(l), i, a);
+ f = true;
} else if (o.parse.stringsToDates && Is.String.date(l)) {
- p(t, n, o, r, new Date(l), i, s);
- d = true;
+ v(t, n, o, r, new Date(l), i, a);
+ f = true;
} else {
- let n = null;
- if (o.showValueColors && o.showStringHexColors && (Is.String.hexColor(l) || Is.String.rgbColor(l))) {
- n = l;
- w = "color";
- } else {
- if (o.maximumStringLength > 0 && l.length > o.maximumStringLength) {
- l = l.substring(0, o.maximumStringLength) + e.text.ellipsisText;
- }
- w = "string";
- }
- const u = o.showStringQuotes && n === null ? `"${l}"` : l;
- c = o.showValueColors ? "string value" : "value";
- f = DomElement.createWithHTML(a, "span", c, u);
- b(o, t, r, l, f, s);
- if (Is.definedString(n)) {
- f.style.color = n;
+ if (o.maximumStringLength > 0 && l.length > o.maximumStringLength) {
+ l = l.substring(0, o.maximumStringLength) + e.text.ellipsisText;
}
+ const n = o.showStringQuotes ? `"${l}"` : l;
+ c = o.showValueColors ? `${"string"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, n);
+ g = "string";
+ h(o, t, r, l, d, a, o.allowEditing.stringValues);
if (Is.definedFunction(o.events.onStringRender)) {
- Trigger.customEvent(o.events.onStringRender, f);
+ Trigger.customEvent(o.events.onStringRender, d);
}
- h(o, a, i);
+ A(o, s, i);
}
} else {
- d = true;
+ f = true;
}
} else if (Is.definedDate(l)) {
if (!o.ignore.dateValues) {
- c = o.showValueColors ? "date value" : "value";
- f = DomElement.createWithHTML(a, "span", c, DateTime.getCustomFormattedDateText(e, l, o.dateTimeFormat));
- w = "date";
- b(o, t, r, l, f, s);
+ c = o.showValueColors ? `${"date"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, DateTime.getCustomFormattedDateText(e, l, o.dateTimeFormat));
+ g = "date";
+ h(o, t, r, l, d, a, o.allowEditing.dateValues);
if (Is.definedFunction(o.events.onDateRender)) {
- Trigger.customEvent(o.events.onDateRender, f);
+ Trigger.customEvent(o.events.onDateRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedSymbol(l)) {
if (!o.ignore.symbolValues) {
- c = o.showValueColors ? "symbol value" : "value";
- f = DomElement.createWithHTML(a, "span", c, l.toString());
- w = "symbol";
+ c = o.showValueColors ? `${"symbol"} value` : "value";
+ d = DomElement.createWithHTML(s, "span", c, l.toString());
+ g = "symbol";
if (Is.definedFunction(o.events.onSymbolRender)) {
- Trigger.customEvent(o.events.onSymbolRender, f);
+ Trigger.customEvent(o.events.onSymbolRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
} else if (Is.definedObject(l) && !Is.definedArray(l)) {
if (!o.ignore.objectValues) {
- const t = x(l, o);
+ const t = I(l, o);
const n = t.length;
if (n === 0 && o.ignore.emptyObjects) {
- d = true;
+ f = true;
} else {
- const r = DomElement.create(a, "span", o.showValueColors ? "object" : "");
- const s = DomElement.create(a, "div", "object-type-contents");
+ const r = DomElement.create(s, "span", o.showValueColors ? "object" : "");
+ const a = DomElement.create(s, "div", "object-type-contents");
let c = null;
- f = DomElement.createWithHTML(r, "span", "main-title", e.text.objectText);
+ d = DomElement.createWithHTML(r, "span", "main-title", e.text.objectText);
if (o.showCounts && n > 0) {
DomElement.createWithHTML(r, "span", "count", `{${n}}`);
}
if (o.showOpeningClosingCurlyBraces) {
c = DomElement.createWithHTML(r, "span", "opening-symbol", "{");
}
- let d = h(o, r, i);
- g(u, d, s, o, l, t, c, true, i);
- w = "object";
+ let f = A(o, r, i);
+ D(u, f, a, o, l, t, c, true, i);
+ g = "object";
}
} else {
- d = true;
+ f = true;
}
} else if (Is.definedArray(l)) {
if (!o.ignore.arrayValues) {
- const t = DomElement.create(a, "span", o.showValueColors ? "array" : "");
- const n = DomElement.create(a, "div", "object-type-contents");
+ const t = DomElement.create(s, "span", o.showValueColors ? "array" : "");
+ const n = DomElement.create(s, "div", "object-type-contents");
let r = null;
- f = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
+ d = DomElement.createWithHTML(t, "span", "main-title", e.text.arrayText);
if (o.showCounts) {
DomElement.createWithHTML(t, "span", "count", `[${l.length}]`);
}
if (o.showOpeningClosingCurlyBraces) {
r = DomElement.createWithHTML(t, "span", "opening-symbol", "[");
}
- let s = h(o, t, i);
- m(u, s, n, o, l, r, true, i);
- w = "array";
+ let a = A(o, t, i);
+ T(u, a, n, o, l, r, true, i);
+ g = "array";
} else {
- d = true;
+ f = true;
}
} else {
if (!o.ignore.unknownValues) {
- c = o.showValueColors ? "unknown value non-value" : "value non-value";
- f = DomElement.createWithHTML(a, "span", c, l.toString());
- w = "unknown";
+ c = o.showValueColors ? `${"unknown"} value non-value` : "value non-value";
+ d = DomElement.createWithHTML(s, "span", c, l.toString());
+ g = "unknown";
if (Is.definedFunction(o.events.onUnknownRender)) {
- Trigger.customEvent(o.events.onUnknownRender, f);
+ Trigger.customEvent(o.events.onUnknownRender, d);
}
- h(o, a, i);
+ A(o, s, i);
} else {
- d = true;
+ f = true;
}
}
- if (d) {
- n.removeChild(a);
+ if (f) {
+ n.removeChild(s);
} else {
- if (Is.defined(f)) {
- T(o, f, l, w);
+ if (Is.defined(d)) {
+ E(o, d, l, g);
}
}
}
- function y(e, t, n, o) {
+ function x(e, t, n, o) {
if (e.allowEditing) {
o.ondblclick = () => {
clearTimeout(e._currentView.valueClickTimerId);
@@ -1053,9 +1123,7 @@ var ToolTip;
o.setAttribute("contenteditable", "true");
o.focus();
DomElement.selectAllText(o);
- o.onblur = () => {
- l(e, false);
- };
+ o.onblur = () => i(e, false);
o.onkeydown = e => {
if (e.code == "Escape") {
e.preventDefault();
@@ -1078,51 +1146,53 @@ var ToolTip;
};
}
}
- function b(e, t, n, o, r, i) {
- if (e.allowEditing) {
+ function h(e, t, n, o, r, l, a) {
+ if (a) {
r.ondblclick = () => {
clearTimeout(e._currentView.valueClickTimerId);
e._currentView.valueClickTimerId = 0;
e._currentView.editMode = true;
DomElement.addClass(r, "editable");
r.setAttribute("contenteditable", "true");
- r.innerText = o.toString();
+ if (Is.definedDate(o) && !e.includeTimeZoneInDateTimeEditing) {
+ r.innerText = JSON.stringify(o).replace(/['"]+/g, "");
+ } else {
+ r.innerText = o.toString();
+ }
r.focus();
DomElement.selectAllText(r);
- r.onblur = () => {
- l(e, false);
- };
+ r.onblur = () => i(e, false);
r.onkeydown = e => {
if (e.code == "Escape") {
e.preventDefault();
r.setAttribute("contenteditable", "false");
} else if (e.code == "Enter") {
e.preventDefault();
- const l = r.innerText;
- if (l.trim() === "") {
- if (i) {
- t.splice(w(n), 1);
+ const i = r.innerText;
+ if (i.trim() === "") {
+ if (l) {
+ t.splice(V(n), 1);
} else {
delete t[n];
}
} else {
let e = null;
if (Is.definedBoolean(o)) {
- e = l.toLowerCase() === "true";
- } else if (Is.definedDecimal(o) && !isNaN(+l)) {
- e = parseFloat(l);
- } else if (Is.definedNumber(o) && !isNaN(+l)) {
- e = parseInt(l);
+ e = i.toLowerCase() === "true";
+ } else if (Is.definedDecimal(o) && !isNaN(+i)) {
+ e = parseFloat(i);
+ } else if (Is.definedNumber(o) && !isNaN(+i)) {
+ e = parseInt(i);
} else if (Is.definedString(o)) {
- e = l;
+ e = i;
} else if (Is.definedDate(o)) {
- e = new Date(l);
+ e = new Date(i);
} else if (Is.definedBigInt(o)) {
- e = BigInt(l);
+ e = BigInt(i);
}
if (e !== null) {
- if (i) {
- t[w(n)] = e;
+ if (l) {
+ t[V(n)] = e;
} else {
t[n] = e;
}
@@ -1134,10 +1204,10 @@ var ToolTip;
};
}
}
- function w(e) {
+ function V(e) {
return parseInt(e.replace("[", "").replace("]", ""));
}
- function T(e, t, n, o) {
+ function E(e, t, n, o) {
if (Is.definedFunction(e.events.onValueClick)) {
t.onclick = () => {
if (e.allowEditing) {
@@ -1154,14 +1224,14 @@ var ToolTip;
DomElement.addClass(t, "no-hover");
}
}
- function D(e, t, n, o, r) {
+ function S(e, t, n, o, r) {
if (Is.defined(t)) {
const l = e._currentView.contentPanelsIndex;
const i = e._currentView.dataArrayCurrentIndex;
if (!e._currentView.contentPanelsOpen.hasOwnProperty(i)) {
e._currentView.contentPanelsOpen[i] = {};
}
- const s = () => {
+ const a = () => {
o.style.display = "none";
t.className = "right-arrow";
e._currentView.contentPanelsOpen[i][l] = true;
@@ -1172,7 +1242,7 @@ var ToolTip;
n.style.display = "inline-block";
}
};
- const a = () => {
+ const s = () => {
o.style.display = "block";
t.className = "down-arrow";
e._currentView.contentPanelsOpen[i][l] = false;
@@ -1185,9 +1255,9 @@ var ToolTip;
};
const u = e => {
if (e) {
- s();
- } else {
a();
+ } else {
+ s();
}
};
let c = e.showAllAsClosed;
@@ -1196,21 +1266,19 @@ var ToolTip;
} else {
e._currentView.contentPanelsOpen[i][l] = c;
}
- t.onclick = () => {
- u(t.className === "down-arrow");
- };
+ t.onclick = () => u(t.className === "down-arrow");
u(c);
e._currentView.contentPanelsIndex++;
}
}
- function h(e, t, n) {
+ function A(e, t, n) {
let o = null;
if (e.showCommas && !n) {
o = DomElement.createWithHTML(t, "span", "comma", ",");
}
return o;
}
- function v(e, t, n) {
+ function B(e, t, n) {
let o = e.useZeroIndexingForArrays ? t.toString() : (t + 1).toString();
if (!e.addArrayIndexPadding) {
o = Str.padNumber(parseInt(o), n.toString().length);
@@ -1220,7 +1288,7 @@ var ToolTip;
}
return o;
}
- function x(e, t) {
+ function I(e, t) {
let n = [];
for (let t in e) {
if (e.hasOwnProperty(t)) {
@@ -1239,15 +1307,15 @@ var ToolTip;
}
return n;
}
- function S(e, t, n, o, r) {
+ function C(e, t, n, o, r) {
let l = DomElement.create(t, "div", "closing-symbol");
if (o) {
DomElement.create(l, "div", "no-arrow");
}
DomElement.createWithHTML(l, "div", "object-type-end", n);
- h(e, l, r);
+ A(e, l, r);
}
- function A(e, t) {
+ function _(e, t) {
if (t.fileDroppingEnabled) {
e.ondragover = DomElement.cancelBubble;
e.ondragenter = DomElement.cancelBubble;
@@ -1255,29 +1323,29 @@ var ToolTip;
e.ondrop = e => {
DomElement.cancelBubble(e);
if (Is.defined(window.FileReader) && e.dataTransfer.files.length > 0) {
- V(e.dataTransfer.files, t);
+ O(e.dataTransfer.files, t);
}
};
}
}
- function V(e, t) {
+ function O(e, t) {
const n = e.length;
for (let o = 0; o < n; o++) {
const n = e[o];
const r = n.name.split(".").pop().toLowerCase();
if (r === "json") {
- I(n, t);
+ N(n, t);
}
}
}
- function I(t, n) {
+ function N(t, n) {
const o = new FileReader;
let r = null;
o.onloadend = () => {
n._currentView.dataArrayCurrentIndex = 0;
n._currentView.contentPanelsOpen = {};
n.data = r;
- l(n);
+ i(n);
Trigger.customEvent(n.events.onSetJson, n._currentView.element);
};
o.onload = t => {
@@ -1288,7 +1356,7 @@ var ToolTip;
};
o.readAsText(t);
}
- function E(e) {
+ function F(e) {
e._currentView.element.innerHTML = "";
DomElement.removeClass(e._currentView.element, "json-tree-js");
if (e._currentView.element.className.trim() === "") {
@@ -1297,49 +1365,50 @@ var ToolTip;
if (e._currentView.idSet) {
e._currentView.element.removeAttribute("id");
}
+ p(e, false);
ToolTip.assignToEvents(e, false);
Trigger.customEvent(e.events.onDestroy, e._currentView.element);
}
- const B = {
+ const j = {
refresh: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
const n = t[e];
- l(n);
+ i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
- return B;
+ return j;
},
refreshAll: function() {
for (let e in t) {
if (t.hasOwnProperty(e)) {
const n = t[e];
- l(n);
+ i(n);
Trigger.customEvent(n.events.onRefresh, n._currentView.element);
}
}
- return B;
+ return j;
},
render: function(e, t) {
if (Is.definedObject(e) && Is.definedObject(t)) {
- r(Binding.Options.getForNewInstance(t, e));
+ l(Binding.Options.getForNewInstance(t, e));
}
- return B;
+ return j;
},
renderAll: function() {
- n();
- return B;
+ o();
+ return j;
},
openAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- u(t[e]);
+ c(t[e]);
}
- return B;
+ return j;
},
closeAll: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- c(t[e]);
+ d(t[e]);
}
- return B;
+ return j;
},
setJson: function(n, o) {
if (Is.definedString(n) && Is.defined(o) && t.hasOwnProperty(n)) {
@@ -1352,14 +1421,14 @@ var ToolTip;
} else {
r = o;
}
- const i = t[n];
- i._currentView.dataArrayCurrentIndex = 0;
- i._currentView.contentPanelsOpen = {};
- i.data = r;
- l(i);
- Trigger.customEvent(i.events.onSetJson, i._currentView.element);
+ const l = t[n];
+ l._currentView.dataArrayCurrentIndex = 0;
+ l._currentView.contentPanelsOpen = {};
+ l.data = r;
+ i(l);
+ Trigger.customEvent(l.events.onSetJson, l._currentView.element);
}
- return B;
+ return j;
},
getJson: function(e) {
let n = null;
@@ -1370,19 +1439,21 @@ var ToolTip;
},
destroy: function(e) {
if (Is.definedString(e) && t.hasOwnProperty(e)) {
- E(t[e]);
+ F(t[e]);
delete t[e];
+ n--;
}
- return B;
+ return j;
},
destroyAll: function() {
for (let e in t) {
if (t.hasOwnProperty(e)) {
- E(t[e]);
+ F(t[e]);
}
}
t = {};
- return B;
+ n = 0;
+ return j;
},
setConfiguration: function(t) {
if (Is.definedObject(t)) {
@@ -1398,7 +1469,7 @@ var ToolTip;
e = Config.Options.get(o);
}
}
- return B;
+ return j;
},
getIds: function() {
const e = [];
@@ -1410,16 +1481,14 @@ var ToolTip;
return e;
},
getVersion: function() {
- return "2.6.0";
+ return "2.7.0";
}
};
(() => {
e = Config.Options.get();
- document.addEventListener("DOMContentLoaded", (function() {
- n();
- }));
+ document.addEventListener("DOMContentLoaded", (() => o()));
if (!Is.defined(window.$jsontree)) {
- window.$jsontree = B;
+ window.$jsontree = j;
}
})();
})();//# sourceMappingURL=jsontree.js.map
\ No newline at end of file
diff --git a/dist/jsontree.js.css b/dist/jsontree.js.css
index d2b8e938..c8b28960 100644
--- a/dist/jsontree.js.css
+++ b/dist/jsontree.js.css
@@ -1,5 +1,5 @@
/*
- * JsonTree.js Library v2.6.0
+ * JsonTree.js Library v2.7.0
*
* Copyright 2024 Bunoon
* Released under the MIT License
@@ -22,6 +22,7 @@
--json-tree-js-header-bold-weight: 900;
--json-tree-js-title-bold-weight: var(--json-tree-js-header-bold-weight);
--json-tree-js-text-bold-weight-active: var(--json-tree-js-header-bold-weight);
+ --json-tree-js-color-dark-black: #1c2128;
--json-tree-js-color-black: #3b3a3a;
--json-tree-js-color-white: #F5F5F5;
--json-tree-js-color-snow-white: #F5F5F5;
@@ -39,6 +40,7 @@
--json-tree-js-color-symbol: #DAA06D;
--json-tree-js-color-function: var(--json-tree-js-color-null);
--json-tree-js-color-unknown: var(--json-tree-js-color-null);
+ --json-tree-js-color-guid: #c45600;
--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);
--json-tree-js-editable-background-color: #2d333b;
--json-tree-js-editable-border-color: #454c56;
@@ -84,7 +86,6 @@ div.json-tree-js {
background-color: var(--json-tree-js-container-background-color);
color: var(--json-tree-js-color-white);
border: var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);
- padding: var(--json-tree-js-spacing);
font-size: var(--json-tree-js-spacing-font-size);
font-weight: var(--json-tree-js-text-bold-weight);
width: 100%;
@@ -110,6 +111,25 @@ div.json-tree-js *::before, div.json-tree-js *::after {
line-height: normal;
}
+div.full-screen {
+ position: fixed;
+ display: flex;
+ flex-direction: column;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ max-width: none;
+ border-radius: 0;
+ z-index: 1000;
+}
+div.full-screen div.title-bar {
+ border-radius: 0 !important;
+}
+div.full-screen div.contents {
+ flex-grow: 1;
+}
+
/*
-------------------------------------------------------------------------
JsonTree.js - Arrows
@@ -153,13 +173,20 @@ div.json-tree-js div.right-arrow {
*/
div.json-tree-js div.title-bar {
display: flex;
+ padding: calc(var(--json-tree-js-spacing) / 2);
margin-bottom: var(--json-tree-js-spacing);
+ background-color: var(--json-tree-js-color-dark-black);
+ border-radius: var(--json-tree-js-border-radius);
+ border-bottom: var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);
+ justify-content: center;
+ align-items: center;
}
div.json-tree-js div.title-bar div.title {
text-align: left;
width: auto;
font-weight: var(--json-tree-js-title-bold-weight);
font-size: 1.2rem;
+ margin-left: calc(var(--json-tree-js-spacing) / 2);
}
div.json-tree-js div.title-bar div.controls {
margin-left: calc(var(--json-tree-js-spacing) * 6);
@@ -215,10 +242,11 @@ div.json-tree-js div.title-bar div.controls button.copy-all {
-------------------------------------------------------------------------
*/
div.json-tree-js div.contents {
- padding: 0 !important;
+ padding: var(--json-tree-js-spacing);
+ padding-top: 0;
margin: 0 !important;
overflow-x: auto;
- overflow-y: hidden;
+ overflow-y: auto;
}
div.json-tree-js div.contents span.no-json-text {
font-style: italic;
@@ -375,6 +403,9 @@ div.json-tree-js div.object-type-contents div.object-type-value span.unknown {
div.json-tree-js div.object-type-contents div.object-type-value span.undefined {
color: var(--json-tree-js-color-null);
}
+div.json-tree-js div.object-type-contents div.object-type-value span.guid {
+ color: var(--json-tree-js-color-guid);
+}
div.json-tree-js div.object-type-contents div.object-type-value span.count {
margin-left: calc(var(--json-tree-js-spacing) / 2);
font-weight: var(--json-tree-js-text-bold-weight);
diff --git a/dist/jsontree.js.css.map b/dist/jsontree.js.css.map
index ecf14828..28a06be3 100644
--- a/dist/jsontree.js.css.map
+++ b/dist/jsontree.js.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../src/jsontree.js.scss","../src/sass/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EC7FI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;EDgFA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EC5GA;EACA;;AD8GI;EC/GJ;EACA;;;ADsHJ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;ACtLZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADmKA;EACI;EACA;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;EACI;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAQQ;EACI;EACA;EACA;EACA;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;AAAA;EAEI;EACA;;AAEA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAMA;ECrcI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;EDwbA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"jsontree.js.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../src/jsontree.js.scss","../src/sass/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EC/FI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;EDkFA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EC7GA;EACA;;AD+GI;EChHJ;EACA;;;ADsHJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;ACnNZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;ADgMA;EACI;EACA;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;;;;AAQpB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;;AAMZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAGJ;EACI;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAQQ;EACI;EACA;EACA;EACA;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;AAAA;EAEI;EACA;;AAEA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAMA;ECveI;EACA;EACA;EACA;EACA;EACA;EAUA;EACA;ED0dA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"jsontree.js.css"}
\ No newline at end of file
diff --git a/dist/jsontree.js.map b/dist/jsontree.js.map
index e1f81108..11f467d5 100644
--- a/dist/jsontree.js.map
+++ b/dist/jsontree.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.js"],"names":["Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","Date","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","definedDecimal","definedSymbol","invalidOptionArray","array","minimumLength","Default2","Default","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getStringOrArray","result2","values","split","getFixedDecimalPlacesValue","decimalPlaces","regExp","RegExp","match","getFunctionName","configuration2","valueParts","valueNameParts","functionBrackets","text","functionText","getObjectFromString","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","objectErrorText","replace","message","DomElement","DomElement2","create","container","type","className","beforeNode","nodeType","isText","document","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","addClass","classList","add","removeClass","remove","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","Str","Str2","newGuid","charIndex","push","character","Math","floor","random","join","padNumber","number","numberString","numberResult","arrayLength","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","parseInt","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","Binding","Binding2","Options","Options2","getForNewInstance","data","bindingOptions","get","_currentView","dataArrayCurrentIndex","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","newOptions","options","showCounts","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","showStringHexColors","showArrayItemsAsSeparateObjects","copyOnlyCurrentPage","fileDroppingEnabled","copyIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","allowEditing","getTitle","getIgnore","getToolTip","getParse","getCustomTriggers","title","show","showTreeControls","showCopyButton","ignore","nullValues","functionValues","unknownValues","booleanValues","decimalValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigIntValues","symbolValues","emptyObjects","undefinedValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onDecimalRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyAllButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","slice","call","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","onmousemove","tooltipTimerId","setTimeout","clearTimeout","_configuration","_elements_Data","render","tagTypes","tagTypesLength","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","renderElement","hasAttribute","bindingOptionsData","getAttribute","id","removeAttribute","hasOwnProperty","renderControlContainer","isForPageSwitch","renderControlTitleBar","contents","makeAreaDroppable","renderObject","renderArray","titleBar","copy","onclick","onTitleBarCopyClick","openAll","closeAll","openAllNodes","closeAllNodes","back","onBackPage","disabled","next","onNextPage","copyData","replaceFunction","jsonStringifyReplacer","stringify","navigator","clipboard","writeText","_","propertyNames","getObjectPropertyNames","propertyCount","objectTypeTitle","objectTypeContents","arrow","titleText","openingBrace","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","propertiesLength","propertyIndex","propertyName","renderValue","createClosingSymbol","addArrowEvent","dataLength","dataIndex1","getIndexName","dataIndex2","name","isArrayItem","objectTypeValue","valueClass","valueElement","ignored","makePropertyNameEditable","createComma","makePropertyValueEditable","newValue","parseFloat","color","newStringValue","objectTitle","arrayTypeContents","removeChild","originalPropertyName","ondblclick","setAttribute","focus","onblur","onkeydown","code","newPropertyName","innerText","originalValue","originalPropertyValue","propertyValue","newPropertyValue","splice","getArrayIndex","newDataPropertyValue","BigInt","openingSymbol","panelId","hideFunc","showFunc","conditionFunc","condition","isClosed","index","largestValue","properties","key","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","symbol","addNoArrow","symbolContainer","ondragover","ondragenter","ondragleave","ondrop","FileReader","dataTransfer","files","importFromFiles","filesLength","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onSetJson","onload","json","target","readAsText","destroyElement","_public","refresh","elementId","refreshAll","renderAll","setJson","jsonObject","jsonResult","getJson","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
+{"version":3,"sources":["/Users/williamtroup/Documents/GitHub%20Repos/JsonTree.js/dist/jsontree.js"],"names":["Is","Is2","String","String2","hexColor","value","valid","length","isNaN","substring","rgbColor","startsWith","endsWith","boolean","object","toString","toLowerCase","trim","date","dateTimeString","Date","guid","regex","test","defined","definedObject","definedBoolean","definedString","definedFunction","definedNumber","definedBigInt","definedArray","Array","definedDate","definedDecimal","definedSymbol","invalidOptionArray","array","minimumLength","Default2","Default","getAnyString","defaultValue","getString","getBoolean","getNumber","getFunction","getArray","getObject","getStringOrArray","result2","values","split","getFixedDecimalPlacesValue","decimalPlaces","regExp","RegExp","match","getFunctionName","configuration2","valueParts","valueNameParts","functionBrackets","text","functionText","getObjectFromString","objectString","configuration","result","parsed","JSON","parse","e1","eval","e2","safeMode","console","error","objectErrorText","replace","message","DomElement","DomElement2","create","container","type","className","beforeNode","nodeType","isText","document","createTextNode","createElement","insertBefore","appendChild","createWithHTML","html","element","innerHTML","addClass","classList","add","removeClass","remove","cancelBubble","e","preventDefault","stopPropagation","getScrollPosition","documentElement","left","scrollLeft","clientLeft","top","scrollTop","clientTop","showElementAtMousePosition","pageX","pageY","scrollPosition","style","display","offsetWidth","window","innerWidth","offsetHeight","innerHeight","selectAllText","range","createRange","selectNodeContents","selection","getSelection","removeAllRanges","addRange","Str","Str2","padNumber","number","numberString","numberResult","arrayLength","join","DateTime","DateTime2","getWeekdayNumber","getDay","getDayOrdinal","thText","stText","ndText","rdText","getCustomFormattedDateText","dateFormat","weekDayNumber","getHours","getMinutes","getSeconds","getMilliseconds","dayNames","dayNamesAbbreviated","getDate","monthNames","getMonth","monthNamesAbbreviated","getFullYear","Number","parseInt","Constants","Constants2","JSONTREE_JS_ATTRIBUTE_NAME","Binding","Binding2","Options","Options2","getForNewInstance","data","bindingOptions","get","_currentView","dataArrayCurrentIndex","titleBarButtons","valueClickTimerId","editMode","idSet","contentPanelsOpen","contentPanelsIndex","backButton","nextButton","newOptions","options","showCounts","useZeroIndexingForArrays","dateTimeFormat","showArrowToggles","showStringQuotes","showAllAsClosed","sortPropertyNames","sortPropertyNamesInAlphabeticalOrder","showCommas","reverseArrayValues","addArrayIndexPadding","showValueColors","maximumDecimalPlaces","maximumStringLength","showArrayItemsAsSeparateObjects","copyOnlyCurrentPage","fileDroppingEnabled","copyIndentSpaces","showArrayIndexBrackets","showOpeningClosingCurlyBraces","showOpeningClosingSquaredBrackets","includeTimeZoneInDateTimeEditing","shortcutKeysEnabled","openInFullScreenMode","enableFullScreenToggling","getTitle","getIgnore","getToolTip","getParse","getAllowEditing","getCustomTriggers","title","show","showTreeControls","showCopyButton","ignore","nullValues","functionValues","unknownValues","booleanValues","decimalValues","numberValues","stringValues","dateValues","objectValues","arrayValues","bigIntValues","symbolValues","emptyObjects","undefinedValues","guidValues","colorValues","tooltip","delay","stringsToDates","stringsToBooleans","stringsToNumbers","allowEditing","events","onBeforeRender","onRenderComplete","onValueClick","onRefresh","onCopyAll","onOpenAll","onCloseAll","onDestroy","onBooleanRender","onDecimalRender","onNumberRender","onBigIntRender","onStringRender","onDateRender","onFunctionRender","onNullRender","onUnknownRender","onSymbolRender","onCopyJsonReplacer","onUndefinedRender","onGuidRender","onColorRender","Config","Config2","newConfiguration","domElementTypes","getText","objectText","arrayText","closeAllButtonText","openAllButtonText","copyAllButtonText","attributeNotValidErrorText","attributeNotSetErrorText","ellipsisText","closeAllButtonSymbolText","openAllButtonSymbolText","copyAllButtonSymbolText","backButtonText","nextButtonText","backButtonSymbolText","nextButtonSymbolText","noJsonToViewText","Trigger","Trigger2","customEvent","triggerFunction","args","apply","slice","call","ToolTip","ToolTip2","renderControl","body","assignToEvents","add2","addEventListener_Window","addEventListener","removeEventListener","addEventListener_Document","hide","onmousemove","tooltipTimerId","setTimeout","clearTimeout","_configuration","_elements_Data","_elements_Data_Count","render","tagTypes","tagTypesLength","tagTypeIndex","domElements","getElementsByTagName","elements","elementsLength","elementIndex","renderElement","hasAttribute","bindingOptionsData","getAttribute","id","crypto","randomUUID","removeAttribute","hasOwnProperty","renderControlContainer","buildDocumentEvents","isForPageSwitch","renderControlTitleBar","contents","makeAreaDroppable","renderObject","renderArray","titleBar","ondblclick","onTitleBarDblClick","copy","onclick","onTitleBarCopyClick","openAll","closeAll","onBackPage","disabled","onNextPage","contains","copyData","replaceFunction","jsonStringifyReplacer","stringify","navigator","clipboard","writeText","_","addEvents","documentFunc","onWindowKeyDown","code","propertyNames","getObjectPropertyNames","propertyCount","objectTypeTitle","objectTypeContents","arrow","titleText","openingBrace","dataArrayIndex","renderObjectValues","addValueClickEvent","openingBracket","renderArrayValues","coma","addNoArrowToClosingSymbol","isLastItem","propertiesLength","propertyIndex","propertyName","renderValue","createClosingSymbol","addArrowEvent","dataLength","dataIndex1","getIndexName","dataIndex2","name","isArrayItem","objectTypeValue","valueClass","valueElement","ignored","makePropertyNameEditable","createComma","makePropertyValueEditable","newValue","color","parseFloat","newStringValue","objectTitle","arrayTypeContents","removeChild","originalPropertyName","setAttribute","focus","onblur","onkeydown","newPropertyName","innerText","originalValue","originalPropertyValue","propertyValue","newPropertyValue","splice","getArrayIndex","newDataPropertyValue","BigInt","openingSymbol","panelId","hideFunc","showFunc","conditionFunc","condition","isClosed","index","largestValue","properties","key","push","collator","Intl","Collator","numeric","sensitivity","sort","compare","reverse","symbol","addNoArrow","symbolContainer","ondragover","ondragenter","ondragleave","ondrop","FileReader","dataTransfer","files","importFromFiles","filesLength","fileIndex","file","fileExtension","pop","importFromJson","reader","renderData","onloadend","onSetJson","onload","json","target","readAsText","destroyElement","_public","refresh","elementId","refreshAll","renderAll","setJson","jsonObject","jsonResult","getJson","destroy","destroyAll","setConfiguration","configurationHasChanged","newInternalConfiguration","getIds","getVersion","$jsontree"],"mappings":"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","sourcesContent":[null]}
\ No newline at end of file
diff --git a/dist/jsontree.js.min.css b/dist/jsontree.js.min.css
index 97ca28e5..e88d3591 100644
--- a/dist/jsontree.js.min.css
+++ b/dist/jsontree.js.min.css
@@ -1 +1 @@
-:root{--json-tree-js-default-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--json-tree-js-text-bold-weight: 400;--json-tree-js-header-bold-weight: 900;--json-tree-js-title-bold-weight: var(--json-tree-js-header-bold-weight);--json-tree-js-text-bold-weight-active: var(--json-tree-js-header-bold-weight);--json-tree-js-color-black: #3b3a3a;--json-tree-js-color-white: #F5F5F5;--json-tree-js-color-snow-white: #F5F5F5;--json-tree-js-color-light-gray: #BBBBBB;--json-tree-js-color-boolean: #FF0000;--json-tree-js-color-decimal: #e3c868;--json-tree-js-color-number: #666bf9;--json-tree-js-color-bigint: #6495ED;--json-tree-js-color-string: #78b13f;--json-tree-js-color-date: #a656f5;--json-tree-js-color-array: #F28C28;--json-tree-js-color-object: #C0C0C0;--json-tree-js-color-null: var(--json-tree-js-color-light-gray);--json-tree-js-color-undefined: var(--json-tree-js-color-null);--json-tree-js-color-symbol: #DAA06D;--json-tree-js-color-function: var(--json-tree-js-color-null);--json-tree-js-color-unknown: var(--json-tree-js-color-null);--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);--json-tree-js-editable-background-color: #2d333b;--json-tree-js-editable-border-color: #454c56;--json-tree-js-tooltip-background-color: var(--json-tree-js-container-background-color);--json-tree-js-tooltip-border-color: var(--json-tree-js-container-border-color);--json-tree-js-tooltip-text-color: var(--json-tree-js-color-white);--json-tree-js-container-background-color: #22272e;--json-tree-js-container-border-color: #454c56;--json-tree-js-button-background-color: #2d333b;--json-tree-js-button-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color: var(--json-tree-js-color-white);--json-tree-js-button-background-color-hover: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color-hover: var(--json-tree-js-color-snow-white);--json-tree-js-button-background-color-active: #616b79;--json-tree-js-button-text-color-active: var(--json-tree-js-color-snow-white);--json-tree-js-border-radius-editable: 0.25rem;--json-tree-js-border-radius: 0.5rem;--json-tree-js-border-size: 0.5px;--json-tree-js-spacing: 10px;--json-tree-js-spacing-font-size: 0.85rem;--json-tree-js-transition: all .3s;--json-tree-js-animation-length: 0.5s}div.json-tree-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font) !important;display:inline-block;position:relative;border-radius:var(--json-tree-js-border-radius);background-color:var(--json-tree-js-container-background-color);color:var(--json-tree-js-color-white);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);padding:var(--json-tree-js-spacing);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-text-bold-weight);width:100%;overflow:hidden;margin:0 !important;max-width:500px}div.json-tree-js button{font-family:var(--heat-js-default-font)}div.json-tree-js div.no-click{pointer-events:none !important}div.json-tree-js div.page-switch{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js *{box-sizing:border-box;line-height:normal}div.json-tree-js *::before,div.json-tree-js *::after{box-sizing:border-box;line-height:normal}div.json-tree-js div.no-arrow{display:inline-block;width:12px;height:8px;margin-right:calc(var(--json-tree-js-spacing))}div.json-tree-js div.down-arrow,div.json-tree-js div.right-arrow{display:inline-block;width:0;height:0;margin-right:calc(var(--json-tree-js-spacing));cursor:pointer;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.down-arrow:hover,div.json-tree-js div.right-arrow:hover{opacity:.7}div.json-tree-js div.down-arrow{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:8px solid var(--json-tree-js-color-white)}div.json-tree-js div.right-arrow{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:12px solid var(--json-tree-js-color-white)}div.json-tree-js div.title-bar{display:flex;margin-bottom:var(--json-tree-js-spacing)}div.json-tree-js div.title-bar div.title{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem}div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*6);flex-grow:1;text-align:right;white-space:nowrap}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*12)}}div.json-tree-js div.title-bar div.controls button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.title-bar div.controls button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.title-bar div.controls button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.title-bar div.controls button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.title-bar div.controls button{margin-left:calc(var(--json-tree-js-spacing)/2) !important;font-weight:var(--json-tree-js-header-bold-weight)}div.json-tree-js div.title-bar div.controls button.copy-all{display:none}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls button.copy-all{display:inline-block}}div.json-tree-js div.contents{padding:0 !important;margin:0 !important;overflow-x:auto;overflow-y:hidden}div.json-tree-js div.contents span.no-json-text{font-style:italic;color:var(--json-tree-js-color-light-gray) !important}div.json-tree-js div.object-type-title{font-weight:var(--json-tree-js-header-bold-weight);text-align:left !important;width:fit-content}div.json-tree-js div.object-type-title span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-title span.main-title:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-title span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.object-type-title span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.object-type-title span.count{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-title span.data-array-index{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-title span.opening-symbol{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents{margin-top:calc(var(--json-tree-js-spacing)/2);text-align:left !important;width:fit-content;margin-bottom:var(--json-tree-js-spacing)}div.json-tree-js div.object-type-contents-parent{margin-bottom:0 !important}div.json-tree-js div.object-type-contents span.opening-symbol{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents div.closing-symbol div{display:inline-block !important}div.json-tree-js div.object-type-contents div.closing-symbol div.object-type-end{font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value{white-space:nowrap;margin-top:calc(var(--json-tree-js-spacing)/2);margin-bottom:calc(var(--json-tree-js-spacing)/2);margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value span.split{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.object-type-contents div.object-type-value span.value,div.json-tree-js div.object-type-contents div.object-type-value span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-contents div.object-type-value span.value:not(.no-hover):not(.editable):hover,div.json-tree-js div.object-type-contents div.object-type-value span.main-title:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents div.object-type-value span.editable{background-color:var(--json-tree-js-editable-background-color) !important;color:var(--json-tree-js-editable-text-color) !important;border:var(--json-tree-js-border-size) solid var(--json-tree-js-editable-border-color);outline:none !important;box-shadow:none !important;padding:calc(var(--json-tree-js-spacing)/2) !important;border-radius:var(--json-tree-js-border-radius-editable) !important;cursor:text !important}div.json-tree-js div.object-type-contents div.object-type-value span.main-title{font-weight:var(--json-tree-js-header-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value span.non-value{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.comma{color:var(--json-tree-js-color-white);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.object-type-contents div.object-type-value span.decimal{color:var(--json-tree-js-color-decimal)}div.json-tree-js div.object-type-contents div.object-type-value span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.object-type-contents div.object-type-value span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.object-type-contents div.object-type-value span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.object-type-contents div.object-type-value span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.object-type-contents div.object-type-value span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.object-type-contents div.object-type-value span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.object-type-contents div.object-type-value span.null{color:var(--json-tree-js-color-null)}div.json-tree-js div.object-type-contents div.object-type-value span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.object-type-contents div.object-type-value span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.object-type-contents div.object-type-value span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.object-type-contents div.object-type-value span.undefined{color:var(--json-tree-js-color-null)}div.json-tree-js div.object-type-contents div.object-type-value span.count{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.jsontree-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font);animation:fade-in-animation var(--json-tree-js-animation-length);position:absolute;background-color:var(--json-tree-js-tooltip-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-tooltip-border-color);color:var(--json-tree-js-tooltip-text-color);border-radius:var(--json-tree-js-border-radius);z-index:2000;max-width:300px;padding:var(--json-tree-js-spacing);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}}
+:root{--json-tree-js-default-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--json-tree-js-text-bold-weight: 400;--json-tree-js-header-bold-weight: 900;--json-tree-js-title-bold-weight: var(--json-tree-js-header-bold-weight);--json-tree-js-text-bold-weight-active: var(--json-tree-js-header-bold-weight);--json-tree-js-color-dark-black: #1c2128;--json-tree-js-color-black: #3b3a3a;--json-tree-js-color-white: #F5F5F5;--json-tree-js-color-snow-white: #F5F5F5;--json-tree-js-color-light-gray: #BBBBBB;--json-tree-js-color-boolean: #FF0000;--json-tree-js-color-decimal: #e3c868;--json-tree-js-color-number: #666bf9;--json-tree-js-color-bigint: #6495ED;--json-tree-js-color-string: #78b13f;--json-tree-js-color-date: #a656f5;--json-tree-js-color-array: #F28C28;--json-tree-js-color-object: #C0C0C0;--json-tree-js-color-null: var(--json-tree-js-color-light-gray);--json-tree-js-color-undefined: var(--json-tree-js-color-null);--json-tree-js-color-symbol: #DAA06D;--json-tree-js-color-function: var(--json-tree-js-color-null);--json-tree-js-color-unknown: var(--json-tree-js-color-null);--json-tree-js-color-guid: #c45600;--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);--json-tree-js-editable-background-color: #2d333b;--json-tree-js-editable-border-color: #454c56;--json-tree-js-tooltip-background-color: var(--json-tree-js-container-background-color);--json-tree-js-tooltip-border-color: var(--json-tree-js-container-border-color);--json-tree-js-tooltip-text-color: var(--json-tree-js-color-white);--json-tree-js-container-background-color: #22272e;--json-tree-js-container-border-color: #454c56;--json-tree-js-button-background-color: #2d333b;--json-tree-js-button-border-color: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color: var(--json-tree-js-color-white);--json-tree-js-button-background-color-hover: var(--json-tree-js-container-border-color);--json-tree-js-button-text-color-hover: var(--json-tree-js-color-snow-white);--json-tree-js-button-background-color-active: #616b79;--json-tree-js-button-text-color-active: var(--json-tree-js-color-snow-white);--json-tree-js-border-radius-editable: 0.25rem;--json-tree-js-border-radius: 0.5rem;--json-tree-js-border-size: 0.5px;--json-tree-js-spacing: 10px;--json-tree-js-spacing-font-size: 0.85rem;--json-tree-js-transition: all .3s;--json-tree-js-animation-length: 0.5s}div.json-tree-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font) !important;display:inline-block;position:relative;border-radius:var(--json-tree-js-border-radius);background-color:var(--json-tree-js-container-background-color);color:var(--json-tree-js-color-white);border:var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-text-bold-weight);width:100%;overflow:hidden;margin:0 !important;max-width:500px}div.json-tree-js button{font-family:var(--heat-js-default-font)}div.json-tree-js div.no-click{pointer-events:none !important}div.json-tree-js div.page-switch{animation:fade-in-animation var(--json-tree-js-animation-length)}div.json-tree-js *{box-sizing:border-box;line-height:normal}div.json-tree-js *::before,div.json-tree-js *::after{box-sizing:border-box;line-height:normal}div.full-screen{position:fixed;display:flex;flex-direction:column;top:0;left:0;height:100%;width:100%;max-width:none;border-radius:0;z-index:1000}div.full-screen div.title-bar{border-radius:0 !important}div.full-screen div.contents{flex-grow:1}div.json-tree-js div.no-arrow{display:inline-block;width:12px;height:8px;margin-right:calc(var(--json-tree-js-spacing))}div.json-tree-js div.down-arrow,div.json-tree-js div.right-arrow{display:inline-block;width:0;height:0;margin-right:calc(var(--json-tree-js-spacing));cursor:pointer;transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.down-arrow:hover,div.json-tree-js div.right-arrow:hover{opacity:.7}div.json-tree-js div.down-arrow{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:8px solid var(--json-tree-js-color-white)}div.json-tree-js div.right-arrow{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:12px solid var(--json-tree-js-color-white)}div.json-tree-js div.title-bar{display:flex;padding:calc(var(--json-tree-js-spacing)/2);margin-bottom:var(--json-tree-js-spacing);background-color:var(--json-tree-js-color-dark-black);border-radius:var(--json-tree-js-border-radius);border-bottom:var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);justify-content:center;align-items:center}div.json-tree-js div.title-bar div.title{text-align:left;width:auto;font-weight:var(--json-tree-js-title-bold-weight);font-size:1.2rem;margin-left:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*6);flex-grow:1;text-align:right;white-space:nowrap}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls{margin-left:calc(var(--json-tree-js-spacing)*12)}}div.json-tree-js div.title-bar div.controls button{background-color:var(--json-tree-js-button-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-button-border-color);color:var(--json-tree-js-button-text-color);border-radius:var(--json-tree-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--json-tree-js-transition)}div.json-tree-js div.title-bar div.controls button:disabled{color:var(--json-tree-js-button-border-color)}div.json-tree-js div.title-bar div.controls button:not(.active):not(:disabled):active{background:var(--json-tree-js-button-background-color-active) !important;color:var(--json-tree-js-button-text-color-active) !important}div.json-tree-js div.title-bar div.controls button:not(.active):not(:disabled):hover{cursor:pointer;background:var(--json-tree-js-button-background-color-hover);color:var(--json-tree-js-button-text-color-hover)}div.json-tree-js div.title-bar div.controls button{margin-left:calc(var(--json-tree-js-spacing)/2) !important;font-weight:var(--json-tree-js-header-bold-weight)}div.json-tree-js div.title-bar div.controls button.copy-all{display:none}@media(min-width: 768px){div.json-tree-js div.title-bar div.controls button.copy-all{display:inline-block}}div.json-tree-js div.contents{padding:var(--json-tree-js-spacing);padding-top:0;margin:0 !important;overflow-x:auto;overflow-y:auto}div.json-tree-js div.contents span.no-json-text{font-style:italic;color:var(--json-tree-js-color-light-gray) !important}div.json-tree-js div.object-type-title{font-weight:var(--json-tree-js-header-bold-weight);text-align:left !important;width:fit-content}div.json-tree-js div.object-type-title span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-title span.main-title:not(.no-hover):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-title span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.object-type-title span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.object-type-title span.count{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-title span.data-array-index{margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-title span.opening-symbol{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents{margin-top:calc(var(--json-tree-js-spacing)/2);text-align:left !important;width:fit-content;margin-bottom:var(--json-tree-js-spacing)}div.json-tree-js div.object-type-contents-parent{margin-bottom:0 !important}div.json-tree-js div.object-type-contents span.opening-symbol{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight);color:var(--json-tree-js-color-snow-white) !important}div.json-tree-js div.object-type-contents div.closing-symbol div{display:inline-block !important}div.json-tree-js div.object-type-contents div.closing-symbol div.object-type-end{font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value{white-space:nowrap;margin-top:calc(var(--json-tree-js-spacing)/2);margin-bottom:calc(var(--json-tree-js-spacing)/2);margin-left:calc(var(--json-tree-js-spacing)*2)}div.json-tree-js div.object-type-contents div.object-type-value span.split{margin-left:calc(var(--json-tree-js-spacing)/2);margin-right:calc(var(--json-tree-js-spacing)/2)}div.json-tree-js div.object-type-contents div.object-type-value span.value,div.json-tree-js div.object-type-contents div.object-type-value span.main-title{transition:var(--json-tree-js-transition);transition-property:opacity}div.json-tree-js div.object-type-contents div.object-type-value span.value:not(.no-hover):not(.editable):hover,div.json-tree-js div.object-type-contents div.object-type-value span.main-title:not(.no-hover):not(.editable):hover{cursor:pointer;opacity:.7}div.json-tree-js div.object-type-contents div.object-type-value span.editable{background-color:var(--json-tree-js-editable-background-color) !important;color:var(--json-tree-js-editable-text-color) !important;border:var(--json-tree-js-border-size) solid var(--json-tree-js-editable-border-color);outline:none !important;box-shadow:none !important;padding:calc(var(--json-tree-js-spacing)/2) !important;border-radius:var(--json-tree-js-border-radius-editable) !important;cursor:text !important}div.json-tree-js div.object-type-contents div.object-type-value span.main-title{font-weight:var(--json-tree-js-header-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value span.non-value{font-style:italic}div.json-tree-js div.object-type-contents div.object-type-value span.comma{color:var(--json-tree-js-color-white);font-weight:var(--json-tree-js-text-bold-weight)}div.json-tree-js div.object-type-contents div.object-type-value span.boolean{color:var(--json-tree-js-color-boolean)}div.json-tree-js div.object-type-contents div.object-type-value span.decimal{color:var(--json-tree-js-color-decimal)}div.json-tree-js div.object-type-contents div.object-type-value span.number{color:var(--json-tree-js-color-number)}div.json-tree-js div.object-type-contents div.object-type-value span.bigint{color:var(--json-tree-js-color-bigint)}div.json-tree-js div.object-type-contents div.object-type-value span.string{color:var(--json-tree-js-color-string)}div.json-tree-js div.object-type-contents div.object-type-value span.date{color:var(--json-tree-js-color-date)}div.json-tree-js div.object-type-contents div.object-type-value span.array{color:var(--json-tree-js-color-array)}div.json-tree-js div.object-type-contents div.object-type-value span.object{color:var(--json-tree-js-color-object)}div.json-tree-js div.object-type-contents div.object-type-value span.null{color:var(--json-tree-js-color-null)}div.json-tree-js div.object-type-contents div.object-type-value span.symbol{color:var(--json-tree-js-color-symbol)}div.json-tree-js div.object-type-contents div.object-type-value span.function{color:var(--json-tree-js-color-function)}div.json-tree-js div.object-type-contents div.object-type-value span.unknown{color:var(--json-tree-js-color-unknown)}div.json-tree-js div.object-type-contents div.object-type-value span.undefined{color:var(--json-tree-js-color-null)}div.json-tree-js div.object-type-contents div.object-type-value span.guid{color:var(--json-tree-js-color-guid)}div.json-tree-js div.object-type-contents div.object-type-value span.count{margin-left:calc(var(--json-tree-js-spacing)/2);font-weight:var(--json-tree-js-text-bold-weight)}div.jsontree-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--json-tree-js-default-font);animation:fade-in-animation var(--json-tree-js-animation-length);position:absolute;background-color:var(--json-tree-js-tooltip-background-color);border:var(--json-tree-js-border-size) solid var(--json-tree-js-tooltip-border-color);color:var(--json-tree-js-tooltip-text-color);border-radius:var(--json-tree-js-border-radius);z-index:2000;max-width:300px;padding:var(--json-tree-js-spacing);font-size:var(--json-tree-js-spacing-font-size);font-weight:var(--json-tree-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}}
diff --git a/dist/jsontree.min.js b/dist/jsontree.min.js
index 255b1d8d..36aba09b 100644
--- a/dist/jsontree.min.js
+++ b/dist/jsontree.min.js
@@ -1 +1 @@
-"use strict";var Is,Default2,DomElement,Str,Str2,DateTime,Constants,Binding,Config,Trigger,ToolTip;(e=>{let t;var n;function o(e){return null!=e&&""!==e.toString()}function r(e){return o(e)&&"object"==typeof e}function l(e){return r(e)&&e instanceof Array}(n=t=e.String||(e.String={})).hexColor=function(e){let t=e.length>=2&&e.length<=7;return t&&"#"===e[0]&&(t=isNaN(+e.substring(1,e.length-1))),t},n.rgbColor=function(e){return(e.startsWith("rgb(")||e.startsWith("rgba("))&&e.endsWith(")")},n.boolean=function(e){return"true"===e.toString().toLowerCase().trim()||"false"===e.toString().toLowerCase().trim()},n.date=function(e){return!isNaN(+new Date(e))},e.defined=o,e.definedObject=r,e.definedBoolean=function(e){return o(e)&&"boolean"==typeof e},e.definedString=function(e){return o(e)&&"string"==typeof e},e.definedFunction=function(e){return o(e)&&"function"==typeof e},e.definedNumber=function(e){return o(e)&&"number"==typeof e},e.definedBigInt=function(e){return o(e)&&"bigint"==typeof e},e.definedArray=l,e.definedDate=function(e){return r(e)&&e instanceof Date},e.definedDecimal=function(e){return o(e)&&"number"==typeof e&&e%1!=0},e.definedSymbol=function(e){return o(e)&&"symbol"==typeof e},e.invalidOptionArray=function(e,t=1){return!l(e)||e.length{function getAnyString(e,t){return"string"==typeof e?e:t}function getString(e,t){return Is.definedString(e)?e:t}function getBoolean(e,t){return Is.definedBoolean(e)?e:t}function getNumber(e,t){return Is.definedNumber(e)?e:t}function getFunction(e,t){return Is.definedFunction(e)?e:t}function getArray(e,t){return Is.definedArray(e)?e:t}function getObject(e,t){return Is.definedObject(e)?e:t}function getStringOrArray(e,t){let n=t;if(Is.definedString(e)){const o=e.toString().split(" ");0===o.length?e=t:n=o}else n=getArray(e,t);return n}function getFixedDecimalPlacesValue(e,t){const n=new RegExp(`^-?\\d+(?:.\\d{0,${t||-1}})?`);return e.toString().match(n)?.[0]||""}function getFunctionName(e,t){let n;const o=e.toString().split("(")[0].split(" "),r="()";return n=2===o.length?o[1]:o[0],n+=r,n.trim()===r&&(n=`${t.text.functionText}${r}`),n}function getObjectFromString(objectString,configuration){const result={parsed:!0,object:null};try{Is.definedString(objectString)&&(result.object=JSON.parse(objectString))}catch(e1){try{result.object=eval(`(${objectString})`),Is.definedFunction(result.object)&&(result.object=result.object())}catch(e){configuration.safeMode||(console.error(configuration.text.objectErrorText.replace("{{error_1}}",e1.message).replace("{{error_2}}",e.message)),result.parsed=!1),result.object=null}}return result}Default.getAnyString=getAnyString,Default.getString=getString,Default.getBoolean=getBoolean,Default.getNumber=getNumber,Default.getFunction=getFunction,Default.getArray=getArray,Default.getObject=getObject,Default.getStringOrArray=getStringOrArray,Default.getFixedDecimalPlacesValue=getFixedDecimalPlacesValue,Default.getFunctionName=getFunctionName,Default.getObjectFromString=getObjectFromString})(Default2||(Default2={})),(e=>{function t(e,t,n="",o=null){const r=t.toLowerCase();let l="text"===r?document.createTextNode(""):document.createElement(r);return Is.defined(n)&&(l.className=n),Is.defined(o)?e.insertBefore(l,o):e.appendChild(l),l}function n(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}e.create=t,e.createWithHTML=function(e,n,o,r,l=null){const i=t(e,n,o,l);return i.innerHTML=r,i},e.addClass=function(e,t){e.classList.add(t)},e.removeClass=function(e,t){e.classList.remove(t)},e.cancelBubble=function(e){e.preventDefault(),e.stopPropagation()},e.getScrollPosition=n,e.showElementAtMousePosition=function(e,t){let o=e.pageX,r=e.pageY;const l=n();t.style.display="block",o+t.offsetWidth>window.innerWidth?o-=t.offsetWidth:o++,r+t.offsetHeight>window.innerHeight?r-=t.offsetHeight:r++,o{function t(e){return e.getDay()-1<0?6:e.getDay()-1}function n(e,t){let n=e.text.thText;return 31===t||21===t||1===t?n=e.text.stText:22===t||2===t?n=e.text.ndText:23!==t&&3!==t||(n=e.text.rdText),n}e.getWeekdayNumber=t,e.getDayOrdinal=n,e.getCustomFormattedDateText=function(e,o,r){let l=r;const i=t(o);return l=l.replace("{hh}",Str.padNumber(o.getHours(),2)),l=l.replace("{h}",o.getHours().toString()),l=l.replace("{MM}",Str.padNumber(o.getMinutes(),2)),l=l.replace("{M}",o.getMinutes().toString()),l=l.replace("{ss}",Str.padNumber(o.getSeconds(),2)),l=l.replace("{s}",o.getSeconds().toString()),l=l.replace("{ff}",Str.padNumber(o.getMilliseconds(),3)),l=l.replace("{f}",o.getMilliseconds().toString()),l=l.replace("{dddd}",e.text.dayNames[i]),l=l.replace("{ddd}",e.text.dayNamesAbbreviated[i]),l=l.replace("{dd}",Str.padNumber(o.getDate())),l=l.replace("{d}",o.getDate().toString()),l=l.replace("{o}",n(e,o.getDate())),l=l.replace("{mmmm}",e.text.monthNames[o.getMonth()]),l=l.replace("{mmm}",e.text.monthNamesAbbreviated[o.getMonth()]),l=l.replace("{mm}",Str.padNumber(o.getMonth()+1)),l=l.replace("{m}",(o.getMonth()+1).toString()),l=l.replace("{yyyy}",o.getFullYear().toString()),l=l.replace("{yyy}",o.getFullYear().toString().substring(1)),l=l.replace("{yy}",o.getFullYear().toString().substring(2)),l=l.replace("{y}",Number.parseInt(o.getFullYear().toString().substring(2)).toString()),l}})(DateTime||(DateTime={})),(Constants||(Constants={})).JSONTREE_JS_ATTRIBUTE_NAME="data-jsontree-js",(e=>{let t;var n;(n=t=e.Options||(e.Options={})).getForNewInstance=function(t,n){const o=e.Options.get(t);return o._currentView={},o._currentView.element=n,o._currentView.dataArrayCurrentIndex=0,o._currentView.titleBarButtons=null,o._currentView.valueClickTimerId=0,o._currentView.editMode=!1,o._currentView.idSet=!1,o._currentView.contentPanelsOpen={},o._currentView.contentPanelsIndex=0,o},n.get=function(e){let t=Default2.getObject(e,{});return t.data=Default2.getObject(t.data,null),t.showCounts=Default2.getBoolean(t.showCounts,!0),t.useZeroIndexingForArrays=Default2.getBoolean(t.useZeroIndexingForArrays,!0),t.dateTimeFormat=Default2.getString(t.dateTimeFormat,"{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}"),t.showArrowToggles=Default2.getBoolean(t.showArrowToggles,!0),t.showStringQuotes=Default2.getBoolean(t.showStringQuotes,!0),t.showAllAsClosed=Default2.getBoolean(t.showAllAsClosed,!1),t.sortPropertyNames=Default2.getBoolean(t.sortPropertyNames,!0),t.sortPropertyNamesInAlphabeticalOrder=Default2.getBoolean(t.sortPropertyNamesInAlphabeticalOrder,!0),t.showCommas=Default2.getBoolean(t.showCommas,!1),t.reverseArrayValues=Default2.getBoolean(t.reverseArrayValues,!1),t.addArrayIndexPadding=Default2.getBoolean(t.addArrayIndexPadding,!1),t.showValueColors=Default2.getBoolean(t.showValueColors,!0),t.maximumDecimalPlaces=Default2.getNumber(t.maximumDecimalPlaces,2),t.maximumStringLength=Default2.getNumber(t.maximumStringLength,0),t.showStringHexColors=Default2.getBoolean(t.showStringHexColors,!1),t.showArrayItemsAsSeparateObjects=Default2.getBoolean(t.showArrayItemsAsSeparateObjects,!1),t.copyOnlyCurrentPage=Default2.getBoolean(t.copyOnlyCurrentPage,!1),t.fileDroppingEnabled=Default2.getBoolean(t.fileDroppingEnabled,!0),t.copyIndentSpaces=Default2.getNumber(t.copyIndentSpaces,2),t.showArrayIndexBrackets=Default2.getBoolean(t.showArrayIndexBrackets,!0),t.showOpeningClosingCurlyBraces=Default2.getBoolean(t.showOpeningClosingCurlyBraces,!1),t.showOpeningClosingSquaredBrackets=Default2.getBoolean(t.showOpeningClosingSquaredBrackets,!1),t.allowEditing=Default2.getBoolean(t.allowEditing,!0),t=function(e){return e.title=Default2.getObject(e.title,{}),e.title.text=Default2.getString(e.title.text,"JsonTree.js"),e.title.show=Default2.getBoolean(e.title.show,!0),e.title.showTreeControls=Default2.getBoolean(e.title.showTreeControls,!0),e.title.showCopyButton=Default2.getBoolean(e.title.showCopyButton,!0),e}(t),t=function(e){return e.ignore=Default2.getObject(e.ignore,{}),e.ignore.nullValues=Default2.getBoolean(e.ignore.nullValues,!1),e.ignore.functionValues=Default2.getBoolean(e.ignore.functionValues,!1),e.ignore.unknownValues=Default2.getBoolean(e.ignore.unknownValues,!1),e.ignore.booleanValues=Default2.getBoolean(e.ignore.booleanValues,!1),e.ignore.decimalValues=Default2.getBoolean(e.ignore.decimalValues,!1),e.ignore.numberValues=Default2.getBoolean(e.ignore.numberValues,!1),e.ignore.stringValues=Default2.getBoolean(e.ignore.stringValues,!1),e.ignore.dateValues=Default2.getBoolean(e.ignore.dateValues,!1),e.ignore.objectValues=Default2.getBoolean(e.ignore.objectValues,!1),e.ignore.arrayValues=Default2.getBoolean(e.ignore.arrayValues,!1),e.ignore.bigIntValues=Default2.getBoolean(e.ignore.bigIntValues,!1),e.ignore.symbolValues=Default2.getBoolean(e.ignore.symbolValues,!1),e.ignore.emptyObjects=Default2.getBoolean(e.ignore.emptyObjects,!0),e.ignore.undefinedValues=Default2.getBoolean(e.ignore.undefinedValues,!1),e}(t),t=function(e){return e.tooltip=Default2.getObject(e.tooltip,{}),e.tooltip.delay=Default2.getNumber(e.tooltip.delay,750),e}(t),t=function(e){return e.parse=Default2.getObject(e.parse,{}),e.parse.stringsToDates=Default2.getBoolean(e.parse.stringsToDates,!1),e.parse.stringsToBooleans=Default2.getBoolean(e.parse.stringsToBooleans,!1),e.parse.stringsToNumbers=Default2.getBoolean(e.parse.stringsToNumbers,!1),e}(t),t=function(e){return e.events=Default2.getObject(e.events,{}),e.events.onBeforeRender=Default2.getFunction(e.events.onBeforeRender,null),e.events.onRenderComplete=Default2.getFunction(e.events.onRenderComplete,null),e.events.onValueClick=Default2.getFunction(e.events.onValueClick,null),e.events.onRefresh=Default2.getFunction(e.events.onRefresh,null),e.events.onCopyAll=Default2.getFunction(e.events.onCopyAll,null),e.events.onOpenAll=Default2.getFunction(e.events.onOpenAll,null),e.events.onCloseAll=Default2.getFunction(e.events.onCloseAll,null),e.events.onDestroy=Default2.getFunction(e.events.onDestroy,null),e.events.onBooleanRender=Default2.getFunction(e.events.onBooleanRender,null),e.events.onDecimalRender=Default2.getFunction(e.events.onDecimalRender,null),e.events.onNumberRender=Default2.getFunction(e.events.onNumberRender,null),e.events.onBigIntRender=Default2.getFunction(e.events.onBigIntRender,null),e.events.onStringRender=Default2.getFunction(e.events.onStringRender,null),e.events.onDateRender=Default2.getFunction(e.events.onDateRender,null),e.events.onFunctionRender=Default2.getFunction(e.events.onFunctionRender,null),e.events.onNullRender=Default2.getFunction(e.events.onNullRender,null),e.events.onUnknownRender=Default2.getFunction(e.events.onUnknownRender,null),e.events.onSymbolRender=Default2.getFunction(e.events.onSymbolRender,null),e.events.onCopyJsonReplacer=Default2.getFunction(e.events.onCopyJsonReplacer,null),e.events.onUndefinedRender=Default2.getFunction(e.events.onUndefinedRender,null),e}(t),t}})(Binding||(Binding={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){let t=Default2.getObject(e,{});return t.safeMode=Default2.getBoolean(t.safeMode,!0),t.domElementTypes=Default2.getStringOrArray(t.domElementTypes,["*"]),t=function(e){return e.text=Default2.getObject(e.text,{}),e.text.objectText=Default2.getAnyString(e.text.objectText,"object"),e.text.arrayText=Default2.getAnyString(e.text.arrayText,"array"),e.text.closeAllButtonText=Default2.getAnyString(e.text.closeAllButtonText,"Close All"),e.text.openAllButtonText=Default2.getAnyString(e.text.openAllButtonText,"Open All"),e.text.copyAllButtonText=Default2.getAnyString(e.text.copyAllButtonText,"Copy All"),e.text.objectErrorText=Default2.getAnyString(e.text.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}"),e.text.attributeNotValidErrorText=Default2.getAnyString(e.text.attributeNotValidErrorText,"The attribute '{{attribute_name}}' is not a valid object."),e.text.attributeNotSetErrorText=Default2.getAnyString(e.text.attributeNotSetErrorText,"The attribute '{{attribute_name}}' has not been set correctly."),e.text.stText=Default2.getAnyString(e.text.stText,"st"),e.text.ndText=Default2.getAnyString(e.text.ndText,"nd"),e.text.rdText=Default2.getAnyString(e.text.rdText,"rd"),e.text.thText=Default2.getAnyString(e.text.thText,"th"),e.text.ellipsisText=Default2.getAnyString(e.text.ellipsisText,"..."),e.text.closeAllButtonSymbolText=Default2.getAnyString(e.text.closeAllButtonSymbolText,"↑"),e.text.openAllButtonSymbolText=Default2.getAnyString(e.text.openAllButtonSymbolText,"↓"),e.text.copyAllButtonSymbolText=Default2.getAnyString(e.text.copyAllButtonSymbolText,"❐"),e.text.backButtonText=Default2.getAnyString(e.text.backButtonText,"Back"),e.text.nextButtonText=Default2.getAnyString(e.text.nextButtonText,"Next"),e.text.backButtonSymbolText=Default2.getAnyString(e.text.backButtonSymbolText,"←"),e.text.nextButtonSymbolText=Default2.getAnyString(e.text.nextButtonSymbolText,"→"),e.text.noJsonToViewText=Default2.getAnyString(e.text.noJsonToViewText,"There is currently no JSON to view."),e.text.functionText=Default2.getAnyString(e.text.functionText,"function"),Is.invalidOptionArray(e.text.dayNames,7)&&(e.text.dayNames=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),Is.invalidOptionArray(e.text.dayNamesAbbreviated,7)&&(e.text.dayNamesAbbreviated=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]),Is.invalidOptionArray(e.text.monthNames,12)&&(e.text.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"]),Is.invalidOptionArray(e.text.monthNamesAbbreviated,12)&&(e.text.monthNamesAbbreviated=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e}(t),t}})(Config||(Config={})),(Trigger||(Trigger={})).customEvent=function(e,...t){let n=null;return Is.definedFunction(e)&&(n=e.apply(null,[].slice.call(t,0))),n},(e=>{function t(e,t=!0){let n=t?window.addEventListener:window.removeEventListener,r=t?document.addEventListener:document.removeEventListener;n("mousemove",(()=>{o(e)})),r("scroll",(()=>{o(e)}))}function n(e,t,n){DomElement.cancelBubble(e),o(t),t._currentView.tooltipTimerId=setTimeout((()=>{t._currentView.tooltip.innerHTML=n,t._currentView.tooltip.style.display="block",DomElement.showElementAtMousePosition(e,t._currentView.tooltip)}),t.tooltip.delay)}function o(e){Is.defined(e._currentView.tooltip)&&(0!==e._currentView.tooltipTimerId&&(clearTimeout(e._currentView.tooltipTimerId),e._currentView.tooltipTimerId=0),"none"!==e._currentView.tooltip.style.display&&(e._currentView.tooltip.style.display="none"))}e.renderControl=function(e){Is.defined(e._currentView.tooltip)||(e._currentView.tooltip=DomElement.create(document.body,"div","jsontree-js-tooltip"),e._currentView.tooltip.style.display="none",t(e))},e.assignToEvents=t,e.add=function(e,t,o){null!==e&&(e.onmousemove=e=>{n(e,t,o)})},e.show=n,e.hide=o})(ToolTip||(ToolTip={})),(()=>{let e={},t={};function n(){const t=e.domElementTypes,n=t.length;for(let e=0;e{!function(e,t){let n=null,o=i;Is.definedFunction(e.events.onCopyJsonReplacer)&&(o=e.events.onCopyJsonReplacer);n=e.copyOnlyCurrentPage&&e.showArrayItemsAsSeparateObjects?JSON.stringify(t[e._currentView.dataArrayCurrentIndex],o,e.copyIndentSpaces):JSON.stringify(t,o,e.copyIndentSpaces);navigator.clipboard.writeText(n),Trigger.customEvent(e.events.onCopyAll,n)}(t,n)}}if(t.title.showTreeControls){const n=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","openAll",e.text.openAllButtonSymbolText);ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","closeAll",e.text.closeAllButtonSymbolText);ToolTip.add(o,t,e.text.closeAllButtonText),n.onclick=()=>{a(t)},o.onclick=()=>{s(t)}}if(t.showArrayItemsAsSeparateObjects&&Is.definedArray(n)&&n.length>1){const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","back",e.text.backButtonSymbolText);ToolTip.add(o,t,e.text.backButtonText),t._currentView.dataArrayCurrentIndex>0?o.onclick=()=>{t._currentView.dataArrayCurrentIndex--,l(t,!0),Trigger.customEvent(t.events.onBackPage,t._currentView.element)}:o.disabled=!0;const r=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","next",e.text.nextButtonSymbolText);ToolTip.add(r,t,e.text.nextButtonText),t._currentView.dataArrayCurrentIndex{t._currentView.dataArrayCurrentIndex++,l(t,!0),Trigger.customEvent(t.events.onNextPage,t._currentView.element)}:r.disabled=!0}else Is.definedArray(n)&&(t.showArrayItemsAsSeparateObjects=!1)}}(n,r);const d=DomElement.create(n._currentView.element,"div","contents");o&&DomElement.addClass(d,"page-switch"),function(e,t){t.fileDroppingEnabled&&(e.ondragover=DomElement.cancelBubble,e.ondragenter=DomElement.cancelBubble,e.ondragleave=DomElement.cancelBubble,e.ondrop=e=>{DomElement.cancelBubble(e),Is.defined(window.FileReader)&&e.dataTransfer.files.length>0&&function(e,t){const n=e.length;for(let o=0;o0&&DomElement.createWithHTML(i,"span",n.showValueColors?"object count":"count",`{${l}}`),n.showOpeningClosingCurlyBraces&&(d=DomElement.createWithHTML(i,"span","opening-symbol","{")),u(s,null,a,n,o,r,d,!1,!0),f(n,c,o,"object")}}(d,n,r):Is.definedArray(r)&&function(t,n,o){const r=DomElement.create(t,"div","object-type-title"),l=DomElement.create(t,"div","object-type-contents object-type-contents-parent"),i=n.showArrowToggles?DomElement.create(r,"div","down-arrow"):null,a=DomElement.createWithHTML(r,"span",n.showValueColors?"array main-title":"main-title",e.text.arrayText);let s=null;n.showCounts&&DomElement.createWithHTML(r,"span",n.showValueColors?"array count":"count",`[${o.length}]`);n.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(r,"span","opening-symbol","["));c(i,null,l,n,o,s,!1,!0),f(n,a,o,"object")}(d,n,r),""===d.innerHTML?(DomElement.createWithHTML(d,"span","no-json-text",e.text.noJsonToViewText),n._currentView.titleBarButtons.style.display="none"):n._currentView.titleBarButtons.style.display="block"}function i(t,n){return Is.definedBigInt(n)||Is.definedSymbol(n)?n=n.toString():Is.definedFunction(n)&&(n=Default2.getFunctionName(n,e)),n}function a(e){e.showAllAsClosed=!1,e._currentView.contentPanelsOpen={},l(e),Trigger.customEvent(e.events.onOpenAll,e._currentView.element)}function s(e){e.showAllAsClosed=!0,e._currentView.contentPanelsOpen={},l(e),Trigger.customEvent(e.events.onCloseAll,e._currentView.element)}function u(e,t,n,o,r,l,i,a,s){const u=l.length;for(let e=0;e{clearTimeout(e._currentView.valueClickTimerId),e._currentView.valueClickTimerId=0,e._currentView.editMode=!0,DomElement.addClass(o,"editable"),o.setAttribute("contenteditable","true"),o.focus(),DomElement.selectAllText(o),o.onblur=()=>{l(e,!1)},o.onkeydown=e=>{if("Escape"==e.code)e.preventDefault(),o.setAttribute("contenteditable","false");else if("Enter"==e.code){e.preventDefault();const r=o.innerText;if(""===r.trim())delete t[n];else if(!t.hasOwnProperty(r)){const e=t[n];delete t[n],t[r]=e}o.setAttribute("contenteditable","false")}}})}(o,t,r,x),null===i)o.ignore.nullValues?D=!0:(b=o.showValueColors?"null value non-value":"value non-value",T=DomElement.createWithHTML(m,"span",b,"null"),h="null",Is.definedFunction(o.events.onNullRender)&&Trigger.customEvent(o.events.onNullRender,T),y(o,m,a));else if(void 0===i)o.ignore.undefinedValues?D=!0:(b=o.showValueColors?"undefined value non-value":"value non-value",T=DomElement.createWithHTML(m,"span",b,"undefined"),h="undefined",Is.definedFunction(o.events.onUndefinedRender)&&Trigger.customEvent(o.events.onUndefinedRender,T),y(o,m,a));else if(Is.definedFunction(i))o.ignore.functionValues?D=!0:(b=o.showValueColors?"function value non-value":"value non-value",T=DomElement.createWithHTML(m,"span",b,Default2.getFunctionName(i,e)),h="function",Is.definedFunction(o.events.onFunctionRender)&&Trigger.customEvent(o.events.onFunctionRender,T),y(o,m,a));else if(Is.definedBoolean(i))o.ignore.booleanValues?D=!0:(b=o.showValueColors?"boolean value":"value",T=DomElement.createWithHTML(m,"span",b,i),h="boolean",g(o,t,r,i,T,s),Is.definedFunction(o.events.onBooleanRender)&&Trigger.customEvent(o.events.onBooleanRender,T),y(o,m,a));else if(Is.definedDecimal(i))if(o.ignore.decimalValues)D=!0;else{const e=Default2.getFixedDecimalPlacesValue(i,o.maximumDecimalPlaces);b=o.showValueColors?"decimal value":"value",T=DomElement.createWithHTML(m,"span",b,e),h="decimal",g(o,t,r,i,T,s),Is.definedFunction(o.events.onDecimalRender)&&Trigger.customEvent(o.events.onDecimalRender,T),y(o,m,a)}else if(Is.definedNumber(i))o.ignore.numberValues?D=!0:(b=o.showValueColors?"number value":"value",T=DomElement.createWithHTML(m,"span",b,i),h="number",g(o,t,r,i,T,s),Is.definedFunction(o.events.onNumberRender)&&Trigger.customEvent(o.events.onNumberRender,T),y(o,m,a));else if(Is.definedBigInt(i))o.ignore.bigIntValues?D=!0:(b=o.showValueColors?"bigint value":"value",T=DomElement.createWithHTML(m,"span",b,i),h="bigint",g(o,t,r,i,T,s),Is.definedFunction(o.events.onBigIntRender)&&Trigger.customEvent(o.events.onBigIntRender,T),y(o,m,a));else if(Is.definedString(i))if(o.ignore.stringValues)D=!0;else if(o.parse.stringsToBooleans&&Is.String.boolean(i))d(t,n,o,r,"true"===i.toString().toLowerCase().trim(),a,s),D=!0;else if(o.parse.stringsToNumbers&&!isNaN(i))d(t,n,o,r,parseFloat(i),a,s),D=!0;else if(o.parse.stringsToDates&&Is.String.date(i))d(t,n,o,r,new Date(i),a,s),D=!0;else{let n=null;o.showValueColors&&o.showStringHexColors&&(Is.String.hexColor(i)||Is.String.rgbColor(i))?(n=i,h="color"):(o.maximumStringLength>0&&i.length>o.maximumStringLength&&(i=i.substring(0,o.maximumStringLength)+e.text.ellipsisText),h="string");const l=o.showStringQuotes&&null===n?`"${i}"`:i;b=o.showValueColors?"string value":"value",T=DomElement.createWithHTML(m,"span",b,l),g(o,t,r,i,T,s),Is.definedString(n)&&(T.style.color=n),Is.definedFunction(o.events.onStringRender)&&Trigger.customEvent(o.events.onStringRender,T),y(o,m,a)}else if(Is.definedDate(i))o.ignore.dateValues?D=!0:(b=o.showValueColors?"date value":"value",T=DomElement.createWithHTML(m,"span",b,DateTime.getCustomFormattedDateText(e,i,o.dateTimeFormat)),h="date",g(o,t,r,i,T,s),Is.definedFunction(o.events.onDateRender)&&Trigger.customEvent(o.events.onDateRender,T),y(o,m,a));else if(Is.definedSymbol(i))o.ignore.symbolValues?D=!0:(b=o.showValueColors?"symbol value":"value",T=DomElement.createWithHTML(m,"span",b,i.toString()),h="symbol",Is.definedFunction(o.events.onSymbolRender)&&Trigger.customEvent(o.events.onSymbolRender,T),y(o,m,a));else if(Is.definedObject(i)&&!Is.definedArray(i))if(o.ignore.objectValues)D=!0;else{const t=w(i,o),n=t.length;if(0===n&&o.ignore.emptyObjects)D=!0;else{const r=DomElement.create(m,"span",o.showValueColors?"object":""),l=DomElement.create(m,"div","object-type-contents");let s=null;T=DomElement.createWithHTML(r,"span","main-title",e.text.objectText),o.showCounts&&n>0&&DomElement.createWithHTML(r,"span","count",`{${n}}`),o.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(r,"span","opening-symbol","{")),u(p,y(o,r,a),l,o,i,t,s,!0,a),h="object"}}else if(Is.definedArray(i))if(o.ignore.arrayValues)D=!0;else{const t=DomElement.create(m,"span",o.showValueColors?"array":""),n=DomElement.create(m,"div","object-type-contents");let r=null;T=DomElement.createWithHTML(t,"span","main-title",e.text.arrayText),o.showCounts&&DomElement.createWithHTML(t,"span","count",`[${i.length}]`),o.showOpeningClosingCurlyBraces&&(r=DomElement.createWithHTML(t,"span","opening-symbol","[")),c(p,y(o,t,a),n,o,i,r,!0,a),h="array"}else o.ignore.unknownValues?D=!0:(b=o.showValueColors?"unknown value non-value":"value non-value",T=DomElement.createWithHTML(m,"span",b,i.toString()),h="unknown",Is.definedFunction(o.events.onUnknownRender)&&Trigger.customEvent(o.events.onUnknownRender,T),y(o,m,a));D?n.removeChild(m):Is.defined(T)&&f(o,T,i,h)}function g(e,t,n,o,r,i){e.allowEditing&&(r.ondblclick=()=>{clearTimeout(e._currentView.valueClickTimerId),e._currentView.valueClickTimerId=0,e._currentView.editMode=!0,DomElement.addClass(r,"editable"),r.setAttribute("contenteditable","true"),r.innerText=o.toString(),r.focus(),DomElement.selectAllText(r),r.onblur=()=>{l(e,!1)},r.onkeydown=e=>{if("Escape"==e.code)e.preventDefault(),r.setAttribute("contenteditable","false");else if("Enter"==e.code){e.preventDefault();const l=r.innerText;if(""===l.trim())i?t.splice(m(n),1):delete t[n];else{let e=null;Is.definedBoolean(o)?e="true"===l.toLowerCase():Is.definedDecimal(o)&&!isNaN(+l)?e=parseFloat(l):Is.definedNumber(o)&&!isNaN(+l)?e=parseInt(l):Is.definedString(o)?e=l:Is.definedDate(o)?e=new Date(l):Is.definedBigInt(o)&&(e=BigInt(l)),null!==e&&(i?t[m(n)]=e:t[n]=e)}r.setAttribute("contenteditable","false")}}})}function m(e){return parseInt(e.replace("[","").replace("]",""))}function f(e,t,n,o){Is.definedFunction(e.events.onValueClick)?t.onclick=()=>{e.allowEditing?e._currentView.valueClickTimerId=setTimeout((()=>{e._currentView.editMode||Trigger.customEvent(e.events.onValueClick,n,o)}),500):Trigger.customEvent(e.events.onValueClick,n,o)}:DomElement.addClass(t,"no-hover")}function p(e,t,n,o,r){if(Is.defined(t)){const l=e._currentView.contentPanelsIndex,i=e._currentView.dataArrayCurrentIndex;e._currentView.contentPanelsOpen.hasOwnProperty(i)||(e._currentView.contentPanelsOpen[i]={});const a=()=>{o.style.display="none",t.className="right-arrow",e._currentView.contentPanelsOpen[i][l]=!0,Is.defined(r)&&(r.style.display="none"),Is.defined(n)&&(n.style.display="inline-block")},s=()=>{o.style.display="block",t.className="down-arrow",e._currentView.contentPanelsOpen[i][l]=!1,Is.defined(r)&&(r.style.display="inline-block"),Is.defined(n)&&(n.style.display="none")},u=e=>{e?a():s()};let c=e.showAllAsClosed;e._currentView.contentPanelsOpen[i].hasOwnProperty(l)?c=e._currentView.contentPanelsOpen[i][l]:e._currentView.contentPanelsOpen[i][l]=c,t.onclick=()=>{u("down-arrow"===t.className)},u(c),e._currentView.contentPanelsIndex++}}function y(e,t,n){let o=null;return e.showCommas&&!n&&(o=DomElement.createWithHTML(t,"span","comma",",")),o}function b(e,t,n){let o=e.useZeroIndexingForArrays?t.toString():(t+1).toString();return e.addArrayIndexPadding||(o=Str.padNumber(parseInt(o),n.toString().length)),e.showArrayIndexBrackets&&(o=`[${o}]`),o}function w(e,t){let n=[];for(let t in e)e.hasOwnProperty(t)&&n.push(t);if(t.sortPropertyNames){let e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});n=n.sort(e.compare),t.sortPropertyNamesInAlphabeticalOrder||(n=n.reverse())}return n}function T(e,t,n,o,r){let l=DomElement.create(t,"div","closing-symbol");o&&DomElement.create(l,"div","no-arrow"),DomElement.createWithHTML(l,"div","object-type-end",n),y(e,l,r)}function D(t,n){const o=new FileReader;let r=null;o.onloadend=()=>{n._currentView.dataArrayCurrentIndex=0,n._currentView.contentPanelsOpen={},n.data=r,l(n),Trigger.customEvent(n.events.onSetJson,n._currentView.element)},o.onload=t=>{const n=Default2.getObjectFromString(t.target.result,e);n.parsed&&Is.definedObject(n.object)&&(r=n.object)},o.readAsText(t)}function h(e){e._currentView.element.innerHTML="",DomElement.removeClass(e._currentView.element,"json-tree-js"),""===e._currentView.element.className.trim()&&e._currentView.element.removeAttribute("class"),e._currentView.idSet&&e._currentView.element.removeAttribute("id"),ToolTip.assignToEvents(e,!1),Trigger.customEvent(e.events.onDestroy,e._currentView.element)}const x={refresh:function(e){if(Is.definedString(e)&&t.hasOwnProperty(e)){const n=t[e];l(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return x},refreshAll:function(){for(let e in t)if(t.hasOwnProperty(e)){const n=t[e];l(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return x},render:function(e,t){return Is.definedObject(e)&&Is.definedObject(t)&&r(Binding.Options.getForNewInstance(t,e)),x},renderAll:function(){return n(),x},openAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&a(t[e]),x},closeAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&s(t[e]),x},setJson:function(n,o){if(Is.definedString(n)&&Is.defined(o)&&t.hasOwnProperty(n)){let r=null;if(Is.definedString(o)){const t=Default2.getObjectFromString(o,e);t.parsed&&(r=t.object)}else r=o;const i=t[n];i._currentView.dataArrayCurrentIndex=0,i._currentView.contentPanelsOpen={},i.data=r,l(i),Trigger.customEvent(i.events.onSetJson,i._currentView.element)}return x},getJson:function(e){let n=null;return Is.definedString(e)&&t.hasOwnProperty(e)&&(n=t[e].data),n},destroy:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&(h(t[e]),delete t[e]),x},destroyAll:function(){for(let e in t)t.hasOwnProperty(e)&&h(t[e]);return t={},x},setConfiguration:function(t){if(Is.definedObject(t)){let n=!1;const o=e;for(let r in t)t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&o[r]!==t[r]&&(o[r]=t[r],n=!0);n&&(e=Config.Options.get(o))}return x},getIds:function(){const e=[];for(let n in t)t.hasOwnProperty(n)&&e.push(n);return e},getVersion:function(){return"2.6.0"}};e=Config.Options.get(),document.addEventListener("DOMContentLoaded",(function(){n()})),Is.defined(window.$jsontree)||(window.$jsontree=x)})();
\ No newline at end of file
+"use strict";var Is,Default2,DomElement,Str,DateTime,Constants,Binding,Config,Trigger,ToolTip;(e=>{let t;var n;function o(e){return null!=e&&""!==e.toString()}function r(e){return o(e)&&"object"==typeof e}function l(e){return r(e)&&e instanceof Array}(n=t=e.String||(e.String={})).hexColor=function(e){let t=e.length>=2&&e.length<=7;return t&&"#"===e[0]&&(t=isNaN(+e.substring(1,e.length-1))),t},n.rgbColor=function(e){return(e.startsWith("rgb(")||e.startsWith("rgba("))&&e.endsWith(")")},n.boolean=function(e){return"true"===e.toString().toLowerCase().trim()||"false"===e.toString().toLowerCase().trim()},n.date=function(e){return!isNaN(+new Date(e))},n.guid=function(e){return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e)},e.defined=o,e.definedObject=r,e.definedBoolean=function(e){return o(e)&&"boolean"==typeof e},e.definedString=function(e){return o(e)&&"string"==typeof e},e.definedFunction=function(e){return o(e)&&"function"==typeof e},e.definedNumber=function(e){return o(e)&&"number"==typeof e},e.definedBigInt=function(e){return o(e)&&"bigint"==typeof e},e.definedArray=l,e.definedDate=function(e){return r(e)&&e instanceof Date},e.definedDecimal=function(e){return o(e)&&"number"==typeof e&&e%1!=0},e.definedSymbol=function(e){return o(e)&&"symbol"==typeof e},e.invalidOptionArray=function(e,t=1){return!l(e)||e.length{function getAnyString(e,t){return"string"==typeof e?e:t}function getString(e,t){return Is.definedString(e)?e:t}function getBoolean(e,t){return Is.definedBoolean(e)?e:t}function getNumber(e,t){return Is.definedNumber(e)?e:t}function getFunction(e,t){return Is.definedFunction(e)?e:t}function getArray(e,t){return Is.definedArray(e)?e:t}function getObject(e,t){return Is.definedObject(e)?e:t}function getStringOrArray(e,t){let n=t;if(Is.definedString(e)){const o=e.toString().split(" ");0===o.length?e=t:n=o}else n=getArray(e,t);return n}function getFixedDecimalPlacesValue(e,t){const n=new RegExp(`^-?\\d+(?:.\\d{0,${t||-1}})?`);return e.toString().match(n)?.[0]||""}function getFunctionName(e,t){let n;const o=e.toString().split("(")[0].split(" "),r="()";return n=2===o.length?o[1]:o[0],n+=r,n.trim()===r&&(n=`${t.text.functionText}${r}`),n}function getObjectFromString(objectString,configuration){const result={parsed:!0,object:null};try{Is.definedString(objectString)&&(result.object=JSON.parse(objectString))}catch(e1){try{result.object=eval(`(${objectString})`),Is.definedFunction(result.object)&&(result.object=result.object())}catch(e){configuration.safeMode||(console.error(configuration.text.objectErrorText.replace("{{error_1}}",e1.message).replace("{{error_2}}",e.message)),result.parsed=!1),result.object=null}}return result}Default.getAnyString=getAnyString,Default.getString=getString,Default.getBoolean=getBoolean,Default.getNumber=getNumber,Default.getFunction=getFunction,Default.getArray=getArray,Default.getObject=getObject,Default.getStringOrArray=getStringOrArray,Default.getFixedDecimalPlacesValue=getFixedDecimalPlacesValue,Default.getFunctionName=getFunctionName,Default.getObjectFromString=getObjectFromString})(Default2||(Default2={})),(e=>{function t(e,t,n="",o=null){const r=t.toLowerCase();let l="text"===r?document.createTextNode(""):document.createElement(r);return Is.defined(n)&&(l.className=n),Is.defined(o)?e.insertBefore(l,o):e.appendChild(l),l}function n(){const e=document.documentElement;return{left:e.scrollLeft-(e.clientLeft||0),top:e.scrollTop-(e.clientTop||0)}}e.create=t,e.createWithHTML=function(e,n,o,r,l=null){const i=t(e,n,o,l);return i.innerHTML=r,i},e.addClass=function(e,t){e.classList.add(t)},e.removeClass=function(e,t){e.classList.remove(t)},e.cancelBubble=function(e){e.preventDefault(),e.stopPropagation()},e.getScrollPosition=n,e.showElementAtMousePosition=function(e,t){let o=e.pageX,r=e.pageY;const l=n();t.style.display="block",o+t.offsetWidth>window.innerWidth?o-=t.offsetWidth:o++,r+t.offsetHeight>window.innerHeight?r-=t.offsetHeight:r++,o{function t(e){return e.getDay()-1<0?6:e.getDay()-1}function n(e,t){let n=e.text.thText;return 31===t||21===t||1===t?n=e.text.stText:22===t||2===t?n=e.text.ndText:23!==t&&3!==t||(n=e.text.rdText),n}e.getWeekdayNumber=t,e.getDayOrdinal=n,e.getCustomFormattedDateText=function(e,o,r){let l=r;const i=t(o);return l=l.replace("{hh}",Str.padNumber(o.getHours(),2)),l=l.replace("{h}",o.getHours().toString()),l=l.replace("{MM}",Str.padNumber(o.getMinutes(),2)),l=l.replace("{M}",o.getMinutes().toString()),l=l.replace("{ss}",Str.padNumber(o.getSeconds(),2)),l=l.replace("{s}",o.getSeconds().toString()),l=l.replace("{ff}",Str.padNumber(o.getMilliseconds(),3)),l=l.replace("{f}",o.getMilliseconds().toString()),l=l.replace("{dddd}",e.text.dayNames[i]),l=l.replace("{ddd}",e.text.dayNamesAbbreviated[i]),l=l.replace("{dd}",Str.padNumber(o.getDate())),l=l.replace("{d}",o.getDate().toString()),l=l.replace("{o}",n(e,o.getDate())),l=l.replace("{mmmm}",e.text.monthNames[o.getMonth()]),l=l.replace("{mmm}",e.text.monthNamesAbbreviated[o.getMonth()]),l=l.replace("{mm}",Str.padNumber(o.getMonth()+1)),l=l.replace("{m}",(o.getMonth()+1).toString()),l=l.replace("{yyyy}",o.getFullYear().toString()),l=l.replace("{yyy}",o.getFullYear().toString().substring(1)),l=l.replace("{yy}",o.getFullYear().toString().substring(2)),l=l.replace("{y}",Number.parseInt(o.getFullYear().toString().substring(2)).toString()),l}})(DateTime||(DateTime={})),(Constants||(Constants={})).JSONTREE_JS_ATTRIBUTE_NAME="data-jsontree-js",(e=>{let t;var n;(n=t=e.Options||(e.Options={})).getForNewInstance=function(t,n){const o=e.Options.get(t);return o._currentView={},o._currentView.element=n,o._currentView.dataArrayCurrentIndex=0,o._currentView.titleBarButtons=null,o._currentView.valueClickTimerId=0,o._currentView.editMode=!1,o._currentView.idSet=!1,o._currentView.contentPanelsOpen={},o._currentView.contentPanelsIndex=0,o._currentView.backButton=null,o._currentView.nextButton=null,o},n.get=function(e){let t=Default2.getObject(e,{});return t.data=Default2.getObject(t.data,null),t.showCounts=Default2.getBoolean(t.showCounts,!0),t.useZeroIndexingForArrays=Default2.getBoolean(t.useZeroIndexingForArrays,!0),t.dateTimeFormat=Default2.getString(t.dateTimeFormat,"{dd}{o} {mmmm} {yyyy} {hh}:{MM}:{ss}"),t.showArrowToggles=Default2.getBoolean(t.showArrowToggles,!0),t.showStringQuotes=Default2.getBoolean(t.showStringQuotes,!0),t.showAllAsClosed=Default2.getBoolean(t.showAllAsClosed,!1),t.sortPropertyNames=Default2.getBoolean(t.sortPropertyNames,!0),t.sortPropertyNamesInAlphabeticalOrder=Default2.getBoolean(t.sortPropertyNamesInAlphabeticalOrder,!0),t.showCommas=Default2.getBoolean(t.showCommas,!1),t.reverseArrayValues=Default2.getBoolean(t.reverseArrayValues,!1),t.addArrayIndexPadding=Default2.getBoolean(t.addArrayIndexPadding,!1),t.showValueColors=Default2.getBoolean(t.showValueColors,!0),t.maximumDecimalPlaces=Default2.getNumber(t.maximumDecimalPlaces,2),t.maximumStringLength=Default2.getNumber(t.maximumStringLength,0),t.showArrayItemsAsSeparateObjects=Default2.getBoolean(t.showArrayItemsAsSeparateObjects,!1),t.copyOnlyCurrentPage=Default2.getBoolean(t.copyOnlyCurrentPage,!1),t.fileDroppingEnabled=Default2.getBoolean(t.fileDroppingEnabled,!0),t.copyIndentSpaces=Default2.getNumber(t.copyIndentSpaces,2),t.showArrayIndexBrackets=Default2.getBoolean(t.showArrayIndexBrackets,!0),t.showOpeningClosingCurlyBraces=Default2.getBoolean(t.showOpeningClosingCurlyBraces,!1),t.showOpeningClosingSquaredBrackets=Default2.getBoolean(t.showOpeningClosingSquaredBrackets,!1),t.includeTimeZoneInDateTimeEditing=Default2.getBoolean(t.includeTimeZoneInDateTimeEditing,!0),t.shortcutKeysEnabled=Default2.getBoolean(t.shortcutKeysEnabled,!0),t.openInFullScreenMode=Default2.getBoolean(t.openInFullScreenMode,!1),t.enableFullScreenToggling=Default2.getBoolean(t.enableFullScreenToggling,!0),t=function(e){return e.title=Default2.getObject(e.title,{}),e.title.text=Default2.getString(e.title.text,"JsonTree.js"),e.title.show=Default2.getBoolean(e.title.show,!0),e.title.showTreeControls=Default2.getBoolean(e.title.showTreeControls,!0),e.title.showCopyButton=Default2.getBoolean(e.title.showCopyButton,!0),e}(t),t=function(e){return e.ignore=Default2.getObject(e.ignore,{}),e.ignore.nullValues=Default2.getBoolean(e.ignore.nullValues,!1),e.ignore.functionValues=Default2.getBoolean(e.ignore.functionValues,!1),e.ignore.unknownValues=Default2.getBoolean(e.ignore.unknownValues,!1),e.ignore.booleanValues=Default2.getBoolean(e.ignore.booleanValues,!1),e.ignore.decimalValues=Default2.getBoolean(e.ignore.decimalValues,!1),e.ignore.numberValues=Default2.getBoolean(e.ignore.numberValues,!1),e.ignore.stringValues=Default2.getBoolean(e.ignore.stringValues,!1),e.ignore.dateValues=Default2.getBoolean(e.ignore.dateValues,!1),e.ignore.objectValues=Default2.getBoolean(e.ignore.objectValues,!1),e.ignore.arrayValues=Default2.getBoolean(e.ignore.arrayValues,!1),e.ignore.bigIntValues=Default2.getBoolean(e.ignore.bigIntValues,!1),e.ignore.symbolValues=Default2.getBoolean(e.ignore.symbolValues,!1),e.ignore.emptyObjects=Default2.getBoolean(e.ignore.emptyObjects,!0),e.ignore.undefinedValues=Default2.getBoolean(e.ignore.undefinedValues,!1),e.ignore.guidValues=Default2.getBoolean(e.ignore.guidValues,!1),e.ignore.colorValues=Default2.getBoolean(e.ignore.colorValues,!1),e}(t),t=function(e){return e.tooltip=Default2.getObject(e.tooltip,{}),e.tooltip.delay=Default2.getNumber(e.tooltip.delay,750),e}(t),t=function(e){return e.parse=Default2.getObject(e.parse,{}),e.parse.stringsToDates=Default2.getBoolean(e.parse.stringsToDates,!1),e.parse.stringsToBooleans=Default2.getBoolean(e.parse.stringsToBooleans,!1),e.parse.stringsToNumbers=Default2.getBoolean(e.parse.stringsToNumbers,!1),e}(t),t=function(e){return e.allowEditing=Default2.getObject(e.allowEditing,{}),e.allowEditing.booleanValues=Default2.getBoolean(e.allowEditing.booleanValues,!0),e.allowEditing.decimalValues=Default2.getBoolean(e.allowEditing.decimalValues,!0),e.allowEditing.numberValues=Default2.getBoolean(e.allowEditing.numberValues,!0),e.allowEditing.stringValues=Default2.getBoolean(e.allowEditing.stringValues,!0),e.allowEditing.dateValues=Default2.getBoolean(e.allowEditing.dateValues,!0),e.allowEditing.bigIntValues=Default2.getBoolean(e.allowEditing.bigIntValues,!0),e.allowEditing.guidValues=Default2.getBoolean(e.allowEditing.guidValues,!0),e.allowEditing.colorValues=Default2.getBoolean(e.allowEditing.colorValues,!0),e}(t),t=function(e){return e.events=Default2.getObject(e.events,{}),e.events.onBeforeRender=Default2.getFunction(e.events.onBeforeRender,null),e.events.onRenderComplete=Default2.getFunction(e.events.onRenderComplete,null),e.events.onValueClick=Default2.getFunction(e.events.onValueClick,null),e.events.onRefresh=Default2.getFunction(e.events.onRefresh,null),e.events.onCopyAll=Default2.getFunction(e.events.onCopyAll,null),e.events.onOpenAll=Default2.getFunction(e.events.onOpenAll,null),e.events.onCloseAll=Default2.getFunction(e.events.onCloseAll,null),e.events.onDestroy=Default2.getFunction(e.events.onDestroy,null),e.events.onBooleanRender=Default2.getFunction(e.events.onBooleanRender,null),e.events.onDecimalRender=Default2.getFunction(e.events.onDecimalRender,null),e.events.onNumberRender=Default2.getFunction(e.events.onNumberRender,null),e.events.onBigIntRender=Default2.getFunction(e.events.onBigIntRender,null),e.events.onStringRender=Default2.getFunction(e.events.onStringRender,null),e.events.onDateRender=Default2.getFunction(e.events.onDateRender,null),e.events.onFunctionRender=Default2.getFunction(e.events.onFunctionRender,null),e.events.onNullRender=Default2.getFunction(e.events.onNullRender,null),e.events.onUnknownRender=Default2.getFunction(e.events.onUnknownRender,null),e.events.onSymbolRender=Default2.getFunction(e.events.onSymbolRender,null),e.events.onCopyJsonReplacer=Default2.getFunction(e.events.onCopyJsonReplacer,null),e.events.onUndefinedRender=Default2.getFunction(e.events.onUndefinedRender,null),e.events.onGuidRender=Default2.getFunction(e.events.onGuidRender,null),e.events.onColorRender=Default2.getFunction(e.events.onColorRender,null),e}(t),t}})(Binding||(Binding={})),(e=>{let t;(t=e.Options||(e.Options={})).get=function(e=null){let t=Default2.getObject(e,{});return t.safeMode=Default2.getBoolean(t.safeMode,!0),t.domElementTypes=Default2.getStringOrArray(t.domElementTypes,["*"]),t=function(e){return e.text=Default2.getObject(e.text,{}),e.text.objectText=Default2.getAnyString(e.text.objectText,"object"),e.text.arrayText=Default2.getAnyString(e.text.arrayText,"array"),e.text.closeAllButtonText=Default2.getAnyString(e.text.closeAllButtonText,"Close All"),e.text.openAllButtonText=Default2.getAnyString(e.text.openAllButtonText,"Open All"),e.text.copyAllButtonText=Default2.getAnyString(e.text.copyAllButtonText,"Copy All"),e.text.objectErrorText=Default2.getAnyString(e.text.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}"),e.text.attributeNotValidErrorText=Default2.getAnyString(e.text.attributeNotValidErrorText,"The attribute '{{attribute_name}}' is not a valid object."),e.text.attributeNotSetErrorText=Default2.getAnyString(e.text.attributeNotSetErrorText,"The attribute '{{attribute_name}}' has not been set correctly."),e.text.stText=Default2.getAnyString(e.text.stText,"st"),e.text.ndText=Default2.getAnyString(e.text.ndText,"nd"),e.text.rdText=Default2.getAnyString(e.text.rdText,"rd"),e.text.thText=Default2.getAnyString(e.text.thText,"th"),e.text.ellipsisText=Default2.getAnyString(e.text.ellipsisText,"..."),e.text.closeAllButtonSymbolText=Default2.getAnyString(e.text.closeAllButtonSymbolText,"↑"),e.text.openAllButtonSymbolText=Default2.getAnyString(e.text.openAllButtonSymbolText,"↓"),e.text.copyAllButtonSymbolText=Default2.getAnyString(e.text.copyAllButtonSymbolText,"❐"),e.text.backButtonText=Default2.getAnyString(e.text.backButtonText,"Back"),e.text.nextButtonText=Default2.getAnyString(e.text.nextButtonText,"Next"),e.text.backButtonSymbolText=Default2.getAnyString(e.text.backButtonSymbolText,"←"),e.text.nextButtonSymbolText=Default2.getAnyString(e.text.nextButtonSymbolText,"→"),e.text.noJsonToViewText=Default2.getAnyString(e.text.noJsonToViewText,"There is currently no JSON to view."),e.text.functionText=Default2.getAnyString(e.text.functionText,"function"),Is.invalidOptionArray(e.text.dayNames,7)&&(e.text.dayNames=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),Is.invalidOptionArray(e.text.dayNamesAbbreviated,7)&&(e.text.dayNamesAbbreviated=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]),Is.invalidOptionArray(e.text.monthNames,12)&&(e.text.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"]),Is.invalidOptionArray(e.text.monthNamesAbbreviated,12)&&(e.text.monthNamesAbbreviated=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e}(t),t}})(Config||(Config={})),(Trigger||(Trigger={})).customEvent=function(e,...t){let n=null;return Is.definedFunction(e)&&(n=e.apply(null,[].slice.call(t,0))),n},(e=>{function t(e,t=!0){let n=t?window.addEventListener:window.removeEventListener,r=t?document.addEventListener:document.removeEventListener;n("mousemove",(()=>o(e))),r("scroll",(()=>o(e)))}function n(e,t,n){DomElement.cancelBubble(e),o(t),t._currentView.tooltipTimerId=setTimeout((()=>{t._currentView.tooltip.innerHTML=n,t._currentView.tooltip.style.display="block",DomElement.showElementAtMousePosition(e,t._currentView.tooltip)}),t.tooltip.delay)}function o(e){Is.defined(e._currentView.tooltip)&&(0!==e._currentView.tooltipTimerId&&(clearTimeout(e._currentView.tooltipTimerId),e._currentView.tooltipTimerId=0),"none"!==e._currentView.tooltip.style.display&&(e._currentView.tooltip.style.display="none"))}e.renderControl=function(e){Is.defined(e._currentView.tooltip)||(e._currentView.tooltip=DomElement.create(document.body,"div","jsontree-js-tooltip"),e._currentView.tooltip.style.display="none",t(e))},e.assignToEvents=t,e.add=function(e,t,o){null!==e&&(e.onmousemove=e=>n(e,t,o))},e.show=n,e.hide=o})(ToolTip||(ToolTip={})),(()=>{let e={},t={},n=0;function o(){const t=e.domElementTypes,n=t.length;for(let e=0;efunction(e){e._currentView.element.classList.contains("full-screen")?DomElement.removeClass(e._currentView.element,"full-screen"):DomElement.addClass(e._currentView.element,"full-screen")}(t)),t._currentView.titleBarButtons=DomElement.create(o,"div","controls"),t.title.show&&DomElement.createWithHTML(o,"div","title",t.title.text,t._currentView.titleBarButtons),t.title.showCopyButton){const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","copy-all",e.text.copyAllButtonSymbolText);o.onclick=()=>function(e,t){let n=null,o=d;Is.definedFunction(e.events.onCopyJsonReplacer)&&(o=e.events.onCopyJsonReplacer);n=e.copyOnlyCurrentPage&&e.showArrayItemsAsSeparateObjects?JSON.stringify(t[e._currentView.dataArrayCurrentIndex],o,e.copyIndentSpaces):JSON.stringify(t,o,e.copyIndentSpaces);navigator.clipboard.writeText(n),Trigger.customEvent(e.events.onCopyAll,n)}(t,n),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.copyAllButtonText)}if(t.title.showTreeControls){const n=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","openAll",e.text.openAllButtonSymbolText);n.onclick=()=>a(t),n.ondblclick=DomElement.cancelBubble,ToolTip.add(n,t,e.text.openAllButtonText);const o=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","closeAll",e.text.closeAllButtonSymbolText);o.onclick=()=>s(t),o.ondblclick=DomElement.cancelBubble,ToolTip.add(o,t,e.text.closeAllButtonText)}t.showArrayItemsAsSeparateObjects&&Is.definedArray(n)&&n.length>1?(t._currentView.backButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","back",e.text.backButtonSymbolText),t._currentView.backButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.backButton,t,e.text.backButtonText),t._currentView.dataArrayCurrentIndex>0?t._currentView.backButton.onclick=()=>u(t):t._currentView.backButton.disabled=!0,t._currentView.nextButton=DomElement.createWithHTML(t._currentView.titleBarButtons,"button","next",e.text.nextButtonSymbolText),t._currentView.nextButton.ondblclick=DomElement.cancelBubble,ToolTip.add(t._currentView.nextButton,t,e.text.nextButtonText),t._currentView.dataArrayCurrentIndexc(t):t._currentView.nextButton.disabled=!0):Is.definedArray(n)&&(t.showArrayItemsAsSeparateObjects=!1)}}(n,r);const l=DomElement.create(n._currentView.element,"div","contents");o&&DomElement.addClass(l,"page-switch"),function(e,t){t.fileDroppingEnabled&&(e.ondragover=DomElement.cancelBubble,e.ondragenter=DomElement.cancelBubble,e.ondragleave=DomElement.cancelBubble,e.ondrop=e=>{DomElement.cancelBubble(e),Is.defined(window.FileReader)&&e.dataTransfer.files.length>0&&function(e,t){const n=e.length;for(let o=0;o0&&DomElement.createWithHTML(i,"span",n.showValueColors?"object count":"count",`{${l}}`),n.showOpeningClosingCurlyBraces&&(c=DomElement.createWithHTML(i,"span","opening-symbol","{")),m(s,null,a,n,o,r,c,!1,!0),y(n,u,o,"object")}}(l,n,r):Is.definedArray(r)&&function(t,n,o){const r=DomElement.create(t,"div","object-type-title"),l=DomElement.create(t,"div","object-type-contents object-type-contents-parent"),i=n.showArrowToggles?DomElement.create(r,"div","down-arrow"):null,a=DomElement.createWithHTML(r,"span",n.showValueColors?"array main-title":"main-title",e.text.arrayText);let s=null;n.showCounts&&DomElement.createWithHTML(r,"span",n.showValueColors?"array count":"count",`[${o.length}]`);n.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(r,"span","opening-symbol","["));f(i,null,l,n,o,s,!1,!0),y(n,a,o,"object")}(l,n,r),""===l.innerHTML?(DomElement.createWithHTML(l,"span","no-json-text",e.text.noJsonToViewText),n._currentView.titleBarButtons.style.display="none"):n._currentView.titleBarButtons.style.display="block"}function a(e){e.showAllAsClosed=!1,e._currentView.contentPanelsOpen={},i(e),Trigger.customEvent(e.events.onOpenAll,e._currentView.element)}function s(e){e.showAllAsClosed=!0,e._currentView.contentPanelsOpen={},i(e),Trigger.customEvent(e.events.onCloseAll,e._currentView.element)}function u(e){null===e._currentView.backButton||e._currentView.backButton.disabled||(e._currentView.dataArrayCurrentIndex--,i(e,!0),Trigger.customEvent(e.events.onBackPage,e._currentView.element))}function c(e){null===e._currentView.nextButton||e._currentView.nextButton.disabled||(e._currentView.dataArrayCurrentIndex++,i(e,!0),Trigger.customEvent(e.events.onNextPage,e._currentView.element))}function d(t,n){return Is.definedBigInt(n)||Is.definedSymbol(n)?n=n.toString():Is.definedFunction(n)&&(n=Default2.getFunctionName(n,e)),n}function g(e,o=!0){(o?document.addEventListener:document.removeEventListener)("keydown",(o=>function(e,o){o.shortcutKeysEnabled&&1===n&&t.hasOwnProperty(o._currentView.element.id)&&("ArrowLeft"===e.code?(e.preventDefault(),u(o)):"ArrowRight"===e.code?(e.preventDefault(),c(o)):"ArrowUp"===e.code?(e.preventDefault(),s(o)):"ArrowDown"===e.code&&(e.preventDefault(),a(o)))}(o,e)))}function m(e,t,n,o,r,l,i,a,s){const u=l.length;for(let e=0;e{clearTimeout(e._currentView.valueClickTimerId),e._currentView.valueClickTimerId=0,e._currentView.editMode=!0,DomElement.addClass(o,"editable"),o.setAttribute("contenteditable","true"),o.focus(),DomElement.selectAllText(o),o.onblur=()=>i(e,!1),o.onkeydown=e=>{if("Escape"==e.code)e.preventDefault(),o.setAttribute("contenteditable","false");else if("Enter"==e.code){e.preventDefault();const r=o.innerText;if(""===r.trim())delete t[n];else if(!t.hasOwnProperty(r)){const e=t[n];delete t[n],t[r]=e}o.setAttribute("contenteditable","false")}}})}(o,t,r,v),null===l)o.ignore.nullValues?w=!0:(d=o.showValueColors?"null value non-value":"value non-value",g=DomElement.createWithHTML(u,"span",d,"null"),D="null",Is.definedFunction(o.events.onNullRender)&&Trigger.customEvent(o.events.onNullRender,g),T(o,u,a));else if(void 0===l)o.ignore.undefinedValues?w=!0:(d=o.showValueColors?"undefined value non-value":"value non-value",g=DomElement.createWithHTML(u,"span",d,"undefined"),D="undefined",Is.definedFunction(o.events.onUndefinedRender)&&Trigger.customEvent(o.events.onUndefinedRender,g),T(o,u,a));else if(Is.definedFunction(l))o.ignore.functionValues?w=!0:(d=o.showValueColors?"function value non-value":"value non-value",g=DomElement.createWithHTML(u,"span",d,Default2.getFunctionName(l,e)),D="function",Is.definedFunction(o.events.onFunctionRender)&&Trigger.customEvent(o.events.onFunctionRender,g),T(o,u,a));else if(Is.definedBoolean(l))o.ignore.booleanValues?w=!0:(d=o.showValueColors?"boolean value":"value",g=DomElement.createWithHTML(u,"span",d,l),D="boolean",b(o,t,r,l,g,s,o.allowEditing.booleanValues),Is.definedFunction(o.events.onBooleanRender)&&Trigger.customEvent(o.events.onBooleanRender,g),T(o,u,a));else if(Is.definedDecimal(l))if(o.ignore.decimalValues)w=!0;else{const e=Default2.getFixedDecimalPlacesValue(l,o.maximumDecimalPlaces);d=o.showValueColors?"decimal value":"value",g=DomElement.createWithHTML(u,"span",d,e),D="decimal",b(o,t,r,l,g,s,o.allowEditing.decimalValues),Is.definedFunction(o.events.onDecimalRender)&&Trigger.customEvent(o.events.onDecimalRender,g),T(o,u,a)}else if(Is.definedNumber(l))o.ignore.numberValues?w=!0:(d=o.showValueColors?"number value":"value",g=DomElement.createWithHTML(u,"span",d,l),D="number",b(o,t,r,l,g,s,o.allowEditing.numberValues),Is.definedFunction(o.events.onNumberRender)&&Trigger.customEvent(o.events.onNumberRender,g),T(o,u,a));else if(Is.definedBigInt(l))o.ignore.bigIntValues?w=!0:(d=o.showValueColors?"bigint value":"value",g=DomElement.createWithHTML(u,"span",d,l),D="bigint",b(o,t,r,l,g,s,o.allowEditing.bigIntValues),Is.definedFunction(o.events.onBigIntRender)&&Trigger.customEvent(o.events.onBigIntRender,g),T(o,u,a));else if(Is.definedString(l)&&Is.String.guid(l))o.ignore.guidValues?w=!0:(d=o.showValueColors?"guid value":"value",g=DomElement.createWithHTML(u,"span",d,l),D="guid",b(o,t,r,l,g,s,o.allowEditing.guidValues),Is.definedFunction(o.events.onGuidRender)&&Trigger.customEvent(o.events.onGuidRender,g),T(o,u,a));else if(Is.definedString(l)&&(Is.String.hexColor(l)||Is.String.rgbColor(l)))o.ignore.colorValues?w=!0:(d=o.showValueColors?"color value":"value",g=DomElement.createWithHTML(u,"span",d,l),D="color",o.showValueColors&&(g.style.color=l),b(o,t,r,l,g,s,o.allowEditing.colorValues),Is.definedFunction(o.events.onColorRender)&&Trigger.customEvent(o.events.onColorRender,g),T(o,u,a));else if(Is.definedString(l))if(o.ignore.stringValues)w=!0;else if(o.parse.stringsToBooleans&&Is.String.boolean(l))p(t,n,o,r,"true"===l.toString().toLowerCase().trim(),a,s),w=!0;else if(o.parse.stringsToNumbers&&!isNaN(l))p(t,n,o,r,parseFloat(l),a,s),w=!0;else if(o.parse.stringsToDates&&Is.String.date(l))p(t,n,o,r,new Date(l),a,s),w=!0;else{o.maximumStringLength>0&&l.length>o.maximumStringLength&&(l=l.substring(0,o.maximumStringLength)+e.text.ellipsisText);const n=o.showStringQuotes?`"${l}"`:l;d=o.showValueColors?"string value":"value",g=DomElement.createWithHTML(u,"span",d,n),D="string",b(o,t,r,l,g,s,o.allowEditing.stringValues),Is.definedFunction(o.events.onStringRender)&&Trigger.customEvent(o.events.onStringRender,g),T(o,u,a)}else if(Is.definedDate(l))o.ignore.dateValues?w=!0:(d=o.showValueColors?"date value":"value",g=DomElement.createWithHTML(u,"span",d,DateTime.getCustomFormattedDateText(e,l,o.dateTimeFormat)),D="date",b(o,t,r,l,g,s,o.allowEditing.dateValues),Is.definedFunction(o.events.onDateRender)&&Trigger.customEvent(o.events.onDateRender,g),T(o,u,a));else if(Is.definedSymbol(l))o.ignore.symbolValues?w=!0:(d=o.showValueColors?"symbol value":"value",g=DomElement.createWithHTML(u,"span",d,l.toString()),D="symbol",Is.definedFunction(o.events.onSymbolRender)&&Trigger.customEvent(o.events.onSymbolRender,g),T(o,u,a));else if(Is.definedObject(l)&&!Is.definedArray(l))if(o.ignore.objectValues)w=!0;else{const t=x(l,o),n=t.length;if(0===n&&o.ignore.emptyObjects)w=!0;else{const r=DomElement.create(u,"span",o.showValueColors?"object":""),i=DomElement.create(u,"div","object-type-contents");let s=null;g=DomElement.createWithHTML(r,"span","main-title",e.text.objectText),o.showCounts&&n>0&&DomElement.createWithHTML(r,"span","count",`{${n}}`),o.showOpeningClosingCurlyBraces&&(s=DomElement.createWithHTML(r,"span","opening-symbol","{")),m(c,T(o,r,a),i,o,l,t,s,!0,a),D="object"}}else if(Is.definedArray(l))if(o.ignore.arrayValues)w=!0;else{const t=DomElement.create(u,"span",o.showValueColors?"array":""),n=DomElement.create(u,"div","object-type-contents");let r=null;g=DomElement.createWithHTML(t,"span","main-title",e.text.arrayText),o.showCounts&&DomElement.createWithHTML(t,"span","count",`[${l.length}]`),o.showOpeningClosingCurlyBraces&&(r=DomElement.createWithHTML(t,"span","opening-symbol","[")),f(c,T(o,t,a),n,o,l,r,!0,a),D="array"}else o.ignore.unknownValues?w=!0:(d=o.showValueColors?"unknown value non-value":"value non-value",g=DomElement.createWithHTML(u,"span",d,l.toString()),D="unknown",Is.definedFunction(o.events.onUnknownRender)&&Trigger.customEvent(o.events.onUnknownRender,g),T(o,u,a));w?n.removeChild(u):Is.defined(g)&&y(o,g,l,D)}function b(e,t,n,o,r,l,a){a&&(r.ondblclick=()=>{clearTimeout(e._currentView.valueClickTimerId),e._currentView.valueClickTimerId=0,e._currentView.editMode=!0,DomElement.addClass(r,"editable"),r.setAttribute("contenteditable","true"),Is.definedDate(o)&&!e.includeTimeZoneInDateTimeEditing?r.innerText=JSON.stringify(o).replace(/['"]+/g,""):r.innerText=o.toString(),r.focus(),DomElement.selectAllText(r),r.onblur=()=>i(e,!1),r.onkeydown=e=>{if("Escape"==e.code)e.preventDefault(),r.setAttribute("contenteditable","false");else if("Enter"==e.code){e.preventDefault();const i=r.innerText;if(""===i.trim())l?t.splice(w(n),1):delete t[n];else{let e=null;Is.definedBoolean(o)?e="true"===i.toLowerCase():Is.definedDecimal(o)&&!isNaN(+i)?e=parseFloat(i):Is.definedNumber(o)&&!isNaN(+i)?e=parseInt(i):Is.definedString(o)?e=i:Is.definedDate(o)?e=new Date(i):Is.definedBigInt(o)&&(e=BigInt(i)),null!==e&&(l?t[w(n)]=e:t[n]=e)}r.setAttribute("contenteditable","false")}}})}function w(e){return parseInt(e.replace("[","").replace("]",""))}function y(e,t,n,o){Is.definedFunction(e.events.onValueClick)?t.onclick=()=>{e.allowEditing?e._currentView.valueClickTimerId=setTimeout((()=>{e._currentView.editMode||Trigger.customEvent(e.events.onValueClick,n,o)}),500):Trigger.customEvent(e.events.onValueClick,n,o)}:DomElement.addClass(t,"no-hover")}function D(e,t,n,o,r){if(Is.defined(t)){const l=e._currentView.contentPanelsIndex,i=e._currentView.dataArrayCurrentIndex;e._currentView.contentPanelsOpen.hasOwnProperty(i)||(e._currentView.contentPanelsOpen[i]={});const a=()=>{o.style.display="none",t.className="right-arrow",e._currentView.contentPanelsOpen[i][l]=!0,Is.defined(r)&&(r.style.display="none"),Is.defined(n)&&(n.style.display="inline-block")},s=()=>{o.style.display="block",t.className="down-arrow",e._currentView.contentPanelsOpen[i][l]=!1,Is.defined(r)&&(r.style.display="inline-block"),Is.defined(n)&&(n.style.display="none")},u=e=>{e?a():s()};let c=e.showAllAsClosed;e._currentView.contentPanelsOpen[i].hasOwnProperty(l)?c=e._currentView.contentPanelsOpen[i][l]:e._currentView.contentPanelsOpen[i][l]=c,t.onclick=()=>u("down-arrow"===t.className),u(c),e._currentView.contentPanelsIndex++}}function T(e,t,n){let o=null;return e.showCommas&&!n&&(o=DomElement.createWithHTML(t,"span","comma",",")),o}function v(e,t,n){let o=e.useZeroIndexingForArrays?t.toString():(t+1).toString();return e.addArrayIndexPadding||(o=Str.padNumber(parseInt(o),n.toString().length)),e.showArrayIndexBrackets&&(o=`[${o}]`),o}function x(e,t){let n=[];for(let t in e)e.hasOwnProperty(t)&&n.push(t);if(t.sortPropertyNames){let e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});n=n.sort(e.compare),t.sortPropertyNamesInAlphabeticalOrder||(n=n.reverse())}return n}function h(e,t,n,o,r){let l=DomElement.create(t,"div","closing-symbol");o&&DomElement.create(l,"div","no-arrow"),DomElement.createWithHTML(l,"div","object-type-end",n),T(e,l,r)}function V(t,n){const o=new FileReader;let r=null;o.onloadend=()=>{n._currentView.dataArrayCurrentIndex=0,n._currentView.contentPanelsOpen={},n.data=r,i(n),Trigger.customEvent(n.events.onSetJson,n._currentView.element)},o.onload=t=>{const n=Default2.getObjectFromString(t.target.result,e);n.parsed&&Is.definedObject(n.object)&&(r=n.object)},o.readAsText(t)}function E(e){e._currentView.element.innerHTML="",DomElement.removeClass(e._currentView.element,"json-tree-js"),""===e._currentView.element.className.trim()&&e._currentView.element.removeAttribute("class"),e._currentView.idSet&&e._currentView.element.removeAttribute("id"),g(e,!1),ToolTip.assignToEvents(e,!1),Trigger.customEvent(e.events.onDestroy,e._currentView.element)}const S={refresh:function(e){if(Is.definedString(e)&&t.hasOwnProperty(e)){const n=t[e];i(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return S},refreshAll:function(){for(let e in t)if(t.hasOwnProperty(e)){const n=t[e];i(n),Trigger.customEvent(n.events.onRefresh,n._currentView.element)}return S},render:function(e,t){return Is.definedObject(e)&&Is.definedObject(t)&&l(Binding.Options.getForNewInstance(t,e)),S},renderAll:function(){return o(),S},openAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&a(t[e]),S},closeAll:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&s(t[e]),S},setJson:function(n,o){if(Is.definedString(n)&&Is.defined(o)&&t.hasOwnProperty(n)){let r=null;if(Is.definedString(o)){const t=Default2.getObjectFromString(o,e);t.parsed&&(r=t.object)}else r=o;const l=t[n];l._currentView.dataArrayCurrentIndex=0,l._currentView.contentPanelsOpen={},l.data=r,i(l),Trigger.customEvent(l.events.onSetJson,l._currentView.element)}return S},getJson:function(e){let n=null;return Is.definedString(e)&&t.hasOwnProperty(e)&&(n=t[e].data),n},destroy:function(e){return Is.definedString(e)&&t.hasOwnProperty(e)&&(E(t[e]),delete t[e],n--),S},destroyAll:function(){for(let e in t)t.hasOwnProperty(e)&&E(t[e]);return t={},n=0,S},setConfiguration:function(t){if(Is.definedObject(t)){let n=!1;const o=e;for(let r in t)t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&o[r]!==t[r]&&(o[r]=t[r],n=!0);n&&(e=Config.Options.get(o))}return S},getIds:function(){const e=[];for(let n in t)t.hasOwnProperty(n)&&e.push(n);return e},getVersion:function(){return"2.7.0"}};e=Config.Options.get(),document.addEventListener("DOMContentLoaded",(()=>o())),Is.defined(window.$jsontree)||(window.$jsontree=S)})();
\ No newline at end of file
diff --git a/dist/themes/dark/jsontree.js.default.theme.css b/dist/themes/dark/jsontree.js.default.theme.css
index 2ae4488e..7257de15 100644
--- a/dist/themes/dark/jsontree.js.default.theme.css
+++ b/dist/themes/dark/jsontree.js.default.theme.css
@@ -1,5 +1,6 @@
:root {
/* Colors */
+ --json-tree-js-color-dark-black: #1c2128;
--json-tree-js-color-black: #3b3a3a;
--json-tree-js-color-white: #F5F5F5;
--json-tree-js-color-snow-white: #F5F5F5;
diff --git a/dist/themes/light/jsontree.js.light.theme.css b/dist/themes/light/jsontree.js.light.theme.css
index 8194436f..a954d41a 100644
--- a/dist/themes/light/jsontree.js.light.theme.css
+++ b/dist/themes/light/jsontree.js.light.theme.css
@@ -1,5 +1,6 @@
:root {
/* Colors */
+ --json-tree-js-color-dark-black: #d8d5d5;
--json-tree-js-color-black: #F5F5F5;
--json-tree-js-color-white: #3b3a3a;
--json-tree-js-color-snow-white: #F5F5F5;
diff --git a/dist/translations/jsontree.translations.af.js b/dist/translations/jsontree.translations.af.js
index 2a8f073a..fd55feef 100644
--- a/dist/translations/jsontree.translations.af.js
+++ b/dist/translations/jsontree.translations.af.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Afrikaans | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Afrikaans | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ar.js b/dist/translations/jsontree.translations.ar.js
index d67b05d4..ca577cf9 100644
--- a/dist/translations/jsontree.translations.ar.js
+++ b/dist/translations/jsontree.translations.ar.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Arabic | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Arabic | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.be.js b/dist/translations/jsontree.translations.be.js
index 26ef9dcb..0fd54f56 100644
--- a/dist/translations/jsontree.translations.be.js
+++ b/dist/translations/jsontree.translations.be.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Belarusian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Belarusian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayHeaderNames": [
diff --git a/dist/translations/jsontree.translations.bg.js b/dist/translations/jsontree.translations.bg.js
index 7d819fd3..479b5b3b 100644
--- a/dist/translations/jsontree.translations.bg.js
+++ b/dist/translations/jsontree.translations.bg.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Bulgarian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Bulgarian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.bn.js b/dist/translations/jsontree.translations.bn.js
index 782f4564..be25e494 100644
--- a/dist/translations/jsontree.translations.bn.js
+++ b/dist/translations/jsontree.translations.bn.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Bengali | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Bengali | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.da.js b/dist/translations/jsontree.translations.da.js
index 46bdac6d..202e0bf3 100644
--- a/dist/translations/jsontree.translations.da.js
+++ b/dist/translations/jsontree.translations.da.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Danish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Danish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.de.js b/dist/translations/jsontree.translations.de.js
index 9fb49857..9b23928d 100644
--- a/dist/translations/jsontree.translations.de.js
+++ b/dist/translations/jsontree.translations.de.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - German | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - German | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.el.js b/dist/translations/jsontree.translations.el.js
index 8270d263..b736cf64 100644
--- a/dist/translations/jsontree.translations.el.js
+++ b/dist/translations/jsontree.translations.el.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Greek | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Greek | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.en.js b/dist/translations/jsontree.translations.en.js
index f3f2a0d9..a95ff8b4 100644
--- a/dist/translations/jsontree.translations.en.js
+++ b/dist/translations/jsontree.translations.en.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - English | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - English | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.eo.js b/dist/translations/jsontree.translations.eo.js
index a91f3dd9..25b96a7e 100644
--- a/dist/translations/jsontree.translations.eo.js
+++ b/dist/translations/jsontree.translations.eo.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Esperanto | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Esperanto | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.es.js b/dist/translations/jsontree.translations.es.js
index 6082c66a..83ee0d19 100644
--- a/dist/translations/jsontree.translations.es.js
+++ b/dist/translations/jsontree.translations.es.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Spanish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Spanish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.et.js b/dist/translations/jsontree.translations.et.js
index 789eeddc..8fea4288 100644
--- a/dist/translations/jsontree.translations.et.js
+++ b/dist/translations/jsontree.translations.et.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Estonian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Estonian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.fa.js b/dist/translations/jsontree.translations.fa.js
index 07cd805a..9d9691b5 100644
--- a/dist/translations/jsontree.translations.fa.js
+++ b/dist/translations/jsontree.translations.fa.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Farsi | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Farsi | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.fi.js b/dist/translations/jsontree.translations.fi.js
index 787a8309..bc0f659f 100644
--- a/dist/translations/jsontree.translations.fi.js
+++ b/dist/translations/jsontree.translations.fi.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Finnish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Finnish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.fr.js b/dist/translations/jsontree.translations.fr.js
index 6c5c547c..1a8e8c0c 100644
--- a/dist/translations/jsontree.translations.fr.js
+++ b/dist/translations/jsontree.translations.fr.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - French | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - French | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.fy.js b/dist/translations/jsontree.translations.fy.js
index 1af7ab07..c17607e3 100644
--- a/dist/translations/jsontree.translations.fy.js
+++ b/dist/translations/jsontree.translations.fy.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Frisian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Frisian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ga.js b/dist/translations/jsontree.translations.ga.js
index 2a4bae61..b6df2ac8 100644
--- a/dist/translations/jsontree.translations.ga.js
+++ b/dist/translations/jsontree.translations.ga.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Irish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Irish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.gl.js b/dist/translations/jsontree.translations.gl.js
index 62249ffa..88508a50 100644
--- a/dist/translations/jsontree.translations.gl.js
+++ b/dist/translations/jsontree.translations.gl.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Galician | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Galician | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.he.js b/dist/translations/jsontree.translations.he.js
index 640e0acb..4a2e05ad 100644
--- a/dist/translations/jsontree.translations.he.js
+++ b/dist/translations/jsontree.translations.he.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Hebrew | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Hebrew | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.hi.js b/dist/translations/jsontree.translations.hi.js
index 2eabfd0d..97eaf482 100644
--- a/dist/translations/jsontree.translations.hi.js
+++ b/dist/translations/jsontree.translations.hi.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Hindi | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Hindi | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.hu.js b/dist/translations/jsontree.translations.hu.js
index e65b2105..8d53144b 100644
--- a/dist/translations/jsontree.translations.hu.js
+++ b/dist/translations/jsontree.translations.hu.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Hungarian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Hungarian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.hy.js b/dist/translations/jsontree.translations.hy.js
index b85d4988..a2b5a041 100644
--- a/dist/translations/jsontree.translations.hy.js
+++ b/dist/translations/jsontree.translations.hy.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Armenian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Armenian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.id.js b/dist/translations/jsontree.translations.id.js
index 2432802c..df55d328 100644
--- a/dist/translations/jsontree.translations.id.js
+++ b/dist/translations/jsontree.translations.id.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Indonesian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Indonesian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.is.js b/dist/translations/jsontree.translations.is.js
index 141ce37b..e9fa3323 100644
--- a/dist/translations/jsontree.translations.is.js
+++ b/dist/translations/jsontree.translations.is.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Icelandic | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Icelandic | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.it.js b/dist/translations/jsontree.translations.it.js
index aa997f1c..3ce2e279 100644
--- a/dist/translations/jsontree.translations.it.js
+++ b/dist/translations/jsontree.translations.it.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Italian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Italian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ja.js b/dist/translations/jsontree.translations.ja.js
index 9114c7a8..6c69b8c3 100644
--- a/dist/translations/jsontree.translations.ja.js
+++ b/dist/translations/jsontree.translations.ja.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Japanese | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Japanese | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ka.js b/dist/translations/jsontree.translations.ka.js
index 65203d55..6a2d47c7 100644
--- a/dist/translations/jsontree.translations.ka.js
+++ b/dist/translations/jsontree.translations.ka.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Georgian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Georgian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ko.js b/dist/translations/jsontree.translations.ko.js
index d1ef4d33..f1b926b5 100644
--- a/dist/translations/jsontree.translations.ko.js
+++ b/dist/translations/jsontree.translations.ko.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Korean | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Korean | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.lb.js b/dist/translations/jsontree.translations.lb.js
index aedf8cb6..02a36116 100644
--- a/dist/translations/jsontree.translations.lb.js
+++ b/dist/translations/jsontree.translations.lb.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Luxembourgish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Luxembourgish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.lt.js b/dist/translations/jsontree.translations.lt.js
index fe87a87b..c95f3081 100644
--- a/dist/translations/jsontree.translations.lt.js
+++ b/dist/translations/jsontree.translations.lt.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Lithuanian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Lithuanian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.lv.js b/dist/translations/jsontree.translations.lv.js
index 51054e69..81be5465 100644
--- a/dist/translations/jsontree.translations.lv.js
+++ b/dist/translations/jsontree.translations.lv.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Latvian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Latvian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ms.js b/dist/translations/jsontree.translations.ms.js
index bb84c403..945ebdc7 100644
--- a/dist/translations/jsontree.translations.ms.js
+++ b/dist/translations/jsontree.translations.ms.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Malay | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Malay | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ne.js b/dist/translations/jsontree.translations.ne.js
index 15ef1201..9174698d 100644
--- a/dist/translations/jsontree.translations.ne.js
+++ b/dist/translations/jsontree.translations.ne.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Nepali | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Nepali | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.nl.js b/dist/translations/jsontree.translations.nl.js
index 198253a9..4702b944 100644
--- a/dist/translations/jsontree.translations.nl.js
+++ b/dist/translations/jsontree.translations.nl.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Dutch | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Dutch | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.no.js b/dist/translations/jsontree.translations.no.js
index 906110c4..ba8edd2a 100644
--- a/dist/translations/jsontree.translations.no.js
+++ b/dist/translations/jsontree.translations.no.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Norwegian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Norwegian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.pl.js b/dist/translations/jsontree.translations.pl.js
index 513d65b2..8fac7299 100644
--- a/dist/translations/jsontree.translations.pl.js
+++ b/dist/translations/jsontree.translations.pl.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Portuguese | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Portuguese | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.pt.js b/dist/translations/jsontree.translations.pt.js
index 5910c536..7df8a159 100644
--- a/dist/translations/jsontree.translations.pt.js
+++ b/dist/translations/jsontree.translations.pt.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Polish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Polish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ro.js b/dist/translations/jsontree.translations.ro.js
index 557b191b..7a7b43b2 100644
--- a/dist/translations/jsontree.translations.ro.js
+++ b/dist/translations/jsontree.translations.ro.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Romanian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Romanian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.si.js b/dist/translations/jsontree.translations.si.js
index 66ccea49..4243c8aa 100644
--- a/dist/translations/jsontree.translations.si.js
+++ b/dist/translations/jsontree.translations.si.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Sinhalese | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Sinhalese | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.sk.js b/dist/translations/jsontree.translations.sk.js
index c9cc9a15..7bc4483a 100644
--- a/dist/translations/jsontree.translations.sk.js
+++ b/dist/translations/jsontree.translations.sk.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Slovak | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Slovak | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.sl.js b/dist/translations/jsontree.translations.sl.js
index 34e491a9..358cc3ad 100644
--- a/dist/translations/jsontree.translations.sl.js
+++ b/dist/translations/jsontree.translations.sl.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Slovenian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Slovenian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.sv.js b/dist/translations/jsontree.translations.sv.js
index af9c2b77..abad0df0 100644
--- a/dist/translations/jsontree.translations.sv.js
+++ b/dist/translations/jsontree.translations.sv.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Swedish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Swedish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.ta.js b/dist/translations/jsontree.translations.ta.js
index f865de63..c2a67433 100644
--- a/dist/translations/jsontree.translations.ta.js
+++ b/dist/translations/jsontree.translations.ta.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Tamil | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Tamil | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.te.js b/dist/translations/jsontree.translations.te.js
index 81529e06..08500e56 100644
--- a/dist/translations/jsontree.translations.te.js
+++ b/dist/translations/jsontree.translations.te.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Telugu | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Telugu | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.th.js b/dist/translations/jsontree.translations.th.js
index 487d8b38..1346f2d8 100644
--- a/dist/translations/jsontree.translations.th.js
+++ b/dist/translations/jsontree.translations.th.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Thai | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Thai | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.tl.js b/dist/translations/jsontree.translations.tl.js
index f363b7d2..2431830c 100644
--- a/dist/translations/jsontree.translations.tl.js
+++ b/dist/translations/jsontree.translations.tl.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Tagalog | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Tagalog | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.tr.js b/dist/translations/jsontree.translations.tr.js
index 006b329e..ecf1fc32 100644
--- a/dist/translations/jsontree.translations.tr.js
+++ b/dist/translations/jsontree.translations.tr.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Turkish | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Turkish | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.uk.js b/dist/translations/jsontree.translations.uk.js
index 498a3437..357d1f76 100644
--- a/dist/translations/jsontree.translations.uk.js
+++ b/dist/translations/jsontree.translations.uk.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Ukrainian | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Ukrainian | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.zh-tw.js b/dist/translations/jsontree.translations.zh-tw.js
index ade26d49..e2622669 100644
--- a/dist/translations/jsontree.translations.zh-tw.js
+++ b/dist/translations/jsontree.translations.zh-tw.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Taiwanese | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Taiwanese | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/dist/translations/jsontree.translations.zh.js b/dist/translations/jsontree.translations.zh.js
index 4ce9d032..d8c2897b 100644
--- a/dist/translations/jsontree.translations.zh.js
+++ b/dist/translations/jsontree.translations.zh.js
@@ -1,4 +1,4 @@
-/*! JsonTree.js v2.6.0 - Chinese (simplified) | (c) Bunoon 2024 | MIT License */
+/*! JsonTree.js v2.7.0 - Chinese (simplified) | (c) Bunoon 2024 | MIT License */
$jsontree.setConfiguration( {
"text": {
"dayNames": [
diff --git a/docs/images/main.png b/docs/images/main.png
index e36e963b..710df305 100644
Binary files a/docs/images/main.png and b/docs/images/main.png differ
diff --git a/jsontree.js.nuspec b/jsontree.js.nuspec
index 5321eb3a..92c0a7b4 100755
--- a/jsontree.js.nuspec
+++ b/jsontree.js.nuspec
@@ -2,7 +2,7 @@
jJsonTree.js
- 2.6.0
+ 2.7.0
JsonTree.js
A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
William Troup
diff --git a/package-lock.json b/package-lock.json
index 0787fa65..66516267 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "jjsontree.js",
- "version": "2.6.0",
+ "version": "2.7.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "jjsontree.js",
- "version": "2.6.0",
+ "version": "2.7.0",
"license": "MIT",
"devDependencies": {
"@swc/core": "^1.7.6",
diff --git a/package.json b/package.json
index 73e4a760..abff1c9c 100755
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "jjsontree.js",
"title": "JsonTree.js",
"description": "A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.",
- "version": "2.6.0",
+ "version": "2.7.0",
"homepage": "https://www.william-troup.com/jsontree-js/",
"author": {
"name": "Bunoon"
diff --git a/src/jsontree.js.scss b/src/jsontree.js.scss
index 48437eef..aa8da692 100755
--- a/src/jsontree.js.scss
+++ b/src/jsontree.js.scss
@@ -1,5 +1,5 @@
/*
- * JsonTree.js Library v2.6.0
+ * JsonTree.js Library v2.7.0
*
* Copyright 2024 Bunoon
* Released under the MIT License
@@ -30,6 +30,7 @@
--json-tree-js-text-bold-weight-active: var(--json-tree-js-header-bold-weight);
// Colors
+ --json-tree-js-color-dark-black: #1c2128;
--json-tree-js-color-black: #3b3a3a;
--json-tree-js-color-white: #F5F5F5;
--json-tree-js-color-snow-white: #F5F5F5;
@@ -49,6 +50,7 @@
--json-tree-js-color-symbol: #DAA06D;
--json-tree-js-color-function: var(--json-tree-js-color-null);
--json-tree-js-color-unknown: var(--json-tree-js-color-null);
+ --json-tree-js-color-guid: #c45600;
// Colors - Editable Fields
--json-tree-js-editable-text-color: var(--json-tree-js-color-snow-white);
@@ -104,7 +106,6 @@ div.json-tree-js {
background-color: var(--json-tree-js-container-background-color);
color: var(--json-tree-js-color-white);
border: var(--json-tree-js-border-size) solid var(--json-tree-js-container-border-color);
- padding: var(--json-tree-js-spacing);
font-size: var(--json-tree-js-spacing-font-size);
font-weight: var(--json-tree-js-text-bold-weight);
width: 100%;
@@ -134,6 +135,27 @@ div.json-tree-js {
}
}
+div.full-screen {
+ position: fixed;
+ display: flex;
+ flex-direction: column;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ max-width: none;
+ border-radius: 0;
+ z-index: 1000;
+
+ div.title-bar {
+ border-radius: 0 !important;
+ }
+
+ div.contents {
+ flex-grow: 1;
+ }
+}
+
/*
-------------------------------------------------------------------------
@@ -187,13 +209,20 @@ div.json-tree-js {
div.json-tree-js {
div.title-bar {
display: flex;
+ padding: calc( var(--json-tree-js-spacing) / 2 );
margin-bottom: var(--json-tree-js-spacing);
+ background-color: var(--json-tree-js-color-dark-black);
+ border-radius: var(--json-tree-js-border-radius);
+ border-bottom: var(--json-tree-js-container-border-color) solid var(--json-tree-js-border-size);
+ justify-content: center;
+ align-items: center;
div.title {
text-align: left;
width: auto;
font-weight: var(--json-tree-js-title-bold-weight);
font-size: 1.2rem;
+ margin-left: calc( var(--json-tree-js-spacing) / 2 );
}
div.controls {
@@ -233,10 +262,11 @@ div.json-tree-js {
div.json-tree-js {
div.contents {
- padding: 0 !important;
+ padding: var(--json-tree-js-spacing);
+ padding-top: 0;
margin: 0 !important;
overflow-x: auto;
- overflow-y: hidden;
+ overflow-y: auto;
span.no-json-text {
font-style: italic;
@@ -439,6 +469,10 @@ div.json-tree-js {
color: var(--json-tree-js-color-null);
}
+ span.guid {
+ color: var(--json-tree-js-color-guid);
+ }
+
span.count {
margin-left: calc( var(--json-tree-js-spacing) / 2 );
font-weight: var(--json-tree-js-text-bold-weight);
diff --git a/src/jsontree.ts b/src/jsontree.ts
index b11de802..b86c378f 100644
--- a/src/jsontree.ts
+++ b/src/jsontree.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file jsontree.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -41,6 +41,7 @@ type JsonTreeData = Record;
// Variables: Data
let _elements_Data: JsonTreeData = {} as JsonTreeData;
+ let _elements_Data_Count: number = 0;
/*
@@ -101,18 +102,24 @@ type JsonTreeData = Record;
ToolTip.renderControl( bindingOptions );
if ( !Is.definedString( bindingOptions._currentView.element.id ) ) {
- bindingOptions._currentView.element.id = Str.newGuid();
+ bindingOptions._currentView.element.id = crypto.randomUUID();
bindingOptions._currentView.idSet = true;
}
bindingOptions._currentView.element.className = "json-tree-js";
bindingOptions._currentView.element.removeAttribute( Constants.JSONTREE_JS_ATTRIBUTE_NAME );
+ if ( bindingOptions.enableFullScreenToggling && bindingOptions.openInFullScreenMode ) {
+ DomElement.addClass( bindingOptions._currentView.element, "full-screen" );
+ }
+
if ( !_elements_Data.hasOwnProperty( bindingOptions._currentView.element.id ) ) {
_elements_Data[ bindingOptions._currentView.element.id ] = bindingOptions;
+ _elements_Data_Count++;
}
renderControlContainer( bindingOptions );
+ buildDocumentEvents( bindingOptions );
Trigger.customEvent( bindingOptions.events!.onRenderComplete!, bindingOptions._currentView.element );
}
@@ -166,6 +173,10 @@ type JsonTreeData = Record;
if ( bindingOptions.title!.show || bindingOptions.title!.showTreeControls || bindingOptions.title!.showCopyButton ) {
const titleBar: HTMLElement = DomElement.create( bindingOptions._currentView.element, "div", "title-bar" );
+ if ( bindingOptions.enableFullScreenToggling ) {
+ titleBar.ondblclick = () => onTitleBarDblClick( bindingOptions );
+ }
+
bindingOptions._currentView.titleBarButtons = DomElement.create( titleBar, "div", "controls" );
if ( bindingOptions.title!.show ) {
@@ -174,67 +185,50 @@ type JsonTreeData = Record;
if ( bindingOptions.title!.showCopyButton ) {
const copy: HTMLButtonElement = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "copy-all", _configuration.text!.copyAllButtonSymbolText! ) as HTMLButtonElement;
+ copy.onclick = () => onTitleBarCopyClick( bindingOptions, data );
+ copy.ondblclick = DomElement.cancelBubble;
ToolTip.add( copy, bindingOptions, _configuration.text!.copyAllButtonText! );
-
- copy.onclick = () => {
- onTitleBarCopyClick( bindingOptions, data );
- };
}
if ( bindingOptions.title!.showTreeControls ) {
const openAll: HTMLButtonElement = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "openAll", _configuration.text!.openAllButtonSymbolText! ) as HTMLButtonElement;
+ openAll.onclick = () => onOpenAll( bindingOptions );
+ openAll.ondblclick = DomElement.cancelBubble;
ToolTip.add( openAll, bindingOptions, _configuration.text!.openAllButtonText! );
const closeAll: HTMLButtonElement = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "closeAll", _configuration.text!.closeAllButtonSymbolText! ) as HTMLButtonElement;
+ closeAll.onclick = () => onCloseAll( bindingOptions );
+ closeAll.ondblclick = DomElement.cancelBubble;
ToolTip.add( closeAll, bindingOptions, _configuration.text!.closeAllButtonText! );
-
- openAll.onclick = () => {
- openAllNodes( bindingOptions );
- };
-
- closeAll.onclick = () => {
- closeAllNodes( bindingOptions );
- };
}
if ( bindingOptions.showArrayItemsAsSeparateObjects && Is.definedArray( data ) && data.length > 1 ) {
- const back: HTMLButtonElement = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "back", _configuration.text!.backButtonSymbolText! ) as HTMLButtonElement;
+ bindingOptions._currentView.backButton = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "back", _configuration.text!.backButtonSymbolText! ) as HTMLButtonElement;
+ bindingOptions._currentView.backButton.ondblclick = DomElement.cancelBubble;
- ToolTip.add( back, bindingOptions, _configuration.text!.backButtonText! );
+ ToolTip.add( bindingOptions._currentView.backButton, bindingOptions, _configuration.text!.backButtonText! );
if ( bindingOptions._currentView.dataArrayCurrentIndex > 0 ) {
- back.onclick = () => {
- bindingOptions._currentView.dataArrayCurrentIndex--;
-
- renderControlContainer( bindingOptions, true );
- Trigger.customEvent( bindingOptions.events!.onBackPage!, bindingOptions._currentView.element );
- };
-
+ bindingOptions._currentView.backButton.onclick = () => onBackPage( bindingOptions );
} else {
- back.disabled = true;
+ bindingOptions._currentView.backButton.disabled = true;
}
- const next: HTMLButtonElement = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "next", _configuration.text!.nextButtonSymbolText! ) as HTMLButtonElement;
+ bindingOptions._currentView.nextButton = DomElement.createWithHTML( bindingOptions._currentView.titleBarButtons, "button", "next", _configuration.text!.nextButtonSymbolText! ) as HTMLButtonElement;
+ bindingOptions._currentView.nextButton.ondblclick = DomElement.cancelBubble;
- ToolTip.add( next, bindingOptions, _configuration.text!.nextButtonText! );
+ ToolTip.add( bindingOptions._currentView.nextButton, bindingOptions, _configuration.text!.nextButtonText! );
if ( bindingOptions._currentView.dataArrayCurrentIndex < data.length - 1 ) {
- next.onclick = () => {
- bindingOptions._currentView.dataArrayCurrentIndex++;
-
- renderControlContainer( bindingOptions, true );
- Trigger.customEvent( bindingOptions.events!.onNextPage!, bindingOptions._currentView.element );
- };
-
+ bindingOptions._currentView.nextButton.onclick = () => onNextPage( bindingOptions );
} else {
- next.disabled = true;
+ bindingOptions._currentView.nextButton.disabled = true;
}
} else {
-
if ( Is.definedArray( data ) ) {
bindingOptions.showArrayItemsAsSeparateObjects = false;
}
@@ -242,6 +236,14 @@ type JsonTreeData = Record;
}
}
+ function onTitleBarDblClick( bindingOptions: BindingOptions ) : void {
+ if ( bindingOptions._currentView.element.classList.contains( "full-screen" ) ) {
+ DomElement.removeClass( bindingOptions._currentView.element, "full-screen" );
+ } else {
+ DomElement.addClass( bindingOptions._currentView.element, "full-screen" );
+ }
+ }
+
function onTitleBarCopyClick( bindingOptions: BindingOptions, data: any ) : void {
let copyData: string = null!;
let replaceFunction: any = jsonStringifyReplacer;
@@ -262,6 +264,40 @@ type JsonTreeData = Record;
Trigger.customEvent( bindingOptions.events!.onCopyAll!, copyData );
}
+ function onOpenAll( bindingOptions: BindingOptions ) : void {
+ bindingOptions.showAllAsClosed = false;
+ bindingOptions._currentView.contentPanelsOpen = {} as ContentPanelsForArrayIndex;
+
+ renderControlContainer( bindingOptions );
+ Trigger.customEvent( bindingOptions.events!.onOpenAll!, bindingOptions._currentView.element );
+ }
+
+ function onCloseAll( bindingOptions: BindingOptions ) : void {
+ bindingOptions.showAllAsClosed = true;
+ bindingOptions._currentView.contentPanelsOpen = {} as ContentPanelsForArrayIndex;
+
+ renderControlContainer( bindingOptions );
+ Trigger.customEvent( bindingOptions.events!.onCloseAll!, bindingOptions._currentView.element );
+ }
+
+ function onBackPage( bindingOptions: BindingOptions ) : void {
+ if ( bindingOptions._currentView.backButton !== null && !bindingOptions._currentView.backButton.disabled ) {
+ bindingOptions._currentView.dataArrayCurrentIndex--;
+
+ renderControlContainer( bindingOptions, true );
+ Trigger.customEvent( bindingOptions.events!.onBackPage!, bindingOptions._currentView.element );
+ }
+ }
+
+ function onNextPage( bindingOptions: BindingOptions ) : void {
+ if ( bindingOptions._currentView.nextButton !== null && !bindingOptions._currentView.nextButton.disabled ) {
+ bindingOptions._currentView.dataArrayCurrentIndex++;
+
+ renderControlContainer( bindingOptions, true );
+ Trigger.customEvent( bindingOptions.events!.onNextPage!, bindingOptions._currentView.element );
+ }
+ }
+
function jsonStringifyReplacer( _: string, value: any ) : void {
if ( Is.definedBigInt( value ) ) {
value = value.toString();
@@ -274,20 +310,38 @@ type JsonTreeData = Record;
return value;
}
- function openAllNodes( bindingOptions: BindingOptions ) : void {
- bindingOptions.showAllAsClosed = false;
- bindingOptions._currentView.contentPanelsOpen = {} as ContentPanelsForArrayIndex;
- renderControlContainer( bindingOptions );
- Trigger.customEvent( bindingOptions.events!.onOpenAll!, bindingOptions._currentView.element );
+ /*
+ * ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ * Document Events
+ * ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+ function buildDocumentEvents( bindingOptions: BindingOptions, addEvents: boolean = true ) : void {
+ const documentFunc: Function = addEvents ? document.addEventListener : document.removeEventListener;
+
+ documentFunc( "keydown", ( e: KeyboardEvent ) => onWindowKeyDown( e, bindingOptions ) );
}
- function closeAllNodes( bindingOptions: BindingOptions ) : void {
- bindingOptions.showAllAsClosed = true;
- bindingOptions._currentView.contentPanelsOpen = {} as ContentPanelsForArrayIndex;
+ function onWindowKeyDown( e: KeyboardEvent, bindingOptions: BindingOptions ) : void {
+ if ( bindingOptions.shortcutKeysEnabled && _elements_Data_Count === 1 && _elements_Data.hasOwnProperty( bindingOptions._currentView.element.id ) ) {
+ if ( e.code === KeyCode.left ) {
+ e.preventDefault();
+ onBackPage( bindingOptions );
- renderControlContainer( bindingOptions );
- Trigger.customEvent( bindingOptions.events!.onCloseAll!, bindingOptions._currentView.element );
+ } else if ( e.code === KeyCode.right ) {
+ e.preventDefault();
+ onNextPage( bindingOptions );
+
+ } else if ( e.code === KeyCode.up ) {
+ e.preventDefault();
+ onCloseAll( bindingOptions );
+
+ } else if ( e.code === KeyCode.down ) {
+ e.preventDefault();
+ onOpenAll( bindingOptions );
+ }
+ }
}
@@ -315,11 +369,11 @@ type JsonTreeData = Record;
dataArrayIndex = `[${dataArrayIndex}]:`;
}
- DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? "object data-array-index" : "data-array-index", dataArrayIndex, titleText );
+ DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? `${DataType.object} data-array-index` : "data-array-index", dataArrayIndex, titleText );
}
if ( bindingOptions.showCounts && propertyCount > 0 ) {
- DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? "object count" : "count", `{${propertyCount}}` );
+ DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? `${DataType.object} count` : "count", `{${propertyCount}}` );
}
if ( bindingOptions.showOpeningClosingCurlyBraces ) {
@@ -339,7 +393,7 @@ type JsonTreeData = Record;
let openingBracket: HTMLSpanElement = null!;
if ( bindingOptions.showCounts ) {
- DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? "array count" : "count", `[${data.length}]` );
+ DomElement.createWithHTML( objectTypeTitle, "span", bindingOptions.showValueColors ? `${DataType.array} count` : "count", `[${data.length}]` );
}
if ( bindingOptions.showOpeningClosingCurlyBraces ) {
@@ -406,7 +460,7 @@ type JsonTreeData = Record;
if ( value === null ) {
if ( !bindingOptions.ignore!.nullValues ) {
- valueClass = bindingOptions.showValueColors ? "null value non-value" : "value non-value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.null} value non-value` : "value non-value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, "null" );
type = DataType.null;
@@ -422,7 +476,7 @@ type JsonTreeData = Record;
} else if ( value === undefined ) {
if ( !bindingOptions.ignore!.undefinedValues ) {
- valueClass = bindingOptions.showValueColors ? "undefined value non-value" : "value non-value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.undefined} value non-value` : "value non-value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, "undefined" );
type = DataType.undefined;
@@ -438,7 +492,7 @@ type JsonTreeData = Record;
} else if ( Is.definedFunction( value ) ) {
if ( !bindingOptions.ignore!.functionValues ) {
- valueClass = bindingOptions.showValueColors ? "function value non-value" : "value non-value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.function} value non-value` : "value non-value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, Default.getFunctionName( value, _configuration ) );
type = DataType.function;
@@ -454,11 +508,11 @@ type JsonTreeData = Record;
} else if ( Is.definedBoolean( value ) ) {
if ( !bindingOptions.ignore!.booleanValues ) {
- valueClass = bindingOptions.showValueColors ? "boolean value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.boolean} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value );
type = DataType.boolean;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.booleanValues! );
if ( Is.definedFunction( bindingOptions.events!.onBooleanRender ) ) {
Trigger.customEvent( bindingOptions.events!.onBooleanRender!, valueElement );
@@ -474,11 +528,11 @@ type JsonTreeData = Record;
if ( !bindingOptions.ignore!.decimalValues ) {
const newValue: string = Default.getFixedDecimalPlacesValue( value, bindingOptions.maximumDecimalPlaces! );
- valueClass = bindingOptions.showValueColors ? "decimal value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.decimal} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, newValue );
type = DataType.decimal;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.decimalValues! );
if ( Is.definedFunction( bindingOptions.events!.onDecimalRender ) ) {
Trigger.customEvent( bindingOptions.events!.onDecimalRender!, valueElement );
@@ -492,11 +546,11 @@ type JsonTreeData = Record;
} else if ( Is.definedNumber( value ) ) {
if ( !bindingOptions.ignore!.numberValues ) {
- valueClass = bindingOptions.showValueColors ? "number value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.number} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value );
type = DataType.number;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.numberValues! );
if ( Is.definedFunction( bindingOptions.events!.onNumberRender ) ) {
Trigger.customEvent( bindingOptions.events!.onNumberRender!, valueElement );
@@ -510,11 +564,11 @@ type JsonTreeData = Record;
} else if ( Is.definedBigInt( value ) ) {
if ( !bindingOptions.ignore!.bigIntValues ) {
- valueClass = bindingOptions.showValueColors ? "bigint value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.bigint} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value );
type = DataType.bigint;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.bigIntValues! );
if ( Is.definedFunction( bindingOptions.events!.onBigIntRender ) ) {
Trigger.customEvent( bindingOptions.events!.onBigIntRender!, valueElement );
@@ -526,6 +580,46 @@ type JsonTreeData = Record;
ignored = true;
}
+ } else if ( Is.definedString( value ) && Is.String.guid( value ) ) {
+ if ( !bindingOptions.ignore!.guidValues ) {
+ valueClass = bindingOptions.showValueColors ? `${DataType.guid} value` : "value";
+ valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value );
+ type = DataType.guid;
+
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.guidValues! );
+
+ if ( Is.definedFunction( bindingOptions.events!.onGuidRender ) ) {
+ Trigger.customEvent( bindingOptions.events!.onGuidRender!, valueElement );
+ }
+
+ createComma( bindingOptions, objectTypeValue, isLastItem );
+
+ } else {
+ ignored = true;
+ }
+
+ } else if ( Is.definedString( value ) && ( Is.String.hexColor( value )|| Is.String.rgbColor( value ) ) ) {
+ if ( !bindingOptions.ignore!.colorValues ) {
+ valueClass = bindingOptions.showValueColors ? `${DataType.color} value` : "value";
+ valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value );
+ type = DataType.color;
+
+ if ( bindingOptions.showValueColors ) {
+ valueElement.style.color = value;
+ }
+
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.colorValues! );
+
+ if ( Is.definedFunction( bindingOptions.events!.onColorRender ) ) {
+ Trigger.customEvent( bindingOptions.events!.onColorRender!, valueElement );
+ }
+
+ createComma( bindingOptions, objectTypeValue, isLastItem );
+
+ } else {
+ ignored = true;
+ }
+
} else if ( Is.definedString( value ) ) {
if ( !bindingOptions.ignore!.stringValues ) {
if ( bindingOptions.parse!.stringsToBooleans && Is.String.boolean( value ) ) {
@@ -541,30 +635,17 @@ type JsonTreeData = Record;
ignored = true;
} else {
- let color: string = null!;
-
- if ( bindingOptions.showValueColors && bindingOptions.showStringHexColors && ( Is.String.hexColor( value ) || Is.String.rgbColor( value ) ) ) {
- color = value;
- type = DataType.color;
-
- } else {
- if ( bindingOptions.maximumStringLength! > 0 && value.length > bindingOptions.maximumStringLength! ) {
- value = value.substring( 0, bindingOptions.maximumStringLength ) + _configuration.text!.ellipsisText;
- }
-
- type = DataType.string;
+ if ( bindingOptions.maximumStringLength! > 0 && value.length > bindingOptions.maximumStringLength! ) {
+ value = value.substring( 0, bindingOptions.maximumStringLength ) + _configuration.text!.ellipsisText;
}
- const newStringValue: string = bindingOptions.showStringQuotes && color === null ? `\"${value}\"` : value;
+ const newStringValue: string = bindingOptions.showStringQuotes ? `\"${value}\"` : value;
- valueClass = bindingOptions.showValueColors ? "string value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.string} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, newStringValue );
+ type = DataType.string;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
-
- if ( Is.definedString( color ) ) {
- valueElement.style.color = color;
- }
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.stringValues! );
if ( Is.definedFunction( bindingOptions.events!.onStringRender ) ) {
Trigger.customEvent( bindingOptions.events!.onStringRender!, valueElement );
@@ -579,11 +660,11 @@ type JsonTreeData = Record;
} else if ( Is.definedDate( value ) ) {
if ( !bindingOptions.ignore!.dateValues ) {
- valueClass = bindingOptions.showValueColors ? "date value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.date} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, DateTime.getCustomFormattedDateText( _configuration, value, bindingOptions.dateTimeFormat! ) );
type = DataType.date;
- makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem );
+ makePropertyValueEditable( bindingOptions, data, name, value, valueElement, isArrayItem, bindingOptions.allowEditing!.dateValues! );
if ( Is.definedFunction( bindingOptions.events!.onDateRender ) ) {
Trigger.customEvent( bindingOptions.events!.onDateRender!, valueElement );
@@ -597,7 +678,7 @@ type JsonTreeData = Record;
} else if ( Is.definedSymbol( value ) ) {
if ( !bindingOptions.ignore!.symbolValues ) {
- valueClass = bindingOptions.showValueColors ? "symbol value" : "value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.symbol} value` : "value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value.toString() );
type = DataType.symbol;
@@ -620,7 +701,7 @@ type JsonTreeData = Record;
ignored = true;
} else {
- const objectTitle: HTMLElement = DomElement.create( objectTypeValue, "span", bindingOptions.showValueColors ? "object" : Char.empty );
+ const objectTitle: HTMLElement = DomElement.create( objectTypeValue, "span", bindingOptions.showValueColors ? DataType.object : Char.empty );
const objectTypeContents: HTMLElement = DomElement.create( objectTypeValue, "div", "object-type-contents" );
let openingBrace: HTMLSpanElement = null!;
@@ -648,7 +729,7 @@ type JsonTreeData = Record;
} else if ( Is.definedArray( value ) ) {
if ( !bindingOptions.ignore!.arrayValues ) {
- const objectTitle: HTMLElement = DomElement.create( objectTypeValue, "span", bindingOptions.showValueColors ? "array" : Char.empty );
+ const objectTitle: HTMLElement = DomElement.create( objectTypeValue, "span", bindingOptions.showValueColors ? DataType.array : Char.empty );
const arrayTypeContents: HTMLElement = DomElement.create( objectTypeValue, "div", "object-type-contents" );
let openingBracket: HTMLSpanElement = null!;
@@ -674,7 +755,7 @@ type JsonTreeData = Record;
} else {
if ( !bindingOptions.ignore!.unknownValues ) {
- valueClass = bindingOptions.showValueColors ? "unknown value non-value" : "value non-value";
+ valueClass = bindingOptions.showValueColors ? `${DataType.unknown} value non-value` : "value non-value";
valueElement = DomElement.createWithHTML( objectTypeValue, "span", valueClass, value.toString() );
type = DataType.unknown;
@@ -714,9 +795,7 @@ type JsonTreeData = Record;
DomElement.selectAllText( propertyName );
- propertyName.onblur = () => {
- renderControlContainer( bindingOptions, false );
- };
+ propertyName.onblur = () => renderControlContainer( bindingOptions, false );
propertyName.onkeydown = ( e: KeyboardEvent ) => {
if ( e.code == KeyCode.escape ) {
@@ -748,8 +827,8 @@ type JsonTreeData = Record;
}
}
- function makePropertyValueEditable( bindingOptions: BindingOptions, data: any, originalPropertyName: string, originalPropertyValue: any, propertyValue: HTMLSpanElement, isArrayItem: boolean ) : void {
- if ( bindingOptions.allowEditing ) {
+ function makePropertyValueEditable( bindingOptions: BindingOptions, data: any, originalPropertyName: string, originalPropertyValue: any, propertyValue: HTMLSpanElement, isArrayItem: boolean, allowEditing: boolean ) : void {
+ if ( allowEditing ) {
propertyValue.ondblclick = () => {
clearTimeout( bindingOptions._currentView.valueClickTimerId );
@@ -759,14 +838,18 @@ type JsonTreeData = Record;
DomElement.addClass( propertyValue, "editable" );
propertyValue.setAttribute( "contenteditable", "true" );
- propertyValue.innerText = originalPropertyValue.toString();
+
+ if ( Is.definedDate( originalPropertyValue ) && !bindingOptions.includeTimeZoneInDateTimeEditing ) {
+ propertyValue.innerText = JSON.stringify( originalPropertyValue ).replace( /['"]+/g, Char.empty );
+ } else {
+ propertyValue.innerText = originalPropertyValue.toString();
+ }
+
propertyValue.focus();
DomElement.selectAllText( propertyValue );
- propertyValue.onblur = () => {
- renderControlContainer( bindingOptions, false );
- };
+ propertyValue.onblur = () => renderControlContainer( bindingOptions, false );
propertyValue.onkeydown = ( e: KeyboardEvent ) => {
if ( e.code == KeyCode.escape ) {
@@ -895,9 +978,7 @@ type JsonTreeData = Record;
bindingOptions._currentView.contentPanelsOpen[ dataArrayIndex ][ panelId ] = isClosed;
}
- arrow.onclick = () => {
- conditionFunc( arrow.className === "down-arrow" );
- };
+ arrow.onclick = () => conditionFunc( arrow.className === "down-arrow" );
conditionFunc( isClosed );
@@ -1046,6 +1127,8 @@ type JsonTreeData = Record;
bindingOptions._currentView.element.removeAttribute( "id" );
}
+ buildDocumentEvents( bindingOptions, false );
+
ToolTip.assignToEvents( bindingOptions, false );
Trigger.customEvent( bindingOptions.events!.onDestroy!, bindingOptions._currentView.element );
}
@@ -1104,7 +1187,7 @@ type JsonTreeData = Record;
openAll: function ( elementId: string ) : PublicApi {
if ( Is.definedString( elementId ) && _elements_Data.hasOwnProperty( elementId ) ) {
- openAllNodes( _elements_Data[ elementId ] );
+ onOpenAll( _elements_Data[ elementId ] );
}
return _public;
@@ -1112,7 +1195,7 @@ type JsonTreeData = Record;
closeAll: function ( elementId: string ) : PublicApi {
if ( Is.definedString( elementId ) && _elements_Data.hasOwnProperty( elementId ) ) {
- closeAllNodes( _elements_Data[ elementId ] );
+ onCloseAll( _elements_Data[ elementId ] );
}
return _public;
@@ -1175,6 +1258,7 @@ type JsonTreeData = Record;
destroyElement( _elements_Data[ elementId ] );
delete _elements_Data[ elementId ];
+ _elements_Data_Count--;
}
return _public;
@@ -1188,6 +1272,7 @@ type JsonTreeData = Record;
}
_elements_Data = {} as JsonTreeData;
+ _elements_Data_Count = 0;
return _public;
},
@@ -1239,7 +1324,7 @@ type JsonTreeData = Record;
},
getVersion: function () : string {
- return "2.6.0";
+ return "2.7.0";
}
};
@@ -1253,9 +1338,7 @@ type JsonTreeData = Record;
( () => {
_configuration = Config.Options.get();
- document.addEventListener( "DOMContentLoaded", function() {
- render();
- } );
+ document.addEventListener( "DOMContentLoaded", () => render() );
if ( !Is.defined( window.$jsontree ) ) {
window.$jsontree = _public;
diff --git a/src/ts/api.ts b/src/ts/api.ts
index bdddfe49..86912d01 100644
--- a/src/ts/api.ts
+++ b/src/ts/api.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file api.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/area/tooltip.ts b/src/ts/area/tooltip.ts
index 442a4a63..8784b536 100644
--- a/src/ts/area/tooltip.ts
+++ b/src/ts/area/tooltip.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file tooltip.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -30,20 +30,13 @@ export namespace ToolTip {
let addEventListener_Window: Function = add ? window.addEventListener : window.removeEventListener;
let addEventListener_Document: Function = add ? document.addEventListener : document.removeEventListener;
- addEventListener_Window( "mousemove", () => {
- hide( bindingOptions );
- } );
-
- addEventListener_Document( "scroll", () => {
- hide( bindingOptions );
- } );
+ addEventListener_Window( "mousemove", () => hide( bindingOptions ) );
+ addEventListener_Document( "scroll", () => hide( bindingOptions ) );
}
export function add( element: HTMLElement, bindingOptions: BindingOptions, text: string ) : void {
if ( element !== null ) {
- element.onmousemove = ( e: MouseEvent ) => {
- show( e, bindingOptions, text );
- };
+ element.onmousemove = ( e: MouseEvent ) => show( e, bindingOptions, text );
}
}
diff --git a/src/ts/area/trigger.ts b/src/ts/area/trigger.ts
index cdc2d5d1..d59015ae 100644
--- a/src/ts/area/trigger.ts
+++ b/src/ts/area/trigger.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file trigger.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/constant.ts b/src/ts/constant.ts
index ead8e4d6..2ad85699 100644
--- a/src/ts/constant.ts
+++ b/src/ts/constant.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file constant.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/datetime.ts b/src/ts/data/datetime.ts
index 471b8b06..1f7e4ed1 100644
--- a/src/ts/data/datetime.ts
+++ b/src/ts/data/datetime.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file datetime.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/default.ts b/src/ts/data/default.ts
index d8047caa..6d9886ab 100644
--- a/src/ts/data/default.ts
+++ b/src/ts/data/default.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file default.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/data/enum.ts b/src/ts/data/enum.ts
index 185bc956..a5c7cd5e 100644
--- a/src/ts/data/enum.ts
+++ b/src/ts/data/enum.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file enum.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -14,7 +14,6 @@
export const enum Char {
empty = "",
space = " ",
- dash = "-",
zero = "0",
hash = "#",
}
@@ -34,9 +33,14 @@ export const enum DataType {
unknown = "unknown",
undefined = "undefined",
color = "color",
+ guid = "guid",
}
export const enum KeyCode {
escape = "Escape",
enter = "Enter",
+ left = "ArrowLeft",
+ up = "ArrowUp",
+ right = "ArrowRight",
+ down = "ArrowDown",
}
\ No newline at end of file
diff --git a/src/ts/data/is.ts b/src/ts/data/is.ts
index 3d74d50d..ea8dc8d4 100644
--- a/src/ts/data/is.ts
+++ b/src/ts/data/is.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file is.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -37,6 +37,12 @@ export namespace Is {
export function date( dateTimeString: string ) {
return !isNaN( +new Date( dateTimeString ) );
}
+
+ export function guid( value: string ) : boolean {
+ const regex: RegExp = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
+
+ return regex.test( value );
+ }
}
export function defined( value: any ) : boolean {
diff --git a/src/ts/data/str.ts b/src/ts/data/str.ts
index a6693b4c..3639c8d3 100644
--- a/src/ts/data/str.ts
+++ b/src/ts/data/str.ts
@@ -4,32 +4,14 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file str.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
*/
-import { Char } from "./enum";
-
-
export namespace Str {
- export function newGuid() : string {
- const result: string[] = [];
-
- for ( let charIndex: number = 0; charIndex < 32; charIndex++ ) {
- if ( charIndex === 8 || charIndex === 12 || charIndex === 16 || charIndex === 20 ) {
- result.push( Char.dash );
- }
-
- const character: string = Math.floor( Math.random() * 16 ).toString( 16 );
- result.push( character );
- }
-
- return result.join( Char.empty );
- }
-
export function padNumber( number: number, length: number = 1 ) : string {
const numberString: string = number.toString();
let numberResult: string = numberString;
diff --git a/src/ts/dom/dom.ts b/src/ts/dom/dom.ts
index 1ebc7c42..cd52691c 100644
--- a/src/ts/dom/dom.ts
+++ b/src/ts/dom/dom.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file dom.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/options/binding.ts b/src/ts/options/binding.ts
index 2e9c6282..4e7be853 100644
--- a/src/ts/options/binding.ts
+++ b/src/ts/options/binding.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file binding.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -19,7 +19,8 @@ import {
type BindingOptionsEvents,
type BindingOptionsIgnore,
type BindingOptionsTitle,
- type ContentPanelsForArrayIndex } from "../type";
+ type ContentPanelsForArrayIndex,
+ type BindingOptionsAllowEditing } from "../type";
import { Default } from "../data/default";
@@ -37,6 +38,8 @@ export namespace Binding {
bindingOptions._currentView.idSet = false;
bindingOptions._currentView.contentPanelsOpen = {} as ContentPanelsForArrayIndex;
bindingOptions._currentView.contentPanelsIndex = 0;
+ bindingOptions._currentView.backButton = null!;
+ bindingOptions._currentView.nextButton = null!;
return bindingOptions;
}
@@ -58,7 +61,6 @@ export namespace Binding {
options.showValueColors = Default.getBoolean( options.showValueColors, true );
options.maximumDecimalPlaces = Default.getNumber( options.maximumDecimalPlaces, 2 );
options.maximumStringLength = Default.getNumber( options.maximumStringLength, 0 );
- options.showStringHexColors = Default.getBoolean( options.showStringHexColors, false );
options.showArrayItemsAsSeparateObjects = Default.getBoolean( options.showArrayItemsAsSeparateObjects, false );
options.copyOnlyCurrentPage = Default.getBoolean( options.copyOnlyCurrentPage, false );
options.fileDroppingEnabled = Default.getBoolean( options.fileDroppingEnabled, true );
@@ -66,12 +68,16 @@ export namespace Binding {
options.showArrayIndexBrackets = Default.getBoolean( options.showArrayIndexBrackets, true );
options.showOpeningClosingCurlyBraces = Default.getBoolean( options.showOpeningClosingCurlyBraces, false );
options.showOpeningClosingSquaredBrackets = Default.getBoolean( options.showOpeningClosingSquaredBrackets, false );
- options.allowEditing = Default.getBoolean( options.allowEditing, true );
+ options.includeTimeZoneInDateTimeEditing = Default.getBoolean( options.includeTimeZoneInDateTimeEditing, true );
+ options.shortcutKeysEnabled = Default.getBoolean( options.shortcutKeysEnabled, true );
+ options.openInFullScreenMode = Default.getBoolean( options.openInFullScreenMode, false );
+ options.enableFullScreenToggling = Default.getBoolean( options.enableFullScreenToggling, true );
options = getTitle( options );
options = getIgnore( options );
options = getToolTip( options );
options = getParse( options );
+ options = getAllowEditing( options );
options = getCustomTriggers( options );
return options;
@@ -103,6 +109,8 @@ export namespace Binding {
options.ignore!.symbolValues = Default.getBoolean( options.ignore!.symbolValues, false );
options.ignore!.emptyObjects = Default.getBoolean( options.ignore!.emptyObjects, true );
options.ignore!.undefinedValues = Default.getBoolean( options.ignore!.undefinedValues, false );
+ options.ignore!.guidValues = Default.getBoolean( options.ignore!.guidValues, false );
+ options.ignore!.colorValues = Default.getBoolean( options.ignore!.colorValues, false );
return options;
}
@@ -122,6 +130,20 @@ export namespace Binding {
return options;
}
+
+ function getAllowEditing( options: BindingOptions ) : BindingOptions {
+ options.allowEditing = Default.getObject( options.allowEditing, {} as BindingOptionsAllowEditing );
+ options.allowEditing!.booleanValues = Default.getBoolean( options.allowEditing!.booleanValues, true );
+ options.allowEditing!.decimalValues = Default.getBoolean( options.allowEditing!.decimalValues, true );
+ options.allowEditing!.numberValues = Default.getBoolean( options.allowEditing!.numberValues, true );
+ options.allowEditing!.stringValues = Default.getBoolean( options.allowEditing!.stringValues, true );
+ options.allowEditing!.dateValues = Default.getBoolean( options.allowEditing!.dateValues, true );
+ options.allowEditing!.bigIntValues = Default.getBoolean( options.allowEditing!.bigIntValues, true );
+ options.allowEditing!.guidValues = Default.getBoolean( options.allowEditing!.guidValues, true );
+ options.allowEditing!.colorValues = Default.getBoolean( options.allowEditing!.colorValues, true );
+
+ return options;
+ }
function getCustomTriggers( options: BindingOptions ) : BindingOptions {
options.events = Default.getObject( options.events, {} as BindingOptionsEvents );
@@ -145,6 +167,8 @@ export namespace Binding {
options.events!.onSymbolRender = Default.getFunction( options.events!.onSymbolRender, null! );
options.events!.onCopyJsonReplacer = Default.getFunction( options.events!.onCopyJsonReplacer, null! );
options.events!.onUndefinedRender = Default.getFunction( options.events!.onUndefinedRender, null! );
+ options.events!.onGuidRender = Default.getFunction( options.events!.onGuidRender, null! );
+ options.events!.onColorRender = Default.getFunction( options.events!.onColorRender, null! );
return options;
}
diff --git a/src/ts/options/config.ts b/src/ts/options/config.ts
index db6181c4..d48ec1a1 100644
--- a/src/ts/options/config.ts
+++ b/src/ts/options/config.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file config.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
diff --git a/src/ts/type.ts b/src/ts/type.ts
index 20ed8f94..ca163716 100644
--- a/src/ts/type.ts
+++ b/src/ts/type.ts
@@ -4,7 +4,7 @@
* A lightweight JavaScript library that generates customizable tree views to better visualize, and edit, JSON data.
*
* @file type.ts
- * @version v2.6.0
+ * @version v2.7.0
* @author Bunoon
* @license MIT License
* @copyright Bunoon 2024
@@ -76,7 +76,6 @@ export type BindingOptions = {
showValueColors?: boolean;
maximumDecimalPlaces?: number;
maximumStringLength?: number;
- showStringHexColors?: boolean;
showArrayItemsAsSeparateObjects?: boolean;
copyOnlyCurrentPage?: boolean;
fileDroppingEnabled?: boolean;
@@ -84,7 +83,11 @@ export type BindingOptions = {
showArrayIndexBrackets?: boolean;
showOpeningClosingCurlyBraces?: boolean;
showOpeningClosingSquaredBrackets?: boolean;
- allowEditing?: boolean;
+ includeTimeZoneInDateTimeEditing?: boolean;
+ shortcutKeysEnabled?: boolean;
+ openInFullScreenMode?: boolean;
+ enableFullScreenToggling?: boolean;
+ allowEditing?: BindingOptionsAllowEditing;
title?: BindingOptionsTitle;
ignore?: BindingOptionsIgnore;
tooltip?: BindingOptionsTooltip;
@@ -103,6 +106,8 @@ export type BindingOptionsCurrentView = {
idSet: boolean;
contentPanelsOpen: ContentPanelsForArrayIndex;
contentPanelsIndex: number;
+ backButton: HTMLButtonElement;
+ nextButton: HTMLButtonElement;
};
export type BindingOptionsParse = {
@@ -133,6 +138,19 @@ export type BindingOptionsIgnore = {
symbolValues?: boolean;
emptyObjects?: boolean;
undefinedValues?: boolean;
+ guidValues?: boolean;
+ colorValues?: boolean;
+};
+
+export type BindingOptionsAllowEditing = {
+ booleanValues?: boolean;
+ decimalValues?: boolean;
+ stringValues?: boolean;
+ dateValues?: boolean;
+ numberValues?: boolean;
+ bigIntValues?: boolean;
+ guidValues?: boolean;
+ colorValues?: boolean;
};
export type BindingOptionsTooltip = {
@@ -159,6 +177,8 @@ export type BindingOptionsEvents = {
onBigIntRender?: ( element: HTMLElement ) => void;
onSymbolRender?: ( element: HTMLElement ) => void;
onUndefinedRender?: ( element: HTMLElement ) => void;
+ onGuidRender?: ( element: HTMLElement ) => void;
+ onColorRender?: ( element: HTMLElement ) => void;
onBackPage?: ( element: HTMLElement ) => void;
onNextPage?: ( element: HTMLElement ) => void;
onSetJson?: ( element: HTMLElement ) => void;
diff --git a/test/js/scripts.js b/test/js/scripts.js
index 811f70ba..2c1303dd 100644
--- a/test/js/scripts.js
+++ b/test/js/scripts.js
@@ -26,6 +26,7 @@ function bindingOptions( showValueColors = true ) {
alert( message );
},
value15: "rgb(144, 238, 144)",
+ value16: crypto.randomUUID(),
value5: [
true,
"This is another string",
@@ -79,7 +80,6 @@ function bindingOptions( showValueColors = true ) {
onValueClick: onValueClickEvent,
},
showValueColors: showValueColors,
- showStringHexColors: true,
showArrayItemsAsSeparateObjects: true,
copyOnlyCurrentPage: false,
sortPropertyNames: true,
@@ -87,7 +87,9 @@ function bindingOptions( showValueColors = true ) {
showOpeningClosingCurlyBraces: false,
showOpeningClosingSquaredBrackets: false,
showCommas: false,
- showArrowToggles: true
+ showArrowToggles: true,
+ openInFullScreenMode: false,
+ enableFullScreenToggling: true,
};
}