@nestjs-dash/core 0.1.0 → 1.0.0
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/actions/handlers.d.ts +1 -1
- package/dist/actions/index.d.ts +10 -10
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +141 -93
- package/dist/actions/index.js.map +1 -1
- package/dist/charts/index.d.ts +6 -6
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/index.js +18 -27
- package/dist/charts/index.js.map +1 -1
- package/dist/forms/index.d.ts +9 -9
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +124 -76
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/json-fields.d.ts +1 -1
- package/dist/forms/json-fields.js +15 -15
- package/dist/forms/validation.d.ts +2 -2
- package/dist/forms/validation.js +2 -2
- package/dist/index.d.ts +29 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -91
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +44 -24
- package/dist/schemas/index.js.map +1 -1
- package/dist/tables/index.d.ts +12 -12
- package/dist/tables/index.d.ts.map +1 -1
- package/dist/tables/index.js +23 -26
- package/dist/tables/index.js.map +1 -1
- package/dist/tables/list-query-config.d.ts +3 -3
- package/dist/tables/list-query-config.d.ts.map +1 -1
- package/dist/tables/list-query-config.js +4 -4
- package/dist/tables/list-query-config.js.map +1 -1
- package/package.json +6 -21
- package/LICENSE +0 -21
- package/README.md +0 -81
package/dist/actions/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { BadgeColor, SchemaNode } from
|
|
2
|
-
import { ComponentBuilder } from
|
|
3
|
-
import { type ActionHandler } from
|
|
4
|
-
export type ActionColor =
|
|
5
|
-
export type ActionButtonVariant =
|
|
6
|
-
export type ActionButtonSize =
|
|
1
|
+
import type { BadgeColor, SchemaNode } from '@nestjs-dash/support';
|
|
2
|
+
import { ComponentBuilder } from '../schemas/index.js';
|
|
3
|
+
import { type ActionHandler } from './handlers.js';
|
|
4
|
+
export type ActionColor = 'primary' | 'danger' | 'gray' | 'success' | 'warning';
|
|
5
|
+
export type ActionButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link' | 'success' | 'warning';
|
|
6
|
+
export type ActionButtonSize = 'xs' | 'sm' | 'default' | 'lg';
|
|
7
7
|
export declare const ACTION_COLOR_VARIANT: Record<ActionColor, ActionButtonVariant>;
|
|
8
|
-
export { resolveActionHandler } from
|
|
9
|
-
export type { ActionHandler, ActionHandlerContext, ActionHandlerResult } from
|
|
8
|
+
export { resolveActionHandler } from './handlers.js';
|
|
9
|
+
export type { ActionHandler, ActionHandlerContext, ActionHandlerResult } from './handlers.js';
|
|
10
10
|
export declare class Dialog extends ComponentBuilder {
|
|
11
11
|
readonly kind: "dialog";
|
|
12
12
|
static make(): Dialog;
|
|
@@ -17,13 +17,13 @@ export declare class Dialog extends ComponentBuilder {
|
|
|
17
17
|
form(components: ComponentBuilder[]): this;
|
|
18
18
|
}
|
|
19
19
|
export declare class Action extends ComponentBuilder {
|
|
20
|
-
readonly kind: SchemaNode[
|
|
20
|
+
readonly kind: SchemaNode['kind'];
|
|
21
21
|
static make(name: string): Action;
|
|
22
22
|
label(value: string): this;
|
|
23
23
|
color(value: ActionColor): this;
|
|
24
24
|
requiresConfirmation(value?: boolean): this;
|
|
25
25
|
icon(value: string): this;
|
|
26
|
-
iconPosition(value:
|
|
26
|
+
iconPosition(value: 'start' | 'end'): this;
|
|
27
27
|
iconOnly(value?: boolean): this;
|
|
28
28
|
badge(value: string | number, color?: BadgeColor): this;
|
|
29
29
|
size(value: ActionButtonSize): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAG9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAMzE,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9F,qBAAa,MAAO,SAAQ,gBAAgB;IAC1C,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,MAAM,CAAC,IAAI,IAAI,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/index.js
CHANGED
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
import { ComponentBuilder } from
|
|
2
|
-
import { registerActionHandler } from
|
|
1
|
+
import { ComponentBuilder } from '../schemas/index.js';
|
|
2
|
+
import { registerActionHandler } from './handlers.js';
|
|
3
3
|
export const ACTION_COLOR_VARIANT = {
|
|
4
|
-
primary:
|
|
5
|
-
danger:
|
|
6
|
-
gray:
|
|
7
|
-
success:
|
|
8
|
-
warning:
|
|
4
|
+
primary: 'default',
|
|
5
|
+
danger: 'destructive',
|
|
6
|
+
gray: 'outline',
|
|
7
|
+
success: 'success',
|
|
8
|
+
warning: 'warning',
|
|
9
9
|
};
|
|
10
|
-
export { resolveActionHandler } from
|
|
10
|
+
export { resolveActionHandler } from './handlers.js';
|
|
11
11
|
export class Dialog extends ComponentBuilder {
|
|
12
|
-
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.kind = 'dialog';
|
|
15
|
+
}
|
|
13
16
|
static make() {
|
|
14
17
|
return new Dialog();
|
|
15
18
|
}
|
|
16
19
|
heading(value) {
|
|
17
|
-
return this.setProp(
|
|
20
|
+
return this.setProp('heading', value);
|
|
18
21
|
}
|
|
19
22
|
description(value) {
|
|
20
|
-
return this.setProp(
|
|
23
|
+
return this.setProp('description', value);
|
|
21
24
|
}
|
|
22
25
|
submitLabel(value) {
|
|
23
|
-
return this.setProp(
|
|
26
|
+
return this.setProp('submitLabel', value);
|
|
24
27
|
}
|
|
25
28
|
cancelLabel(value) {
|
|
26
|
-
return this.setProp(
|
|
29
|
+
return this.setProp('cancelLabel', value);
|
|
27
30
|
}
|
|
28
31
|
form(components) {
|
|
29
32
|
this.children = components.map((component) => component.toSchema());
|
|
@@ -31,42 +34,45 @@ export class Dialog extends ComponentBuilder {
|
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
export class Action extends ComponentBuilder {
|
|
34
|
-
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
this.kind = 'action';
|
|
40
|
+
}
|
|
35
41
|
static make(name) {
|
|
36
|
-
return new Action().setProp(
|
|
42
|
+
return new Action().setProp('name', name).setProp('label', name);
|
|
37
43
|
}
|
|
38
44
|
label(value) {
|
|
39
|
-
return this.setProp(
|
|
45
|
+
return this.setProp('label', value);
|
|
40
46
|
}
|
|
41
47
|
color(value) {
|
|
42
|
-
return this.setProp(
|
|
48
|
+
return this.setProp('color', value);
|
|
43
49
|
}
|
|
44
50
|
requiresConfirmation(value = true) {
|
|
45
|
-
return this.setProp(
|
|
51
|
+
return this.setProp('requiresConfirmation', value);
|
|
46
52
|
}
|
|
47
53
|
icon(value) {
|
|
48
|
-
return this.setProp(
|
|
54
|
+
return this.setProp('icon', value);
|
|
49
55
|
}
|
|
50
56
|
iconPosition(value) {
|
|
51
|
-
return this.setProp(
|
|
57
|
+
return this.setProp('iconPosition', value);
|
|
52
58
|
}
|
|
53
59
|
iconOnly(value = true) {
|
|
54
|
-
return this.setProp(
|
|
60
|
+
return this.setProp('iconOnly', value);
|
|
55
61
|
}
|
|
56
62
|
badge(value, color) {
|
|
57
|
-
return this.setProp(
|
|
63
|
+
return this.setProp('badge', { text: String(value), color });
|
|
58
64
|
}
|
|
59
65
|
size(value) {
|
|
60
|
-
return this.setProp(
|
|
66
|
+
return this.setProp('size', value);
|
|
61
67
|
}
|
|
62
68
|
variant(value) {
|
|
63
|
-
return this.setProp(
|
|
69
|
+
return this.setProp('variant', value);
|
|
64
70
|
}
|
|
65
71
|
dialog(dialog) {
|
|
66
|
-
return this.setProp(
|
|
72
|
+
return this.setProp('dialog', dialog.toSchema()).requiresConfirmation(true);
|
|
67
73
|
}
|
|
68
74
|
handler(fn) {
|
|
69
|
-
return this.setProp(
|
|
75
|
+
return this.setProp('handlerKey', registerActionHandler(fn));
|
|
70
76
|
}
|
|
71
77
|
modalHeading(value) {
|
|
72
78
|
return this.patchDialog({ heading: value });
|
|
@@ -82,135 +88,177 @@ export class Action extends ComponentBuilder {
|
|
|
82
88
|
}
|
|
83
89
|
patchDialog(partial) {
|
|
84
90
|
const existing = this.props.dialog ?? {
|
|
85
|
-
kind:
|
|
91
|
+
kind: 'dialog',
|
|
86
92
|
props: {},
|
|
87
93
|
};
|
|
88
94
|
const next = {
|
|
89
|
-
kind:
|
|
95
|
+
kind: 'dialog',
|
|
90
96
|
props: { ...existing.props, ...partial },
|
|
91
97
|
children: existing.children,
|
|
92
98
|
};
|
|
93
|
-
return this.setProp(
|
|
99
|
+
return this.setProp('dialog', next).requiresConfirmation(true);
|
|
94
100
|
}
|
|
95
101
|
}
|
|
96
102
|
export class EditAction extends Action {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
constructor() {
|
|
104
|
+
super(...arguments);
|
|
105
|
+
this.kind = 'edit-action';
|
|
106
|
+
}
|
|
107
|
+
static make(name = 'edit') {
|
|
108
|
+
return new EditAction().setProp('name', name).setProp('label', 'Edit');
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
export class DeleteAction extends Action {
|
|
103
|
-
|
|
104
|
-
|
|
112
|
+
constructor() {
|
|
113
|
+
super(...arguments);
|
|
114
|
+
this.kind = 'delete-action';
|
|
115
|
+
}
|
|
116
|
+
static make(name = 'delete') {
|
|
105
117
|
return new DeleteAction()
|
|
106
|
-
.setProp(
|
|
107
|
-
.setProp(
|
|
108
|
-
.color(
|
|
118
|
+
.setProp('name', name)
|
|
119
|
+
.setProp('label', 'Delete')
|
|
120
|
+
.color('danger')
|
|
109
121
|
.requiresConfirmation();
|
|
110
122
|
}
|
|
111
123
|
}
|
|
112
124
|
export class RestoreAction extends Action {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
constructor() {
|
|
126
|
+
super(...arguments);
|
|
127
|
+
this.kind = 'restore-action';
|
|
128
|
+
}
|
|
129
|
+
static make(name = 'restore') {
|
|
130
|
+
return new RestoreAction().setProp('name', name).setProp('label', 'Restore').color('success');
|
|
116
131
|
}
|
|
117
132
|
}
|
|
118
133
|
export class CreateAction extends Action {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
134
|
+
constructor() {
|
|
135
|
+
super(...arguments);
|
|
136
|
+
this.kind = 'create-action';
|
|
137
|
+
}
|
|
138
|
+
static make(name = 'create') {
|
|
139
|
+
return new CreateAction().setProp('name', name).setProp('label', 'Create');
|
|
122
140
|
}
|
|
123
141
|
}
|
|
124
142
|
export class ViewAction extends Action {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
143
|
+
constructor() {
|
|
144
|
+
super(...arguments);
|
|
145
|
+
this.kind = 'view-action';
|
|
146
|
+
}
|
|
147
|
+
static make(name = 'view') {
|
|
148
|
+
return new ViewAction().setProp('name', name).setProp('label', 'View');
|
|
128
149
|
}
|
|
129
150
|
}
|
|
130
151
|
export class ListAction extends Action {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
152
|
+
constructor() {
|
|
153
|
+
super(...arguments);
|
|
154
|
+
this.kind = 'action';
|
|
155
|
+
}
|
|
156
|
+
static make(name = 'list') {
|
|
157
|
+
return new ListAction().setProp('name', name).setProp('label', 'List');
|
|
134
158
|
}
|
|
135
159
|
}
|
|
136
160
|
export class BulkAction extends Action {
|
|
137
|
-
|
|
161
|
+
constructor() {
|
|
162
|
+
super(...arguments);
|
|
163
|
+
this.kind = 'bulk-action';
|
|
164
|
+
}
|
|
138
165
|
static make(name) {
|
|
139
|
-
return new BulkAction().setProp(
|
|
166
|
+
return new BulkAction().setProp('name', name).setProp('label', name);
|
|
140
167
|
}
|
|
141
168
|
}
|
|
142
169
|
export class BulkDeleteAction extends Action {
|
|
143
|
-
|
|
144
|
-
|
|
170
|
+
constructor() {
|
|
171
|
+
super(...arguments);
|
|
172
|
+
this.kind = 'bulk-delete-action';
|
|
173
|
+
}
|
|
174
|
+
static make(name = 'bulk-delete') {
|
|
145
175
|
return new BulkDeleteAction()
|
|
146
|
-
.setProp(
|
|
147
|
-
.setProp(
|
|
148
|
-
.color(
|
|
176
|
+
.setProp('name', name)
|
|
177
|
+
.setProp('label', 'Delete selected')
|
|
178
|
+
.color('danger')
|
|
149
179
|
.requiresConfirmation();
|
|
150
180
|
}
|
|
151
181
|
}
|
|
152
182
|
export class AssociateAction extends Action {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
183
|
+
constructor() {
|
|
184
|
+
super(...arguments);
|
|
185
|
+
this.kind = 'associate-action';
|
|
186
|
+
}
|
|
187
|
+
static make(name = 'associate') {
|
|
188
|
+
return new AssociateAction().setProp('name', name).setProp('label', 'Associate');
|
|
156
189
|
}
|
|
157
190
|
}
|
|
158
191
|
export class DissociateAction extends Action {
|
|
159
|
-
|
|
160
|
-
|
|
192
|
+
constructor() {
|
|
193
|
+
super(...arguments);
|
|
194
|
+
this.kind = 'dissociate-action';
|
|
195
|
+
}
|
|
196
|
+
static make(name = 'dissociate') {
|
|
161
197
|
return new DissociateAction()
|
|
162
|
-
.setProp(
|
|
163
|
-
.setProp(
|
|
164
|
-
.color(
|
|
198
|
+
.setProp('name', name)
|
|
199
|
+
.setProp('label', 'Dissociate')
|
|
200
|
+
.color('gray')
|
|
165
201
|
.requiresConfirmation();
|
|
166
202
|
}
|
|
167
203
|
}
|
|
168
204
|
export class AttachAction extends Action {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
205
|
+
constructor() {
|
|
206
|
+
super(...arguments);
|
|
207
|
+
this.kind = 'attach-action';
|
|
208
|
+
}
|
|
209
|
+
static make(name = 'attach') {
|
|
210
|
+
return new AttachAction().setProp('name', name).setProp('label', 'Attach');
|
|
172
211
|
}
|
|
173
212
|
}
|
|
174
213
|
export class DetachAction extends Action {
|
|
175
|
-
|
|
176
|
-
|
|
214
|
+
constructor() {
|
|
215
|
+
super(...arguments);
|
|
216
|
+
this.kind = 'detach-action';
|
|
217
|
+
}
|
|
218
|
+
static make(name = 'detach') {
|
|
177
219
|
return new DetachAction()
|
|
178
|
-
.setProp(
|
|
179
|
-
.setProp(
|
|
180
|
-
.color(
|
|
220
|
+
.setProp('name', name)
|
|
221
|
+
.setProp('label', 'Detach')
|
|
222
|
+
.color('gray')
|
|
181
223
|
.requiresConfirmation();
|
|
182
224
|
}
|
|
183
225
|
}
|
|
184
226
|
export class BulkDissociateAction extends Action {
|
|
185
|
-
|
|
186
|
-
|
|
227
|
+
constructor() {
|
|
228
|
+
super(...arguments);
|
|
229
|
+
this.kind = 'bulk-dissociate-action';
|
|
230
|
+
}
|
|
231
|
+
static make(name = 'bulk-dissociate') {
|
|
187
232
|
return new BulkDissociateAction()
|
|
188
|
-
.setProp(
|
|
189
|
-
.setProp(
|
|
190
|
-
.color(
|
|
233
|
+
.setProp('name', name)
|
|
234
|
+
.setProp('label', 'Dissociate selected')
|
|
235
|
+
.color('gray')
|
|
191
236
|
.requiresConfirmation();
|
|
192
237
|
}
|
|
193
238
|
}
|
|
194
239
|
export class BulkDetachAction extends Action {
|
|
195
|
-
|
|
196
|
-
|
|
240
|
+
constructor() {
|
|
241
|
+
super(...arguments);
|
|
242
|
+
this.kind = 'bulk-detach-action';
|
|
243
|
+
}
|
|
244
|
+
static make(name = 'bulk-detach') {
|
|
197
245
|
return new BulkDetachAction()
|
|
198
|
-
.setProp(
|
|
199
|
-
.setProp(
|
|
200
|
-
.color(
|
|
246
|
+
.setProp('name', name)
|
|
247
|
+
.setProp('label', 'Detach selected')
|
|
248
|
+
.color('gray')
|
|
201
249
|
.requiresConfirmation();
|
|
202
250
|
}
|
|
203
251
|
}
|
|
204
252
|
export function resolveActionDialog(action, defaults = {}) {
|
|
205
253
|
const explicit = action.props.dialog;
|
|
206
|
-
if (explicit?.kind ===
|
|
254
|
+
if (explicit?.kind === 'dialog') {
|
|
207
255
|
return {
|
|
208
|
-
kind:
|
|
256
|
+
kind: 'dialog',
|
|
209
257
|
props: {
|
|
210
|
-
heading: defaults.heading ??
|
|
211
|
-
description: defaults.description ??
|
|
212
|
-
submitLabel: defaults.submitLabel ??
|
|
213
|
-
cancelLabel: defaults.cancelLabel ??
|
|
258
|
+
heading: defaults.heading ?? 'Confirm',
|
|
259
|
+
description: defaults.description ?? '',
|
|
260
|
+
submitLabel: defaults.submitLabel ?? 'Confirm',
|
|
261
|
+
cancelLabel: defaults.cancelLabel ?? 'Cancel',
|
|
214
262
|
...explicit.props,
|
|
215
263
|
},
|
|
216
264
|
children: explicit.children,
|
|
@@ -220,12 +268,12 @@ export function resolveActionDialog(action, defaults = {}) {
|
|
|
220
268
|
return null;
|
|
221
269
|
}
|
|
222
270
|
return {
|
|
223
|
-
kind:
|
|
271
|
+
kind: 'dialog',
|
|
224
272
|
props: {
|
|
225
|
-
heading: defaults.heading ??
|
|
226
|
-
description: defaults.description ??
|
|
227
|
-
submitLabel: defaults.submitLabel ?? String(action.props.label ??
|
|
228
|
-
cancelLabel: defaults.cancelLabel ??
|
|
273
|
+
heading: defaults.heading ?? 'Confirm',
|
|
274
|
+
description: defaults.description ?? 'Are you sure you want to continue?',
|
|
275
|
+
submitLabel: defaults.submitLabel ?? String(action.props.label ?? 'Confirm'),
|
|
276
|
+
cancelLabel: defaults.cancelLabel ?? 'Cancel',
|
|
229
277
|
},
|
|
230
278
|
};
|
|
231
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,eAAe,CAAC;AAiB1E,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,MAAM,OAAO,MAAO,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,eAAe,CAAC;AAiB1E,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD,MAAM,OAAO,MAAO,SAAQ,gBAAgB;IAA5C;;QACW,SAAI,GAAG,QAAiB,CAAC;IA0BpC,CAAC;IAxBC,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,UAA8B;QACjC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAO,MAAO,SAAQ,gBAAgB;IAA5C;;QACW,SAAI,GAAuB,QAAQ,CAAC;IAyF/C,CAAC;IAvFC,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,KAAK,GAAG,IAAI;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAGD,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAGD,QAAQ,CAAC,KAAK,GAAG,IAAI;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAGD,KAAK,CAAC,KAAsB,EAAE,KAAkB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAGD,IAAI,CAAC,KAAuB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAGD,OAAO,CAAC,KAA0B;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAGD,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAOD,OAAO,CAAC,EAAiB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,WAAW,CAAC,OAA+B;QACjD,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAK,CAAC,MAAiC,IAAI;YAChE,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,EAAE;SACV,CAAC;QACF,MAAM,IAAI,GAAe;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE;YACxC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,MAAM;IAAtC;;QACoB,SAAI,GAAG,aAAsB,CAAC;IAKlD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,MAAM;QAChC,OAAO,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,MAAM;IAAxC;;QACoB,SAAI,GAAG,eAAwB,CAAC;IASpD,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,QAAQ;QAClC,OAAO,IAAI,YAAY,EAAE;aACtB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC1B,KAAK,CAAC,QAAQ,CAAC;aACf,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAOD,MAAM,OAAO,aAAc,SAAQ,MAAM;IAAzC;;QACoB,SAAI,GAAG,gBAAyB,CAAC;IAKrD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,SAAS;QACnC,OAAO,IAAI,aAAa,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,MAAM;IAAxC;;QACoB,SAAI,GAAG,eAAwB,CAAC;IAKpD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,QAAQ;QAClC,OAAO,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,MAAM;IAAtC;;QACoB,SAAI,GAAG,aAAsB,CAAC;IAKlD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,MAAM;QAChC,OAAO,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;CACF;AAGD,MAAM,OAAO,UAAW,SAAQ,MAAM;IAAtC;;QACoB,SAAI,GAAG,QAAiB,CAAC;IAK7C,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,MAAM;QAChC,OAAO,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,MAAM;IAAtC;;QACoB,SAAI,GAAG,aAAsB,CAAC;IAKlD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAY;QAC/B,OAAO,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAA5C;;QACoB,SAAI,GAAG,oBAA6B,CAAC;IASzD,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,aAAa;QACvC,OAAO,IAAI,gBAAgB,EAAE;aAC1B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;aACnC,KAAK,CAAC,QAAQ,CAAC;aACf,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAGD,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAA3C;;QACoB,SAAI,GAAG,kBAA2B,CAAC;IAKvD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,WAAW;QACrC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC;CACF;AAGD,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAA5C;;QACoB,SAAI,GAAG,mBAA4B,CAAC;IASxD,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,YAAY;QACtC,OAAO,IAAI,gBAAgB,EAAE;aAC1B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;aAC9B,KAAK,CAAC,MAAM,CAAC;aACb,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAGD,MAAM,OAAO,YAAa,SAAQ,MAAM;IAAxC;;QACoB,SAAI,GAAG,eAAwB,CAAC;IAKpD,CAAC;IAHC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,QAAQ;QAClC,OAAO,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;CACF;AAGD,MAAM,OAAO,YAAa,SAAQ,MAAM;IAAxC;;QACoB,SAAI,GAAG,eAAwB,CAAC;IASpD,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,QAAQ;QAClC,OAAO,IAAI,YAAY,EAAE;aACtB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC1B,KAAK,CAAC,MAAM,CAAC;aACb,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,MAAM;IAAhD;;QACoB,SAAI,GAAG,wBAAiC,CAAC;IAS7D,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,iBAAiB;QAC3C,OAAO,IAAI,oBAAoB,EAAE;aAC9B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC;aACvC,KAAK,CAAC,MAAM,CAAC;aACb,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAA5C;;QACoB,SAAI,GAAG,oBAA6B,CAAC;IASzD,CAAC;IAPC,MAAM,CAAU,IAAI,CAAC,IAAI,GAAG,aAAa;QACvC,OAAO,IAAI,gBAAgB,EAAE;aAC1B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;aACnC,KAAK,CAAC,MAAM,CAAC;aACb,oBAAoB,EAAE,CAAC;IAC5B,CAAC;CACF;AAGD,MAAM,UAAU,mBAAmB,CACjC,MAAkB,EAClB,WAKI,EAAE;IAEN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAgC,CAAC;IAC/D,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,SAAS;gBACtC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;gBACvC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;gBAC9C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ;gBAC7C,GAAG,QAAQ,CAAC,KAAK;aAClB;YACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,SAAS;YACtC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,oCAAoC;YACzE,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;YAC5E,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ;SAC9C;KACF,CAAC;AACJ,CAAC"}
|
package/dist/charts/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ChartKind, ChartRow, ChartSeriesSpec, ChartSpec } from
|
|
2
|
-
import type { AdminPolicyContext, DashboardWidget, PageRenderContext } from
|
|
3
|
-
export type { ChartKind, ChartRow, ChartSeriesSpec, ChartSpec } from
|
|
1
|
+
import type { ChartKind, ChartRow, ChartSeriesSpec, ChartSpec } from '@nestjs-dash/support';
|
|
2
|
+
import type { AdminPolicyContext, DashboardWidget, PageRenderContext } from '../index.js';
|
|
3
|
+
export type { ChartKind, ChartRow, ChartSeriesSpec, ChartSpec } from '@nestjs-dash/support';
|
|
4
4
|
type DataInput = ChartRow[] | ((ctx: PageRenderContext) => ChartRow[] | Promise<ChartRow[]>);
|
|
5
5
|
type AccessPredicate = (ctx: AdminPolicyContext) => boolean | Promise<boolean>;
|
|
6
6
|
declare abstract class ChartWidgetBuilder implements DashboardWidget {
|
|
7
7
|
private readonly kind;
|
|
8
|
-
slot:
|
|
8
|
+
slot: 'main' | 'side';
|
|
9
9
|
private categoryKeyValue;
|
|
10
10
|
private seriesValue;
|
|
11
11
|
private dataInput;
|
|
@@ -43,13 +43,13 @@ export declare class PieChart extends ChartWidgetBuilder {
|
|
|
43
43
|
}
|
|
44
44
|
type StatCardValueInput = string | number | ((ctx: PageRenderContext) => string | number | Promise<string | number>);
|
|
45
45
|
type StatCardTrend = {
|
|
46
|
-
direction:
|
|
46
|
+
direction: 'up' | 'down';
|
|
47
47
|
label: string;
|
|
48
48
|
};
|
|
49
49
|
type StatCardTrendInput = StatCardTrend | undefined | ((ctx: PageRenderContext) => StatCardTrend | undefined | Promise<StatCardTrend | undefined>);
|
|
50
50
|
export declare class StatCard implements DashboardWidget {
|
|
51
51
|
private readonly labelValue;
|
|
52
|
-
slot:
|
|
52
|
+
slot: 'main' | 'side';
|
|
53
53
|
private valueInput;
|
|
54
54
|
private trendInput;
|
|
55
55
|
private accessPredicate?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/charts/index.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import { escapeHtml } from
|
|
1
|
+
import { escapeHtml } from '@nestjs-dash/support';
|
|
2
2
|
class ChartWidgetBuilder {
|
|
3
|
-
kind;
|
|
4
|
-
slot = "main";
|
|
5
|
-
categoryKeyValue = "category";
|
|
6
|
-
seriesValue = [];
|
|
7
|
-
dataInput = [];
|
|
8
|
-
titleValue;
|
|
9
|
-
descriptionValue;
|
|
10
|
-
heightValue = 240;
|
|
11
|
-
legendValue;
|
|
12
|
-
emptyLabelValue;
|
|
13
|
-
accessPredicate;
|
|
14
3
|
constructor(kind) {
|
|
15
4
|
this.kind = kind;
|
|
5
|
+
this.slot = 'main';
|
|
6
|
+
this.categoryKeyValue = 'category';
|
|
7
|
+
this.seriesValue = [];
|
|
8
|
+
this.dataInput = [];
|
|
9
|
+
this.heightValue = 240;
|
|
16
10
|
}
|
|
17
11
|
side() {
|
|
18
|
-
this.slot =
|
|
12
|
+
this.slot = 'side';
|
|
19
13
|
return this;
|
|
20
14
|
}
|
|
21
15
|
title(value) {
|
|
@@ -58,7 +52,7 @@ class ChartWidgetBuilder {
|
|
|
58
52
|
return this.accessPredicate ? await this.accessPredicate(ctx) : true;
|
|
59
53
|
}
|
|
60
54
|
async chart(ctx) {
|
|
61
|
-
const data = typeof this.dataInput ===
|
|
55
|
+
const data = typeof this.dataInput === 'function' ? await this.dataInput(ctx) : this.dataInput;
|
|
62
56
|
return {
|
|
63
57
|
kind: this.kind,
|
|
64
58
|
data,
|
|
@@ -74,7 +68,7 @@ class ChartWidgetBuilder {
|
|
|
74
68
|
}
|
|
75
69
|
export class BarChart extends ChartWidgetBuilder {
|
|
76
70
|
constructor() {
|
|
77
|
-
super(
|
|
71
|
+
super('bar');
|
|
78
72
|
}
|
|
79
73
|
static make() {
|
|
80
74
|
return new BarChart();
|
|
@@ -82,7 +76,7 @@ export class BarChart extends ChartWidgetBuilder {
|
|
|
82
76
|
}
|
|
83
77
|
export class LineChart extends ChartWidgetBuilder {
|
|
84
78
|
constructor() {
|
|
85
|
-
super(
|
|
79
|
+
super('line');
|
|
86
80
|
}
|
|
87
81
|
static make() {
|
|
88
82
|
return new LineChart();
|
|
@@ -90,20 +84,17 @@ export class LineChart extends ChartWidgetBuilder {
|
|
|
90
84
|
}
|
|
91
85
|
export class PieChart extends ChartWidgetBuilder {
|
|
92
86
|
constructor() {
|
|
93
|
-
super(
|
|
87
|
+
super('pie');
|
|
94
88
|
}
|
|
95
89
|
static make() {
|
|
96
90
|
return new PieChart();
|
|
97
91
|
}
|
|
98
92
|
}
|
|
99
93
|
export class StatCard {
|
|
100
|
-
labelValue;
|
|
101
|
-
slot = "main";
|
|
102
|
-
valueInput = "";
|
|
103
|
-
trendInput;
|
|
104
|
-
accessPredicate;
|
|
105
94
|
constructor(labelValue) {
|
|
106
95
|
this.labelValue = labelValue;
|
|
96
|
+
this.slot = 'main';
|
|
97
|
+
this.valueInput = '';
|
|
107
98
|
}
|
|
108
99
|
static make(label) {
|
|
109
100
|
return new StatCard(label);
|
|
@@ -117,7 +108,7 @@ export class StatCard {
|
|
|
117
108
|
return this;
|
|
118
109
|
}
|
|
119
110
|
side() {
|
|
120
|
-
this.slot =
|
|
111
|
+
this.slot = 'side';
|
|
121
112
|
return this;
|
|
122
113
|
}
|
|
123
114
|
visibleWhen(predicate) {
|
|
@@ -128,11 +119,11 @@ export class StatCard {
|
|
|
128
119
|
return this.accessPredicate ? await this.accessPredicate(ctx) : true;
|
|
129
120
|
}
|
|
130
121
|
async render(ctx) {
|
|
131
|
-
const value = typeof this.valueInput ===
|
|
132
|
-
const trend = typeof this.trendInput ===
|
|
122
|
+
const value = typeof this.valueInput === 'function' ? await this.valueInput(ctx) : this.valueInput;
|
|
123
|
+
const trend = typeof this.trendInput === 'function' ? await this.trendInput(ctx) : this.trendInput;
|
|
133
124
|
const trendHtml = trend
|
|
134
|
-
? `<span style="color:${trend.direction ===
|
|
135
|
-
:
|
|
125
|
+
? `<span style="color:${trend.direction === 'up' ? 'var(--chart-2)' : 'var(--destructive)'};font-size:0.85rem;">${trend.direction === 'up' ? '▲' : '▼'} ${escapeHtml(trend.label)}</span>`
|
|
126
|
+
: '';
|
|
136
127
|
return `<div style="border:1px solid var(--border);border-radius:0.5rem;padding:1rem;">
|
|
137
128
|
<div style="font-size:0.8rem;color:var(--muted-foreground);margin-bottom:0.35rem;">${escapeHtml(this.labelValue)}</div>
|
|
138
129
|
<div style="font-size:1.75rem;font-weight:600;">${escapeHtml(String(value))}</div>
|