@pb33f/cowboy-components 0.2.1 → 0.2.2

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.
Files changed (40) hide show
  1. package/dist/components/model-renderer/rendered-node.css.d.ts +2 -0
  2. package/dist/components/model-renderer/rendered-node.css.js +96 -0
  3. package/dist/components/model-renderer/rendered-node.d.ts +8 -0
  4. package/dist/components/model-renderer/rendered-node.js +117 -0
  5. package/dist/components/model-renderer/rendered-property.css.d.ts +2 -0
  6. package/dist/components/model-renderer/rendered-property.css.js +118 -0
  7. package/dist/components/model-renderer/rendered-property.d.ts +14 -0
  8. package/dist/components/model-renderer/rendered-property.js +204 -0
  9. package/dist/components/model-tree/tree-item.d.ts +10 -0
  10. package/dist/components/model-tree/tree-item.js +37 -0
  11. package/dist/components/model-tree/tree.css.d.ts +2 -0
  12. package/dist/components/model-tree/tree.css.js +20 -0
  13. package/dist/components/model-tree/tree.d.ts +16 -0
  14. package/dist/components/model-tree/tree.js +103 -0
  15. package/dist/components/the-doctor/the-doctor.d.ts +2 -1
  16. package/dist/components/the-doctor/the-doctor.js +32 -13
  17. package/dist/components/visualizer/explorer.d.ts +52 -0
  18. package/dist/components/visualizer/explorer.js +296 -0
  19. package/dist/components/visualizer/node.d.ts +11 -0
  20. package/dist/components/visualizer/node.js +27 -0
  21. package/dist/components/visualizer/operation.css.d.ts +2 -0
  22. package/dist/components/visualizer/operation.css.js +53 -0
  23. package/dist/components/visualizer/operation.d.ts +12 -0
  24. package/dist/components/visualizer/operation.js +52 -0
  25. package/dist/components/visualizer/visualizer.css.d.ts +2 -0
  26. package/dist/components/visualizer/visualizer.css.js +157 -0
  27. package/dist/components/visualizer/visualizer.d.ts +60 -0
  28. package/dist/components/visualizer/visualizer.js +137 -0
  29. package/dist/cowboy-components.d.ts +1 -0
  30. package/dist/cowboy-components.js +2 -0
  31. package/dist/cowboy-components.umd.cjs +948 -322
  32. package/dist/css/pb33f-theme.css +1 -1
  33. package/dist/events/doctor.d.ts +5 -0
  34. package/dist/events/doctor.js +2 -0
  35. package/dist/model/graph.d.ts +6 -0
  36. package/dist/model/graph.js +1 -0
  37. package/dist/services/model-service.d.ts +5 -0
  38. package/dist/services/model-service.js +30 -0
  39. package/dist/style.css +1 -1
  40. package/package.json +6 -3
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,96 @@
1
+ import { css } from "lit";
2
+ export default css `
3
+
4
+ h3 {
5
+ padding-top: 5px;
6
+ margin: 0;
7
+ font-size: 1.2rem;
8
+ }
9
+
10
+ .node-path {
11
+ font-size: 0.7rem;
12
+ word-wrap: break-word;
13
+ }
14
+
15
+ sl-badge::part(base) {
16
+ border-radius: 0;
17
+ background-color: var(--background-color);
18
+ border: 1px solid var(--secondary-color);
19
+ color: var(--secondary-color);
20
+ }
21
+
22
+
23
+ .prop {
24
+ font-size: 0.8rem;
25
+ padding: 5px 5px 5px 10px;
26
+ border: 1px solid var(--secondary-color);
27
+ }
28
+
29
+ .prop-key {
30
+ display: inline-block;
31
+ min-width: 80px;
32
+ text-align: right;
33
+ }
34
+
35
+ .empty-node {
36
+ font-size: 0.8rem;
37
+ color: var(--primary-color);
38
+ }
39
+
40
+ .empty-node:hover {
41
+ cursor: pointer;
42
+ text-decoration: underline;
43
+ }
44
+
45
+ .empty-node:active {
46
+ cursor: pointer;
47
+ text-decoration: underline;
48
+ color: var(--error-color);
49
+ }
50
+
51
+ .property {
52
+ border: 1px solid var(--secondary-color);
53
+ width: 100%;
54
+ font-size: 0.8rem;
55
+ margin-top: 5px;
56
+ }
57
+
58
+
59
+ table {
60
+ border: 1px solid var(--secondary-color);
61
+ width: 100%;
62
+ font-size: 0.8rem;
63
+ margin-top: 5px;
64
+ }
65
+
66
+
67
+
68
+ .nested-props {
69
+ margin-left: 20px;
70
+ }
71
+
72
+ td {
73
+ // border: 1px dashed var(--secondary-color);
74
+ }
75
+
76
+ td.key {
77
+ width: 5%;
78
+ text-align: right;
79
+ padding-right: 5px;
80
+ }
81
+
82
+ .required {
83
+ display: inline-block;
84
+ padding: 1px;
85
+ color: var(--warn-200);
86
+ border: 1px solid var(--warn-200);
87
+ font-size: 0.6rem;
88
+ }
89
+
90
+
91
+
92
+ hr {
93
+ margin-top: 10px;
94
+ margin-bottom: 10px;
95
+ }
96
+ `;
@@ -0,0 +1,8 @@
1
+ import { LitElement } from "lit";
2
+ import { Node } from "../visualizer/visualizer.js";
3
+ import './rendered-property.js';
4
+ export declare class RenderedNodeComponent extends LitElement {
5
+ static styles: import("lit").CSSResult[];
6
+ node: Node;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
@@ -0,0 +1,117 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, property } from "lit/decorators.js";
8
+ import { html, LitElement } from "lit";
9
+ import renderedNodeCss from "./rendered-node.css.js";
10
+ import './rendered-property.js';
11
+ import sharedCss from "../../css/shared.css.js";
12
+ let RenderedNodeComponent = class RenderedNodeComponent extends LitElement {
13
+ //buildProps(obj: any, required: string[] = []) {
14
+ // return html``
15
+ //
16
+ //
17
+ //
18
+ // const props: Map<string, any> = new Map<string, any>();
19
+ // for (const key in obj) {
20
+ // if (obj.hasOwnProperty(key)) {
21
+ // const element = obj[key];
22
+ // props.set(key, element);
23
+ // }
24
+ // }
25
+ // let requiredProps: string[] = []
26
+ // if (props.get('required')) {
27
+ // requiredProps = props.get('required')
28
+ // }
29
+ // requiredProps.push(...required)
30
+ // console.log(requiredProps);
31
+ // return html`
32
+ //
33
+ // <table>
34
+ //
35
+ // ${Array.from(props).map(([key, value]) => {
36
+ //
37
+ // if (!isNaN(key as any) && !isNaN(parseFloat(key as any))) {
38
+ // key = "-"
39
+ // }
40
+ //
41
+ // if (typeof value === 'object' && !Array.isArray(value)) {
42
+ //
43
+ // let required = false;
44
+ // if (requiredProps.includes(key)){
45
+ // required = true;
46
+ // const idx = requiredProps.indexOf(key);
47
+ // requiredProps.splice(idx, 1);
48
+ // }
49
+ //
50
+ // return html`
51
+ // <tr>
52
+ //
53
+ // <td colspan="2"> ${key} ${required? html`<span class="required">required</span>`: requiredProps}
54
+ // <div class="nested-props">${this.buildProps(value, requiredProps)}</div></td>
55
+ // </tr>`;
56
+ // }
57
+ //
58
+ // if (typeof value === 'object' && Array.isArray(value)) {
59
+ // if (key === 'required') {
60
+ // return html``;
61
+ // }
62
+ // return html`
63
+ // <tr>
64
+ // <td colspan="2"> ${key} []
65
+ // <div class="nested-props">${this.buildProps(value)}</div>
66
+ // </td>
67
+ // </tr>`;
68
+ // }
69
+ //
70
+ // if (key.startsWith('$ref')) {
71
+ // value = "REF()"
72
+ // }
73
+ //
74
+ //
75
+ // return html`
76
+ // <tr>
77
+ // <td class="key">${key}${key!='-'? ':':''}</td>
78
+ // <td>${value}</td>
79
+ // </tr>
80
+ // `;
81
+ // })}
82
+ // </table>
83
+ //
84
+ // `
85
+ // }
86
+ render() {
87
+ if (!this.node) {
88
+ return html `
89
+ <div class="rendered-node">
90
+ No Node
91
+ </div>
92
+ `;
93
+ }
94
+ console.log(this.node);
95
+ let renderedNode = html `<pb33f-rendered-property .value="${this.node.instance}" class="proppy"></pb33f-rendered-property>`;
96
+ if (!this.node.instance || Object.keys(this.node.instance).length === 0) {
97
+ renderedNode = html `<span class="empty-node">Defined on line [${this.node.line}]</span>`;
98
+ }
99
+ return html `
100
+ <div class="rendered-node">
101
+ <sl-badge>${this.node.type}</sl-badge>
102
+ <h3>${this.node.label}</h3>
103
+ <span class="node-path">$.<pb33f-render-json-path path="${this.node.id}"></pb33f-render-json-path></span>
104
+ <hr/>
105
+ ${renderedNode}
106
+ </div>
107
+ `;
108
+ }
109
+ };
110
+ RenderedNodeComponent.styles = [sharedCss, renderedNodeCss];
111
+ __decorate([
112
+ property()
113
+ ], RenderedNodeComponent.prototype, "node", void 0);
114
+ RenderedNodeComponent = __decorate([
115
+ customElement('pb33f-rendered-node')
116
+ ], RenderedNodeComponent);
117
+ export { RenderedNodeComponent };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,118 @@
1
+ import { css } from "lit";
2
+ export default css `
3
+
4
+ .property {
5
+ border-left: 1px dashed var(--secondary-color);
6
+
7
+ font-size: 0.8rem;
8
+ //padding-top: 10px;
9
+ padding-left: 10px;
10
+ //padding-bottom: 10px;
11
+
12
+ //margin-bottom: 30px;
13
+ }
14
+
15
+ .property-start {
16
+
17
+ }
18
+
19
+ .property-end {
20
+
21
+ }
22
+
23
+ .inline-property {
24
+ font-size: 0.8rem;
25
+ margin-bottom: 5px;
26
+ margin-top: 5px;
27
+ }
28
+
29
+ .inline-ref {
30
+ font-size: 0.8rem;
31
+ margin-top: 10px;
32
+ margin-bottom: 10px;
33
+ }
34
+
35
+ .reflink {
36
+ color: var(--terminal-text);
37
+ }
38
+
39
+ .poly-reflink {
40
+ color: var(--warn-color);
41
+ }
42
+
43
+
44
+ sl-icon.reflink, sl-icon.poly-reflink {
45
+ font-size: 1.3rem;
46
+ vertical-align: sub;
47
+ }
48
+
49
+ .inline-ref:hover {
50
+ text-decoration: underline;
51
+ cursor: pointer;
52
+ }
53
+ .inline-ref:active {
54
+ text-decoration: underline;
55
+ cursor: pointer;
56
+ color: var(--error-color);
57
+ }
58
+
59
+ .type {
60
+ display: inline-block;
61
+ padding: 1px;
62
+ color: var(--secondary-color);
63
+ //border: 1px solid var(--secondary-color);
64
+ font-size: 0.8rem;
65
+ margin-bottom: 5px;
66
+ }
67
+ .nested {
68
+ padding-left: 15px;
69
+ margin-top: 5px;
70
+ }
71
+
72
+ .nested-inline {
73
+ display: inline-block;
74
+ text-align: center;
75
+ }
76
+
77
+ .object-node {
78
+ margin-bottom: 5px;
79
+ margin-top: 5px;
80
+ }
81
+
82
+ .required {
83
+ display: inline-block;
84
+ padding: 1px;
85
+ color: var(--primary-color);
86
+
87
+ font-size: 0.7rem;
88
+ }
89
+
90
+ .ref {
91
+ display: inline-block;
92
+ padding: 1px;
93
+ color: var(--primary-color);
94
+ border: 1px dashed var(--primary-color);
95
+ font-size: 0.7rem;
96
+ }
97
+
98
+ .label {
99
+ font-family: var(--font-stack-bold), monospace;
100
+ }
101
+
102
+ .prop-key {
103
+ color: var(--font-color-sub1)
104
+ }
105
+
106
+ .prop-type {
107
+ color: var(--primary-color);
108
+ font-family: var(--font-stack-bold), monospace;
109
+ }
110
+
111
+ .summary {
112
+ color: red;
113
+ border: 1px dashed var(--font-color-sub2);
114
+ padding: 5px;
115
+ }
116
+
117
+
118
+ `;
@@ -0,0 +1,14 @@
1
+ import { LitElement } from "lit";
2
+ export declare class RenderedPropertyComponent extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ requiredProps: string[];
5
+ propType: string[];
6
+ value: any;
7
+ open: boolean;
8
+ polyParent: boolean;
9
+ ignoreProps: string[];
10
+ depth: number;
11
+ constructor();
12
+ toggleOpen(): void;
13
+ render(): import("lit-html").TemplateResult<1>;
14
+ }
@@ -0,0 +1,204 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, property } from "lit/decorators.js";
8
+ import { html, LitElement } from "lit";
9
+ import renderedPropertyCss from "./rendered-property.css.js";
10
+ let RenderedPropertyComponent = class RenderedPropertyComponent extends LitElement {
11
+ constructor() {
12
+ super();
13
+ this.ignoreProps = ['required', 'example', 'examples', 'type'];
14
+ this.depth = 0;
15
+ this.polyParent = false;
16
+ }
17
+ toggleOpen() {
18
+ this.open = !this.open;
19
+ }
20
+ render() {
21
+ if (!this.value || Object.keys(this.value).length === 0) {
22
+ return html ``;
23
+ }
24
+ const props = new Map();
25
+ for (const key in this.value) {
26
+ if (this.value.hasOwnProperty(key)) {
27
+ const element = this.value[key];
28
+ props.set(key, element);
29
+ }
30
+ }
31
+ let requiredProps = [];
32
+ if (props.get('required')) {
33
+ const rp = props.get('required');
34
+ if (typeof rp == 'boolean') {
35
+ requiredProps = ['true'];
36
+ }
37
+ else {
38
+ requiredProps = rp;
39
+ }
40
+ }
41
+ if (Array.isArray(this.requiredProps) && this.requiredProps.length > 0) {
42
+ requiredProps.push(...this.requiredProps);
43
+ }
44
+ let hasType = false;
45
+ if (this.value.hasOwnProperty('type')) {
46
+ hasType = true;
47
+ }
48
+ let typeDef = html ``;
49
+ if (this.depth == 0 && hasType) {
50
+ if (Array.isArray(this.value['type'])) {
51
+ typeDef = html `
52
+ <div>
53
+ <span class="label">type:</span> ${Array.from(this.value['type']).map((type, i) => {
54
+ return html `<span class="type">${type}</span> ${i + 1 < this.value['type'].length ? ', ' : ''}`;
55
+ })}
56
+ </div>`;
57
+ }
58
+ else {
59
+ typeDef = html `
60
+ <div>
61
+ <span class="label">type:</span> <span class="type">${this.value['type']}</span>
62
+ </div>`;
63
+ }
64
+ }
65
+ const propArr = Array.from(props);
66
+ return html `
67
+
68
+ <div class="property">
69
+ ${typeDef}
70
+
71
+ ${propArr.map(([key, value], i) => {
72
+ let isNumKey = false;
73
+ if (!isNaN(key) && !isNaN(parseFloat(key))) {
74
+ key = `[${i}]`;
75
+ isNumKey = true;
76
+ }
77
+ let isPoly = false;
78
+ if (key == 'oneOf' || key == 'anyOf' || key == 'allOf' || this.polyParent) {
79
+ isPoly = true;
80
+ }
81
+ if (typeof value === 'object' && !Array.isArray(value)) {
82
+ if (this.ignoreProps.includes(key)) {
83
+ return html ``;
84
+ }
85
+ let required = false;
86
+ if (requiredProps?.includes(key)) {
87
+ required = true;
88
+ const idx = requiredProps.indexOf(key);
89
+ requiredProps.splice(idx, 1);
90
+ }
91
+ let propType = [];
92
+ let propTypeRendered = html ``;
93
+ if (value.hasOwnProperty('type')) {
94
+ propType = value['type'];
95
+ if (Array.isArray(propType) && propType.length > 0) {
96
+ propTypeRendered = html `${propType.length > 0 ? propType.map((type) => {
97
+ return html `<span class="type">${type}</span>`;
98
+ }) : html ``}`;
99
+ }
100
+ else {
101
+ propTypeRendered = html `<span class="type">${propType}</span>`;
102
+ }
103
+ }
104
+ let nested = html `
105
+ <div class="nested">
106
+ <pb33f-rendered-property .value="${value}"
107
+ .requiredProps="${requiredProps}"
108
+ .depth="${this.depth + 1}"
109
+ ?polyParent="${isPoly}"></pb33f-rendered-property>
110
+ </div>`;
111
+ let isRef = false;
112
+ // let isRefRendered = html``
113
+ if (value.hasOwnProperty('$ref')) {
114
+ isRef = true;
115
+ const ref = value['$ref'];
116
+ const segs = ref.split('/');
117
+ const refName = segs[segs.length - 1];
118
+ // isRefRendered = html`<span class="ref">refy</span>:`
119
+ nested = html `
120
+ <div class="nested${isNumKey ? '-inline' : ''}">
121
+ <sl-icon name="link"
122
+ class="${this.polyParent ? 'poly-reflink' : 'reflink'}"></sl-icon>
123
+ <span class="inline-ref ${this.polyParent ? 'poly-reflink' : 'reflink'}">${refName}</span>
124
+ </div>`;
125
+ }
126
+ return html `
127
+ <div class="object-node">
128
+ <span class="${(propType.length > 0 || isRef) ? 'prop-type' : 'prop-key'}">${key}</span>:
129
+ ${propTypeRendered}
130
+ ${required ? html `<span class="required">*required</span>` : ''}
131
+ ${nested}
132
+ </div>
133
+ `;
134
+ }
135
+ if (typeof value === 'object' && Array.isArray(value)) {
136
+ if (this.ignoreProps.includes(key)) {
137
+ return html ``;
138
+ }
139
+ let nested = html `
140
+ <div class="nested">
141
+ <pb33f-rendered-property .value="${value}"
142
+ .requiredProps="${this.requiredProps}"
143
+ .depth="${this.depth + 1}"
144
+ ?polyParent="${isPoly}"></pb33f-rendered-property>
145
+ </div>`;
146
+ if (value.length == 0) {
147
+ nested = html `<span class="nested-inline">[empty]</span>`;
148
+ }
149
+ return html `
150
+ <div>
151
+ <span class="${(value.length == 0) ? 'prop-type' : 'prop-key'}">${key}</span>:
152
+ ${nested}
153
+ </div>
154
+ </div>`;
155
+ }
156
+ let renderedProp = html `<span class="prop-type">${key}</span>: ${value}`;
157
+ if (key.startsWith('$ref')) {
158
+ const segs = value.split('/');
159
+ value = segs[segs.length - 1];
160
+ renderedProp = html `reference: <div class="nested-inline"><sl-icon name="link" class="reflink"></sl-icon>
161
+ <span class="inline-ref reflink">${value}</span></div>`;
162
+ }
163
+ if (key == 'description' || key == 'summary') {
164
+ renderedProp = html `<div class="summary">${value}</div>`;
165
+ }
166
+ if (this.ignoreProps.includes(key)) {
167
+ return html ``;
168
+ }
169
+ const op = html `<div class="inline-property">${renderedProp}</div>`;
170
+ if (this.depth > 0) {
171
+ this.depth--;
172
+ }
173
+ return op;
174
+ })}
175
+ </div>
176
+
177
+
178
+
179
+ `;
180
+ }
181
+ };
182
+ RenderedPropertyComponent.styles = [renderedPropertyCss];
183
+ __decorate([
184
+ property()
185
+ ], RenderedPropertyComponent.prototype, "requiredProps", void 0);
186
+ __decorate([
187
+ property()
188
+ ], RenderedPropertyComponent.prototype, "propType", void 0);
189
+ __decorate([
190
+ property()
191
+ ], RenderedPropertyComponent.prototype, "value", void 0);
192
+ __decorate([
193
+ property({ type: Boolean })
194
+ ], RenderedPropertyComponent.prototype, "open", void 0);
195
+ __decorate([
196
+ property({ type: Boolean })
197
+ ], RenderedPropertyComponent.prototype, "polyParent", void 0);
198
+ __decorate([
199
+ property({ type: Number })
200
+ ], RenderedPropertyComponent.prototype, "depth", void 0);
201
+ RenderedPropertyComponent = __decorate([
202
+ customElement('pb33f-rendered-property')
203
+ ], RenderedPropertyComponent);
204
+ export { RenderedPropertyComponent };
@@ -0,0 +1,10 @@
1
+ import '@shoelace-style/shoelace/dist/components/tree-item/tree-item.js';
2
+ import { TemplateResult } from "lit";
3
+ import { Node } from "../visualizer/visualizer";
4
+ import { SlTreeItem } from "@shoelace-style/shoelace";
5
+ export declare class ModelTreeItem extends SlTreeItem {
6
+ node: Node;
7
+ results: TemplateResult[];
8
+ constructor(node: Node, results: TemplateResult[]);
9
+ render(): TemplateResult<1>;
10
+ }
@@ -0,0 +1,37 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import '@shoelace-style/shoelace/dist/components/tree-item/tree-item.js';
8
+ import { customElement, property } from "lit/decorators.js";
9
+ import { html } from "lit";
10
+ import { SlTreeItem } from "@shoelace-style/shoelace";
11
+ let ModelTreeItem = class ModelTreeItem extends SlTreeItem {
12
+ constructor(node, results) {
13
+ super();
14
+ this.node = node;
15
+ this.results = results;
16
+ }
17
+ render() {
18
+ return html `
19
+ <sl-tree-item expanded>
20
+ <sl-icon name="plus-square" slot="expand-icon"></sl-icon>
21
+ <sl-icon name="dash-square" slot="collapse-icon"></sl-icon>
22
+ ${this.node.label} (${this.node.nodePath})
23
+ ${this.results}
24
+ </sl-tree-item>
25
+ `;
26
+ }
27
+ };
28
+ __decorate([
29
+ property()
30
+ ], ModelTreeItem.prototype, "node", void 0);
31
+ __decorate([
32
+ property()
33
+ ], ModelTreeItem.prototype, "results", void 0);
34
+ ModelTreeItem = __decorate([
35
+ customElement("pb33f-model-treeitem")
36
+ ], ModelTreeItem);
37
+ export { ModelTreeItem };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { css } from "lit";
2
+ export default css `
3
+
4
+ sl-tree {
5
+ --indent-guide-width: 1px;
6
+ --indent-guide-color: var(--secondary-color);
7
+ --indent-guide-style: dashed;
8
+
9
+
10
+ }
11
+ sl-tree-item {
12
+
13
+ }
14
+
15
+
16
+ sl-tree-item::part(expand-button) {
17
+ rotate: none;
18
+ }
19
+
20
+ `;
@@ -0,0 +1,16 @@
1
+ import '@shoelace-style/shoelace/dist/components/tree/tree.js';
2
+ import '@shoelace-style/shoelace/dist/components/tree-item/tree-item.js';
3
+ import { LitElement, TemplateResult } from "lit";
4
+ import { Node } from "../visualizer/visualizer.js";
5
+ import { SlTreeItem } from "@shoelace-style/shoelace";
6
+ export declare class ModelTree extends LitElement {
7
+ static styles: import("lit").CSSResult[];
8
+ node: Node;
9
+ nodeClicked(nodeHashId: string): void;
10
+ explorerClicked(nodeHashId: string): void;
11
+ collapse(evt: Event, node: Node): void;
12
+ expanded(evt: Event, node: Node): void;
13
+ buildTree(node: Node, depth: number): TemplateResult;
14
+ nodesSelected(treeItems: SlTreeItem[]): void;
15
+ render(): TemplateResult<1>;
16
+ }