@operato/data-tree 1.1.61

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.
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ stories: ['../dist/stories/**/*.stories.{js,md,mdx}'],
3
+ };
@@ -0,0 +1,8 @@
1
+ import { storybookPlugin } from '@web/dev-server-storybook';
2
+ import baseConfig from '../web-dev-server.config.mjs';
3
+
4
+ export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
5
+ ...baseConfig,
6
+ open: '/',
7
+ plugins: [storybookPlugin({ type: 'web-components' }), ...baseConfig.plugins],
8
+ });
package/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ### [1.1.61](https://github.com/hatiolab/operato/compare/v1.1.60...v1.1.61) (2023-01-09)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * add data-tree webcomponent ([3cf6203](https://github.com/hatiolab/operato/commit/3cf62036d93c4b9b81d6e24b884d83caa4406381))
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # \<data-tree>
2
+
3
+ This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm i data-tree
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <script type="module">
15
+ import 'data-tree/data-tree.js'
16
+ </script>
17
+
18
+ <data-tree></data-tree>
19
+ ```
20
+
21
+ ## Linting with ESLint, Prettier, and Types
22
+
23
+ To scan the project for linting errors, run
24
+
25
+ ```bash
26
+ npm run lint
27
+ ```
28
+
29
+ You can lint with ESLint and Prettier individually as well
30
+
31
+ ```bash
32
+ npm run lint:eslint
33
+ ```
34
+
35
+ ```bash
36
+ npm run lint:prettier
37
+ ```
38
+
39
+ To automatically fix many linting errors, run
40
+
41
+ ```bash
42
+ npm run format
43
+ ```
44
+
45
+ You can format using ESLint and Prettier individually as well
46
+
47
+ ```bash
48
+ npm run format:eslint
49
+ ```
50
+
51
+ ```bash
52
+ npm run format:prettier
53
+ ```
54
+
55
+ ## Testing with Web Test Runner
56
+
57
+ To run the suite of Web Test Runner tests, run
58
+
59
+ ```bash
60
+ npm run test
61
+ ```
62
+
63
+ To run the tests in watch mode (for &lt;abbr title=&#34;test driven development&#34;&gt;TDD&lt;/abbr&gt;, for example), run
64
+
65
+ ```bash
66
+ npm run test:watch
67
+ ```
68
+
69
+ ## Demoing with Storybook
70
+
71
+ To run a local instance of Storybook for your component, run
72
+
73
+ ```bash
74
+ npm run storybook
75
+ ```
76
+
77
+ To build a production version of Storybook, run
78
+
79
+ ```bash
80
+ npm run storybook:build
81
+ ```
82
+
83
+ ## Tooling configs
84
+
85
+ For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.
86
+
87
+ If you customize the configuration a lot, you can consider moving them to individual files.
88
+
89
+ ## Local Demo with `web-dev-server`
90
+
91
+ ```bash
92
+ npm start
93
+ ```
94
+
95
+ To run a local development server that serves the basic demo located in `demo/index.html`
Binary file
Binary file
@@ -0,0 +1,96 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-GB">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+
7
+ <style>
8
+ body {
9
+ /* box-sizing: border-box; */
10
+ margin: 0;
11
+ padding: 0;
12
+ overflow: hidden;
13
+
14
+ /* This is a font-stack that tries to use the system-default sans-serifs first */
15
+ font-family: Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
16
+ line-height: 1.5;
17
+ -webkit-font-smoothing: antialiased;
18
+ }
19
+
20
+ #app {
21
+ width: 100vw;
22
+ height: 100vh;
23
+
24
+ display: flex;
25
+ flex-direction: column;
26
+ }
27
+
28
+ #demo {
29
+ flex: 1;
30
+
31
+ display: flex;
32
+ flex-direction: column;
33
+ overflow: hidden;
34
+ }
35
+
36
+ grist-demo {
37
+ flex: 1;
38
+ overflow: auto;
39
+ }
40
+ </style>
41
+ <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet" />
42
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
43
+
44
+ <link href="/themes/app-theme.css" rel="stylesheet" />
45
+ <link href="/themes/oops-theme.css" rel="stylesheet" />
46
+ <link href="/themes/grist-theme.css" rel="stylesheet" />
47
+ </head>
48
+
49
+ <body>
50
+ <script type="module">
51
+ import { LitElement, html, css, render } from 'lit'
52
+ import '../dist/src/ox-tree.js'
53
+
54
+ const data = {
55
+ label: 'AAAAA',
56
+ children: [
57
+ {
58
+ label: 'AAAAA-1',
59
+ children: [
60
+ {
61
+ label: 'AAAAA-2'
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ label: 'BBBBB-1',
67
+ children: [
68
+ {
69
+ label: 'BBBBB-2'
70
+ },
71
+ {
72
+ label: 'BBBBB-21'
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ label: 'CCCCC-1',
78
+ children: [
79
+ {
80
+ label: 'CCCCC-2'
81
+ }
82
+ ]
83
+ }
84
+ ]
85
+ }
86
+
87
+ setTimeout(() => {
88
+ render(html` <ox-tree .data=${data}></ox-tree> `, document.querySelector('#demo'))
89
+ })
90
+ </script>
91
+
92
+ <div id="app">
93
+ <div id="demo"></div>
94
+ </div>
95
+ </body>
96
+ </html>
@@ -0,0 +1 @@
1
+ export * from './ox-tree';
@@ -0,0 +1,2 @@
1
+ export * from './ox-tree';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA","sourcesContent":["export * from './ox-tree'\n"]}
@@ -0,0 +1,19 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ type TreeItem = {
3
+ label: string;
4
+ children?: TreeItem[];
5
+ status?: {
6
+ [state: string]: boolean | string;
7
+ };
8
+ };
9
+ export declare class OxTree extends LitElement {
10
+ static styles: import("lit").CSSResult[];
11
+ data?: TreeItem;
12
+ render(): TemplateResult<1>;
13
+ renderItem(item: TreeItem): TemplateResult;
14
+ onClickExpander(e: MouseEvent): void;
15
+ onClickItem(e: MouseEvent): void;
16
+ walkTreeCheckedUpdate(item: TreeItem, checked?: string): void;
17
+ updateCheckedAll(item: TreeItem): void;
18
+ }
19
+ export {};
@@ -0,0 +1,194 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, css, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ let OxTree = class OxTree extends LitElement {
5
+ render() {
6
+ return this.data
7
+ ? html `
8
+ <ul @click=${this.onClickItem.bind(this)}>
9
+ ${this.renderItem(this.data)}
10
+ </ul>
11
+ `
12
+ : html ``;
13
+ }
14
+ renderItem(item) {
15
+ const { label, children, status = {} } = item;
16
+ const expandable = children && children.length > 0;
17
+ const { collapsed, checked } = status;
18
+ return html `
19
+ <li checked=${checked} ?collapsed=${collapsed} ?leaf=${!expandable} .item=${item}>
20
+ ${expandable ? html ` <span expander @click=${this.onClickExpander.bind(this)}></span> ` : html ``}
21
+ <span checkbox></span>
22
+ ${label}
23
+ ${expandable && !collapsed
24
+ ? html `
25
+ <ul>
26
+ ${children.map(child => this.renderItem(child))}
27
+ </ul>
28
+ `
29
+ : html ``}
30
+ </li>
31
+ `;
32
+ }
33
+ onClickExpander(e) {
34
+ e.stopPropagation();
35
+ const target = e.target;
36
+ const itemElement = target.closest('li');
37
+ var item = itemElement.item;
38
+ item.status = {
39
+ ...item.status,
40
+ collapsed: !itemElement.hasAttribute('collapsed')
41
+ };
42
+ this.requestUpdate();
43
+ }
44
+ onClickItem(e) {
45
+ e.stopPropagation();
46
+ const target = e.target;
47
+ const itemElement = target.closest('li');
48
+ var item = itemElement.item;
49
+ var checked = itemElement.getAttribute('checked') || '';
50
+ this.walkTreeCheckedUpdate(item, checked == '' || checked == 'unchecked' ? 'checked' : 'unchecked');
51
+ this.updateCheckedAll(this.data);
52
+ this.requestUpdate();
53
+ }
54
+ walkTreeCheckedUpdate(item, checked = '') {
55
+ const { children, status } = item;
56
+ children === null || children === void 0 ? void 0 : children.forEach(child => this.walkTreeCheckedUpdate(child, checked));
57
+ item.status = {
58
+ ...status,
59
+ checked
60
+ };
61
+ }
62
+ updateCheckedAll(item) {
63
+ const { children, status } = item;
64
+ if (!children || children.length == 0) {
65
+ return;
66
+ }
67
+ children.forEach(child => this.updateCheckedAll(child));
68
+ var checked = '';
69
+ children.forEach(child => {
70
+ const { status = {} } = child;
71
+ if (status.checked == 'half-checked') {
72
+ checked = 'half-checked';
73
+ }
74
+ else if (status.checked == 'checked') {
75
+ checked = checked == 'checked' || checked == '' ? 'checked' : 'half-checked';
76
+ }
77
+ else {
78
+ checked = checked == 'unchecked' || checked == '' ? 'unchecked' : 'half-checked';
79
+ }
80
+ });
81
+ item.status = {
82
+ ...status,
83
+ checked
84
+ };
85
+ }
86
+ };
87
+ OxTree.styles = [
88
+ css `
89
+ ul {
90
+ list-style: none;
91
+ padding-left: 20px;
92
+ overflow: hidden;
93
+ position: relative;
94
+ }
95
+
96
+ li {
97
+ cursor: pointer;
98
+ overflow: hidden;
99
+ }
100
+
101
+ span[expander] {
102
+ display: inline-block;
103
+ vertical-align: middle;
104
+ width: 20px;
105
+ height: 20px;
106
+ cursor: pointer;
107
+ position: relative;
108
+ }
109
+
110
+ span[expander]::before {
111
+ position: absolute;
112
+ top: 8px;
113
+ left: 6px;
114
+ display: block;
115
+ content: ' ';
116
+ border: 4px solid transparent;
117
+ border-top: 4px solid rgba(0, 0, 0, 0.65);
118
+ }
119
+
120
+ li[collapsed] > span[expander]::before {
121
+ transform: rotate(-90deg);
122
+ }
123
+
124
+ li[leaf] {
125
+ padding-left: 20px;
126
+ }
127
+
128
+ span[checkbox] {
129
+ display: inline-block;
130
+ vertical-align: middle;
131
+ width: 20px;
132
+ height: 20px;
133
+ cursor: pointer;
134
+ position: relative;
135
+ }
136
+
137
+ span[checkbox]::before {
138
+ cursor: pointer;
139
+ position: absolute;
140
+ top: 2px;
141
+ content: ' ';
142
+ display: block;
143
+ width: 16px;
144
+ height: 16px;
145
+ border: 1px solid #d9d9d9;
146
+ border-radius: 2px;
147
+ }
148
+
149
+ li[checked='checked'] > span[checkbox]::before {
150
+ background-color: #1890ff;
151
+ border-color: #1890ff;
152
+ }
153
+
154
+ li[checked='checked'] > span[checkbox]::after {
155
+ position: absolute;
156
+ content: ' ';
157
+ display: block;
158
+ top: 4px;
159
+ left: 5px;
160
+ width: 5px;
161
+ height: 9px;
162
+ border: 2px solid #fff;
163
+ border-top: none;
164
+ border-left: none;
165
+ -webkit-transform: rotate(45deg);
166
+ -ms-transform: rotate(45deg);
167
+ transform: rotate(45deg);
168
+ }
169
+
170
+ li[checked='half-checked'] > span[checkbox]::before {
171
+ background-color: #1890ff;
172
+ border-color: #1890ff;
173
+ }
174
+
175
+ li[checked='half-checked'] > span[checkbox]::after {
176
+ position: absolute;
177
+ content: ' ';
178
+ display: block;
179
+ top: 9px;
180
+ left: 3px;
181
+ width: 10px;
182
+ height: 2px;
183
+ background-color: #fff;
184
+ }
185
+ `
186
+ ];
187
+ __decorate([
188
+ property({ type: Object })
189
+ ], OxTree.prototype, "data", void 0);
190
+ OxTree = __decorate([
191
+ customElement('ox-tree')
192
+ ], OxTree);
193
+ export { OxTree };
194
+ //# sourceMappingURL=ox-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-tree.js","sourceRoot":"","sources":["../../src/ox-tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, css, html, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\ntype TreeItem = {\n label: string\n children?: TreeItem[]\n status?: { [state: string]: boolean | string }\n}\n\n@customElement('ox-tree')\nexport class OxTree extends LitElement {\n static styles = [\n css`\n ul {\n list-style: none;\n padding-left: 20px;\n overflow: hidden;\n position: relative;\n }\n\n li {\n cursor: pointer;\n overflow: hidden;\n }\n\n span[expander] {\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[expander]::before {\n position: absolute;\n top: 8px;\n left: 6px;\n display: block;\n content: ' ';\n border: 4px solid transparent;\n border-top: 4px solid rgba(0, 0, 0, 0.65);\n }\n\n li[collapsed] > span[expander]::before {\n transform: rotate(-90deg);\n }\n\n li[leaf] {\n padding-left: 20px;\n }\n\n span[checkbox] {\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n cursor: pointer;\n position: relative;\n }\n\n span[checkbox]::before {\n cursor: pointer;\n position: absolute;\n top: 2px;\n content: ' ';\n display: block;\n width: 16px;\n height: 16px;\n border: 1px solid #d9d9d9;\n border-radius: 2px;\n }\n\n li[checked='checked'] > span[checkbox]::before {\n background-color: #1890ff;\n border-color: #1890ff;\n }\n\n li[checked='checked'] > span[checkbox]::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 4px;\n left: 5px;\n width: 5px;\n height: 9px;\n border: 2px solid #fff;\n border-top: none;\n border-left: none;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n li[checked='half-checked'] > span[checkbox]::before {\n background-color: #1890ff;\n border-color: #1890ff;\n }\n\n li[checked='half-checked'] > span[checkbox]::after {\n position: absolute;\n content: ' ';\n display: block;\n top: 9px;\n left: 3px;\n width: 10px;\n height: 2px;\n background-color: #fff;\n }\n `\n ]\n\n @property({ type: Object }) data?: TreeItem\n\n render() {\n return this.data\n ? html`\n <ul @click=${this.onClickItem.bind(this)}>\n ${this.renderItem(this.data)}\n </ul>\n `\n : html``\n }\n\n renderItem(item: TreeItem): TemplateResult {\n const { label, children, status = {} } = item\n const expandable = children && children.length > 0\n const { collapsed, checked } = status\n\n return html`\n <li checked=${checked} ?collapsed=${collapsed} ?leaf=${!expandable} .item=${item}>\n ${expandable ? html` <span expander @click=${this.onClickExpander.bind(this)}></span> ` : html``}\n <span checkbox></span>\n ${label}\n ${expandable && !collapsed\n ? html`\n <ul>\n ${children.map(child => this.renderItem(child))}\n </ul>\n `\n : html``}\n </li>\n `\n }\n\n onClickExpander(e: MouseEvent) {\n e.stopPropagation()\n\n const target = e.target as HTMLSpanElement\n const itemElement = target!.closest('li') as HTMLLIElement\n\n var item = (itemElement as any).item\n item.status = {\n ...item.status,\n collapsed: !itemElement.hasAttribute('collapsed')\n }\n\n this.requestUpdate()\n }\n\n onClickItem(e: MouseEvent) {\n e.stopPropagation()\n\n const target = e.target as HTMLSpanElement\n const itemElement = target!.closest('li') as HTMLLIElement\n\n var item = (itemElement as any).item\n var checked = itemElement.getAttribute('checked') || ''\n\n this.walkTreeCheckedUpdate(item, checked == '' || checked == 'unchecked' ? 'checked' : 'unchecked')\n this.updateCheckedAll(this.data!)\n\n this.requestUpdate()\n }\n\n walkTreeCheckedUpdate(item: TreeItem, checked: string = '') {\n const { children, status } = item\n children?.forEach(child => this.walkTreeCheckedUpdate(child, checked))\n item.status = {\n ...status,\n checked\n }\n }\n\n updateCheckedAll(item: TreeItem) {\n const { children, status } = item\n if (!children || children.length == 0) {\n return\n }\n\n children.forEach(child => this.updateCheckedAll(child))\n\n var checked: string = ''\n\n children.forEach(child => {\n const { status = {} } = child\n\n if (status.checked == 'half-checked') {\n checked = 'half-checked'\n } else if (status.checked == 'checked') {\n checked = checked == 'checked' || checked == '' ? 'checked' : 'half-checked'\n } else {\n checked = checked == 'unchecked' || checked == '' ? 'unchecked' : 'half-checked'\n }\n })\n\n item.status = {\n ...status,\n checked\n }\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import '../src/ox-tree.js';
2
+ import '@material/mwc-icon';
3
+ import { TemplateResult } from 'lit';
4
+ declare const _default: {
5
+ title: string;
6
+ component: string;
7
+ argTypes: {
8
+ data: {
9
+ control: string;
10
+ };
11
+ };
12
+ };
13
+ export default _default;
14
+ interface Story<T> {
15
+ (args: T): TemplateResult;
16
+ args?: Partial<T>;
17
+ argTypes?: Record<string, unknown>;
18
+ }
19
+ interface ArgTypes {
20
+ data: object;
21
+ }
22
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,51 @@
1
+ import '../src/ox-tree.js';
2
+ import '@material/mwc-icon';
3
+ import { html } from 'lit';
4
+ export default {
5
+ title: '3 modes in ox-tree',
6
+ component: 'ox-tree',
7
+ argTypes: {
8
+ data: { control: 'object' }
9
+ }
10
+ };
11
+ const Template = ({ data }) => html `
12
+ <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
13
+
14
+ <ox-tree .data=${data}></ox-tree>
15
+ `;
16
+ export const Regular = Template.bind({});
17
+ Regular.args = {
18
+ data: {
19
+ label: 'AAAAA',
20
+ children: [
21
+ {
22
+ label: 'AAAAA-1',
23
+ children: [
24
+ {
25
+ label: 'AAAAA-2'
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ label: 'BBBBB-1',
31
+ children: [
32
+ {
33
+ label: 'BBBBB-2'
34
+ },
35
+ {
36
+ label: 'BBBBB-21'
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ label: 'CCCCC-1',
42
+ children: [
43
+ {
44
+ label: 'CCCCC-2'
45
+ }
46
+ ]
47
+ }
48
+ ]
49
+ }
50
+ };
51
+ //# sourceMappingURL=data-tree.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-tree.stories.js","sourceRoot":"","sources":["../../stories/data-tree.stories.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAC1B,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;KAC5B;CACF,CAAA;AAYD,MAAM,QAAQ,GAAoB,CAAC,EAAE,IAAI,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;mBAG3C,IAAI;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,SAAS;qBACjB;oBACD;wBACE,KAAK,EAAE,UAAU;qBAClB;iBACF;aACF;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;SACF;KACF;CACF,CAAA","sourcesContent":["import '../src/ox-tree.js'\nimport '@material/mwc-icon'\n\nimport { html, TemplateResult } from 'lit'\n\nexport default {\n title: '3 modes in ox-tree',\n component: 'ox-tree',\n argTypes: {\n data: { control: 'object' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n data: object\n}\n\nconst Template: Story<ArgTypes> = ({ data }: ArgTypes) => html`\n <link href=\"https://fonts.googleapis.com/css?family=Material+Icons&display=block\" rel=\"stylesheet\" />\n\n <ox-tree .data=${data}></ox-tree>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n data: {\n label: 'AAAAA',\n children: [\n {\n label: 'AAAAA-1',\n children: [\n {\n label: 'AAAAA-2'\n }\n ]\n },\n {\n label: 'BBBBB-1',\n children: [\n {\n label: 'BBBBB-2'\n },\n {\n label: 'BBBBB-21'\n }\n ]\n },\n {\n label: 'CCCCC-1',\n children: [\n {\n label: 'CCCCC-2'\n }\n ]\n }\n ]\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../src/ox-tree.ts","../src/index.ts","../../../node_modules/@material/mwc-icon/mwc-icon.d.ts","../stories/data-tree.stories.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","52dd370c807255c61765347fc90a9bee3c522b8744dc222714e2bf6b5be3a823","1e5743b25a63fd34ffbae89adcbf248ee17db6ed08d90079ffa93803c3e80d2a","3cbcdf2a84c93c6b62d8d4584f613c8af7c6330ac2ba1ff781d10a3e0935beb9","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"3f30c6b57bf5eb7a7d4298506b78b18d428a39a409e1eadd93a3fdd0299d2687","62da965db3bd1b4ce135048ae8a317d7eb1949068824cb949dd4a91f7e3d6c2d","eba7cf33380cc3a3cf614faf67300e14d0bdff9ea6c5cd6f4b040b1756a48ab1","5e7e090243bf203382a5cb04eabbdc38d78f6d5922f16f543e4da8fa007d5ff9","cd823094ded7c8ac4f94ab6dc387dab699293eb8323d9f948304efc07e4ae7b2","241000969e5367a9a9b9a4f57963e54e5a012c9d89c273526c0115650a7b9e5f","ac388c7c7a262213a3700451bc921e382a93fb27c0252c34ccf03540b4ce044b","097a7e3badfd1c4b35f72aa0f722f5714a4f6a84e53fca5a79dcfebbfc5e718d","fb0107c83e2e0e75b77dacd0c3c6c3ab6844e98dce2a8f858c6f0a57c12136a6","0a478dcb6e6bd8a5d871165659c79cee7b8c3b7a87289118d22e1a04d171e252","e385eb01000d045ea07cea09c488f66e051709a9ac460bf271623f9984e0c419","bf69beba89702c85d84546269e0d4e8b128d32e26b314ee9b501b0b32c82490b","46f3a421b048670d16a3c02589261f17c1cea687f2602eed31e1335b53aed785","4bcb813ea56182beaaab1e8274524eb9f1449b0d8e79efc4a0399de09e43f816","c784eab1cf838d9d6527bce3d9f2d373145606666b68f7610291a7adf6e6bda9","f0380f581cb015778c0fe51e95b5b7f6dae237280654558469b2486c1572268a",{"version":"bbe6d8d71254270db385141e08ecb4a09a717e27fd16b62ffa244b0dfaa33f43","signature":"df13a991e8283de61afb8e9f8667a7432e60fec00bd4c5e79ef6e2939a30419e"},{"version":"5e7d8b68a69b8b9a7225ee931490777c802754d77b4665178599d64ebb255bef","signature":"85d3772542eeb156c137c6774ec7608ffffd96b7ce3e62483ab2846cc3ed2cc3"},{"version":"27b285e901600242883d62a5fff9f5d262c6fa128b6e6c6963f981f2630a957e","affectsGlobalScope":true},{"version":"de39e3af432116668dfb3657f83bafc8e762835dde50b40652a55e1595d306e7","signature":"153ede504ace3d9f61afdf3a90588533b6765ff1d9b67d5c0b2e8e6bab218ab6"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[115],[46,115],[54,115],[46,54,115],[46,54,62,115],[44,45,115],[53,115],[69,115],[72,115],[73,78,106,115],[74,85,86,93,103,114,115],[74,75,85,93,115],[76,115],[77,78,86,94,115],[78,103,111,115],[79,81,85,93,115],[80,115],[81,82,115],[85,115],[83,85,115],[85,86,87,103,114,115],[85,86,87,100,103,106,115],[115,119],[81,88,93,103,114,115],[85,86,88,89,93,103,111,114,115],[88,90,103,111,114,115],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],[85,91,115],[92,114,115],[81,85,93,103,115],[94,115],[95,115],[72,96,115],[97,113,115,119],[98,115],[99,115],[85,100,101,115],[100,102,115,117],[73,85,103,104,105,106,115],[73,103,105,115],[103,104,115],[106,115],[107,115],[85,109,110,115],[109,110,115],[78,93,103,111,115],[112,115],[93,113,115],[73,88,99,114,115],[78,115],[103,115,116],[115,117],[115,118],[73,78,85,87,96,103,114,115,117,119],[103,115,120],[47,115],[46,50,115],[50,115],[48,49,115],[55,56,57,58,59,60,61,62,63,115],[46,50,51,52,115],[43,65,115],[43,53,64,115],[43,53,65,67,115],[65],[53],[53,65,67]],"referencedMap":[[44,1],[54,2],[55,3],[58,4],[56,4],[60,4],[63,5],[62,1],[61,4],[59,4],[57,3],[45,1],[46,6],[67,7],[123,1],[69,8],[70,8],[72,9],[73,10],[74,11],[75,12],[76,13],[77,14],[78,15],[79,16],[80,17],[81,18],[82,18],[84,19],[83,20],[85,19],[86,21],[87,22],[71,23],[121,1],[88,24],[89,25],[90,26],[122,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,34],[98,35],[99,36],[100,37],[101,37],[102,38],[103,39],[105,40],[104,41],[106,42],[107,43],[108,1],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[117,52],[118,53],[119,54],[120,55],[48,56],[47,1],[51,57],[49,58],[52,1],[50,59],[64,60],[53,61],[43,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[66,62],[65,63],[68,64]],"exportedModulesMap":[[44,1],[54,2],[55,3],[58,4],[56,4],[60,4],[63,5],[62,1],[61,4],[59,4],[57,3],[45,1],[46,6],[67,7],[123,1],[69,8],[70,8],[72,9],[73,10],[74,11],[75,12],[76,13],[77,14],[78,15],[79,16],[80,17],[81,18],[82,18],[84,19],[83,20],[85,19],[86,21],[87,22],[71,23],[121,1],[88,24],[89,25],[90,26],[122,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,34],[98,35],[99,36],[100,37],[101,37],[102,38],[103,39],[105,40],[104,41],[106,42],[107,43],[108,1],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[117,52],[118,53],[119,54],[120,55],[48,56],[47,1],[51,57],[49,58],[52,1],[50,59],[64,60],[53,61],[43,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[66,65],[65,66],[68,67]],"semanticDiagnosticsPerFile":[44,54,55,58,56,60,63,62,61,59,57,45,46,67,123,69,70,72,73,74,75,76,77,78,79,80,81,82,84,83,85,86,87,71,121,88,89,90,122,91,92,93,94,95,96,97,98,99,100,101,102,103,105,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,48,47,51,49,52,50,64,53,43,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,66,65,68]},"version":"4.9.4"}