@design.estate/dees-catalog 3.51.1 → 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 +2309 -2195
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +1 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +2 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/styles.js +14 -34
- package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +4 -5
- 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 +2309 -2195
- 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 +1 -0
- package/ts_web/elements/00group-chart/dees-chart-area/styles.ts +13 -33
- package/ts_web/elements/00group-chart/dees-chart-area/template.ts +3 -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;
|
|
@@ -4,52 +4,27 @@ 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;
|
|
19
|
-
}
|
|
20
|
-
.chartTitle {
|
|
21
|
-
position: absolute;
|
|
22
|
-
top: 0;
|
|
23
|
-
left: 0;
|
|
24
|
-
width: 100%;
|
|
25
|
-
text-align: left;
|
|
26
|
-
padding: 16px 24px;
|
|
27
|
-
z-index: 10;
|
|
28
|
-
font-size: 14px;
|
|
29
|
-
font-weight: 500;
|
|
30
|
-
letter-spacing: -0.01em;
|
|
31
|
-
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
|
|
13
|
+
dees-tile {
|
|
14
|
+
height: 100%;
|
|
32
15
|
}
|
|
33
16
|
.chartContainer {
|
|
34
17
|
position: absolute;
|
|
35
|
-
|
|
36
|
-
left: 0;
|
|
37
|
-
bottom: 32px;
|
|
38
|
-
right: 0;
|
|
18
|
+
inset: 0;
|
|
39
19
|
}
|
|
40
20
|
.statsBar {
|
|
41
|
-
position: absolute;
|
|
42
|
-
bottom: 0;
|
|
43
|
-
left: 0;
|
|
44
|
-
right: 0;
|
|
45
21
|
height: 32px;
|
|
22
|
+
padding: 0 16px;
|
|
46
23
|
display: flex;
|
|
47
24
|
align-items: center;
|
|
48
25
|
gap: 24px;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
font-size: 11px;
|
|
52
|
-
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
|
|
26
|
+
width: 100%;
|
|
27
|
+
box-sizing: border-box;
|
|
53
28
|
}
|
|
54
29
|
.statsSeries {
|
|
55
30
|
display: flex;
|
|
@@ -68,9 +43,14 @@ export const chartAreaStyles = [
|
|
|
68
43
|
}
|
|
69
44
|
.statsName {
|
|
70
45
|
font-weight: 500;
|
|
46
|
+
font-size: 11px;
|
|
71
47
|
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
|
|
72
48
|
margin-right: 4px;
|
|
73
49
|
}
|
|
50
|
+
.statsItem {
|
|
51
|
+
font-size: 11px;
|
|
52
|
+
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
|
|
53
|
+
}
|
|
74
54
|
.statsItem strong {
|
|
75
55
|
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
|
|
76
56
|
}
|
|
@@ -3,11 +3,10 @@ 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`
|
|
10
|
-
<div class="statsBar">
|
|
9
|
+
<div slot="footer" class="statsBar">
|
|
11
10
|
${component.seriesStats.map(s => html`
|
|
12
11
|
<div class="statsSeries">
|
|
13
12
|
<span class="statsColor" style="background:${s.color}"></span>
|
|
@@ -20,6 +19,6 @@ export const renderChartArea = (component: DeesChartArea): TemplateResult => {
|
|
|
20
19
|
`)}
|
|
21
20
|
</div>
|
|
22
21
|
` : ''}
|
|
23
|
-
</
|
|
22
|
+
</dees-tile>
|
|
24
23
|
`;
|
|
25
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
|
|
|
@@ -18,6 +18,7 @@ import '../../00group-utility/dees-icon/dees-icon.js';
|
|
|
18
18
|
import '../../00group-overlay/dees-contextmenu/dees-contextmenu.js';
|
|
19
19
|
import '../../00group-button/dees-button/dees-button.js';
|
|
20
20
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
21
|
+
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
21
22
|
|
|
22
23
|
declare global {
|
|
23
24
|
interface HTMLElementTagNameMap {
|
|
@@ -179,22 +180,12 @@ export class DeesStatsGrid extends DeesElement {
|
|
|
179
180
|
width: 100%;
|
|
180
181
|
}
|
|
181
182
|
|
|
182
|
-
/* Tile Base Styles */
|
|
183
|
-
.stats-tile {
|
|
184
|
-
background: ${cssManager.bdTheme('#ffffff', '#09090b')};
|
|
185
|
-
border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#202020')};
|
|
186
|
-
border-radius: var(--border-radius);
|
|
187
|
-
padding: var(--tile-padding);
|
|
183
|
+
/* Tile Base Styles — frame provided by dees-tile, hover via ::part */
|
|
184
|
+
.stats-tile::part(outer) {
|
|
188
185
|
transition: all var(--transition-duration) ease;
|
|
189
|
-
cursor: default;
|
|
190
|
-
position: relative;
|
|
191
|
-
overflow: hidden;
|
|
192
|
-
display: flex;
|
|
193
|
-
flex-direction: column;
|
|
194
186
|
}
|
|
195
187
|
|
|
196
|
-
.stats-tile:hover {
|
|
197
|
-
background: ${cssManager.bdTheme('#fafafa', '#0d0d0d')};
|
|
188
|
+
.stats-tile:hover::part(outer) {
|
|
198
189
|
border-color: ${cssManager.bdTheme('#d0d0d0', '#2a2a2a')};
|
|
199
190
|
}
|
|
200
191
|
|
|
@@ -202,17 +193,18 @@ export class DeesStatsGrid extends DeesElement {
|
|
|
202
193
|
cursor: pointer;
|
|
203
194
|
}
|
|
204
195
|
|
|
205
|
-
.stats-tile.clickable:hover {
|
|
196
|
+
.stats-tile.clickable:hover::part(outer) {
|
|
206
197
|
transform: translateY(-1px);
|
|
207
198
|
box-shadow: 0 2px 6px ${cssManager.bdTheme('rgba(0,0,0,0.03)', 'rgba(0,0,0,0.15)')};
|
|
208
199
|
}
|
|
209
200
|
|
|
210
|
-
/* Tile Header */
|
|
201
|
+
/* Tile Header — slotted into dees-tile header */
|
|
211
202
|
.tile-header {
|
|
212
203
|
display: flex;
|
|
213
204
|
justify-content: space-between;
|
|
214
|
-
align-items:
|
|
215
|
-
|
|
205
|
+
align-items: center;
|
|
206
|
+
padding: 0 12px;
|
|
207
|
+
height: 28px;
|
|
216
208
|
flex-shrink: 0;
|
|
217
209
|
}
|
|
218
210
|
|
|
@@ -232,12 +224,12 @@ export class DeesStatsGrid extends DeesElement {
|
|
|
232
224
|
flex-shrink: 0;
|
|
233
225
|
}
|
|
234
226
|
|
|
235
|
-
/* Tile Content */
|
|
227
|
+
/* Tile Content — slotted into dees-tile content area */
|
|
236
228
|
.tile-content {
|
|
237
|
-
min-height: var(--content-min-height);
|
|
238
229
|
display: flex;
|
|
239
230
|
flex-direction: column;
|
|
240
|
-
|
|
231
|
+
padding: 12px;
|
|
232
|
+
min-height: var(--content-min-height);
|
|
241
233
|
}
|
|
242
234
|
|
|
243
235
|
.tile-value {
|
|
@@ -261,9 +253,10 @@ export class DeesStatsGrid extends DeesElement {
|
|
|
261
253
|
.tile-description {
|
|
262
254
|
font-size: var(--label-font-size);
|
|
263
255
|
color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
|
|
264
|
-
margin-top: var(--description-spacing);
|
|
265
256
|
letter-spacing: -0.01em;
|
|
266
|
-
|
|
257
|
+
padding: 0 12px;
|
|
258
|
+
height: 24px;
|
|
259
|
+
line-height: 24px;
|
|
267
260
|
}
|
|
268
261
|
|
|
269
262
|
/* Gauge Styles */
|
|
@@ -882,27 +875,27 @@ export class DeesStatsGrid extends DeesElement {
|
|
|
882
875
|
const columnSpan = tile.columnSpan && tile.columnSpan > 1 ? tile.columnSpan : undefined;
|
|
883
876
|
|
|
884
877
|
return html`
|
|
885
|
-
<
|
|
878
|
+
<dees-tile
|
|
886
879
|
class="stats-tile ${clickable ? 'clickable' : ''}"
|
|
887
880
|
style="${columnSpan ? `grid-column: span ${columnSpan}` : ''}"
|
|
888
881
|
@click=${clickable ? () => this.handleTileAction(tile.actions![0], tile) : undefined}
|
|
889
882
|
@contextmenu=${hasActions ? (e: MouseEvent) => this.showContextMenu(e, tile) : undefined}
|
|
890
883
|
>
|
|
891
|
-
<div class="tile-header">
|
|
884
|
+
<div slot="header" class="tile-header">
|
|
892
885
|
<h3 class="tile-title">${tile.title}</h3>
|
|
893
886
|
${tile.icon ? html`
|
|
894
887
|
<dees-icon class="tile-icon" .icon=${tile.icon} size="small"></dees-icon>
|
|
895
888
|
` : ''}
|
|
896
889
|
</div>
|
|
897
|
-
|
|
890
|
+
|
|
898
891
|
<div class="tile-content">
|
|
899
892
|
${this.renderTileContent(tile)}
|
|
900
893
|
</div>
|
|
901
|
-
|
|
894
|
+
|
|
902
895
|
${tile.description && tile.type !== 'trend' ? html`
|
|
903
|
-
<div class="tile-description">${tile.description}</div>
|
|
896
|
+
<div slot="footer" class="tile-description">${tile.description}</div>
|
|
904
897
|
` : ''}
|
|
905
|
-
</
|
|
898
|
+
</dees-tile>
|
|
906
899
|
`;
|
|
907
900
|
}
|
|
908
901
|
|