@douyinfe/semi-json-viewer-core 2.84.0-alpha.0 → 2.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +27 -29
- package/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -24,17 +24,17 @@ function createTokenizationSupport(supportComments) {
|
|
|
24
24
|
tokenize: (line, state) => tokenize(supportComments, line, state)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
var TOKEN_DELIM_OBJECT = "delimiter-bracket";
|
|
28
|
-
var TOKEN_DELIM_ARRAY = "delimiter-array";
|
|
29
|
-
var TOKEN_DELIM_COLON = "delimiter-colon";
|
|
30
|
-
var TOKEN_DELIM_COMMA = "delimiter-comma";
|
|
31
|
-
var TOKEN_VALUE_BOOLEAN = "keyword";
|
|
32
|
-
var TOKEN_VALUE_NULL = "keyword";
|
|
33
|
-
var TOKEN_VALUE_STRING = "string-value";
|
|
34
|
-
var TOKEN_VALUE_NUMBER = "number";
|
|
35
|
-
var TOKEN_PROPERTY_NAME = "string-key";
|
|
36
|
-
var TOKEN_COMMENT_BLOCK = "comment-block";
|
|
37
|
-
var TOKEN_COMMENT_LINE = "comment-line";
|
|
27
|
+
var TOKEN_DELIM_OBJECT = "semi-json-viewer-delimiter-bracket";
|
|
28
|
+
var TOKEN_DELIM_ARRAY = "semi-json-viewer-delimiter-array";
|
|
29
|
+
var TOKEN_DELIM_COLON = "semi-json-viewer-delimiter-colon";
|
|
30
|
+
var TOKEN_DELIM_COMMA = "semi-json-viewer-delimiter-comma";
|
|
31
|
+
var TOKEN_VALUE_BOOLEAN = "semi-json-viewer-keyword";
|
|
32
|
+
var TOKEN_VALUE_NULL = "semi-json-viewer-keyword";
|
|
33
|
+
var TOKEN_VALUE_STRING = "semi-json-viewer-string-value";
|
|
34
|
+
var TOKEN_VALUE_NUMBER = "semi-json-viewer-number";
|
|
35
|
+
var TOKEN_PROPERTY_NAME = "semi-json-viewer-string-key";
|
|
36
|
+
var TOKEN_COMMENT_BLOCK = "semi-json-viewer-comment-block";
|
|
37
|
+
var TOKEN_COMMENT_LINE = "semi-json-viewer-comment-line";
|
|
38
38
|
var ParentsStack = class _ParentsStack {
|
|
39
39
|
constructor(parent, type, depth) {
|
|
40
40
|
this.parent = parent;
|
|
@@ -422,7 +422,7 @@ var SelectionModel = class {
|
|
|
422
422
|
if (!node) return { row, col };
|
|
423
423
|
let lineElement;
|
|
424
424
|
if (node instanceof HTMLElement) {
|
|
425
|
-
lineElement = node.closest(
|
|
425
|
+
lineElement = node.closest(".semi-json-viewer-view-line");
|
|
426
426
|
} else {
|
|
427
427
|
lineElement = getLineElement(node);
|
|
428
428
|
if (!lineElement) return { row, col };
|
|
@@ -1880,7 +1880,7 @@ var FoldWidget = class {
|
|
|
1880
1880
|
return svg;
|
|
1881
1881
|
}
|
|
1882
1882
|
_createFoldingIcon(lineNumber) {
|
|
1883
|
-
const foldingIconClass =
|
|
1883
|
+
const foldingIconClass = "semi-json-viewer-folding-icon";
|
|
1884
1884
|
const foldingIcon = elt("span", foldingIconClass);
|
|
1885
1885
|
const isCollapsed = this._foldingModel.isCollapsed(lineNumber);
|
|
1886
1886
|
foldingIcon.appendChild(this._createFoldSvg(isCollapsed));
|
|
@@ -1908,7 +1908,7 @@ var FoldWidget = class {
|
|
|
1908
1908
|
return foldingIcon;
|
|
1909
1909
|
}
|
|
1910
1910
|
removeAllFoldingIcons() {
|
|
1911
|
-
const foldingIconClass =
|
|
1911
|
+
const foldingIconClass = "semi-json-viewer-folding-icon";
|
|
1912
1912
|
const foldingIcons = this._view.lineScrollDom.querySelectorAll(`.${foldingIconClass}`);
|
|
1913
1913
|
foldingIcons.forEach((icon) => icon.remove());
|
|
1914
1914
|
}
|
|
@@ -3769,7 +3769,7 @@ var CompleteWidget = class {
|
|
|
3769
3769
|
return { x, y };
|
|
3770
3770
|
}
|
|
3771
3771
|
createCompleteContainer() {
|
|
3772
|
-
const className =
|
|
3772
|
+
const className = "semi-json-viewer-complete-container";
|
|
3773
3773
|
const container = elt("div", className);
|
|
3774
3774
|
setStyles(container, {
|
|
3775
3775
|
display: "none"
|
|
@@ -3777,7 +3777,7 @@ var CompleteWidget = class {
|
|
|
3777
3777
|
return container;
|
|
3778
3778
|
}
|
|
3779
3779
|
createSuggestionsContainer() {
|
|
3780
|
-
const className =
|
|
3780
|
+
const className = "semi-json-viewer-complete-suggestions-container";
|
|
3781
3781
|
const container = elt("div", className);
|
|
3782
3782
|
setStyles(container, {
|
|
3783
3783
|
maxHeight: "200px",
|
|
@@ -3838,7 +3838,7 @@ var CompleteWidget = class {
|
|
|
3838
3838
|
this.hide();
|
|
3839
3839
|
}
|
|
3840
3840
|
_renderCompletions() {
|
|
3841
|
-
const className =
|
|
3841
|
+
const className = "semi-json-viewer-complete-suggestions-item";
|
|
3842
3842
|
this._suggestionsContainer.innerHTML = this._suggestions.map(
|
|
3843
3843
|
(item, index) => `
|
|
3844
3844
|
<li class="${className}" style="background-color: ${index === this._selectedIndex ? "var(--semi-color-fill-0)" : "transparent"}" data-index="${index}">
|
|
@@ -3976,7 +3976,7 @@ var ErrorWidget = class {
|
|
|
3976
3976
|
const child = line.children[i];
|
|
3977
3977
|
offset += child.textContent?.length || 0;
|
|
3978
3978
|
if (offset > start.column && offset <= end.column) {
|
|
3979
|
-
const className =
|
|
3979
|
+
const className = "semi-json-viewer-error";
|
|
3980
3980
|
child.classList.add(className);
|
|
3981
3981
|
}
|
|
3982
3982
|
}
|
|
@@ -3989,7 +3989,6 @@ var ViewDOMBuilder = class {
|
|
|
3989
3989
|
this._lineHeight = lineHeight;
|
|
3990
3990
|
this._totalLines = totalLines;
|
|
3991
3991
|
this._options = options;
|
|
3992
|
-
this.prefixCls = options?.prefixCls || "semi-json-viewer";
|
|
3993
3992
|
}
|
|
3994
3993
|
createRenderContainer() {
|
|
3995
3994
|
const renderContainer = elt("div", "json-viewer-container");
|
|
@@ -4002,7 +4001,7 @@ var ViewDOMBuilder = class {
|
|
|
4002
4001
|
return renderContainer;
|
|
4003
4002
|
}
|
|
4004
4003
|
createLineNumberContainer() {
|
|
4005
|
-
const lineNumberClass =
|
|
4004
|
+
const lineNumberClass = "semi-json-viewer-line-number-container";
|
|
4006
4005
|
const lineNumberContainer = elt("div", lineNumberClass);
|
|
4007
4006
|
setStyles(lineNumberContainer, {
|
|
4008
4007
|
position: "absolute",
|
|
@@ -4013,7 +4012,7 @@ var ViewDOMBuilder = class {
|
|
|
4013
4012
|
return lineNumberContainer;
|
|
4014
4013
|
}
|
|
4015
4014
|
createContentContainer() {
|
|
4016
|
-
const contentClass =
|
|
4015
|
+
const contentClass = "semi-json-viewer-content-container";
|
|
4017
4016
|
const contentContainer = elt("div", contentClass);
|
|
4018
4017
|
setStyles(contentContainer, {
|
|
4019
4018
|
position: "absolute",
|
|
@@ -4078,7 +4077,6 @@ var View = class {
|
|
|
4078
4077
|
this._lineHeight = options?.lineHeight || 20;
|
|
4079
4078
|
this._options = options;
|
|
4080
4079
|
this._customRenderRule = options?.customRenderRule || null;
|
|
4081
|
-
this.prefixCls = options?.prefixCls || "semi-json-viewer";
|
|
4082
4080
|
this._domBuilder = new ViewDOMBuilder(this._lineHeight, model.getLineCount(), options);
|
|
4083
4081
|
this._jsonViewerDom = this._domBuilder.createRenderContainer();
|
|
4084
4082
|
this._lineNumberDom = this._domBuilder.createLineNumberContainer();
|
|
@@ -4191,7 +4189,7 @@ var View = class {
|
|
|
4191
4189
|
this.onScroll(scrollTop);
|
|
4192
4190
|
}
|
|
4193
4191
|
createLineNumberElement(actualLineNumber, visibleLineNumber) {
|
|
4194
|
-
const lineNumberClass =
|
|
4192
|
+
const lineNumberClass = "semi-json-viewer-line-number";
|
|
4195
4193
|
const lineNumberElement = elt("div", lineNumberClass);
|
|
4196
4194
|
const rowDatum = this._scalingCellSizeAndPositionManager.getSizeAndPositionOfCell(visibleLineNumber);
|
|
4197
4195
|
setStyles(lineNumberElement, {
|
|
@@ -4215,7 +4213,7 @@ var View = class {
|
|
|
4215
4213
|
return lineNumberElement;
|
|
4216
4214
|
}
|
|
4217
4215
|
createLineContentElement(actualLineNumber, visibleLineNumber) {
|
|
4218
|
-
const lineElementClass =
|
|
4216
|
+
const lineElementClass = "semi-json-viewer-view-line";
|
|
4219
4217
|
const lineElement = elt("div", lineElementClass);
|
|
4220
4218
|
lineElement.setAttribute("data-line-element", "true");
|
|
4221
4219
|
const rowDatum = this._scalingCellSizeAndPositionManager.getSizeAndPositionOfCell(visibleLineNumber);
|
|
@@ -4358,7 +4356,7 @@ var View = class {
|
|
|
4358
4356
|
continue;
|
|
4359
4357
|
} else if (customElement !== null) {
|
|
4360
4358
|
const span2 = document.createElement("span");
|
|
4361
|
-
span2.className =
|
|
4359
|
+
span2.className = token.scopes;
|
|
4362
4360
|
span2.textContent = content;
|
|
4363
4361
|
container.appendChild(span2);
|
|
4364
4362
|
this._customRenderMap.set(span2, customElement);
|
|
@@ -4366,7 +4364,7 @@ var View = class {
|
|
|
4366
4364
|
}
|
|
4367
4365
|
}
|
|
4368
4366
|
const span = document.createElement("span");
|
|
4369
|
-
span.className =
|
|
4367
|
+
span.className = token.scopes;
|
|
4370
4368
|
span.textContent = content;
|
|
4371
4369
|
if (!this._options?.autoWrap) {
|
|
4372
4370
|
span.style.whiteSpace = "pre";
|
|
@@ -4386,7 +4384,7 @@ var View = class {
|
|
|
4386
4384
|
if (startIndex >= content.length || endIndex <= 0) continue;
|
|
4387
4385
|
if (startIndex > lastIndex) {
|
|
4388
4386
|
const normalSpan = document.createElement("span");
|
|
4389
|
-
normalSpan.className =
|
|
4387
|
+
normalSpan.className = tokenClass;
|
|
4390
4388
|
normalSpan.textContent = content.substring(lastIndex, startIndex);
|
|
4391
4389
|
container.appendChild(normalSpan);
|
|
4392
4390
|
}
|
|
@@ -4394,7 +4392,7 @@ var View = class {
|
|
|
4394
4392
|
highlightSpan.textContent = content.substring(startIndex, endIndex);
|
|
4395
4393
|
const currentMatch = this._searchWidget.searchResults?.[this._searchWidget._currentResultIndex];
|
|
4396
4394
|
const isCurrentMatch = match.range.startLineNumber === currentMatch?.range.startLineNumber && match.range.endLineNumber === currentMatch?.range.endLineNumber && match.range.startColumn === currentMatch?.range.startColumn && match.range.endColumn === currentMatch?.range.endColumn;
|
|
4397
|
-
highlightSpan.className = `${
|
|
4395
|
+
highlightSpan.className = `${tokenClass} semi-json-viewer-search-result${isCurrentMatch ? " semi-json-viewer-current-search-result" : ""}`;
|
|
4398
4396
|
highlightSpan.dataset.startColumn = match.range.startColumn.toString();
|
|
4399
4397
|
highlightSpan.dataset.endColumn = match.range.endColumn.toString();
|
|
4400
4398
|
container.appendChild(highlightSpan);
|
|
@@ -4402,7 +4400,7 @@ var View = class {
|
|
|
4402
4400
|
}
|
|
4403
4401
|
if (lastIndex < content.length) {
|
|
4404
4402
|
const remainingSpan = document.createElement("span");
|
|
4405
|
-
remainingSpan.className =
|
|
4403
|
+
remainingSpan.className = tokenClass;
|
|
4406
4404
|
remainingSpan.textContent = content.substring(lastIndex);
|
|
4407
4405
|
container.appendChild(remainingSpan);
|
|
4408
4406
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-json-viewer-core",
|
|
3
|
-
"version": "2.84.0
|
|
3
|
+
"version": "2.84.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
],
|
|
54
54
|
"author": "",
|
|
55
55
|
"license": "MIT",
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "4d780233a4efb8368b496e058381f8749b93218c"
|
|
57
57
|
}
|