@design.estate/dees-catalog 3.51.0 → 3.51.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.
- package/dist_bundle/bundle.js +2374 -2188
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +10 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +35 -8
- package/dist_ts_web/elements/00group-chart/dees-chart-area/styles.js +41 -24
- package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +17 -4
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.d.ts +1 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.js +16 -24
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +1 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +14 -28
- package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.d.ts +1 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +52 -51
- package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.d.ts +1 -0
- package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +22 -29
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.d.ts +1 -0
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +6 -6
- package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +51 -44
- package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +7 -14
- package/dist_ts_web/elements/00group-input/dees-input-richtext/component.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-richtext/component.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-richtext/styles.js +12 -20
- package/dist_ts_web/elements/00group-input/dees-input-richtext/template.js +5 -5
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.d.ts +34 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.demo.d.ts +2 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.demo.js +67 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.js +187 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/index.js +2 -0
- package/dist_ts_web/elements/00group-layout/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-layout/index.js +2 -1
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.d.ts +1 -0
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +82 -74
- package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal-preview/dees-workspace-terminal-preview.d.ts +1 -0
- package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal-preview/dees-workspace-terminal-preview.js +8 -15
- package/dist_watch/bundle.js +2374 -2188
- package/dist_watch/bundle.js.map +4 -4
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-chart/dees-chart-area/component.ts +29 -6
- package/ts_web/elements/00group-chart/dees-chart-area/styles.ts +40 -23
- package/ts_web/elements/00group-chart/dees-chart-area/template.ts +16 -4
- package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +15 -23
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +13 -27
- package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +51 -50
- package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +21 -28
- package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +5 -5
- package/ts_web/elements/00group-dataview/dees-table/styles.ts +50 -43
- package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +6 -13
- package/ts_web/elements/00group-input/dees-input-richtext/component.ts +1 -0
- package/ts_web/elements/00group-input/dees-input-richtext/styles.ts +11 -19
- package/ts_web/elements/00group-input/dees-input-richtext/template.ts +5 -5
- package/ts_web/elements/00group-layout/dees-tile/dees-tile.demo.ts +67 -0
- package/ts_web/elements/00group-layout/dees-tile/dees-tile.ts +139 -0
- package/ts_web/elements/00group-layout/dees-tile/index.ts +1 -0
- package/ts_web/elements/00group-layout/index.ts +1 -0
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +92 -84
- package/ts_web/elements/00group-workspace/dees-workspace-terminal-preview/dees-workspace-terminal-preview.ts +7 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "3.51.
|
|
3
|
+
"version": "3.51.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.51.
|
|
6
|
+
version: '3.51.2',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
|
@@ -13,6 +13,7 @@ import { renderChartArea } from './template.js';
|
|
|
13
13
|
|
|
14
14
|
import type { IChartApi, ISeriesApi, UTCTimestamp, MouseEventParams } from 'lightweight-charts';
|
|
15
15
|
import { DeesServiceLibLoader, type ILightweightChartsBundle } from '../../../services/index.js';
|
|
16
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
16
17
|
|
|
17
18
|
export type ChartSeriesConfig = {
|
|
18
19
|
name?: string;
|
|
@@ -33,6 +34,9 @@ export class DeesChartArea extends DeesElement {
|
|
|
33
34
|
@state()
|
|
34
35
|
accessor chart: IChartApi | null = null;
|
|
35
36
|
|
|
37
|
+
@state()
|
|
38
|
+
accessor seriesStats: Array<{ name: string; latest: number; min: number; max: number; avg: number; color: string }> = [];
|
|
39
|
+
|
|
36
40
|
@property()
|
|
37
41
|
accessor label: string = 'Untitled Chart';
|
|
38
42
|
|
|
@@ -163,8 +167,8 @@ export class DeesChartArea extends DeesElement {
|
|
|
163
167
|
attributionLogo: false,
|
|
164
168
|
},
|
|
165
169
|
grid: {
|
|
166
|
-
vertLines: {
|
|
167
|
-
horzLines: { color: isDark ? 'hsl(0 0%
|
|
170
|
+
vertLines: { color: isDark ? 'hsl(0 0% 8.5%)' : 'hsl(0 0% 95.5%)' },
|
|
171
|
+
horzLines: { color: isDark ? 'hsl(0 0% 8.5%)' : 'hsl(0 0% 95.5%)' },
|
|
168
172
|
},
|
|
169
173
|
} as any);
|
|
170
174
|
|
|
@@ -172,7 +176,7 @@ export class DeesChartArea extends DeesElement {
|
|
|
172
176
|
for (const [, api] of this.seriesApis) {
|
|
173
177
|
const color = colors[idx % colors.length];
|
|
174
178
|
api.applyOptions({
|
|
175
|
-
topColor: this.hslToRgba(color, isDark ? 0.
|
|
179
|
+
topColor: this.hslToRgba(color, isDark ? 0.4 : 0.5),
|
|
176
180
|
bottomColor: this.hslToRgba(color, 0),
|
|
177
181
|
lineColor: color,
|
|
178
182
|
});
|
|
@@ -194,7 +198,7 @@ export class DeesChartArea extends DeesElement {
|
|
|
194
198
|
chartSeries.forEach((s, index) => {
|
|
195
199
|
const color = colors[index % colors.length];
|
|
196
200
|
const api = this.chart!.addSeries(this.lcBundle!.AreaSeries, {
|
|
197
|
-
topColor: this.hslToRgba(color, isDark ? 0.
|
|
201
|
+
topColor: this.hslToRgba(color, isDark ? 0.4 : 0.5),
|
|
198
202
|
bottomColor: this.hslToRgba(color, 0),
|
|
199
203
|
lineColor: color,
|
|
200
204
|
lineWidth: 2,
|
|
@@ -218,6 +222,23 @@ export class DeesChartArea extends DeesElement {
|
|
|
218
222
|
|
|
219
223
|
this.seriesApis.set(s.name || `series-${index}`, api);
|
|
220
224
|
});
|
|
225
|
+
this.computeStats(chartSeries);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
private computeStats(chartSeries: ChartSeriesConfig) {
|
|
229
|
+
const isDark = !this.goBright;
|
|
230
|
+
const colors = this.getSeriesColors(isDark);
|
|
231
|
+
this.seriesStats = chartSeries.map((s, index) => {
|
|
232
|
+
const values = s.data.map(d => d.y);
|
|
233
|
+
if (values.length === 0) {
|
|
234
|
+
return { name: s.name || `series-${index}`, latest: 0, min: 0, max: 0, avg: 0, color: colors[index % colors.length] };
|
|
235
|
+
}
|
|
236
|
+
const latest = values[values.length - 1];
|
|
237
|
+
const min = Math.min(...values);
|
|
238
|
+
const max = Math.max(...values);
|
|
239
|
+
const avg = Math.round((values.reduce((sum, v) => sum + v, 0) / values.length) * 100) / 100;
|
|
240
|
+
return { name: s.name || `series-${index}`, latest, min, max, avg, color: colors[index % colors.length] };
|
|
241
|
+
});
|
|
221
242
|
}
|
|
222
243
|
|
|
223
244
|
private updatePriceLines(name: string, api: ISeriesApi<any>, data: Array<{ x: any; y: number }>, color: string) {
|
|
@@ -348,8 +369,8 @@ export class DeesChartArea extends DeesElement {
|
|
|
348
369
|
attributionLogo: false,
|
|
349
370
|
},
|
|
350
371
|
grid: {
|
|
351
|
-
vertLines: {
|
|
352
|
-
horzLines: { color: isDark ? 'hsl(0 0%
|
|
372
|
+
vertLines: { color: isDark ? 'hsl(0 0% 8.5%)' : 'hsl(0 0% 95.5%)' },
|
|
373
|
+
horzLines: { color: isDark ? 'hsl(0 0% 8.5%)' : 'hsl(0 0% 95.5%)' },
|
|
353
374
|
},
|
|
354
375
|
rightPriceScale: {
|
|
355
376
|
borderVisible: false,
|
|
@@ -468,6 +489,7 @@ export class DeesChartArea extends DeesElement {
|
|
|
468
489
|
api.setData(this.convertDataToLC(filtered));
|
|
469
490
|
this.updatePriceLines(name, api, filtered, colors[index % colors.length]);
|
|
470
491
|
});
|
|
492
|
+
this.computeStats(newSeries);
|
|
471
493
|
}
|
|
472
494
|
|
|
473
495
|
try {
|
|
@@ -505,6 +527,7 @@ export class DeesChartArea extends DeesElement {
|
|
|
505
527
|
api.setData(this.convertDataToLC(s.data));
|
|
506
528
|
this.updatePriceLines(name, api, s.data, colors[index % colors.length]);
|
|
507
529
|
});
|
|
530
|
+
this.computeStats(newSeries);
|
|
508
531
|
}
|
|
509
532
|
}
|
|
510
533
|
} catch (error) {
|
|
@@ -4,38 +4,55 @@ export const chartAreaStyles = [
|
|
|
4
4
|
cssManager.defaultStyles,
|
|
5
5
|
css`
|
|
6
6
|
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
height: 400px;
|
|
7
9
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
8
10
|
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
|
|
9
11
|
font-size: 14px;
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
width: 100%;
|
|
14
|
-
height: 400px;
|
|
15
|
-
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
|
|
16
|
-
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
17
|
-
border-radius: 8px;
|
|
18
|
-
overflow: hidden;
|
|
13
|
+
dees-tile {
|
|
14
|
+
height: 100%;
|
|
19
15
|
}
|
|
20
|
-
.
|
|
16
|
+
.chartContainer {
|
|
21
17
|
position: absolute;
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
inset: 0;
|
|
19
|
+
}
|
|
20
|
+
.statsBar {
|
|
21
|
+
height: 32px;
|
|
22
|
+
padding: 0 16px;
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
gap: 24px;
|
|
24
26
|
width: 100%;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
}
|
|
29
|
+
.statsSeries {
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
gap: 8px;
|
|
33
|
+
}
|
|
34
|
+
.statsSeries + .statsSeries {
|
|
35
|
+
padding-left: 24px;
|
|
36
|
+
border-left: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
37
|
+
}
|
|
38
|
+
.statsColor {
|
|
39
|
+
width: 8px;
|
|
40
|
+
height: 8px;
|
|
41
|
+
border-radius: 2px;
|
|
42
|
+
flex-shrink: 0;
|
|
43
|
+
}
|
|
44
|
+
.statsName {
|
|
29
45
|
font-weight: 500;
|
|
30
|
-
|
|
31
|
-
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0%
|
|
46
|
+
font-size: 11px;
|
|
47
|
+
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
|
|
48
|
+
margin-right: 4px;
|
|
32
49
|
}
|
|
33
|
-
.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
50
|
+
.statsItem {
|
|
51
|
+
font-size: 11px;
|
|
52
|
+
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
|
|
53
|
+
}
|
|
54
|
+
.statsItem strong {
|
|
55
|
+
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
|
|
39
56
|
}
|
|
40
57
|
.lw-tooltip {
|
|
41
58
|
position: absolute;
|
|
@@ -3,10 +3,22 @@ import type { DeesChartArea } from './component.js';
|
|
|
3
3
|
|
|
4
4
|
export const renderChartArea = (component: DeesChartArea): TemplateResult => {
|
|
5
5
|
return html`
|
|
6
|
-
<
|
|
7
|
-
<div class="chartTitle">${component.label}</div>
|
|
6
|
+
<dees-tile .heading=${component.label}>
|
|
8
7
|
<div class="chartContainer"></div>
|
|
9
|
-
|
|
8
|
+
${component.seriesStats.length > 0 ? html`
|
|
9
|
+
<div slot="footer" class="statsBar">
|
|
10
|
+
${component.seriesStats.map(s => html`
|
|
11
|
+
<div class="statsSeries">
|
|
12
|
+
<span class="statsColor" style="background:${s.color}"></span>
|
|
13
|
+
<span class="statsName">${s.name}</span>
|
|
14
|
+
<span class="statsItem">latest <strong>${component.yAxisFormatter(s.latest)}</strong></span>
|
|
15
|
+
<span class="statsItem">min <strong>${component.yAxisFormatter(s.min)}</strong></span>
|
|
16
|
+
<span class="statsItem">max <strong>${component.yAxisFormatter(s.max)}</strong></span>
|
|
17
|
+
<span class="statsItem">avg <strong>${component.yAxisFormatter(s.avg)}</strong></span>
|
|
18
|
+
</div>
|
|
19
|
+
`)}
|
|
20
|
+
</div>
|
|
21
|
+
` : ''}
|
|
22
|
+
</dees-tile>
|
|
10
23
|
`;
|
|
11
|
-
|
|
12
24
|
};
|
|
@@ -13,6 +13,7 @@ import * as domtools from '@design.estate/dees-domtools';
|
|
|
13
13
|
import { demoFunc } from './dees-chart-log.demo.js';
|
|
14
14
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
15
15
|
import { DeesServiceLibLoader, type IXtermSearchAddon, CDN_BASE, CDN_VERSIONS } from '../../../services/index.js';
|
|
16
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
16
17
|
|
|
17
18
|
// Type imports (no runtime overhead)
|
|
18
19
|
import type { Terminal } from 'xterm';
|
|
@@ -103,30 +104,20 @@ export class DeesChartLog extends DeesElement {
|
|
|
103
104
|
css`
|
|
104
105
|
:host {
|
|
105
106
|
display: block;
|
|
107
|
+
height: 400px;
|
|
106
108
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
107
109
|
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
width: 100%;
|
|
113
|
-
height: 400px;
|
|
114
|
-
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
|
|
115
|
-
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
116
|
-
border-radius: 8px;
|
|
117
|
-
display: flex;
|
|
118
|
-
flex-direction: column;
|
|
119
|
-
overflow: hidden;
|
|
112
|
+
dees-tile {
|
|
113
|
+
height: 100%;
|
|
120
114
|
}
|
|
121
115
|
|
|
122
116
|
.header {
|
|
123
|
-
background: ${cssManager.bdTheme('hsl(0 0% 97%)', 'hsl(0 0% 7%)')};
|
|
124
117
|
padding: 8px 12px;
|
|
125
|
-
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
126
118
|
display: flex;
|
|
127
119
|
align-items: center;
|
|
128
120
|
gap: 12px;
|
|
129
|
-
flex-shrink: 0;
|
|
130
121
|
flex-wrap: wrap;
|
|
131
122
|
}
|
|
132
123
|
|
|
@@ -241,10 +232,10 @@ export class DeesChartLog extends DeesElement {
|
|
|
241
232
|
}
|
|
242
233
|
|
|
243
234
|
.terminal-container {
|
|
244
|
-
|
|
235
|
+
position: absolute;
|
|
236
|
+
inset: 0;
|
|
245
237
|
overflow: hidden;
|
|
246
238
|
padding: 8px;
|
|
247
|
-
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
|
|
248
239
|
}
|
|
249
240
|
|
|
250
241
|
.terminal-container .xterm {
|
|
@@ -262,14 +253,15 @@ export class DeesChartLog extends DeesElement {
|
|
|
262
253
|
}
|
|
263
254
|
|
|
264
255
|
.metrics-bar {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
padding: 6px 12px;
|
|
256
|
+
height: 32px;
|
|
257
|
+
padding: 0 12px;
|
|
268
258
|
display: flex;
|
|
259
|
+
align-items: center;
|
|
269
260
|
gap: 16px;
|
|
270
261
|
font-size: 11px;
|
|
271
262
|
font-weight: 500;
|
|
272
|
-
|
|
263
|
+
width: 100%;
|
|
264
|
+
box-sizing: border-box;
|
|
273
265
|
}
|
|
274
266
|
|
|
275
267
|
.metric {
|
|
@@ -323,8 +315,8 @@ export class DeesChartLog extends DeesElement {
|
|
|
323
315
|
|
|
324
316
|
public render(): TemplateResult {
|
|
325
317
|
return html`
|
|
326
|
-
<
|
|
327
|
-
<div class="header">
|
|
318
|
+
<dees-tile .heading=${this.label}>
|
|
319
|
+
<div slot="header" class="header">
|
|
328
320
|
<div class="title">${this.label}</div>
|
|
329
321
|
<div class="search-box">
|
|
330
322
|
<input
|
|
@@ -367,7 +359,7 @@ export class DeesChartLog extends DeesElement {
|
|
|
367
359
|
|
|
368
360
|
${this.showMetrics
|
|
369
361
|
? html`
|
|
370
|
-
<div class="metrics-bar">
|
|
362
|
+
<div slot="footer" class="metrics-bar">
|
|
371
363
|
<span class="metric error">errors: ${this.metrics.error}</span>
|
|
372
364
|
<span class="metric warn">warns: ${this.metrics.warn}</span>
|
|
373
365
|
<span class="metric info">info: ${this.metrics.info}</span>
|
|
@@ -377,7 +369,7 @@ export class DeesChartLog extends DeesElement {
|
|
|
377
369
|
</div>
|
|
378
370
|
`
|
|
379
371
|
: ''}
|
|
380
|
-
</
|
|
372
|
+
</dees-tile>
|
|
381
373
|
`;
|
|
382
374
|
}
|
|
383
375
|
|
|
@@ -17,6 +17,7 @@ import * as smartstring from '@push.rocks/smartstring';
|
|
|
17
17
|
import * as domtools from '@design.estate/dees-domtools';
|
|
18
18
|
import { DeesContextmenu } from '../../00group-overlay/dees-contextmenu/dees-contextmenu.js';
|
|
19
19
|
import { DeesServiceLibLoader } from '../../../services/index.js';
|
|
20
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
20
21
|
|
|
21
22
|
declare global {
|
|
22
23
|
interface HTMLElementTagNameMap {
|
|
@@ -55,32 +56,20 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
55
56
|
height: 100%;
|
|
56
57
|
box-sizing: border-box;
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
-
position: relative;
|
|
60
|
-
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
|
|
61
|
-
border: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
|
|
62
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
63
|
-
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
|
64
|
-
border-radius: 6px;
|
|
65
|
-
overflow: hidden;
|
|
66
|
-
display: flex;
|
|
67
|
-
flex-direction: column;
|
|
59
|
+
dees-tile {
|
|
68
60
|
height: 100%;
|
|
69
|
-
|
|
61
|
+
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
|
|
70
62
|
}
|
|
71
63
|
|
|
72
64
|
.appbar {
|
|
73
|
-
position: relative;
|
|
74
65
|
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
|
75
|
-
background: ${cssManager.bdTheme('#f9fafb', '#18181b')};
|
|
76
|
-
border-bottom: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
|
|
77
66
|
height: 32px;
|
|
78
67
|
display: flex;
|
|
79
68
|
font-size: 13px;
|
|
80
69
|
line-height: 32px;
|
|
81
70
|
justify-content: center;
|
|
82
71
|
align-items: center;
|
|
83
|
-
|
|
72
|
+
padding: 0 16px;
|
|
84
73
|
}
|
|
85
74
|
|
|
86
75
|
.appbar .fileName {
|
|
@@ -91,18 +80,16 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
91
80
|
}
|
|
92
81
|
|
|
93
82
|
.bottomBar {
|
|
94
|
-
position: relative;
|
|
95
83
|
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
|
96
|
-
background: ${cssManager.bdTheme('#f9fafb', '#18181b')};
|
|
97
|
-
border-top: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
|
|
98
84
|
height: 28px;
|
|
99
|
-
font-size:
|
|
85
|
+
font-size: 11px;
|
|
100
86
|
line-height: 28px;
|
|
101
87
|
display: flex;
|
|
102
88
|
justify-content: flex-end;
|
|
103
|
-
align-items:
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
align-items: center;
|
|
90
|
+
padding: 0 16px;
|
|
91
|
+
width: 100%;
|
|
92
|
+
box-sizing: border-box;
|
|
106
93
|
}
|
|
107
94
|
|
|
108
95
|
.spacesLabel {
|
|
@@ -201,8 +188,7 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
201
188
|
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
|
|
202
189
|
}
|
|
203
190
|
</style>
|
|
204
|
-
<
|
|
205
|
-
class="mainbox"
|
|
191
|
+
<dees-tile
|
|
206
192
|
@contextmenu="${(eventArg: MouseEvent) => {
|
|
207
193
|
DeesContextmenu.openContextMenuWithOptions(eventArg, [
|
|
208
194
|
{
|
|
@@ -215,7 +201,7 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
215
201
|
]);
|
|
216
202
|
}}"
|
|
217
203
|
>
|
|
218
|
-
<div class="appbar">
|
|
204
|
+
<div slot="header" class="appbar">
|
|
219
205
|
<div class="fileName">index.ts</div>
|
|
220
206
|
</div>
|
|
221
207
|
<div class="codegrid">
|
|
@@ -230,11 +216,11 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
230
216
|
</div>
|
|
231
217
|
<pre><code></code></pre>
|
|
232
218
|
</div>
|
|
233
|
-
<div class="bottomBar">
|
|
219
|
+
<div slot="footer" class="bottomBar">
|
|
234
220
|
<div class="spacesLabel">Spaces: 2</div>
|
|
235
221
|
<div class="languageLabel">${this.progLang}</div>
|
|
236
222
|
</div>
|
|
237
|
-
</
|
|
223
|
+
</dees-tile>
|
|
238
224
|
`;
|
|
239
225
|
}
|
|
240
226
|
|
package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
import * as tsclass from '@tsclass/tsclass';
|
|
18
18
|
import { DeesContextmenu } from '../../00group-overlay/dees-contextmenu/dees-contextmenu.js';
|
|
19
19
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
20
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
20
21
|
|
|
21
22
|
declare global {
|
|
22
23
|
interface HTMLElementTagNameMap {
|
|
@@ -40,35 +41,28 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
40
41
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
border-radius: 8px;
|
|
45
|
-
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
|
|
46
|
-
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
47
|
-
box-shadow: 0 1px 3px 0 hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
|
|
48
|
-
min-height: 48px;
|
|
44
|
+
dees-tile {
|
|
49
45
|
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 98%)')};
|
|
50
46
|
cursor: default;
|
|
51
|
-
overflow: hidden;
|
|
52
47
|
}
|
|
53
48
|
|
|
54
49
|
.heading {
|
|
55
|
-
display:
|
|
50
|
+
display: flex;
|
|
56
51
|
align-items: center;
|
|
57
|
-
|
|
58
|
-
height:
|
|
52
|
+
gap: 8px;
|
|
53
|
+
height: 32px;
|
|
59
54
|
padding: 0 16px;
|
|
60
|
-
background: ${cssManager.bdTheme('hsl(0 0% 97%)', 'hsl(0 0% 7%)')};
|
|
61
|
-
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
62
55
|
}
|
|
63
56
|
|
|
64
57
|
h1 {
|
|
65
58
|
display: block;
|
|
66
|
-
margin:
|
|
67
|
-
padding:
|
|
59
|
+
margin: 0;
|
|
60
|
+
padding: 0;
|
|
68
61
|
font-size: 14px;
|
|
69
62
|
font-weight: 500;
|
|
70
63
|
letter-spacing: -0.01em;
|
|
71
|
-
color: ${cssManager.bdTheme('hsl(0 0%
|
|
64
|
+
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
|
|
65
|
+
flex: 1;
|
|
72
66
|
}
|
|
73
67
|
|
|
74
68
|
.statusdot {
|
|
@@ -82,13 +76,13 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
82
76
|
}
|
|
83
77
|
|
|
84
78
|
.copyMain {
|
|
85
|
-
font-size:
|
|
79
|
+
font-size: 11px;
|
|
86
80
|
font-weight: 500;
|
|
87
81
|
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 14.9%)')};
|
|
88
82
|
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
89
83
|
text-align: center;
|
|
90
|
-
padding:
|
|
91
|
-
border-radius:
|
|
84
|
+
padding: 4px 10px;
|
|
85
|
+
border-radius: 4px;
|
|
92
86
|
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
|
|
93
87
|
user-select: none;
|
|
94
88
|
cursor: pointer;
|
|
@@ -122,63 +116,70 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
122
116
|
}
|
|
123
117
|
|
|
124
118
|
.detail {
|
|
125
|
-
|
|
119
|
+
display: flex;
|
|
126
120
|
align-items: center;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 94%)', 'hsl(0 0% 14.9%)')};
|
|
130
|
-
transition: background-color 0.15s ease;
|
|
121
|
+
gap: 10px;
|
|
122
|
+
height: 36px;
|
|
131
123
|
padding: 0 16px;
|
|
124
|
+
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 10%)')};
|
|
125
|
+
transition: background-color 0.15s ease;
|
|
132
126
|
cursor: context-menu;
|
|
133
127
|
}
|
|
134
128
|
|
|
129
|
+
.detail:last-child {
|
|
130
|
+
border-bottom: none;
|
|
131
|
+
}
|
|
132
|
+
|
|
135
133
|
.detail:hover {
|
|
136
|
-
background: ${cssManager.bdTheme('hsl(
|
|
134
|
+
background: ${cssManager.bdTheme('hsl(222.2 47.4% 51.2% / 0.04)', 'hsl(217.2 91.2% 59.8% / 0.06)')};
|
|
137
135
|
}
|
|
138
136
|
|
|
139
|
-
.detail
|
|
140
|
-
|
|
137
|
+
.detail .statusdot {
|
|
138
|
+
margin: 0;
|
|
139
|
+
flex-shrink: 0;
|
|
141
140
|
}
|
|
142
141
|
|
|
143
142
|
.detail .detailsText {
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: baseline;
|
|
145
|
+
flex: 1;
|
|
146
|
+
min-width: 0;
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
.detail .detailsText .label {
|
|
149
150
|
font-size: 12px;
|
|
150
151
|
font-weight: 500;
|
|
151
152
|
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
|
|
152
|
-
margin-bottom: 2px;
|
|
153
153
|
letter-spacing: -0.01em;
|
|
154
|
+
white-space: nowrap;
|
|
155
|
+
flex-shrink: 0;
|
|
154
156
|
}
|
|
155
157
|
|
|
156
158
|
.detail .detailsText .value {
|
|
157
|
-
font-size:
|
|
159
|
+
font-size: 13px;
|
|
158
160
|
font-family: 'Intel One Mono', 'Geist Mono', monospace;
|
|
159
161
|
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
|
|
160
|
-
|
|
162
|
+
margin-left: auto;
|
|
163
|
+
text-align: right;
|
|
164
|
+
white-space: nowrap;
|
|
165
|
+
overflow: hidden;
|
|
166
|
+
text-overflow: ellipsis;
|
|
161
167
|
}
|
|
162
168
|
|
|
163
169
|
.bottomBar {
|
|
164
|
-
position: relative;
|
|
165
170
|
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
|
|
166
|
-
background: ${cssManager.bdTheme('hsl(0 0% 97%)', 'hsl(0 0% 7%)')};
|
|
167
|
-
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
|
|
168
171
|
height: 28px;
|
|
169
|
-
font-size:
|
|
172
|
+
font-size: 11px;
|
|
170
173
|
line-height: 28px;
|
|
171
174
|
display: flex;
|
|
172
175
|
justify-content: flex-end;
|
|
173
|
-
align-items:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
+
align-items: center;
|
|
177
|
+
padding: 0 16px;
|
|
178
|
+
width: 100%;
|
|
179
|
+
box-sizing: border-box;
|
|
176
180
|
}
|
|
177
181
|
|
|
178
182
|
.bottomBar .statusLabel {
|
|
179
|
-
padding: 0 16px;
|
|
180
|
-
display: flex;
|
|
181
|
-
align-items: center;
|
|
182
183
|
font-weight: 500;
|
|
183
184
|
}
|
|
184
185
|
`,
|
|
@@ -186,15 +187,15 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
186
187
|
|
|
187
188
|
render(): TemplateResult {
|
|
188
189
|
return html`
|
|
189
|
-
<
|
|
190
|
-
<div class="heading">
|
|
190
|
+
<dees-tile>
|
|
191
|
+
<div slot="header" class="heading">
|
|
191
192
|
<div class="statusdot ${this.statusObject?.combinedStatus}"></div>
|
|
192
193
|
<h1>${this.statusObject?.name || 'No status object assigned'}</h1>
|
|
193
194
|
<div class="copyMain" @click=${this.handleCopyAsJson}>Copy JSON</div>
|
|
194
195
|
</div>
|
|
195
196
|
${this.statusObject?.details?.map((detailArg) => {
|
|
196
197
|
return html`
|
|
197
|
-
<div
|
|
198
|
+
<div
|
|
198
199
|
class="detail"
|
|
199
200
|
@contextmenu=${(event: MouseEvent) => {
|
|
200
201
|
event.preventDefault();
|
|
@@ -224,19 +225,19 @@ export class DeesDataviewStatusobject extends DeesElement {
|
|
|
224
225
|
}}
|
|
225
226
|
>
|
|
226
227
|
<div class="statusdot ${detailArg.status}"></div>
|
|
227
|
-
<
|
|
228
|
-
<
|
|
229
|
-
<
|
|
230
|
-
</
|
|
228
|
+
<span class="detailsText">
|
|
229
|
+
<span class="label">${detailArg.name}</span>
|
|
230
|
+
<span class="value">${detailArg.value}</span>
|
|
231
|
+
</span>
|
|
231
232
|
</div>
|
|
232
233
|
`;
|
|
233
234
|
})}
|
|
234
|
-
<div class="bottomBar">
|
|
235
|
+
<div slot="footer" class="bottomBar">
|
|
235
236
|
<div class="statusLabel">${this.statusObject?.lastUpdated
|
|
236
237
|
? `Last updated: ${new Date(this.statusObject.lastUpdated).toLocaleString()}`
|
|
237
238
|
: ''}</div>
|
|
238
239
|
</div>
|
|
239
|
-
</
|
|
240
|
+
</dees-tile>
|
|
240
241
|
`;
|
|
241
242
|
}
|
|
242
243
|
|