nxt-json-view 15.0.0 → 16.0.0-alpha.1

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/README.md CHANGED
@@ -1,49 +1,43 @@
1
- # nxt-json-view
1
+ # Angular JSON viewer
2
2
 
3
- A JSON View component for Angular 13+ (an angular based JSON display component)
3
+ [![GitHub license](https://img.shields.io/github/license/Liquid-JS/nxt-components.svg)](https://github.com/Liquid-JS/nxt-components/blob/master/LICENSE)
4
+ [![npm](https://img.shields.io/npm/dm/nxt-json-view.svg)](https://www.npmjs.com/package/nxt-json-view)
5
+ [![scope](https://img.shields.io/npm/v/nxt-json-view.svg)](https://www.npmjs.com/package/nxt-json-view)
4
6
 
5
- ## Demo
7
+ An interactive JSON view component for Angular.
6
8
 
7
- <https://liquid-js.github.io/nxt-components/json-view>
9
+ ## Quick links
8
10
 
9
- ## installation
11
+ - [Demo](https://liquid-js.github.io/nxt-components/demo/json-view)
12
+ - [Getting started](https://liquid-js.github.io/nxt-components/demo/json-view/getting-started)
13
+ - [API docs](https://liquid-js.github.io/nxt-components/nxt-json-view)
10
14
 
11
- ```sh
12
- npm install nxt-json-view --save
13
- ```
14
-
15
- ## use
16
-
17
- - Install the dependency package:`nxt-json-view`
15
+ ### Installing
18
16
 
19
17
  ```sh
20
- npm install nxt-json-view --save
18
+ npm install --save nxt-json-view
21
19
  ```
22
20
 
23
- - Import in module `JsonViewModule`
21
+ ### Import JSON view module
24
22
 
25
23
  ```ts
26
- import { JsonViewModule } from 'nxt-json-view';
24
+ import { JsonViewModule } from 'nxt-json-view'
27
25
 
28
26
  @NgModule({
29
- declarations: [
30
- AppComponent
31
- ],
27
+ ...
32
28
  imports: [
33
- BrowserModule,
29
+ ...
34
30
  JsonViewModule
35
- ],
36
- bootstrap: [AppComponent]
31
+ ]
37
32
  })
38
- export class AppModule { }
39
33
  ```
40
34
 
41
- - Prepare JSON data
35
+ ### Prepare JSON data
42
36
 
43
- ```js
37
+ ```ts
44
38
  data = {
45
39
  "name": "nxt-json-view",
46
- "url": "https://github.com/killzoner/nxt-json-view",
40
+ "url": "https://github.com/Liquid-JS/nxt-components/tree/master/packages/json-view",
47
41
  "string": "github",
48
42
  "number": 88,
49
43
  "boolean": true,
@@ -63,21 +57,11 @@ data = {
63
57
  ],
64
58
  "date": new Date(),
65
59
  "null": null
66
- };
60
+ }
67
61
  ```
68
62
 
69
- - Use on template page
63
+ ### Use it in a template
70
64
 
71
65
  ```html
72
66
  <nxt-json-view [data]="data"></nxt-json-view>
73
67
  ```
74
-
75
- # Document
76
-
77
- - `data` - `Object` - Data
78
- - `levelOpen` - `number` - Initialize the number of layers to be expanded (initial value: 0)
79
-
80
- # stand by
81
-
82
- - If the project is helpful to you, please click on the star,Thank you
83
- - If you have ideas, questions, and bugs about the project, welcome to discuss.
@@ -2,15 +2,12 @@ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../json-view-item/json-view-item.component";
4
4
  export class JsonViewComponent {
5
- constructor() {
6
- this.level = 0;
7
- }
8
5
  }
9
- JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
6
+ JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
12
9
  type: Component,
13
- args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
10
+ args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
14
11
  }], propDecorators: { data: [{
15
12
  type: Input
16
13
  }], levelOpen: [{
@@ -18,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
18
15
  }], levelLabels: [{
19
16
  type: Input
20
17
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL2pzb24tdmlldy9qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFOOUI7UUFhSSxVQUFLLEdBQVcsQ0FBQyxDQUFBO0tBRXBCOzs4R0FUWSxpQkFBaUI7a0dBQWpCLGlCQUFpQixtSUNSOUIsME9BT0E7MkZEQ2EsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsUUFBUTs4QkFJaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0NvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnlcbiAgICBASW5wdXQoKSBsZXZlbE9wZW4/OiBudW1iZXJcbiAgICBASW5wdXQoKSBsZXZlbExhYmVscz86IHsgW2tleTogbnVtYmVyXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9XG5cbiAgICBrZXk/OiBzdHJpbmdcbiAgICBsZXZlbDogbnVtYmVyID0gMFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibnh0LWpzb24tdmlld1wiPlxuICAgIDxueHQtanNvbi12aWV3LWl0ZW0gW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgIFtsZXZlbF09XCJsZXZlbFwiXG4gICAgICAgIFtsZXZlbE9wZW5dPVwibGV2ZWxPcGVuXCJcbiAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJqc29uLXZpZXdcIj48L254dC1qc29uLXZpZXctaXRlbT5cbjwvZGl2PlxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL2pzb24tdmlldy9qc29uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBU25FLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQixtSUNUOUIsc09BT0E7MkZERWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsUUFBUTs4QkFJaEMsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExldmVsTGFiZWxzIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJmYWNlcydcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0NvbXBvbmVudCB7XG4gICAgLyoqIEpTT04gZGF0YSwgYW55IHZhbGlkIEpTT04gb2JqZWN0ICovXG4gICAgQElucHV0KCkgZGF0YTogYW55XG4gICAgLyoqIEluaXRpYWwgbnVtYmVyIG9mIGxldmVscyB0byBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIGxldmVsT3Blbj86IG51bWJlclxuICAgIC8qKiBDdXN0b20gbGFiZWxzIGZvciBlbGVtZW50cyB3aXRoaW4gdGhlIGhpZXJhcmN5ICovXG4gICAgQElucHV0KCkgbGV2ZWxMYWJlbHM/OiBMZXZlbExhYmVsc1xufVxuIiwiPGRpdiBjbGFzcz1cIm54dC1qc29uLXZpZXdcIj5cbiAgICA8bnh0LWpzb24tdmlldy1pdGVtIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGV2ZWxdPVwiMFwiXG4gICAgICAgIFtsZXZlbE9wZW5dPVwibGV2ZWxPcGVuXCJcbiAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJqc29uLXZpZXdcIj48L254dC1qc29uLXZpZXctaXRlbT5cbjwvZGl2PlxuIl19
@@ -2,6 +2,7 @@ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
2
  import { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
+ /** @internal */
5
6
  export class JsonViewItemComponent {
6
7
  constructor() {
7
8
  this.level = 0;
@@ -85,11 +86,11 @@ export class JsonViewItemComponent {
85
86
  this.isOpen = !this.isOpen;
86
87
  }
87
88
  }
88
- JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
- JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
89
+ JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
91
92
  type: Component,
92
- args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
93
+ args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
93
94
  }], propDecorators: { data: [{
94
95
  type: Input
95
96
  }], key: [{
@@ -101,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
101
102
  }], levelLabels: [{
102
103
  type: Input
103
104
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQVE5RixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBbUJhLFVBQUssR0FBVyxDQUFDLENBQUE7UUFJMUIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUV2QixnQkFBVyxHQUFZLEtBQUssQ0FBQTtRQUk1QixhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLFlBQU8sR0FBWSxLQUFLLENBQUE7UUFDeEIsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUN2QixpQkFBWSxHQUE4QixFQUFFLENBQUE7S0FvRS9DO0lBNUZHLElBQ0ksSUFBSSxDQUFDLElBQXFCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtTQUNkO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNyQixDQUFDO0lBaUJELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDWCxJQUFJ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Q1RsQywyaUNBNkJBLGcxQkRwQmEscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLFFBQVE7OEJBS3JDLElBQUk7c0JBRFAsS0FBSztnQkFVRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgaXNBcnJheSwgaXNCb29sZWFuLCBpc051bWJlciwgaXNPYmplY3QsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254dC1qc29uLXZpZXctaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLXZpZXctaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEpzb25WaWV3SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBfZGF0YT86IGFueVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGEoZGF0YTogYW55IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhXG4gICAgICAgIGlmICh0aGlzLmlzSW5pdCkge1xuICAgICAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZGF0YSgpOiBhbnkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVxuICAgIH1cbiAgICBASW5wdXQoKSBrZXk/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMFxuICAgIEBJbnB1dCgpIGxldmVsT3Blbj86IG51bWJlclxuICAgIEBJbnB1dCgpIGxldmVsTGFiZWxzPzogeyBba2V5OiBudW1iZXJdOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH1cblxuICAgIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgY2hpbGRyZW5LZXlzPzogc3RyaW5nW11cbiAgICBoYXNDaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlXG4gICAgZGF0YVR5cGU/OiBzdHJpbmdcbiAgICB2YWx1ZTogYW55XG4gICAgdmFsdWVUeXBlPzogc3RyaW5nXG4gICAgaXNPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzQXJyYXk6IGJvb2xlYW4gPSBmYWxzZVxuICAgIGlzSW5pdDogYm9vbGVhbiA9IGZhbHNlXG4gICAgX2xldmVsTGFiZWxzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXQoKVxuICAgICAgICB0aGlzLmlzSW5pdCA9IHRydWVcbiAgICB9XG5cbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLmxldmVsTGFiZWxIYW5kbGUoKVxuICAgICAgICB0aGlzLmxldmVsT3BlbkhhbmRsZSgpXG4gICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzSGFuZGxlKClcbiAgICAgICAgdGhpcy5kYXRhSGFuZGxlKClcbiAgICB9XG5cbiAgICBsZXZlbExhYmVsSGFuZGxlKCkge1xuICAgICAgICBpZiAodGhpcy5sZXZlbExhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sZXZlbExhYmVscyA9IHRoaXMubGV2ZWxMYWJlbHNbdGhpcy5sZXZlbF0gfHwge31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldmVsT3BlbkhhbmRsZSgpIHtcbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh0aGlzLmxldmVsT3BlbikgJiYgKHRoaXMubGV2ZWwgPD0gdGhpcy5sZXZlbE9wZW4pKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoaWxkcmVuS2V5c0hhbmRsZSgpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5kYXRhKVxuICAgICAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW5LZXlzICYmIHRoaXMuY2hpbGRyZW5LZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ2hpbGRyZW4gPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhSGFuZGxlKCkge1xuICAgICAgICBpZiAoaXNPYmplY3QodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5pc09iamVjdCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSAnT2JqZWN0J1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNBcnJheSA9IHRydWVcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gJ0FycmF5J1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMua2V5ICYmIHRoaXMuX2xldmVsTGFiZWxzW3RoaXMua2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVR5cGUgPSB0aGlzLl9sZXZlbExhYmVsc1t0aGlzLmtleV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcih0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnbnVtYmVyJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0Jvb2xlYW4odGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG51bGwgPT09IHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ251bGwnXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9ICdudWxsJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAoISh0aGlzLmNoaWxkcmVuS2V5cyAmJiB0aGlzLmNoaWxkcmVuS2V5cy5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImpzb24tdmlld1wiPlxuICAgIDxhIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjb2xsYXBzZSc6IGlzT3BlbiwgJ2V4cGFuZCc6ICFpc09wZW59XCJcbiAgICAgICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cImhhc0NoaWxkcmVuPyd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJrZXlcIlxuICAgICAgICAgICAgKm5nSWY9XCJrZXlcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7a2V5fX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj46IDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzT2JqZWN0XCI+XG4gICAgICAgICAgICAgICAge3sgZGF0YVR5cGUgfX1cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQXJyYXlcIj5bIHt7ICRhbnkoZGF0YSk/Lmxlbmd0aCB9fSBdPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNPYmplY3QgJiYgdmFsdWVUeXBlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ2YWx1ZVR5cGVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW5cIlxuICAgICAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzT3BlblwiPlxuICAgICAgICA8bnh0LWpzb24tdmlldy1pdGVtICpuZ0Zvcj1cImxldCBfa2V5IG9mIGNoaWxkcmVuS2V5c1wiXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhW19rZXldXCJcbiAgICAgICAgICAgIFtrZXldPVwiX2tleVwiXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwrMVwiXG4gICAgICAgICAgICBbbGV2ZWxPcGVuXT1cImxldmVsT3BlblwiXG4gICAgICAgICAgICBbbGV2ZWxMYWJlbHNdPVwibGV2ZWxMYWJlbHNcIj48L254dC1qc29uLXZpZXctaXRlbT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvanNvbi12aWV3L3NyYy9saWIvanNvbi12aWV3LWl0ZW0vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQUU5RixnQkFBZ0I7QUFPaEIsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQW1CYSxVQUFLLEdBQVcsQ0FBQyxDQUFBO1FBSTFCLFdBQU0sR0FBWSxLQUFLLENBQUE7UUFFdkIsZ0JBQVcsR0FBWSxLQUFLLENBQUE7UUFJNUIsYUFBUSxHQUFZLEtBQUssQ0FBQTtRQUN6QixZQUFPLEdBQVksS0FBSyxDQUFBO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUE7UUFDdkIsaUJBQVksR0FBOEIsRUFBRSxDQUFBO0tBb0UvQztJQTVGRyxJQUNJLElBQUksQ0FBQyxJQUFxQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7U0FDZDtJQUNMLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQWlCRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFDekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1NBQ3pEO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1NBQ3JCO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7YUFDMUI7U0FDSjtJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1lBQ3hCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO2FBQzFCO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQzlDO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtZQUN0QixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFBO2FBQzVCO2lCQUFNLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7YUFDNUI7aUJBQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTthQUM3QjtpQkFBTSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQTtnQkFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUE7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xELE9BQU07U0FDVDtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQzlCLENBQUM7O2tIQTVGUSxxQkFBcUI7c0dBQXJCLHFCQUFxQixvS0NYbEMsMmlDQTZCQSxnaUNEbEJhLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxRQUFROzhCQUtyQyxJQUFJO3NCQURQLEtBQUs7Z0JBVUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExldmVsTGFiZWxzIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJmYWNlcydcbmltcG9ydCB7IGlzQXJyYXksIGlzQm9vbGVhbiwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZywgaXNVbmRlZmluZWQgfSBmcm9tICcuLi91dGlscy91dGlscydcblxuLyoqIEBpbnRlcm5hbCAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHQtanNvbi12aWV3LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9qc29uLXZpZXctaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vanNvbi12aWV3LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBKc29uVmlld0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgX2RhdGE/OiBhbnlcbiAgICBASW5wdXQoKVxuICAgIHNldCBkYXRhKGRhdGE6IGFueSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YVxuICAgICAgICBpZiAodGhpcy5pc0luaXQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpXG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGEoKTogYW55IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFcbiAgICB9XG4gICAgQElucHV0KCkga2V5Pzogc3RyaW5nXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDBcbiAgICBASW5wdXQoKSBsZXZlbE9wZW4/OiBudW1iZXJcbiAgICBASW5wdXQoKSBsZXZlbExhYmVscz86IExldmVsTGFiZWxzXG5cbiAgICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZVxuICAgIGNoaWxkcmVuS2V5cz86IHN0cmluZ1tdXG4gICAgaGFzQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICAgIGRhdGFUeXBlPzogc3RyaW5nXG4gICAgdmFsdWU6IGFueVxuICAgIHZhbHVlVHlwZT86IHN0cmluZ1xuICAgIGlzT2JqZWN0OiBib29sZWFuID0gZmFsc2VcbiAgICBpc0FycmF5OiBib29sZWFuID0gZmFsc2VcbiAgICBpc0luaXQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgIF9sZXZlbExhYmVsczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0KClcbiAgICAgICAgdGhpcy5pc0luaXQgPSB0cnVlXG4gICAgfVxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5sZXZlbExhYmVsSGFuZGxlKClcbiAgICAgICAgdGhpcy5sZXZlbE9wZW5IYW5kbGUoKVxuICAgICAgICB0aGlzLmNoaWxkcmVuS2V5c0hhbmRsZSgpXG4gICAgICAgIHRoaXMuZGF0YUhhbmRsZSgpXG4gICAgfVxuXG4gICAgbGV2ZWxMYWJlbEhhbmRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubGV2ZWxMYWJlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fbGV2ZWxMYWJlbHMgPSB0aGlzLmxldmVsTGFiZWxzW3RoaXMubGV2ZWxdIHx8IHt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZXZlbE9wZW5IYW5kbGUoKSB7XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQodGhpcy5sZXZlbE9wZW4pICYmICh0aGlzLmxldmVsIDw9IHRoaXMubGV2ZWxPcGVuKSkge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGlsZHJlbktleXNIYW5kbGUoKSB7XG4gICAgICAgIGlmIChpc09iamVjdCh0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMuZGF0YSlcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkcmVuS2V5cyAmJiB0aGlzLmNoaWxkcmVuS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0NoaWxkcmVuID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGF0YUhhbmRsZSgpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNPYmplY3QgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gJ09iamVjdCdcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQXJyYXkgPSB0cnVlXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhVHlwZSA9ICdBcnJheSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmtleSAmJiB0aGlzLl9sZXZlbExhYmVsc1t0aGlzLmtleV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUeXBlID0gdGhpcy5fbGV2ZWxMYWJlbHNbdGhpcy5rZXldXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kYXRhXG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ3N0cmluZydcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVUeXBlID0gJ251bWJlcidcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCb29sZWFuKHRoaXMuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdib29sZWFuJ1xuICAgICAgICAgICAgfSBlbHNlIGlmIChudWxsID09PSB0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdudWxsJ1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSAnbnVsbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKCEodGhpcy5jaGlsZHJlbktleXMgJiYgdGhpcy5jaGlsZHJlbktleXMubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW5cbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJqc29uLXZpZXdcIj5cbiAgICA8YSAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY29sbGFwc2UnOiBpc09wZW4sICdleHBhbmQnOiAhaXNPcGVufVwiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJoYXNDaGlsZHJlbj8ndmlzaWJsZSc6J2hpZGRlbidcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwia2V5XCJcbiAgICAgICAgICAgICpuZ0lmPVwia2V5XCI+XG4gICAgICAgICAgICA8c3Bhbj57e2tleX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+OiA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc09iamVjdFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGFUeXBlIH19XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0FycmF5XCI+WyB7eyAkYW55KGRhdGEpPy5sZW5ndGggfX0gXTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzT2JqZWN0ICYmIHZhbHVlVHlwZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwidmFsdWVUeXBlXCI+e3sgdmFsdWUgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG4gICAgPGRpdiBjbGFzcz1cImNoaWxkcmVuXCJcbiAgICAgICAgKm5nSWY9XCJoYXNDaGlsZHJlbiAmJiBpc09wZW5cIj5cbiAgICAgICAgPG54dC1qc29uLXZpZXctaXRlbSAqbmdGb3I9XCJsZXQgX2tleSBvZiBjaGlsZHJlbktleXNcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVtfa2V5XVwiXG4gICAgICAgICAgICBba2V5XT1cIl9rZXlcIlxuICAgICAgICAgICAgW2xldmVsXT1cImxldmVsKzFcIlxuICAgICAgICAgICAgW2xldmVsT3Blbl09XCJsZXZlbE9wZW5cIlxuICAgICAgICAgICAgW2xldmVsTGFiZWxzXT1cImxldmVsTGFiZWxzXCI+PC9ueHQtanNvbi12aWV3LWl0ZW0+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -5,11 +5,11 @@ import { JsonViewComponent } from './json-view/json-view.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class JsonViewModule {
7
7
  }
8
- JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
8
+ JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
10
10
  JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
11
- JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
11
+ JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvbGliL3V0aWxzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGV2ZWxMYWJlbHMge1xuICAgIFtsZXZlbDogbnVtYmVyXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxufVxuIl19
@@ -1,19 +1,25 @@
1
+ /** @internal */
1
2
  export function isObject(value) {
2
3
  return value !== null && typeof value === 'object';
3
4
  }
5
+ /** @internal */
4
6
  export function isArray(value) {
5
7
  return Array.isArray(value);
6
8
  }
9
+ /** @internal */
7
10
  export function isUndefined(value) {
8
11
  return typeof value === 'undefined';
9
12
  }
13
+ /** @internal */
10
14
  export function isString(value) {
11
15
  return typeof value === 'string';
12
16
  }
17
+ /** @internal */
13
18
  export function isNumber(value) {
14
19
  return typeof value === 'number';
15
20
  }
21
+ /** @internal */
16
22
  export function isBoolean(value) {
17
23
  return typeof value === 'boolean';
18
24
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9qc29uLXZpZXcvc3JjL2xpYi91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDL0IsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUN0RCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFVO0lBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFvQjtJQUMvQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFBO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDL0IsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNoQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmtub3duW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQ8VD4odmFsdWU6IFQgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZTogYW55KTogdmFsdWUgaXMgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9qc29uLXZpZXcvc3JjL2xpYi91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFDdEQsQ0FBQztBQUVELGdCQUFnQjtBQUNoQixNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQVU7SUFDOUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRCxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLFdBQVcsQ0FBSSxLQUFvQjtJQUMvQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUNwQyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQTtBQUNwQyxDQUFDO0FBRUQsZ0JBQWdCO0FBQ2hCLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNoQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmtub3duW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQ8VD4odmFsdWU6IFQgfCB1bmRlZmluZWQpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnXG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xufVxuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZTogYW55KTogdmFsdWUgaXMgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- export * from './lib/json-view-item/json-view-item.component';
2
1
  export * from './lib/json-view.module';
3
2
  export * from './lib/json-view/json-view.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2pzb24tdmlldy1pdGVtL2pzb24tdmlldy1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2pzb24tdmlldy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9qc29uLXZpZXcvanNvbi12aWV3LmNvbXBvbmVudCdcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2pzb24tdmlldy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMscUNBQXFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9qc29uLXZpZXcubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQnXG5leHBvcnQgeyBMZXZlbExhYmVscyB9IGZyb20gJy4vbGliL3V0aWxzL2ludGVyZmFjZXMnXG4iXX0=
@@ -1,27 +1,34 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/common';
4
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
5
5
 
6
+ /** @internal */
6
7
  function isObject(value) {
7
8
  return value !== null && typeof value === 'object';
8
9
  }
10
+ /** @internal */
9
11
  function isArray(value) {
10
12
  return Array.isArray(value);
11
13
  }
14
+ /** @internal */
12
15
  function isUndefined(value) {
13
16
  return typeof value === 'undefined';
14
17
  }
18
+ /** @internal */
15
19
  function isString(value) {
16
20
  return typeof value === 'string';
17
21
  }
22
+ /** @internal */
18
23
  function isNumber(value) {
19
24
  return typeof value === 'number';
20
25
  }
26
+ /** @internal */
21
27
  function isBoolean(value) {
22
28
  return typeof value === 'boolean';
23
29
  }
24
30
 
31
+ /** @internal */
25
32
  class JsonViewItemComponent {
26
33
  constructor() {
27
34
  this.level = 0;
@@ -105,11 +112,11 @@ class JsonViewItemComponent {
105
112
  this.isOpen = !this.isOpen;
106
113
  }
107
114
  }
108
- JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
115
+ JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
+ JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
111
118
  type: Component,
112
- args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
119
+ args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
113
120
  }], propDecorators: { data: [{
114
121
  type: Input
115
122
  }], key: [{
@@ -123,15 +130,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
123
130
  }] } });
124
131
 
125
132
  class JsonViewComponent {
126
- constructor() {
127
- this.level = 0;
128
- }
129
133
  }
130
- JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
- JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
134
+ JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
135
+ JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
133
137
  type: Component,
134
- args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
138
+ args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
135
139
  }], propDecorators: { data: [{
136
140
  type: Input
137
141
  }], levelOpen: [{
@@ -142,11 +146,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
142
146
 
143
147
  class JsonViewModule {
144
148
  }
145
- JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
146
- JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
149
+ JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
150
+ JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
147
151
  JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
148
- JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
152
+ JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, decorators: [{
150
154
  type: NgModule,
151
155
  args: [{
152
156
  declarations: [
@@ -166,5 +170,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
166
170
  * Generated bundle index. Do not edit.
167
171
  */
168
172
 
169
- export { JsonViewComponent, JsonViewItemComponent, JsonViewModule };
173
+ export { JsonViewComponent, JsonViewModule };
170
174
  //# sourceMappingURL=nxt-json-view.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["/** @internal */\nexport function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\n/** @internal */\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\n/** @internal */\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\n/** @internal */\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\n/** @internal */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\n/** @internal */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n/** @internal */\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: LevelLabels\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n /** JSON data, any valid JSON object */\n @Input() data: any\n /** Initial number of levels to be expanded */\n @Input() levelOpen?: number\n /** Custom labels for elements within the hierarcy */\n @Input() levelLabels?: LevelLabels\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
@@ -1,27 +1,34 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/common';
4
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ViewEncapsulation, Input, NgModule } from '@angular/core';
5
5
 
6
+ /** @internal */
6
7
  function isObject(value) {
7
8
  return value !== null && typeof value === 'object';
8
9
  }
10
+ /** @internal */
9
11
  function isArray(value) {
10
12
  return Array.isArray(value);
11
13
  }
14
+ /** @internal */
12
15
  function isUndefined(value) {
13
16
  return typeof value === 'undefined';
14
17
  }
18
+ /** @internal */
15
19
  function isString(value) {
16
20
  return typeof value === 'string';
17
21
  }
22
+ /** @internal */
18
23
  function isNumber(value) {
19
24
  return typeof value === 'number';
20
25
  }
26
+ /** @internal */
21
27
  function isBoolean(value) {
22
28
  return typeof value === 'boolean';
23
29
  }
24
30
 
31
+ /** @internal */
25
32
  class JsonViewItemComponent {
26
33
  constructor() {
27
34
  this.level = 0;
@@ -105,11 +112,11 @@ class JsonViewItemComponent {
105
112
  this.isOpen = !this.isOpen;
106
113
  }
107
114
  }
108
- JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewItemComponent, decorators: [{
115
+ JsonViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
+ JsonViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: { data: "data", key: "key", level: "level", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewItemComponent, decorators: [{
111
118
  type: Component,
112
- args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:#92278f}.json-view .value{color:#000}.json-view .value .string{color:#3ab54a}.json-view .value .number{color:#25aae2}.json-view .value .boolean{color:#aa0d91}.json-view .value .null{color:#f1592a}.json-view .children{margin-left:1em}\n"] }]
119
+ args: [{ selector: 'nxt-json-view-item', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n", styles: [".json-view a{cursor:pointer;text-decoration:none}.json-view .toggler{width:1em;padding:0;display:block;text-align:center;float:left}.json-view .collapse:before{content:\"-\"}.json-view .expand:before{content:\"+\"}.json-view .key{color:var(--nxt-json-view-color-key, #92278f)}.json-view .value{color:var(--nxt-json-view-color-value, #000000)}.json-view .value .string{color:var(--nxt-json-view-color-string, #3ab54a)}.json-view .value .number{color:var(--nxt-json-view-color-number, #25aae2)}.json-view .value .boolean{color:var(--nxt-json-view-color-boolean, #aa0d91)}.json-view .value .null{color:var(--nxt-json-view-color-null, #f1592a)}.json-view .children{margin-left:1em}\n"] }]
113
120
  }], propDecorators: { data: [{
114
121
  type: Input
115
122
  }], key: [{
@@ -123,15 +130,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
123
130
  }] } });
124
131
 
125
132
  class JsonViewComponent {
126
- constructor() {
127
- this.level = 0;
128
- }
129
133
  }
130
- JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
- JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewComponent, decorators: [{
134
+ JsonViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
135
+ JsonViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: JsonViewComponent, selector: "nxt-json-view", inputs: { data: "data", levelOpen: "levelOpen", levelLabels: "levelLabels" }, ngImport: i0, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: JsonViewItemComponent, selector: "nxt-json-view-item", inputs: ["data", "key", "level", "levelOpen", "levelLabels"] }] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewComponent, decorators: [{
133
137
  type: Component,
134
- args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
138
+ args: [{ selector: 'nxt-json-view', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n" }]
135
139
  }], propDecorators: { data: [{
136
140
  type: Input
137
141
  }], levelOpen: [{
@@ -142,11 +146,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
142
146
 
143
147
  class JsonViewModule {
144
148
  }
145
- JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
146
- JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
149
+ JsonViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
150
+ JsonViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, declarations: [JsonViewItemComponent,
147
151
  JsonViewComponent], imports: [CommonModule], exports: [JsonViewComponent] });
148
- JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: JsonViewModule, decorators: [{
152
+ JsonViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, imports: [CommonModule] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: JsonViewModule, decorators: [{
150
154
  type: NgModule,
151
155
  args: [{
152
156
  declarations: [
@@ -166,5 +170,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
166
170
  * Generated bundle index. Do not edit.
167
171
  */
168
172
 
169
- export { JsonViewComponent, JsonViewItemComponent, JsonViewModule };
173
+ export { JsonViewComponent, JsonViewModule };
170
174
  //# sourceMappingURL=nxt-json-view.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["export function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n\n @Input() data: any\n @Input() levelOpen?: number\n @Input() levelLabels?: { [key: number]: { [key: string]: string } }\n\n key?: string\n level: number = 0\n\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"level\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"nxt-json-view.mjs","sources":["../../../packages/json-view/src/lib/utils/utils.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.ts","../../../packages/json-view/src/lib/json-view-item/json-view-item.component.html","../../../packages/json-view/src/lib/json-view/json-view.component.ts","../../../packages/json-view/src/lib/json-view/json-view.component.html","../../../packages/json-view/src/lib/json-view.module.ts","../../../packages/json-view/src/nxt-json-view.ts"],"sourcesContent":["/** @internal */\nexport function isObject(value: any): value is object {\n return value !== null && typeof value === 'object'\n}\n\n/** @internal */\nexport function isArray(value: any): value is unknown[] {\n return Array.isArray(value)\n}\n\n/** @internal */\nexport function isUndefined<T>(value: T | undefined): value is undefined {\n return typeof value === 'undefined'\n}\n\n/** @internal */\nexport function isString(value: any): value is string {\n return typeof value === 'string'\n}\n\n/** @internal */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n\n/** @internal */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean'\n}\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\nimport { isArray, isBoolean, isNumber, isObject, isString, isUndefined } from '../utils/utils'\n\n/** @internal */\n@Component({\n selector: 'nxt-json-view-item',\n templateUrl: './json-view-item.component.html',\n styleUrls: ['./json-view-item.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewItemComponent implements OnInit {\n private _data?: any\n @Input()\n set data(data: any | undefined) {\n this._data = data\n if (this.isInit) {\n this.init()\n }\n }\n get data(): any | undefined {\n return this._data\n }\n @Input() key?: string\n @Input() level: number = 0\n @Input() levelOpen?: number\n @Input() levelLabels?: LevelLabels\n\n isOpen: boolean = false\n childrenKeys?: string[]\n hasChildren: boolean = false\n dataType?: string\n value: any\n valueType?: string\n isObject: boolean = false\n isArray: boolean = false\n isInit: boolean = false\n _levelLabels: { [key: string]: string } = {}\n\n ngOnInit() {\n this.init()\n this.isInit = true\n }\n\n init() {\n this.levelLabelHandle()\n this.levelOpenHandle()\n this.childrenKeysHandle()\n this.dataHandle()\n }\n\n levelLabelHandle() {\n if (this.levelLabels !== undefined) {\n this._levelLabels = this.levelLabels[this.level] || {}\n }\n }\n\n levelOpenHandle() {\n if (!isUndefined(this.levelOpen) && (this.level <= this.levelOpen)) {\n this.isOpen = true\n }\n }\n\n childrenKeysHandle() {\n if (isObject(this.data)) {\n this.childrenKeys = Object.keys(this.data)\n if (this.childrenKeys && this.childrenKeys.length) {\n this.hasChildren = true\n }\n }\n }\n\n dataHandle() {\n if (isObject(this.data)) {\n this.isObject = true\n this.dataType = 'Object'\n if (isArray(this.data)) {\n this.isArray = true\n this.dataType = 'Array'\n }\n if (this.key && this._levelLabels[this.key]) {\n this.dataType = this._levelLabels[this.key]\n }\n } else {\n this.value = this.data\n if (isString(this.data)) {\n this.valueType = 'string'\n } else if (isNumber(this.data)) {\n this.valueType = 'number'\n } else if (isBoolean(this.data)) {\n this.valueType = 'boolean'\n } else if (null === this.data) {\n this.valueType = 'null'\n this.value = 'null'\n }\n }\n }\n\n toggle() {\n if (!(this.childrenKeys && this.childrenKeys.length)) {\n return\n }\n this.isOpen = !this.isOpen\n }\n\n}\n","<div class=\"json-view\">\n <a (click)=\"toggle()\">\n <span class=\"toggler\"\n [ngClass]=\"{'collapse': isOpen, 'expand': !isOpen}\"\n [style.visibility]=\"hasChildren?'visible':'hidden'\"></span>\n <span class=\"key\"\n *ngIf=\"key\">\n <span>{{key}}</span>\n <span>: </span>\n </span>\n <span class=\"value\">\n <span *ngIf=\"isObject\">\n {{ dataType }}\n <span *ngIf=\"isArray\">[ {{ $any(data)?.length }} ]</span>\n </span>\n <span *ngIf=\"!isObject && valueType\"\n [ngClass]=\"valueType\">{{ value }}</span>\n </span>\n </a>\n <div class=\"children\"\n *ngIf=\"hasChildren && isOpen\">\n <nxt-json-view-item *ngFor=\"let _key of childrenKeys\"\n [data]=\"data[_key]\"\n [key]=\"_key\"\n [level]=\"level+1\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"></nxt-json-view-item>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core'\nimport { LevelLabels } from '../utils/interfaces'\n\n@Component({\n selector: 'nxt-json-view',\n templateUrl: './json-view.component.html',\n styleUrls: ['./json-view.component.scss'],\n encapsulation: ViewEncapsulation.Emulated\n})\nexport class JsonViewComponent {\n /** JSON data, any valid JSON object */\n @Input() data: any\n /** Initial number of levels to be expanded */\n @Input() levelOpen?: number\n /** Custom labels for elements within the hierarcy */\n @Input() levelLabels?: LevelLabels\n}\n","<div class=\"nxt-json-view\">\n <nxt-json-view-item [data]=\"data\"\n [level]=\"0\"\n [levelOpen]=\"levelOpen\"\n [levelLabels]=\"levelLabels\"\n class=\"json-view\"></nxt-json-view-item>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { JsonViewItemComponent } from './json-view-item/json-view-item.component'\nimport { JsonViewComponent } from './json-view/json-view.component'\n\n@NgModule({\n declarations: [\n JsonViewItemComponent,\n JsonViewComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n JsonViewComponent\n ]\n})\nexport class JsonViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.JsonViewItemComponent"],"mappings":"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"}
@@ -1,14 +1,12 @@
1
+ import { LevelLabels } from '../utils/interfaces';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class JsonViewComponent {
4
+ /** JSON data, any valid JSON object */
3
5
  data: any;
6
+ /** Initial number of levels to be expanded */
4
7
  levelOpen?: number;
5
- levelLabels?: {
6
- [key: number]: {
7
- [key: string]: string;
8
- };
9
- };
10
- key?: string;
11
- level: number;
8
+ /** Custom labels for elements within the hierarcy */
9
+ levelLabels?: LevelLabels;
12
10
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonViewComponent, never>;
13
11
  static ɵcmp: i0.ɵɵComponentDeclaration<JsonViewComponent, "nxt-json-view", never, { "data": "data"; "levelOpen": "levelOpen"; "levelLabels": "levelLabels"; }, {}, never, never, false, never>;
14
12
  }
@@ -1,5 +1,7 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { LevelLabels } from '../utils/interfaces';
2
3
  import * as i0 from "@angular/core";
4
+ /** @internal */
3
5
  export declare class JsonViewItemComponent implements OnInit {
4
6
  private _data?;
5
7
  set data(data: any | undefined);
@@ -7,11 +9,7 @@ export declare class JsonViewItemComponent implements OnInit {
7
9
  key?: string;
8
10
  level: number;
9
11
  levelOpen?: number;
10
- levelLabels?: {
11
- [key: number]: {
12
- [key: string]: string;
13
- };
14
- };
12
+ levelLabels?: LevelLabels;
15
13
  isOpen: boolean;
16
14
  childrenKeys?: string[];
17
15
  hasChildren: boolean;
@@ -0,0 +1,5 @@
1
+ export interface LevelLabels {
2
+ [level: number]: {
3
+ [key: string]: string;
4
+ };
5
+ }
@@ -1,6 +1,12 @@
1
+ /** @internal */
1
2
  export declare function isObject(value: any): value is object;
3
+ /** @internal */
2
4
  export declare function isArray(value: any): value is unknown[];
5
+ /** @internal */
3
6
  export declare function isUndefined<T>(value: T | undefined): value is undefined;
7
+ /** @internal */
4
8
  export declare function isString(value: any): value is string;
9
+ /** @internal */
5
10
  export declare function isNumber(value: any): value is number;
11
+ /** @internal */
6
12
  export declare function isBoolean(value: any): value is boolean;
package/package.json CHANGED
@@ -2,13 +2,13 @@
2
2
  "name": "nxt-json-view",
3
3
  "description": "Angular component for interactive json view.",
4
4
  "bugs": "https://github.com/Liquid-JS/nxt-components/issues",
5
- "version": "15.0.0",
5
+ "version": "16.0.0-alpha.1",
6
6
  "license": "MIT",
7
7
  "repository": "https://github.com/Liquid-JS/nxt-components.git",
8
8
  "homepage": "https://github.com/Liquid-JS/nxt-components/tree/master/packages/json-view",
9
9
  "peerDependencies": {
10
- "@angular/common": "^15.2.1",
11
- "@angular/core": "^15.2.1"
10
+ "@angular/common": "^15.2.3",
11
+ "@angular/core": "^15.2.3"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.5.0"
package/public-api.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './lib/json-view-item/json-view-item.component';
2
1
  export * from './lib/json-view.module';
3
2
  export * from './lib/json-view/json-view.component';
3
+ export { LevelLabels } from './lib/utils/interfaces';