@columenlabs/lumen-ui 0.1.1 → 0.1.3
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/README.md +1 -1
- package/dist/assistant-panel.js +1 -1
- package/dist/coverage-calendar-map.js +1 -1
- package/dist/coverage-cells.d.ts +2 -2
- package/dist/coverage-map.js +4 -10
- package/dist/details-table.js +1 -5
- package/dist/form-issues.js +1 -1
- package/dist/frame-script.js +1 -1
- package/dist/growth-chart.d.ts +9 -9
- package/dist/joins.d.ts +4 -3
- package/dist/joins.js +1 -1
- package/dist/lumen-code.js +1 -5
- package/dist/lumen-drawer.js +1 -3
- package/dist/lumen-filter.js +5 -13
- package/dist/lumen-grid.js +2 -4
- package/dist/lumen-layout.js +7 -4
- package/dist/lumen-links.d.ts +1 -1
- package/dist/lumen-selector.js +1 -1
- package/dist/lumen-source.js +2 -4
- package/dist/lumen-tab-drawer.js +1 -1
- package/dist/lumen-toast.d.ts +4 -4
- package/dist/lumen-view-card.js +1 -1
- package/dist/lumen-view.js +2 -4
- package/dist/lumen-widget.d.ts +277 -171
- package/dist/lumen-widget.js +31 -20
- package/dist/market/indicator-picker.js +1 -1
- package/dist/market/live.d.ts +1 -1
- package/dist/market/lumen-chart.js +1 -1
- package/dist/market/price-chart.d.ts +10 -10
- package/dist/nav.js +1 -1
- package/dist/notifications.js +1 -3
- package/dist/overview.js +1 -1
- package/dist/page.js +1 -1
- package/dist/pager.js +1 -1
- package/dist/prefs.d.ts +25 -25
- package/dist/schedules.js +1 -1
- package/dist/settings.js +1 -3
- package/dist/shell.js +1 -1
- package/dist/sourced-card.d.ts +10 -0
- package/dist/sourced-card.js +69 -0
- package/dist/summary-cards.js +2 -6
- package/dist/symbol-sheet.js +1 -1
- package/dist/tasks.d.ts +1 -1
- package/dist/tasks.js +1 -1
- package/dist/tile.js +2 -4
- package/dist/ui/badge.d.ts +1 -1
- package/dist/ui/button.d.ts +2 -2
- package/dist/ui/chart.d.ts +2 -2
- package/dist/ui/chart.js +2 -5
- package/dist/ui/field.d.ts +1 -1
- package/dist/ui/input-group.d.ts +2 -2
- package/dist/ui/item.d.ts +3 -3
- package/dist/ui/sidebar.d.ts +1 -1
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/view-edit-cell.js +1 -4
- package/dist/view-editor.d.ts +1 -1
- package/dist/view-editor.js +188 -47
- package/dist/view-formulas.d.ts +1 -1
- package/dist/view-model.d.ts +15 -15
- package/dist/whats-new.js +1 -1
- package/dist/widget-data.d.ts +4 -0
- package/dist/widget-data.js +32 -0
- package/dist/widget-settings.d.ts +219 -139
- package/dist/widget-settings.js +4 -4
- package/dist/widget-thumbs.d.ts +1 -1
- package/dist/widget-thumbs.js +1 -1
- package/dist/workspace-keys.d.ts +1 -1
- package/dist/workspaces.js +1 -1
- package/package.json +5 -5
|
@@ -56,34 +56,57 @@ export declare function WidgetSettings<T>({ card, set, domain, }: {
|
|
|
56
56
|
}): import("react").JSX.Element;
|
|
57
57
|
/** Whether a widget reads the view's rows (a chart of symbols reads its own data). */
|
|
58
58
|
export declare const readsRows: (card: ViewWidget) => card is {
|
|
59
|
-
kind: "table";
|
|
60
|
-
style: "table";
|
|
61
59
|
id: string;
|
|
62
60
|
title: string | null;
|
|
63
61
|
w: number;
|
|
62
|
+
h?: number | undefined;
|
|
63
|
+
x?: number | undefined;
|
|
64
|
+
y?: number | undefined;
|
|
65
|
+
phone?: {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
w: number;
|
|
69
|
+
h?: number | undefined;
|
|
70
|
+
} | undefined;
|
|
64
71
|
filter: {
|
|
65
72
|
key: string;
|
|
66
73
|
value: string;
|
|
67
74
|
not?: boolean | undefined;
|
|
68
|
-
op?: "
|
|
69
|
-
link?: "
|
|
75
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
76
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
70
77
|
}[];
|
|
78
|
+
source?: string | undefined;
|
|
79
|
+
connections?: {
|
|
80
|
+
to: string;
|
|
81
|
+
on: {
|
|
82
|
+
from: string;
|
|
83
|
+
to: string;
|
|
84
|
+
}[];
|
|
85
|
+
}[] | undefined;
|
|
86
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
87
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
88
|
+
kind: "table";
|
|
89
|
+
style: "table";
|
|
71
90
|
table?: {
|
|
72
|
-
shape: "
|
|
91
|
+
shape: "group" | "pivot" | "table";
|
|
73
92
|
columns: string[];
|
|
93
|
+
hidden?: string[] | undefined;
|
|
74
94
|
chips: {
|
|
75
95
|
key: string;
|
|
76
|
-
placement: "
|
|
96
|
+
placement: "column" | "inline";
|
|
77
97
|
}[];
|
|
98
|
+
formats?: Record<string, "compact" | "integer" | "number" | "percent" | "price" | "price_rounded" | "price_signed" | "rounded" | "signed" | "weight"> | undefined;
|
|
99
|
+
aggs?: Record<string, "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "none" | "sum"> | undefined;
|
|
78
100
|
group: {
|
|
79
101
|
fields: string[];
|
|
80
102
|
default: string | null;
|
|
81
103
|
};
|
|
104
|
+
subgroup?: string | null | undefined;
|
|
82
105
|
pivot: {
|
|
83
106
|
rows: string;
|
|
84
107
|
columns: string;
|
|
85
108
|
value: string;
|
|
86
|
-
agg: "
|
|
109
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
87
110
|
} | null;
|
|
88
111
|
sort: {
|
|
89
112
|
key: string;
|
|
@@ -91,14 +114,14 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
91
114
|
} | null;
|
|
92
115
|
pagination: {
|
|
93
116
|
on: boolean;
|
|
94
|
-
size:
|
|
117
|
+
size: 25 | 50 | 100 | 250;
|
|
95
118
|
};
|
|
96
|
-
|
|
97
|
-
formats?: Record<string, "number" | "weight" | "compact" | "rounded" | "price" | "price_rounded" | "price_signed" | "percent" | "signed" | "integer"> | undefined;
|
|
98
|
-
aggs?: Record<string, "none" | "max" | "min" | "first" | "last" | "sum" | "count" | "mean" | "distinct"> | undefined;
|
|
99
|
-
subgroup?: string | null | undefined;
|
|
100
|
-
width?: "scroll" | "fit" | undefined;
|
|
119
|
+
width?: "fit" | "scroll" | undefined;
|
|
101
120
|
} | undefined;
|
|
121
|
+
} | {
|
|
122
|
+
id: string;
|
|
123
|
+
title: string | null;
|
|
124
|
+
w: number;
|
|
102
125
|
h?: number | undefined;
|
|
103
126
|
x?: number | undefined;
|
|
104
127
|
y?: number | undefined;
|
|
@@ -108,25 +131,32 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
108
131
|
w: number;
|
|
109
132
|
h?: number | undefined;
|
|
110
133
|
} | undefined;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
filter: {
|
|
135
|
+
key: string;
|
|
136
|
+
value: string;
|
|
137
|
+
not?: boolean | undefined;
|
|
138
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
139
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
140
|
+
}[];
|
|
141
|
+
source?: string | undefined;
|
|
142
|
+
connections?: {
|
|
143
|
+
to: string;
|
|
144
|
+
on: {
|
|
145
|
+
from: string;
|
|
146
|
+
to: string;
|
|
147
|
+
}[];
|
|
148
|
+
}[] | undefined;
|
|
149
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
150
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
114
151
|
kind: "table";
|
|
115
152
|
style: "top_n";
|
|
116
153
|
sort: string;
|
|
117
154
|
desc: boolean;
|
|
118
155
|
n: number;
|
|
119
156
|
columns: string[];
|
|
157
|
+
} | {
|
|
120
158
|
id: string;
|
|
121
159
|
title: string | null;
|
|
122
|
-
w: number;
|
|
123
|
-
filter: {
|
|
124
|
-
key: string;
|
|
125
|
-
value: string;
|
|
126
|
-
not?: boolean | undefined;
|
|
127
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
128
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
129
|
-
}[];
|
|
130
160
|
h?: number | undefined;
|
|
131
161
|
x?: number | undefined;
|
|
132
162
|
y?: number | undefined;
|
|
@@ -136,9 +166,23 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
136
166
|
w: number;
|
|
137
167
|
h?: number | undefined;
|
|
138
168
|
} | undefined;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
169
|
+
filter: {
|
|
170
|
+
key: string;
|
|
171
|
+
value: string;
|
|
172
|
+
not?: boolean | undefined;
|
|
173
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
174
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
175
|
+
}[];
|
|
176
|
+
source?: string | undefined;
|
|
177
|
+
connections?: {
|
|
178
|
+
to: string;
|
|
179
|
+
on: {
|
|
180
|
+
from: string;
|
|
181
|
+
to: string;
|
|
182
|
+
}[];
|
|
183
|
+
}[] | undefined;
|
|
184
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
185
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
142
186
|
kind: "metric";
|
|
143
187
|
style: "number" | "progress_bar" | "progress_circle";
|
|
144
188
|
w: number;
|
|
@@ -146,32 +190,32 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
146
190
|
key: string;
|
|
147
191
|
label: string;
|
|
148
192
|
field: string;
|
|
149
|
-
agg: "
|
|
193
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
150
194
|
filter: {
|
|
151
195
|
key: string;
|
|
152
196
|
value: string;
|
|
153
197
|
not?: boolean | undefined;
|
|
154
|
-
op?: "
|
|
155
|
-
link?: "
|
|
198
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
199
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
156
200
|
}[];
|
|
157
201
|
sign: boolean;
|
|
158
202
|
suffix: string;
|
|
159
203
|
lines: ({
|
|
160
204
|
kind: "value";
|
|
161
205
|
field: string;
|
|
162
|
-
agg: "
|
|
206
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
163
207
|
filter: {
|
|
164
208
|
key: string;
|
|
165
209
|
value: string;
|
|
166
210
|
not?: boolean | undefined;
|
|
167
|
-
op?: "
|
|
168
|
-
link?: "
|
|
211
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
212
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
169
213
|
}[];
|
|
170
214
|
suffix: string;
|
|
171
215
|
} | {
|
|
172
216
|
kind: "pct";
|
|
173
217
|
field: string;
|
|
174
|
-
agg: "
|
|
218
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
175
219
|
} | {
|
|
176
220
|
kind: "text";
|
|
177
221
|
text: string;
|
|
@@ -179,21 +223,16 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
179
223
|
} | {
|
|
180
224
|
key: string;
|
|
181
225
|
};
|
|
182
|
-
id: string;
|
|
183
|
-
title: string | null;
|
|
184
|
-
filter: {
|
|
185
|
-
key: string;
|
|
186
|
-
value: string;
|
|
187
|
-
not?: boolean | undefined;
|
|
188
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
189
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
190
|
-
}[];
|
|
191
226
|
target?: number | undefined;
|
|
192
227
|
meter?: "health" | "usage" | undefined;
|
|
193
228
|
bands?: {
|
|
194
229
|
warn: number;
|
|
195
230
|
bad: number;
|
|
196
231
|
} | undefined;
|
|
232
|
+
} | {
|
|
233
|
+
id: string;
|
|
234
|
+
title: string | null;
|
|
235
|
+
w: number;
|
|
197
236
|
h?: number | undefined;
|
|
198
237
|
x?: number | undefined;
|
|
199
238
|
y?: number | undefined;
|
|
@@ -203,51 +242,55 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
203
242
|
w: number;
|
|
204
243
|
h?: number | undefined;
|
|
205
244
|
} | undefined;
|
|
206
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
207
|
-
controls?: Partial<Record<"footer" | "header" | "legend" | "filter" | "group" | "download" | "columns" | "ask" | "refresh" | "pager" | "window", boolean>> | undefined;
|
|
208
|
-
} | {
|
|
209
|
-
kind: "metric";
|
|
210
|
-
style: "row";
|
|
211
|
-
id: string;
|
|
212
|
-
title: string | null;
|
|
213
|
-
w: number;
|
|
214
245
|
filter: {
|
|
215
246
|
key: string;
|
|
216
247
|
value: string;
|
|
217
248
|
not?: boolean | undefined;
|
|
218
|
-
op?: "
|
|
219
|
-
link?: "
|
|
249
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
250
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
220
251
|
}[];
|
|
252
|
+
source?: string | undefined;
|
|
253
|
+
connections?: {
|
|
254
|
+
to: string;
|
|
255
|
+
on: {
|
|
256
|
+
from: string;
|
|
257
|
+
to: string;
|
|
258
|
+
}[];
|
|
259
|
+
}[] | undefined;
|
|
260
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
261
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
262
|
+
kind: "metric";
|
|
263
|
+
style: "row";
|
|
221
264
|
tiles?: ({
|
|
222
265
|
key: string;
|
|
223
266
|
label: string;
|
|
224
267
|
field: string;
|
|
225
|
-
agg: "
|
|
268
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
226
269
|
filter: {
|
|
227
270
|
key: string;
|
|
228
271
|
value: string;
|
|
229
272
|
not?: boolean | undefined;
|
|
230
|
-
op?: "
|
|
231
|
-
link?: "
|
|
273
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
274
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
232
275
|
}[];
|
|
233
276
|
sign: boolean;
|
|
234
277
|
suffix: string;
|
|
235
278
|
lines: ({
|
|
236
279
|
kind: "value";
|
|
237
280
|
field: string;
|
|
238
|
-
agg: "
|
|
281
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
239
282
|
filter: {
|
|
240
283
|
key: string;
|
|
241
284
|
value: string;
|
|
242
285
|
not?: boolean | undefined;
|
|
243
|
-
op?: "
|
|
244
|
-
link?: "
|
|
286
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
287
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
245
288
|
}[];
|
|
246
289
|
suffix: string;
|
|
247
290
|
} | {
|
|
248
291
|
kind: "pct";
|
|
249
292
|
field: string;
|
|
250
|
-
agg: "
|
|
293
|
+
agg: "count" | "distinct" | "first" | "last" | "max" | "mean" | "min" | "sum";
|
|
251
294
|
} | {
|
|
252
295
|
kind: "text";
|
|
253
296
|
text: string;
|
|
@@ -257,6 +300,9 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
257
300
|
})[] | undefined;
|
|
258
301
|
rank?: string | undefined;
|
|
259
302
|
cash?: boolean | undefined;
|
|
303
|
+
} | {
|
|
304
|
+
id: string;
|
|
305
|
+
title: string | null;
|
|
260
306
|
h?: number | undefined;
|
|
261
307
|
x?: number | undefined;
|
|
262
308
|
y?: number | undefined;
|
|
@@ -266,25 +312,34 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
266
312
|
w: number;
|
|
267
313
|
h?: number | undefined;
|
|
268
314
|
} | undefined;
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
315
|
+
filter: {
|
|
316
|
+
key: string;
|
|
317
|
+
value: string;
|
|
318
|
+
not?: boolean | undefined;
|
|
319
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
320
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
321
|
+
}[];
|
|
322
|
+
source?: string | undefined;
|
|
323
|
+
connections?: {
|
|
324
|
+
to: string;
|
|
325
|
+
on: {
|
|
326
|
+
from: string;
|
|
327
|
+
to: string;
|
|
328
|
+
}[];
|
|
329
|
+
}[] | undefined;
|
|
330
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
331
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
272
332
|
w: number;
|
|
273
333
|
date: string;
|
|
274
334
|
values: string[];
|
|
275
|
-
bucket: "
|
|
276
|
-
agg: "
|
|
335
|
+
bucket: "day" | "month" | "week" | "year";
|
|
336
|
+
agg: "count" | "last" | "mean" | "sum";
|
|
277
337
|
kind: "metric";
|
|
278
338
|
style: "spark" | "tracker";
|
|
339
|
+
} | {
|
|
279
340
|
id: string;
|
|
280
341
|
title: string | null;
|
|
281
|
-
|
|
282
|
-
key: string;
|
|
283
|
-
value: string;
|
|
284
|
-
not?: boolean | undefined;
|
|
285
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
286
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
287
|
-
}[];
|
|
342
|
+
w: number;
|
|
288
343
|
h?: number | undefined;
|
|
289
344
|
x?: number | undefined;
|
|
290
345
|
y?: number | undefined;
|
|
@@ -294,24 +349,32 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
294
349
|
w: number;
|
|
295
350
|
h?: number | undefined;
|
|
296
351
|
} | undefined;
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
352
|
+
filter: {
|
|
353
|
+
key: string;
|
|
354
|
+
value: string;
|
|
355
|
+
not?: boolean | undefined;
|
|
356
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
357
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
358
|
+
}[];
|
|
359
|
+
source?: string | undefined;
|
|
360
|
+
connections?: {
|
|
361
|
+
to: string;
|
|
362
|
+
on: {
|
|
363
|
+
from: string;
|
|
364
|
+
to: string;
|
|
365
|
+
}[];
|
|
366
|
+
}[] | undefined;
|
|
367
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
368
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
300
369
|
kind: "allocation";
|
|
301
370
|
style: "bar";
|
|
302
371
|
by: string;
|
|
303
372
|
value: string;
|
|
304
373
|
max: number;
|
|
374
|
+
} | {
|
|
305
375
|
id: string;
|
|
306
376
|
title: string | null;
|
|
307
377
|
w: number;
|
|
308
|
-
filter: {
|
|
309
|
-
key: string;
|
|
310
|
-
value: string;
|
|
311
|
-
not?: boolean | undefined;
|
|
312
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
313
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
314
|
-
}[];
|
|
315
378
|
h?: number | undefined;
|
|
316
379
|
x?: number | undefined;
|
|
317
380
|
y?: number | undefined;
|
|
@@ -321,24 +384,32 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
321
384
|
w: number;
|
|
322
385
|
h?: number | undefined;
|
|
323
386
|
} | undefined;
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
387
|
+
filter: {
|
|
388
|
+
key: string;
|
|
389
|
+
value: string;
|
|
390
|
+
not?: boolean | undefined;
|
|
391
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
392
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
393
|
+
}[];
|
|
394
|
+
source?: string | undefined;
|
|
395
|
+
connections?: {
|
|
396
|
+
to: string;
|
|
397
|
+
on: {
|
|
398
|
+
from: string;
|
|
399
|
+
to: string;
|
|
400
|
+
}[];
|
|
401
|
+
}[] | undefined;
|
|
402
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
403
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
327
404
|
kind: "allocation";
|
|
328
405
|
style: "donut";
|
|
329
406
|
by: string;
|
|
330
407
|
value: string;
|
|
331
408
|
max: number;
|
|
409
|
+
} | {
|
|
332
410
|
id: string;
|
|
333
411
|
title: string | null;
|
|
334
412
|
w: number;
|
|
335
|
-
filter: {
|
|
336
|
-
key: string;
|
|
337
|
-
value: string;
|
|
338
|
-
not?: boolean | undefined;
|
|
339
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
340
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
341
|
-
}[];
|
|
342
413
|
h?: number | undefined;
|
|
343
414
|
x?: number | undefined;
|
|
344
415
|
y?: number | undefined;
|
|
@@ -348,27 +419,35 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
348
419
|
w: number;
|
|
349
420
|
h?: number | undefined;
|
|
350
421
|
} | undefined;
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
422
|
+
filter: {
|
|
423
|
+
key: string;
|
|
424
|
+
value: string;
|
|
425
|
+
not?: boolean | undefined;
|
|
426
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
427
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
428
|
+
}[];
|
|
429
|
+
source?: string | undefined;
|
|
430
|
+
connections?: {
|
|
431
|
+
to: string;
|
|
432
|
+
on: {
|
|
433
|
+
from: string;
|
|
434
|
+
to: string;
|
|
435
|
+
}[];
|
|
436
|
+
}[] | undefined;
|
|
437
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
438
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
354
439
|
kind: "allocation";
|
|
355
440
|
style: "bar_list";
|
|
356
441
|
by: string;
|
|
357
442
|
value: string;
|
|
358
443
|
signed: boolean;
|
|
444
|
+
stack?: string | undefined;
|
|
359
445
|
desc: boolean;
|
|
360
446
|
n: number;
|
|
447
|
+
} | {
|
|
361
448
|
id: string;
|
|
362
449
|
title: string | null;
|
|
363
450
|
w: number;
|
|
364
|
-
filter: {
|
|
365
|
-
key: string;
|
|
366
|
-
value: string;
|
|
367
|
-
not?: boolean | undefined;
|
|
368
|
-
op?: "gt" | "lt" | "eq" | "between" | undefined;
|
|
369
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
370
|
-
}[];
|
|
371
|
-
stack?: string | undefined;
|
|
372
451
|
h?: number | undefined;
|
|
373
452
|
x?: number | undefined;
|
|
374
453
|
y?: number | undefined;
|
|
@@ -378,22 +457,29 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
378
457
|
w: number;
|
|
379
458
|
h?: number | undefined;
|
|
380
459
|
} | undefined;
|
|
381
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
382
|
-
controls?: Partial<Record<"footer" | "header" | "legend" | "filter" | "group" | "download" | "columns" | "ask" | "refresh" | "pager" | "window", boolean>> | undefined;
|
|
383
|
-
} | {
|
|
384
|
-
kind: "chart";
|
|
385
|
-
style: "growth";
|
|
386
|
-
scale: "log" | "linear";
|
|
387
|
-
id: string;
|
|
388
|
-
title: string | null;
|
|
389
|
-
w: number;
|
|
390
460
|
filter: {
|
|
391
461
|
key: string;
|
|
392
462
|
value: string;
|
|
393
463
|
not?: boolean | undefined;
|
|
394
|
-
op?: "
|
|
395
|
-
link?: "
|
|
464
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
465
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
396
466
|
}[];
|
|
467
|
+
source?: string | undefined;
|
|
468
|
+
connections?: {
|
|
469
|
+
to: string;
|
|
470
|
+
on: {
|
|
471
|
+
from: string;
|
|
472
|
+
to: string;
|
|
473
|
+
}[];
|
|
474
|
+
}[] | undefined;
|
|
475
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
476
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
477
|
+
kind: "chart";
|
|
478
|
+
style: "growth";
|
|
479
|
+
scale: "linear" | "log";
|
|
480
|
+
} | {
|
|
481
|
+
id: string;
|
|
482
|
+
title: string | null;
|
|
397
483
|
h?: number | undefined;
|
|
398
484
|
x?: number | undefined;
|
|
399
485
|
y?: number | undefined;
|
|
@@ -403,34 +489,28 @@ export declare const readsRows: (card: ViewWidget) => card is {
|
|
|
403
489
|
w: number;
|
|
404
490
|
h?: number | undefined;
|
|
405
491
|
} | undefined;
|
|
406
|
-
link?: "blue" | "lime" | "pink" | "teal" | "amber" | undefined;
|
|
407
|
-
controls?: Partial<Record<"footer" | "header" | "legend" | "filter" | "group" | "download" | "columns" | "ask" | "refresh" | "pager" | "window", boolean>> | undefined;
|
|
408
|
-
} | {
|
|
409
|
-
w: number;
|
|
410
|
-
date: string;
|
|
411
|
-
values: string[];
|
|
412
|
-
bucket: "month" | "week" | "year" | "day";
|
|
413
|
-
agg: "last" | "sum" | "count" | "mean";
|
|
414
|
-
kind: "chart";
|
|
415
|
-
style: "area" | "line" | "bars" | "stacked" | "combo";
|
|
416
|
-
id: string;
|
|
417
|
-
title: string | null;
|
|
418
492
|
filter: {
|
|
419
493
|
key: string;
|
|
420
494
|
value: string;
|
|
421
495
|
not?: boolean | undefined;
|
|
422
|
-
op?: "
|
|
423
|
-
link?: "
|
|
496
|
+
op?: "between" | "eq" | "gt" | "lt" | undefined;
|
|
497
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
424
498
|
}[];
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
499
|
+
source?: string | undefined;
|
|
500
|
+
connections?: {
|
|
501
|
+
to: string;
|
|
502
|
+
on: {
|
|
503
|
+
from: string;
|
|
504
|
+
to: string;
|
|
505
|
+
}[];
|
|
506
|
+
}[] | undefined;
|
|
507
|
+
link?: "amber" | "blue" | "lime" | "pink" | "teal" | undefined;
|
|
508
|
+
controls?: Partial<Record<"ask" | "columns" | "download" | "filter" | "footer" | "group" | "header" | "legend" | "pager" | "refresh" | "window", boolean>> | undefined;
|
|
509
|
+
w: number;
|
|
510
|
+
date: string;
|
|
511
|
+
values: string[];
|
|
512
|
+
bucket: "day" | "month" | "week" | "year";
|
|
513
|
+
agg: "count" | "last" | "mean" | "sum";
|
|
514
|
+
kind: "chart";
|
|
515
|
+
style: "area" | "bars" | "combo" | "line" | "stacked";
|
|
436
516
|
};
|
package/dist/widget-settings.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// Edit widget's own parts (one editor for every widget). Every widget opens the
|
|
3
3
|
// same editor (view-editor.tsx): Widget (type, name, width, link colour), Fields, Settings, Rows,
|
|
4
4
|
// Formulas, Controls, with the field tree beside it. A table's Fields are its columns; any other
|
|
5
5
|
// widget's are its slots (By and Value, Date and Values, a card's number), which the tree fills the
|
|
6
6
|
// same way it ticks a column. Settings are the picked style's own options. Switching the type
|
|
7
7
|
// swaps only these two parts.
|
|
8
|
-
import { OUTLOOK_INDEXES, marketWindows } from '@columenlabs/lumen-ui-types/market';
|
|
8
|
+
import { OUTLOOK_INDEXES, marketWindows, } from '@columenlabs/lumen-ui-types/market';
|
|
9
9
|
import { ALLOCATION_MAX, isOwnTile, isRowCard, isTableCard, trendBuckets, widgetStyleId, } from '@columenlabs/lumen-ui-types/views';
|
|
10
10
|
import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';
|
|
11
11
|
import { useState } from 'react';
|
|
@@ -46,8 +46,8 @@ const freeTileKey = (tiles, taken) => {
|
|
|
46
46
|
/** A widget's slots, in the order the editor lists them; none for a chart of symbols. */
|
|
47
47
|
export function widgetSlots(card, domain) {
|
|
48
48
|
const label = (k) => domain.fields.find((f) => f.key === k)?.label ?? k;
|
|
49
|
-
const text = { accepts:
|
|
50
|
-
const number = { accepts:
|
|
49
|
+
const text = { accepts: isTextField, why: 'Takes a text field' };
|
|
50
|
+
const number = { accepts: isNumberField, why: 'Takes a number' };
|
|
51
51
|
if ('by' in card)
|
|
52
52
|
return [
|
|
53
53
|
{
|
package/dist/widget-thumbs.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
/** A style's thumbnail (`WIDGET_STYLES` id); a style with none draws nothing. */
|
|
3
|
-
export declare const widgetThumb: (id: string) => string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> |
|
|
3
|
+
export declare const widgetThumb: (id: string) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
|
package/dist/widget-thumbs.js
CHANGED
package/dist/workspace-keys.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WorkspaceSummary } from '@columenlabs/lumen-ui-types/workspaces';
|
|
2
2
|
/** Every workspace query's key starts here: the assistant's tab moves invalidate them all. */
|
|
3
|
-
export declare const WORKSPACES_KEY: readonly [
|
|
3
|
+
export declare const WORKSPACES_KEY: readonly ['workspaces'];
|
|
4
4
|
/** A frame's rows; a remade frame invalidates it. */
|
|
5
5
|
export declare const frameKey: (api: string, id: string) => string[];
|
|
6
6
|
/** The workspaces as the sidebar and the @ picker list them. */
|
package/dist/workspaces.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { frameConfig, frameKeyAt, frameSymbolAt, liveQuoteColumns, } from '@columenlabs/lumen-ui-types/frames';
|
|
3
3
|
import { customViewConfigSchema, frameSpace, } from '@columenlabs/lumen-ui-types/views';
|
|
4
4
|
import { workspacePath, } from '@columenlabs/lumen-ui-types/workspaces';
|