@design.estate/dees-wcctools 1.0.77

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,402 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DeesElement, property, html, customElement, state } from '@design.estate/dees-element';
11
+ import { WccDashboard } from './wcc-dashboard.js';
12
+ let environment = 'native';
13
+ export const setEnvironment = (envArg) => {
14
+ environment = envArg;
15
+ };
16
+ export let WccProperties = class WccProperties extends DeesElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.selectedViewport = 'native';
20
+ this.selectedTheme = 'dark';
21
+ this.warning = null;
22
+ this.propertyContent = [];
23
+ }
24
+ render() {
25
+ return html `
26
+ <style>
27
+ :host {
28
+ font-family: 'Roboto', sans-serif;
29
+ box-sizing: border-box;
30
+ position: absolute;
31
+ left: 200px;
32
+ height: 100px;
33
+ bottom: 0px;
34
+ right: 0px;
35
+ overflow: hidden;
36
+ background: #111;
37
+ color: #fff;
38
+ }
39
+ .grid {
40
+ display: grid;
41
+ grid-template-columns: auto 150px 300px 70px;
42
+ }
43
+ .properties {
44
+ border-right: 1px solid #999;
45
+ height: 100px;
46
+ overflow-y: auto;
47
+ display: grid;
48
+ grid-template-columns: 33% 33% 33%;
49
+ }
50
+
51
+ .material-symbols-outlined {
52
+ font-family: 'Material Symbols Outlined';
53
+ font-weight: normal;
54
+ font-style: normal;
55
+ font-size: 24px; /* Preferred icon size */
56
+ display: inline-block;
57
+ line-height: 1;
58
+ text-transform: none;
59
+ letter-spacing: normal;
60
+ word-wrap: normal;
61
+ white-space: nowrap;
62
+ direction: ltr;
63
+ font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 48;
64
+ }
65
+
66
+ .properties .property {
67
+ padding: 5px;
68
+ background: #444;
69
+ border: 1px solid #000;
70
+ }
71
+
72
+ .properties input,
73
+ .properties select {
74
+ display: block;
75
+ width: 100%;
76
+ background: #333;
77
+ border: none;
78
+ color: #fff;
79
+ }
80
+
81
+ .viewportSelector,
82
+ .themeSelector {
83
+ user-select: none;
84
+ border-right: 1px solid #999;
85
+ }
86
+ .selectorButtons2 {
87
+ display: grid;
88
+ grid-template-columns: 50% 50%;
89
+ }
90
+ .selectorButtons4 {
91
+ display: grid;
92
+ grid-template-columns: 25% 25% 25% 25%;
93
+ }
94
+ .button {
95
+ padding: 10px;
96
+ text-align: center;
97
+ border: 1px solid #000;
98
+ transition: all 0.2s;
99
+ }
100
+ .button:hover {
101
+ cursor: pointer;
102
+ color: #333;
103
+ background: #fff;
104
+ }
105
+
106
+ .button.selected {
107
+ background: #455a64;
108
+ }
109
+
110
+ .button.selected:hover {
111
+ cursor: pointer;
112
+ color: #ffffff;
113
+ background: #455a64;
114
+ }
115
+
116
+ .panelheading {
117
+ padding: 5px;
118
+ font-weight: bold;
119
+ background: #444;
120
+ border: 1px solid #000;
121
+ }
122
+ .docs {
123
+ text-align: center;
124
+ line-height: 100px;
125
+ text-transform: uppercase;
126
+ }
127
+
128
+ .docs:hover {
129
+ cursor: pointer;
130
+ color: #333;
131
+ background: #fff;
132
+ }
133
+
134
+ .warning {
135
+ position: absolute;
136
+ background: #222;
137
+ color: #CCC;
138
+ top: 0px;
139
+ bottom: 0px;
140
+ left: 0px;
141
+ right: 520px;
142
+ text-align: center;
143
+ padding: 35px;
144
+ font-size: 25px;
145
+ }
146
+ </style>
147
+ <div class="grid">
148
+ <div class="properties">
149
+ <div class="panelheading">Properties</div>
150
+ ${this.propertyContent}
151
+ </div>
152
+ <div class="themeSelector">
153
+ <div class="panelheading">Theme</div>
154
+ <div class="selectorButtons2">
155
+ <div
156
+ class="button ${this.selectedTheme === 'dark' ? 'selected' : null}"
157
+ @click=${() => {
158
+ this.selectTheme('dark');
159
+ }}
160
+ >
161
+ Dark<br /><i class="material-symbols-outlined">brightness_3</i>
162
+ </div>
163
+ <div
164
+ class="button ${this.selectedTheme === 'bright' ? 'selected' : null}"
165
+ @click=${() => {
166
+ this.selectTheme('bright');
167
+ }}
168
+ >
169
+ Bright<br /><i class="material-symbols-outlined">flare</i>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ <div class="viewportSelector">
174
+ <div class="panelheading">Viewport</div>
175
+ <div class="selectorButtons4">
176
+ <div
177
+ class="button ${this.selectedViewport === 'phone' ? 'selected' : null}"
178
+ @click=${() => {
179
+ this.selectViewport('phone');
180
+ }}
181
+ >
182
+ Phone<br /><i class="material-symbols-outlined">smartphone</i>
183
+ </div>
184
+ <div
185
+ class="button ${this.selectedViewport === 'phablet' ? 'selected' : null}"
186
+ @click=${() => {
187
+ this.selectViewport('phablet');
188
+ }}
189
+ >
190
+ Phablet<br /><i class="material-symbols-outlined">smartphone</i>
191
+ </div>
192
+ <div
193
+ class="button ${this.selectedViewport === 'tablet' ? 'selected' : null}"
194
+ @click=${() => {
195
+ this.selectViewport('tablet');
196
+ }}
197
+ >
198
+ Tablet<br /><i class="material-symbols-outlined">tablet</i>
199
+ </div>
200
+ <div
201
+ class="button ${this.selectedViewport === 'desktop' ||
202
+ this.selectedViewport === 'native'
203
+ ? 'selected'
204
+ : null}"
205
+ @click=${() => {
206
+ this.selectViewport('native');
207
+ }}
208
+ >
209
+ Desktop<br /><i class="material-symbols-outlined">desktop_windows</i>
210
+ </div>
211
+ </div>
212
+ </div>
213
+ <div class="docs">Docs</div>
214
+ </div>
215
+ ${this.warning ? html `<div class="warning">${this.warning}</div>` : null}
216
+ `;
217
+ }
218
+ async createProperties() {
219
+ console.log('creating properties for:');
220
+ console.log(this.selectedItem);
221
+ const isEnumeration = (propertyArg) => {
222
+ const keys = Object.keys(propertyArg.type);
223
+ const values = [];
224
+ for (const key of keys) {
225
+ let value = propertyArg.type[key];
226
+ if (typeof value === 'number') {
227
+ value = value.toString();
228
+ }
229
+ values.push(value);
230
+ }
231
+ for (const key of keys) {
232
+ if (values.indexOf(key) < 0) {
233
+ return false;
234
+ }
235
+ }
236
+ return true;
237
+ };
238
+ const getEnumValues = (propertyArg) => {
239
+ console.log(JSON.stringify(propertyArg));
240
+ const enumValues = [];
241
+ Object.keys(propertyArg.type).forEach((valueArg) => {
242
+ enumValues.push(valueArg);
243
+ });
244
+ return enumValues;
245
+ };
246
+ const determinePropertyType = async (propertyArg) => {
247
+ const typeName = propertyArg.type.name;
248
+ if (typeName) {
249
+ return typeName;
250
+ }
251
+ else {
252
+ return Array.isArray(propertyArg)
253
+ ? 'Array'
254
+ : isEnumeration(propertyArg)
255
+ ? 'Enum'
256
+ : 'Object';
257
+ }
258
+ };
259
+ if (this.selectedItem && this.selectedItem.demo) {
260
+ console.log(`Got Dees-Element for property evaluation.`);
261
+ const anonItem = this.selectedItem;
262
+ if (!anonItem) {
263
+ this.warning = 'no element selected';
264
+ return;
265
+ }
266
+ console.log(anonItem.elementProperties);
267
+ const wccFrame = await this.dashboardRef.wccFrame;
268
+ let firstFoundInstantiatedElement;
269
+ for (const element of Array.from((await wccFrame.getViewportElement()).children)) {
270
+ if (element instanceof this.selectedItem) {
271
+ firstFoundInstantiatedElement = element;
272
+ break;
273
+ }
274
+ }
275
+ if (!firstFoundInstantiatedElement) {
276
+ this.warning = `no first instantiated element found for >>${anonItem.name}<<`;
277
+ return;
278
+ }
279
+ const classProperties = anonItem.elementProperties;
280
+ if (!classProperties) {
281
+ this.warning = `selected element >>${anonItem.name}<< does not expose element properties`;
282
+ return;
283
+ }
284
+ this.warning = null;
285
+ const propertyArray = [];
286
+ for (const key of classProperties.keys()) {
287
+ if (key === 'goBright' || key === 'domtools') {
288
+ continue;
289
+ }
290
+ const property = classProperties.get(key);
291
+ const propertyTypeString = await determinePropertyType(property);
292
+ propertyArray.push(html `
293
+ <div class="property">
294
+ ${key} / ${propertyTypeString}<br />
295
+ ${(() => {
296
+ switch (propertyTypeString) {
297
+ case 'Boolean':
298
+ return html `<input
299
+ type="checkbox"
300
+ ?checked=${firstFoundInstantiatedElement[key]}
301
+ @input="${(eventArg) => {
302
+ firstFoundInstantiatedElement[key] = eventArg.target.checked;
303
+ }}"
304
+ />`;
305
+ case 'String':
306
+ return html `<input
307
+ type="text"
308
+ value=${firstFoundInstantiatedElement[key]}
309
+ @input="${(eventArg) => {
310
+ firstFoundInstantiatedElement[key] = eventArg.target.value;
311
+ }}"
312
+ />`;
313
+ case 'Number':
314
+ return html `<input
315
+ type="number"
316
+ value=${firstFoundInstantiatedElement[key]}
317
+ @input="${(eventArg) => {
318
+ firstFoundInstantiatedElement[key] = eventArg.target.value;
319
+ }}"
320
+ />`;
321
+ case 'Enum':
322
+ const enumValues = getEnumValues(property);
323
+ return html `<select
324
+ @change="${(eventArg) => {
325
+ firstFoundInstantiatedElement[key] = eventArg.target.value;
326
+ }}"
327
+ >
328
+ ${enumValues.map((valueArg) => {
329
+ return html `
330
+ <option
331
+ ?selected=${valueArg === firstFoundInstantiatedElement[key] ? true : false}
332
+ name="${valueArg}"
333
+ >
334
+ ${valueArg}
335
+ </option>
336
+ `;
337
+ })}
338
+ </select>`;
339
+ }
340
+ })()}
341
+ </div>
342
+ `);
343
+ }
344
+ this.propertyContent = propertyArray;
345
+ }
346
+ else {
347
+ console.log(`Cannot extract properties of ${this.selectedItem?.name}`);
348
+ this.warning = `You selected a page.`;
349
+ return null;
350
+ }
351
+ }
352
+ selectTheme(themeArg) {
353
+ this.selectedTheme = themeArg;
354
+ this.dispatchEvent(new CustomEvent('selectedTheme', {
355
+ detail: themeArg,
356
+ }));
357
+ console.log(this.dashboardRef.selectedType);
358
+ this.dashboardRef.buildUrl();
359
+ }
360
+ async scheduleUpdate() {
361
+ await this.createProperties();
362
+ super.scheduleUpdate();
363
+ }
364
+ selectViewport(viewport) {
365
+ this.selectedViewport = viewport;
366
+ setEnvironment(viewport);
367
+ this.dispatchEvent(new CustomEvent('selectedViewport', {
368
+ detail: viewport,
369
+ }));
370
+ this.dashboardRef.buildUrl();
371
+ }
372
+ };
373
+ __decorate([
374
+ property({
375
+ type: WccDashboard
376
+ }),
377
+ __metadata("design:type", WccDashboard)
378
+ ], WccProperties.prototype, "dashboardRef", void 0);
379
+ __decorate([
380
+ property(),
381
+ __metadata("design:type", Object)
382
+ ], WccProperties.prototype, "selectedItem", void 0);
383
+ __decorate([
384
+ property(),
385
+ __metadata("design:type", String)
386
+ ], WccProperties.prototype, "selectedViewport", void 0);
387
+ __decorate([
388
+ property(),
389
+ __metadata("design:type", String)
390
+ ], WccProperties.prototype, "selectedTheme", void 0);
391
+ __decorate([
392
+ property(),
393
+ __metadata("design:type", String)
394
+ ], WccProperties.prototype, "warning", void 0);
395
+ __decorate([
396
+ state(),
397
+ __metadata("design:type", Array)
398
+ ], WccProperties.prototype, "propertyContent", void 0);
399
+ WccProperties = __decorate([
400
+ customElement('wcc-properties')
401
+ ], WccProperties);
402
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT2xELElBQUksV0FBVyxHQUFpQixRQUFRLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUM7QUFHSyxXQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsV0FBVztJQUF2Qzs7UUFVRSxxQkFBZ0IsR0FBaUIsUUFBUSxDQUFDO1FBRzFDLGtCQUFhLEdBQVcsTUFBTSxDQUFDO1FBRy9CLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFHOUIsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0lBc1d6QyxDQUFDO0lBcFdRLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7WUE2SEgsSUFBSSxDQUFDLGVBQWU7Ozs7Ozs4QkFNRixJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJO3VCQUN4RCxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7Ozs7OzhCQUtlLElBQUksQ0FB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
@@ -0,0 +1,11 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import { WccDashboard } from './wcc-dashboard.js';
3
+ export type TElementType = 'element' | 'page';
4
+ export declare class WccSidebar extends DeesElement {
5
+ websites: string[];
6
+ selectedItem: DeesElement | (() => TemplateResult);
7
+ selectedType: TElementType;
8
+ dashboardRef: WccDashboard;
9
+ render(): TemplateResult;
10
+ selectItem(typeArg: TElementType, itemNameArg: string, itemArg: (() => TemplateResult) | DeesElement): void;
11
+ }
@@ -0,0 +1,201 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import * as plugins from '../wcctools.plugins.js';
11
+ import { DeesElement, property, html, customElement } from '@design.estate/dees-element';
12
+ import { WccDashboard } from './wcc-dashboard.js';
13
+ export let WccSidebar = class WccSidebar extends DeesElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.websites = [];
17
+ }
18
+ render() {
19
+ return html `
20
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
21
+ <style>
22
+ :host {
23
+ display: block;
24
+ border-right: 1px solid #999;
25
+ font-family: 'Roboto', sans-serif;
26
+ box-sizing: border-box;
27
+ position: absolute;
28
+ left: 0px;
29
+ width: 200px;
30
+ top: 0px;
31
+ bottom: 0px;
32
+ overflow-y: scroll;
33
+ overflow-x: hidden;
34
+ background: #222;
35
+ color: #fff;
36
+ padding: 5px;
37
+ }
38
+
39
+ .material-symbols-outlined {
40
+ font-family: 'Material Symbols Outlined';
41
+ font-weight: normal;
42
+ font-style: normal;
43
+ font-size: 24px; /* Preferred icon size */
44
+ display: inline-block;
45
+ line-height: 1;
46
+ text-transform: none;
47
+ letter-spacing: normal;
48
+ word-wrap: normal;
49
+ white-space: nowrap;
50
+ direction: ltr;
51
+ font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 48;
52
+ }
53
+
54
+ .heading {
55
+ font-size: 24px;
56
+ text-align: center;
57
+ margin: 20px 5px 5px 5px;
58
+ }
59
+
60
+ .heading a {
61
+ text-decoration: none;
62
+ color: #fff;
63
+ }
64
+
65
+ .subheading {
66
+ text-align: center;
67
+ }
68
+ .selectOption {
69
+ position: relative;
70
+ line-height: 24px;
71
+ padding: 5px;
72
+ transition: all 0.2s;
73
+ display: grid;
74
+ grid-template-columns: 28px auto;
75
+ }
76
+ .selectOption:hover {
77
+ cursor: pointer;
78
+ padding: 5px;
79
+ color: #333;
80
+ background: #fff;
81
+ }
82
+
83
+ .selectOption.selected {
84
+ background: #455A64;;
85
+ }
86
+
87
+ .selectOption.selected:hover {
88
+ cursor: pointer;
89
+ color: #ffffff;
90
+ background: #455A64;
91
+ }
92
+
93
+ .selectOption .material-symbols-outlined {
94
+ color: #666;
95
+ display: block;
96
+ transition: all 0.2s;
97
+ }
98
+
99
+ .selectOption.selected .material-symbols-outlined {
100
+ color: #000;
101
+ }
102
+
103
+ .selectOption .text {
104
+ display: block;
105
+ word-wrap: break-word;
106
+ word-break: break-all;
107
+ max-width: 100%;
108
+ }
109
+
110
+
111
+ </style>
112
+ <div class="heading">
113
+ <a href="https://gitlab.com/designestate/dees-wcctools" target="_blank">wcctools</a>
114
+ </div>
115
+ <div class="subheading">
116
+ by Lossless GmbH
117
+ </div>
118
+ <div class="menu">
119
+ <h3>Live Websites</h3>
120
+ ${this.websites.map(website => {
121
+ return html `<div class="selectOption"><i class="material-symbols-outlined">ondemand_video</i><div class="text">${website}</div></div>`;
122
+ })}
123
+ <h3>Pages</h3>
124
+ ${(() => {
125
+ const pages = Object.keys(this.dashboardRef.pages);
126
+ return pages.map(pageName => {
127
+ const item = this.dashboardRef.pages[pageName];
128
+ return html `
129
+ <div
130
+ class="selectOption ${this.selectedItem === item ? 'selected' : null}"
131
+ @click=${async () => {
132
+ const domtools = await plugins.deesDomtools.DomTools.setupDomTools();
133
+ this.selectItem('page', pageName, item);
134
+ }}
135
+ >
136
+ <i class="material-symbols-outlined">insert_drive_file</i>
137
+ <div class="text">${pageName}</div>
138
+ </div>
139
+ `;
140
+ });
141
+ })()}
142
+ <h3>Elements</h3>
143
+ ${(() => {
144
+ const elements = Object.keys(this.dashboardRef.elements);
145
+ return elements.map(elementName => {
146
+ const item = this.dashboardRef.elements[elementName];
147
+ return html `
148
+ <div
149
+ class="selectOption ${this.selectedItem === item ? 'selected' : null}"
150
+ @click=${async () => {
151
+ const domtools = await plugins.deesDomtools.DomTools.setupDomTools();
152
+ this.selectItem('element', elementName, item);
153
+ }}
154
+ >
155
+ <i class="material-symbols-outlined">featured_video</i>
156
+ <div class="text">${elementName}</div>
157
+ </div>
158
+ `;
159
+ });
160
+ })()}
161
+ </menu>
162
+ `;
163
+ }
164
+ selectItem(typeArg, itemNameArg, itemArg) {
165
+ console.log('selected item');
166
+ console.log(itemNameArg);
167
+ console.log(itemArg);
168
+ this.selectedItem = itemArg;
169
+ this.selectedType = typeArg;
170
+ this.dispatchEvent(new CustomEvent('selectedType', {
171
+ detail: typeArg
172
+ }));
173
+ this.dispatchEvent(new CustomEvent('selectedItemName', {
174
+ detail: itemNameArg
175
+ }));
176
+ this.dispatchEvent(new CustomEvent('selectedItem', {
177
+ detail: itemArg
178
+ }));
179
+ this.dashboardRef.buildUrl();
180
+ }
181
+ };
182
+ __decorate([
183
+ property({ type: Array }),
184
+ __metadata("design:type", Array)
185
+ ], WccSidebar.prototype, "websites", void 0);
186
+ __decorate([
187
+ property({ attribute: false }),
188
+ __metadata("design:type", Object)
189
+ ], WccSidebar.prototype, "selectedItem", void 0);
190
+ __decorate([
191
+ property({ attribute: false }),
192
+ __metadata("design:type", String)
193
+ ], WccSidebar.prototype, "selectedType", void 0);
194
+ __decorate([
195
+ property(),
196
+ __metadata("design:type", WccDashboard)
197
+ ], WccSidebar.prototype, "dashboardRef", void 0);
198
+ WccSidebar = __decorate([
199
+ customElement('wcc-sidebar')
200
+ ], WccSidebar);
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXNpZGViYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXNpZGViYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixNQUFNLDZCQUE2QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUszQyxXQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFXLFNBQVEsV0FBVztJQUFwQzs7UUFFRSxhQUFRLEdBQWEsRUFBRSxDQUFDO0lBc0xqQyxDQUFDO0lBM0tRLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7VUFxR0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUEsc0dBQXNHLE9BQU8sY0FBYyxDQUFDO1FBQ3pJLENBQUMsQ0FBQzs7VUFFQSxDQUFDLEdBQUcsRUFBRTtZQUNOLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLElBQUksQ0FBQTs7c0NBRWUsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSTt5QkFDM0QsS0FBSyxJQUFJLEVBQUU7b0JBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUMsQ0FBQzs7O29DQUdtQixRQUFROzthQUUvQixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsRUFBRTs7VUFFRixDQUFDLEdBQUcsRUFBRTtZQUNOLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNyRCxPQUFPLElBQUksQ0FBQTs7c0NBRWUsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSTt5QkFDM0QsS0FBSyxJQUFJLEVBQUU7b0JBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEQsQ0FBQzs7O29DQUdtQixXQUFXOzthQUVsQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsRUFBRTs7S0FFUCxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFxQixFQUFFLFdBQW1CLEVBQUUsT0FBNkM7UUFDekcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFO1lBQzlCLE1BQU0sRUFBRSxPQUFPO1NBQ2hCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxXQUFXLENBQUMsa0JBQWtCLEVBQUU7WUFDbEMsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUU7WUFDOUIsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFBO0FBdExRO0lBRE4sUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDOzs0Q0FDTztBQUd4QjtJQUROLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzs7Z0RBQzJCO0FBR25EO0lBRE4sUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDOztnREFDRztBQUczQjtJQUROLFFBQVEsRUFBRTs4QkFDVSxZQUFZO2dEQUFDO0FBWHZCLFVBQVU7SUFEdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQztHQUNoQixVQUFVLENBd0x0QiJ9
@@ -0,0 +1,7 @@
1
+ import { LitElement, type TemplateResult } from 'lit';
2
+ declare const setupWccTools: (elementsArg?: {
3
+ [key: string]: LitElement;
4
+ }, pagesArg?: {
5
+ [key: string]: () => TemplateResult;
6
+ }) => void;
7
+ export { setupWccTools };
@@ -0,0 +1,16 @@
1
+ import { WccDashboard } from './elements/wcc-dashboard.js';
2
+ import { LitElement } from 'lit';
3
+ const setupWccTools = (elementsArg, pagesArg) => {
4
+ let hasRun = false;
5
+ const runWccToolsSetup = async () => {
6
+ if (document.readyState === 'complete' && !hasRun) {
7
+ hasRun = true;
8
+ const wccTools = new WccDashboard(elementsArg, pagesArg);
9
+ document.querySelector('body').append(wccTools);
10
+ }
11
+ };
12
+ document.addEventListener('readystatechange', runWccToolsSetup);
13
+ runWccToolsSetup();
14
+ };
15
+ export { setupWccTools };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c193ZWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sS0FBSyxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLENBQUMsV0FBMkMsRUFBRSxRQUFrRCxFQUFFLEVBQUU7SUFDeEgsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ25CLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDbEMsSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFVBQVUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNqRCxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxZQUFZLENBQUMsV0FBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUMsQ0FBQztJQUNGLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hFLGdCQUFnQixFQUFFLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLGFBQWEsRUFDZCxDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import * as smartdelay from '@push.rocks/smartdelay';
2
+ export { smartdelay };
3
+ import * as deesDomtools from '@design.estate/dees-domtools';
4
+ export { deesDomtools };
@@ -0,0 +1,5 @@
1
+ import * as smartdelay from '@push.rocks/smartdelay';
2
+ export { smartdelay };
3
+ import * as deesDomtools from '@design.estate/dees-domtools';
4
+ export { deesDomtools };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjdG9vbHMucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3dlYi93Y2N0b29scy5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUNMLFVBQVUsRUFDWCxDQUFDO0FBRUYsT0FBTyxLQUFLLFlBQVksTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsWUFBWSxFQUNiLENBQUMifQ==