@devicechain/widgets 0.23.0 → 0.24.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.
Files changed (97) hide show
  1. package/README.md +8 -3
  2. package/dist/aggregate-fold.d.ts +3 -2
  3. package/dist/aggregate-strings.d.ts +1 -0
  4. package/dist/alarm-strings.d.ts +18 -0
  5. package/dist/binding-policy.d.ts +4 -0
  6. package/dist/bound-devices-notice.d.ts +30 -0
  7. package/dist/builtin-descriptors.d.ts +290 -249
  8. package/dist/builtin-option-docs.d.ts +2 -0
  9. package/dist/builtin-registry.d.ts +249 -226
  10. package/dist/category-geometry.d.ts +1 -0
  11. package/dist/chunks/{aggregate-feed-BD3CHNFU.js → aggregate-feed-4FSBQYJL.js} +39 -11
  12. package/dist/chunks/aggregate-feed-4FSBQYJL.js.map +7 -0
  13. package/dist/chunks/{aggregate-widgets-HZQI5HTX.js → aggregate-widgets-2ZQBW3YF.js} +376 -182
  14. package/dist/chunks/aggregate-widgets-2ZQBW3YF.js.map +7 -0
  15. package/dist/chunks/alarm-widgets-X4PX5MYJ.js +72 -0
  16. package/dist/chunks/alarm-widgets-X4PX5MYJ.js.map +7 -0
  17. package/dist/chunks/chunk-546TK2QG.js +722 -0
  18. package/dist/chunks/chunk-546TK2QG.js.map +7 -0
  19. package/dist/chunks/{chunk-WBKHYZU2.js → chunk-62CHYCHI.js} +6 -62
  20. package/dist/chunks/chunk-62CHYCHI.js.map +7 -0
  21. package/dist/chunks/chunk-BMFQOTYG.js +41 -0
  22. package/dist/chunks/chunk-BMFQOTYG.js.map +7 -0
  23. package/dist/chunks/{chunk-2D7JNKFE.js → chunk-JFH4QMLA.js} +28 -4
  24. package/dist/chunks/chunk-JFH4QMLA.js.map +7 -0
  25. package/dist/chunks/chunk-QMGKB6J3.js +84 -0
  26. package/dist/chunks/chunk-QMGKB6J3.js.map +7 -0
  27. package/dist/chunks/chunk-XNEBAY4J.js +19 -0
  28. package/dist/chunks/chunk-XNEBAY4J.js.map +7 -0
  29. package/dist/chunks/chunk-YYJV54BV.js +58 -0
  30. package/dist/chunks/chunk-YYJV54BV.js.map +7 -0
  31. package/dist/chunks/compare-feed-AY3CVKUZ.js +346 -0
  32. package/dist/chunks/compare-feed-AY3CVKUZ.js.map +7 -0
  33. package/dist/chunks/{control-widgets-3V2LSSRF.js → control-widgets-UCTJJJ2D.js} +267 -78
  34. package/dist/chunks/control-widgets-UCTJJJ2D.js.map +7 -0
  35. package/dist/chunks/event-markers-feed-GEGTIHXT.js +373 -0
  36. package/dist/chunks/event-markers-feed-GEGTIHXT.js.map +7 -0
  37. package/dist/chunks/{fleet-feed-5QGDLOV5.js → fleet-feed-2SKDR6ZQ.js} +47 -8
  38. package/dist/chunks/fleet-feed-2SKDR6ZQ.js.map +7 -0
  39. package/dist/chunks/presence-widgets-2LIUKN4Y.js +350 -0
  40. package/dist/chunks/presence-widgets-2LIUKN4Y.js.map +7 -0
  41. package/dist/command-control-strings.d.ts +5 -0
  42. package/dist/compare-feed.d.ts +13 -0
  43. package/dist/compare-model.d.ts +38 -0
  44. package/dist/compare-strings.d.ts +13 -0
  45. package/dist/documented-descriptors.d.ts +4826 -0
  46. package/dist/event-markers-feed.d.ts +11 -0
  47. package/dist/event-markers-model.d.ts +38 -0
  48. package/dist/event-markers-strings.d.ts +20 -0
  49. package/dist/event-markers-types.d.ts +7 -0
  50. package/dist/fleet-count-model.d.ts +13 -0
  51. package/dist/fleet-feed.d.ts +1 -0
  52. package/dist/fleet-model.d.ts +1 -0
  53. package/dist/fleet-strings.d.ts +11 -0
  54. package/dist/index.d.ts +6 -3
  55. package/dist/index.js +946 -398
  56. package/dist/index.js.map +4 -4
  57. package/dist/presence-feed.d.ts +24 -0
  58. package/dist/presence-model.d.ts +13 -0
  59. package/dist/presence-strings.d.ts +19 -0
  60. package/dist/sparkline.d.ts +23 -0
  61. package/dist/use-bound-devices.d.ts +26 -0
  62. package/dist/widgets/aggregate-lazy.d.ts +81 -46
  63. package/dist/widgets/aggregate-widgets.d.ts +1 -0
  64. package/dist/widgets/alarm-grouped.d.ts +17 -0
  65. package/dist/widgets/alarm-lazy.d.ts +63 -16
  66. package/dist/widgets/alarm-severity.d.ts +8 -0
  67. package/dist/widgets/alarm-table.d.ts +2 -0
  68. package/dist/widgets/alarm-type-tabs.d.ts +10 -0
  69. package/dist/widgets/alarm-widgets.d.ts +2 -0
  70. package/dist/widgets/command-stepper.d.ts +22 -0
  71. package/dist/widgets/control-lazy.d.ts +16 -24
  72. package/dist/widgets/device-status.d.ts +4 -0
  73. package/dist/widgets/fleet-count.d.ts +2 -0
  74. package/dist/widgets/gauge.d.ts +2 -15
  75. package/dist/widgets/image.d.ts +2 -6
  76. package/dist/widgets/label.d.ts +2 -6
  77. package/dist/widgets/latest-card.d.ts +2 -13
  78. package/dist/widgets/lazy-chunk.d.ts +7 -2
  79. package/dist/widgets/level-lazy.d.ts +14 -96
  80. package/dist/widgets/map.d.ts +8 -5
  81. package/dist/widgets/online-doughnut.d.ts +2 -0
  82. package/dist/widgets/presence-lazy.d.ts +27 -0
  83. package/dist/widgets/presence-widgets.d.ts +3 -0
  84. package/dist/widgets/selection-lazy.d.ts +2 -4
  85. package/dist/widgets/table-lazy.d.ts +2 -7
  86. package/dist/widgets/time-series-chart.d.ts +62 -12
  87. package/package.json +13 -13
  88. package/dist/chunks/aggregate-feed-BD3CHNFU.js.map +0 -7
  89. package/dist/chunks/aggregate-widgets-HZQI5HTX.js.map +0 -7
  90. package/dist/chunks/alarm-widgets-7UY6MIYZ.js +0 -9
  91. package/dist/chunks/alarm-widgets-7UY6MIYZ.js.map +0 -7
  92. package/dist/chunks/chunk-2D7JNKFE.js.map +0 -7
  93. package/dist/chunks/chunk-6OGI4UFJ.js +0 -367
  94. package/dist/chunks/chunk-6OGI4UFJ.js.map +0 -7
  95. package/dist/chunks/chunk-WBKHYZU2.js.map +0 -7
  96. package/dist/chunks/control-widgets-3V2LSSRF.js.map +0 -7
  97. package/dist/chunks/fleet-feed-5QGDLOV5.js.map +0 -7
@@ -1,14 +1,12 @@
1
1
  import { type WidgetRegistry } from '@devicechain/widget-sdk';
2
- export declare const builtinWidgetDefinitions: readonly [import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
2
+ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
3
3
  readonly title: {
4
4
  readonly kind: 'string';
5
5
  readonly labelId: 'widgetLabelTitle';
6
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
7
6
  };
8
7
  readonly unit: {
9
8
  readonly kind: 'string';
10
9
  readonly labelId: 'widgetLabelUnit';
11
- readonly doc: 'Unit suffix shown beside the value.';
12
10
  };
13
11
  readonly precision: {
14
12
  readonly kind: 'number';
@@ -17,20 +15,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
17
15
  readonly max: 100;
18
16
  readonly labelId: 'widgetLabelPrecision';
19
17
  readonly helpId: 'widgetHintPrecision';
20
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
21
18
  };
22
19
  readonly thresholds: {
23
20
  readonly kind: 'list';
24
21
  readonly maxItems: 12;
25
22
  readonly labelId: 'widgetLabelThresholds';
26
23
  readonly helpId: 'widgetHintThresholds';
27
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
28
24
  readonly item: {
29
25
  readonly value: {
30
26
  readonly kind: 'number';
31
27
  readonly required: true;
32
28
  readonly labelId: 'widgetLabelThresholdValue';
33
- readonly doc: 'The value at which this band starts.';
34
29
  };
35
30
  readonly level: {
36
31
  readonly kind: 'enum';
@@ -45,12 +40,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
45
40
  readonly critical: 'widgetSeverityCritical';
46
41
  };
47
42
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
48
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
49
43
  };
50
44
  readonly label: {
51
45
  readonly kind: 'string';
52
46
  readonly labelId: 'widgetLabelThresholdLabel';
53
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
54
47
  };
55
48
  };
56
49
  };
@@ -60,7 +53,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
60
53
  readonly min: 1;
61
54
  readonly labelId: 'widgetLabelStaleAfter';
62
55
  readonly helpId: 'widgetHintStaleAfter';
63
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
64
56
  };
65
57
  readonly windowSeconds: {
66
58
  readonly kind: 'number';
@@ -69,24 +61,74 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
69
61
  readonly max: 604800;
70
62
  readonly labelId: 'widgetLabelWindowSeconds';
71
63
  readonly helpId: 'widgetHintWindowSeconds';
72
- readonly doc: 'Seconds of history the widget covers, back from now. Leave unset to follow the board’s time range; set it to pin this widget to a fixed span that the viewer’s range picker does not change. 60 to 604800.';
73
64
  };
74
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
65
+ readonly groupBy: {
66
+ readonly kind: "enum";
67
+ readonly values: readonly ["measurement", "device"];
68
+ readonly labelId: "widgetLabelSeriesBy";
69
+ readonly helpId: "widgetHintSeriesBy";
70
+ readonly valueLabelIds: {
71
+ readonly measurement: "widgetGroupByMeasurement";
72
+ readonly device: "widgetGroupByDevice";
73
+ };
74
+ readonly placeholderId: "widgetPlaceholderDefault";
75
+ };
76
+ readonly measurement: {
77
+ readonly kind: 'string';
78
+ readonly labelId: 'widgetLabelMeasurement';
79
+ readonly helpId: 'widgetHintMeasurement';
80
+ };
81
+ readonly maxSeries: {
82
+ readonly kind: 'number';
83
+ readonly integer: true;
84
+ readonly min: 1;
85
+ readonly labelId: 'widgetLabelMaxSeries';
86
+ readonly helpId: 'widgetHintMaxSeries';
87
+ };
88
+ readonly markAlarms: {
89
+ readonly kind: 'boolean';
90
+ readonly labelId: 'widgetLabelMarkAlarms';
91
+ readonly helpId: 'widgetHintMarkAlarms';
92
+ };
93
+ readonly markAlarmsScope: {
94
+ readonly kind: 'enum';
95
+ readonly values: readonly ["series", "device"];
96
+ readonly labelId: 'widgetLabelMarkAlarmsScope';
97
+ readonly helpId: 'widgetHintMarkAlarmsScope';
98
+ readonly valueLabelIds: {
99
+ readonly series: 'widgetMarkAlarmsScopeSeries';
100
+ readonly device: 'widgetMarkAlarmsScopeDevice';
101
+ };
102
+ readonly placeholderId: 'widgetPlaceholderWholeDevice';
103
+ };
104
+ readonly markCommands: {
105
+ readonly kind: 'boolean';
106
+ readonly labelId: 'widgetLabelMarkCommands';
107
+ readonly helpId: 'widgetHintMarkCommands';
108
+ };
109
+ readonly min: {
110
+ readonly kind: 'number';
111
+ readonly labelId: 'widgetLabelMin';
112
+ readonly helpId: 'widgetHintChartAxisMin';
113
+ };
114
+ readonly max: {
115
+ readonly kind: 'number';
116
+ readonly labelId: 'widgetLabelMax';
117
+ readonly helpId: 'widgetHintChartAxisMax';
118
+ };
119
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
75
120
  readonly title: {
76
121
  readonly kind: 'string';
77
122
  readonly labelId: 'widgetLabelTitle';
78
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
79
123
  };
80
124
  readonly measurement: {
81
125
  readonly kind: "string";
82
126
  readonly labelId: "widgetLabelMeasurement";
83
127
  readonly helpId: "widgetHintMeasurement";
84
- readonly doc: "Which measurement to display. Defaults to the first the datasource selects.";
85
128
  };
86
129
  readonly unit: {
87
130
  readonly kind: 'string';
88
131
  readonly labelId: 'widgetLabelUnit';
89
- readonly doc: 'Unit suffix shown beside the value.';
90
132
  };
91
133
  readonly precision: {
92
134
  readonly kind: 'number';
@@ -95,20 +137,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
95
137
  readonly max: 100;
96
138
  readonly labelId: 'widgetLabelPrecision';
97
139
  readonly helpId: 'widgetHintPrecision';
98
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
99
140
  };
100
141
  readonly thresholds: {
101
142
  readonly kind: 'list';
102
143
  readonly maxItems: 12;
103
144
  readonly labelId: 'widgetLabelThresholds';
104
145
  readonly helpId: 'widgetHintThresholds';
105
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
106
146
  readonly item: {
107
147
  readonly value: {
108
148
  readonly kind: 'number';
109
149
  readonly required: true;
110
150
  readonly labelId: 'widgetLabelThresholdValue';
111
- readonly doc: 'The value at which this band starts.';
112
151
  };
113
152
  readonly level: {
114
153
  readonly kind: 'enum';
@@ -123,12 +162,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
123
162
  readonly critical: 'widgetSeverityCritical';
124
163
  };
125
164
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
126
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
127
165
  };
128
166
  readonly label: {
129
167
  readonly kind: 'string';
130
168
  readonly labelId: 'widgetLabelThresholdLabel';
131
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
132
169
  };
133
170
  };
134
171
  };
@@ -136,7 +173,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
136
173
  readonly kind: 'boolean';
137
174
  readonly labelId: 'widgetFlashOnChange';
138
175
  readonly helpId: 'widgetFlashOnChangeHint';
139
- readonly doc: 'Briefly tint a value green on a rise and red on a fall when it changes.';
140
176
  };
141
177
  readonly staleAfterSeconds: {
142
178
  readonly kind: 'number';
@@ -144,7 +180,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
144
180
  readonly min: 1;
145
181
  readonly labelId: 'widgetLabelStaleAfter';
146
182
  readonly helpId: 'widgetHintStaleAfter';
147
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
148
183
  };
149
184
  readonly window: {
150
185
  readonly kind: 'number';
@@ -152,34 +187,28 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
152
187
  readonly min: 1;
153
188
  readonly labelId: 'widgetLabelWindow';
154
189
  readonly helpId: 'widgetHintWindow';
155
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
156
190
  };
157
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
191
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
158
192
  readonly title: {
159
193
  readonly kind: 'string';
160
194
  readonly labelId: 'widgetLabelTitle';
161
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
162
195
  };
163
196
  readonly measurement: {
164
197
  readonly kind: "string";
165
198
  readonly labelId: "widgetLabelMeasurement";
166
199
  readonly helpId: "widgetHintMeasurement";
167
- readonly doc: "Which measurement to display. Defaults to the first the datasource selects.";
168
200
  };
169
201
  readonly min: {
170
202
  readonly kind: "number";
171
203
  readonly labelId: "widgetLabelMin";
172
- readonly doc: "Low end of the gauge scale. Default 0.";
173
204
  };
174
205
  readonly max: {
175
206
  readonly kind: "number";
176
207
  readonly labelId: "widgetLabelMax";
177
- readonly doc: "High end of the gauge scale. Default 100.";
178
208
  };
179
209
  readonly unit: {
180
210
  readonly kind: 'string';
181
211
  readonly labelId: 'widgetLabelUnit';
182
- readonly doc: 'Unit suffix shown beside the value.';
183
212
  };
184
213
  readonly precision: {
185
214
  readonly kind: 'number';
@@ -188,20 +217,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
188
217
  readonly max: 100;
189
218
  readonly labelId: 'widgetLabelPrecision';
190
219
  readonly helpId: 'widgetHintPrecision';
191
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
192
220
  };
193
221
  readonly thresholds: {
194
222
  readonly kind: 'list';
195
223
  readonly maxItems: 12;
196
224
  readonly labelId: 'widgetLabelThresholds';
197
225
  readonly helpId: 'widgetHintThresholds';
198
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
199
226
  readonly item: {
200
227
  readonly value: {
201
228
  readonly kind: 'number';
202
229
  readonly required: true;
203
230
  readonly labelId: 'widgetLabelThresholdValue';
204
- readonly doc: 'The value at which this band starts.';
205
231
  };
206
232
  readonly level: {
207
233
  readonly kind: 'enum';
@@ -216,12 +242,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
216
242
  readonly critical: 'widgetSeverityCritical';
217
243
  };
218
244
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
219
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
220
245
  };
221
246
  readonly label: {
222
247
  readonly kind: 'string';
223
248
  readonly labelId: 'widgetLabelThresholdLabel';
224
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
225
249
  };
226
250
  };
227
251
  };
@@ -229,7 +253,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
229
253
  readonly kind: 'boolean';
230
254
  readonly labelId: 'widgetFlashOnChange';
231
255
  readonly helpId: 'widgetFlashOnChangeHint';
232
- readonly doc: 'Briefly tint a value green on a rise and red on a fall when it changes.';
233
256
  };
234
257
  readonly staleAfterSeconds: {
235
258
  readonly kind: 'number';
@@ -237,7 +260,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
237
260
  readonly min: 1;
238
261
  readonly labelId: 'widgetLabelStaleAfter';
239
262
  readonly helpId: 'widgetHintStaleAfter';
240
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
241
263
  };
242
264
  readonly window: {
243
265
  readonly kind: 'number';
@@ -245,13 +267,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
245
267
  readonly min: 1;
246
268
  readonly labelId: 'widgetLabelWindow';
247
269
  readonly helpId: 'widgetHintWindow';
248
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
249
270
  };
250
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
271
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
251
272
  readonly title: {
252
273
  readonly kind: 'string';
253
274
  readonly labelId: 'widgetLabelTitle';
254
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
255
275
  };
256
276
  readonly precision: {
257
277
  readonly kind: 'number';
@@ -260,13 +280,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
260
280
  readonly max: 100;
261
281
  readonly labelId: 'widgetLabelPrecision';
262
282
  readonly helpId: 'widgetHintPrecision';
263
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
264
283
  };
265
284
  readonly flashOnChange: {
266
285
  readonly kind: 'boolean';
267
286
  readonly labelId: 'widgetFlashOnChange';
268
287
  readonly helpId: 'widgetFlashOnChangeHint';
269
- readonly doc: 'Briefly tint a value green on a rise and red on a fall when it changes.';
270
288
  };
271
289
  readonly staleAfterSeconds: {
272
290
  readonly kind: 'number';
@@ -274,7 +292,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
274
292
  readonly min: 1;
275
293
  readonly labelId: 'widgetLabelStaleAfter';
276
294
  readonly helpId: 'widgetHintStaleAfter';
277
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
278
295
  };
279
296
  readonly window: {
280
297
  readonly kind: 'number';
@@ -282,19 +299,16 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
282
299
  readonly min: 1;
283
300
  readonly labelId: 'widgetLabelWindow';
284
301
  readonly helpId: 'widgetHintWindow';
285
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
286
302
  };
287
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"none", {
303
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"none", import("./builtin-descriptors").DocumentedSpecs<{
288
304
  readonly title: {
289
305
  readonly kind: 'string';
290
306
  readonly labelId: 'widgetLabelTitle';
291
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
292
307
  };
293
308
  readonly text: {
294
309
  readonly kind: "string";
295
310
  readonly required: true;
296
311
  readonly labelId: "widgetLabelText";
297
- readonly doc: "The text to show. Rendered as plain text — markup is never interpreted.";
298
312
  };
299
313
  readonly align: {
300
314
  readonly kind: "enum";
@@ -306,31 +320,26 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
306
320
  readonly right: "widgetAlignRight";
307
321
  };
308
322
  readonly placeholderId: "widgetPlaceholderDefault";
309
- readonly doc: "Horizontal alignment of the text. Default center.";
310
323
  };
311
324
  readonly fontSize: {
312
325
  readonly kind: "number";
313
326
  readonly min: 1;
314
327
  readonly labelId: "widgetLabelFontSize";
315
328
  readonly helpId: "widgetHintFontSize";
316
- readonly doc: "Text size in pixels at the comfortable density; it scales with the board density. Default 16.";
317
329
  };
318
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"none", {
330
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"none", import("./builtin-descriptors").DocumentedSpecs<{
319
331
  readonly title: {
320
332
  readonly kind: 'string';
321
333
  readonly labelId: 'widgetLabelTitle';
322
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
323
334
  };
324
335
  readonly url: {
325
336
  readonly kind: "string";
326
337
  readonly required: true;
327
338
  readonly labelId: "widgetLabelImageUrl";
328
- readonly doc: "Source URL of the image.";
329
339
  };
330
340
  readonly alt: {
331
341
  readonly kind: "string";
332
342
  readonly labelId: "widgetLabelAltText";
333
- readonly doc: "Alternative text describing the image for assistive technology.";
334
343
  };
335
344
  readonly fit: {
336
345
  readonly kind: "enum";
@@ -342,13 +351,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
342
351
  readonly fill: "widgetFitFill";
343
352
  };
344
353
  readonly placeholderId: "widgetPlaceholderDefault";
345
- readonly doc: "How the image fills its box. Default contain.";
346
354
  };
347
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"alarm", {
355
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"alarm", import("./builtin-descriptors").DocumentedSpecs<{
348
356
  readonly title: {
349
357
  readonly kind: 'string';
350
358
  readonly labelId: 'widgetLabelTitle';
351
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
352
359
  };
353
360
  readonly state: {
354
361
  readonly kind: 'enum';
@@ -360,7 +367,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
360
367
  readonly CLEARED: 'widgetAlarmStateCleared';
361
368
  };
362
369
  readonly placeholderId: 'widgetPlaceholderAny';
363
- readonly doc: 'Show only alarms in this state. Unset shows every state.';
364
370
  };
365
371
  readonly severity: {
366
372
  readonly kind: 'enum';
@@ -375,7 +381,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
375
381
  readonly INDETERMINATE: 'widgetAlarmSeverityIndeterminate';
376
382
  };
377
383
  readonly placeholderId: 'widgetPlaceholderAny';
378
- readonly doc: 'Show only alarms at this severity. Unset shows every severity.';
379
384
  };
380
385
  readonly acknowledged: {
381
386
  readonly kind: 'enum';
@@ -387,7 +392,31 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
387
392
  readonly false: 'widgetAlarmAckUnacknowledged';
388
393
  };
389
394
  readonly placeholderId: 'widgetPlaceholderAny';
390
- readonly doc: "Show only acknowledged ('true') or unacknowledged ('false') alarms. Unset shows both.";
395
+ };
396
+ readonly groupBy: {
397
+ readonly kind: "enum";
398
+ readonly values: readonly ["none", "deviceType"];
399
+ readonly labelId: "widgetLabelAlarmGroupBy";
400
+ readonly helpId: "widgetHintAlarmGroupBy";
401
+ readonly valueLabelIds: {
402
+ readonly none: "widgetAlarmGroupByNone";
403
+ readonly deviceType: "widgetAlarmGroupByDeviceType";
404
+ };
405
+ readonly placeholderId: "widgetPlaceholderDefault";
406
+ };
407
+ readonly deviceTypes: {
408
+ readonly kind: "list";
409
+ readonly maxItems: 24;
410
+ readonly ordered: true;
411
+ readonly labelId: "widgetLabelAlarmDeviceTypes";
412
+ readonly helpId: "widgetHintAlarmDeviceTypes";
413
+ readonly item: {
414
+ readonly token: {
415
+ readonly kind: "string";
416
+ readonly control: "device-type";
417
+ readonly labelId: "widgetLabelAlarmDeviceTypeToken";
418
+ };
419
+ };
391
420
  };
392
421
  readonly maxRows: {
393
422
  readonly kind: "number";
@@ -395,7 +424,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
395
424
  readonly min: 1;
396
425
  readonly labelId: "widgetLabelMaxRows";
397
426
  readonly helpId: "widgetMaxRowsAlarmHint";
398
- readonly doc: "Alarms loaded into the table. Default 50.";
399
427
  };
400
428
  readonly precision: {
401
429
  readonly kind: 'number';
@@ -404,26 +432,22 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
404
432
  readonly max: 100;
405
433
  readonly labelId: 'widgetLabelPrecision';
406
434
  readonly helpId: 'widgetHintPrecision';
407
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
408
435
  };
409
436
  readonly flashOnChange: {
410
437
  readonly kind: 'boolean';
411
438
  readonly labelId: 'widgetFlashOnChange';
412
439
  readonly helpId: 'widgetFlashOnChangeHint';
413
- readonly doc: 'Briefly tint a value green on a rise and red on a fall when it changes.';
414
440
  };
415
441
  readonly selectionTarget: {
416
442
  readonly kind: 'string';
417
443
  readonly labelId: 'widgetLabelTargetSlot';
418
444
  readonly helpId: 'widgetTargetSlotHint';
419
445
  readonly control: 'slot-target';
420
- readonly doc: 'Name of the slot this widget re-points when the viewer picks an entity.';
421
446
  };
422
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"alarm", {
447
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"alarm", import("./builtin-descriptors").DocumentedSpecs<{
423
448
  readonly title: {
424
449
  readonly kind: 'string';
425
450
  readonly labelId: 'widgetLabelTitle';
426
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
427
451
  };
428
452
  readonly state: {
429
453
  readonly kind: 'enum';
@@ -435,7 +459,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
435
459
  readonly CLEARED: 'widgetAlarmStateCleared';
436
460
  };
437
461
  readonly placeholderId: 'widgetPlaceholderAny';
438
- readonly doc: 'Show only alarms in this state. Unset shows every state.';
439
462
  };
440
463
  readonly severity: {
441
464
  readonly kind: 'enum';
@@ -450,7 +473,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
450
473
  readonly INDETERMINATE: 'widgetAlarmSeverityIndeterminate';
451
474
  };
452
475
  readonly placeholderId: 'widgetPlaceholderAny';
453
- readonly doc: 'Show only alarms at this severity. Unset shows every severity.';
454
476
  };
455
477
  readonly acknowledged: {
456
478
  readonly kind: 'enum';
@@ -462,13 +484,44 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
462
484
  readonly false: 'widgetAlarmAckUnacknowledged';
463
485
  };
464
486
  readonly placeholderId: 'widgetPlaceholderAny';
465
- readonly doc: "Show only acknowledged ('true') or unacknowledged ('false') alarms. Unset shows both.";
466
487
  };
467
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"control", {
488
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"alarm", import("./builtin-descriptors").DocumentedSpecs<{
489
+ readonly title: {
490
+ readonly kind: 'string';
491
+ readonly labelId: 'widgetLabelTitle';
492
+ };
493
+ readonly state: {
494
+ readonly kind: 'enum';
495
+ readonly values: readonly ["ACTIVE", "CLEARED"];
496
+ readonly labelId: 'widgetLabelState';
497
+ readonly helpId: 'widgetStateHint';
498
+ readonly valueLabelIds: {
499
+ readonly ACTIVE: 'widgetAlarmStateActive';
500
+ readonly CLEARED: 'widgetAlarmStateCleared';
501
+ };
502
+ readonly placeholderId: 'widgetPlaceholderAny';
503
+ };
504
+ readonly acknowledged: {
505
+ readonly kind: 'enum';
506
+ readonly values: readonly ["true", "false"];
507
+ readonly labelId: 'widgetLabelAcknowledged';
508
+ readonly helpId: 'widgetAcknowledgedHint';
509
+ readonly valueLabelIds: {
510
+ readonly true: 'widgetAlarmAckAcknowledged';
511
+ readonly false: 'widgetAlarmAckUnacknowledged';
512
+ };
513
+ readonly placeholderId: 'widgetPlaceholderAny';
514
+ };
515
+ readonly deviceType: {
516
+ readonly kind: "string";
517
+ readonly control: "device-type";
518
+ readonly labelId: "widgetLabelAlarmSeverityType";
519
+ readonly helpId: "widgetHintAlarmSeverityType";
520
+ };
521
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"control", import("./builtin-descriptors").DocumentedSpecs<{
468
522
  readonly title: {
469
523
  readonly kind: 'string';
470
524
  readonly labelId: 'widgetLabelTitle';
471
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
472
525
  };
473
526
  readonly commandName: {
474
527
  readonly kind: "string";
@@ -476,14 +529,12 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
476
529
  readonly labelId: "widgetCommandHeading";
477
530
  readonly helpId: "widgetCommandFieldHint";
478
531
  readonly control: "command-vocabulary";
479
- readonly doc: "Command key issued to the target device. Without it the widget cannot send.";
480
532
  };
481
533
  readonly commandLabel: {
482
534
  readonly kind: "string";
483
535
  readonly labelId: "widgetCommandHeading";
484
536
  readonly helpId: "widgetCommandFieldHint";
485
537
  readonly control: "command-vocabulary";
486
- readonly doc: "Text on the send button. Defaults to the command key.";
487
538
  };
488
539
  readonly parameterSchema: {
489
540
  readonly kind: "string";
@@ -491,7 +542,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
491
542
  readonly labelId: "widgetCommandHeading";
492
543
  readonly helpId: "widgetCommandFieldHint";
493
544
  readonly control: "command-vocabulary";
494
- readonly doc: "The command's parameter descriptors, baked in as JSON at author time. Drives the typed form.";
495
545
  };
496
546
  readonly maxRows: {
497
547
  readonly kind: "number";
@@ -499,67 +549,63 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
499
549
  readonly min: 1;
500
550
  readonly labelId: "widgetLabelMaxRows";
501
551
  readonly helpId: "widgetMaxRowsCommandHint";
502
- readonly doc: "Recent commands shown in the history. Default 20.";
503
552
  };
504
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"selection", {
553
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"selection", import("./builtin-descriptors").DocumentedSpecs<{
505
554
  readonly title: {
506
555
  readonly kind: 'string';
507
556
  readonly labelId: 'widgetLabelTitle';
508
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
509
557
  };
510
558
  readonly selectionTarget: {
511
559
  readonly kind: 'string';
512
560
  readonly labelId: 'widgetLabelTargetSlot';
513
561
  readonly helpId: 'widgetTargetSlotHint';
514
562
  readonly control: 'slot-target';
515
- readonly doc: 'Name of the slot this widget re-points when the viewer picks an entity.';
516
563
  readonly required: true;
517
564
  };
518
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"location", {
565
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"location", import("./builtin-descriptors").DocumentedSpecs<{
519
566
  readonly title: {
520
567
  readonly kind: 'string';
521
568
  readonly labelId: 'widgetLabelTitle';
522
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
523
569
  };
524
570
  readonly tileUrl: {
525
571
  readonly kind: "string";
526
572
  readonly labelId: "widgetLabelTileUrl";
527
573
  readonly helpId: "widgetTileUrlHint";
528
574
  readonly control: "basemap";
529
- readonly doc: "Raster tile URL template, e.g. https://tiles.example.com/{z}/{x}/{y}.png. Leave empty to inherit the tenant's basemap; setting one overrides it for this board only.";
530
575
  };
531
576
  readonly attribution: {
532
577
  readonly kind: "string";
533
578
  readonly labelId: "widgetLabelAttribution";
534
579
  readonly helpId: "widgetAttributionHint";
535
580
  readonly control: "basemap";
536
- readonly doc: "Credit line the tile source requires, shown on the map. Set whatever the provider you chose asks for.";
537
581
  };
538
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
582
+ readonly selectionTarget: {
583
+ readonly kind: 'string';
584
+ readonly labelId: 'widgetLabelTargetSlot';
585
+ readonly helpId: 'widgetTargetSlotHint';
586
+ readonly control: 'slot-target';
587
+ };
588
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
539
589
  readonly title: {
540
590
  readonly kind: 'string';
541
591
  readonly labelId: 'widgetLabelTitle';
542
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
543
592
  };
544
593
  readonly measurement: {
545
594
  readonly kind: 'string';
546
595
  readonly labelId: 'widgetLabelMeasurement';
547
596
  readonly helpId: 'widgetHintMeasurement';
548
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
549
597
  };
550
598
  readonly min: {
551
599
  readonly kind: 'number';
552
600
  readonly required: true;
553
601
  readonly labelId: 'widgetLabelMin';
554
602
  readonly helpId: 'widgetHintScaleMin';
555
- readonly doc: 'Value at the empty end of the scale. Required: the widget does not guess a range.';
556
603
  };
557
604
  readonly max: {
558
605
  readonly kind: 'number';
559
606
  readonly required: true;
560
607
  readonly labelId: 'widgetLabelMax';
561
608
  readonly helpId: 'widgetHintScaleMax';
562
- readonly doc: 'Value at the full end of the scale. Required, and above min.';
563
609
  };
564
610
  readonly style: {
565
611
  readonly kind: "enum";
@@ -570,7 +616,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
570
616
  readonly thermometer: "widgetLinearStyleThermometer";
571
617
  };
572
618
  readonly placeholderId: "widgetPlaceholderDefault";
573
- readonly doc: "A plain bar (default) or a thermometer: a vertical tube with a bulb. A thermometer is always vertical.";
574
619
  };
575
620
  readonly orientation: {
576
621
  readonly kind: "enum";
@@ -581,12 +626,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
581
626
  readonly vertical: "widgetOrientationVertical";
582
627
  };
583
628
  readonly placeholderId: "widgetPlaceholderDefault";
584
- readonly doc: "Direction of a bar: horizontal (default) or vertical. Ignored by a thermometer.";
585
629
  };
586
630
  readonly unit: {
587
631
  readonly kind: 'string';
588
632
  readonly labelId: 'widgetLabelUnit';
589
- readonly doc: 'Unit suffix shown beside the value.';
590
633
  };
591
634
  readonly precision: {
592
635
  readonly kind: 'number';
@@ -595,20 +638,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
595
638
  readonly max: 100;
596
639
  readonly labelId: 'widgetLabelPrecision';
597
640
  readonly helpId: 'widgetHintPrecision';
598
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
599
641
  };
600
642
  readonly thresholds: {
601
643
  readonly kind: 'list';
602
644
  readonly maxItems: 12;
603
645
  readonly labelId: 'widgetLabelThresholds';
604
646
  readonly helpId: 'widgetHintThresholds';
605
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
606
647
  readonly item: {
607
648
  readonly value: {
608
649
  readonly kind: 'number';
609
650
  readonly required: true;
610
651
  readonly labelId: 'widgetLabelThresholdValue';
611
- readonly doc: 'The value at which this band starts.';
612
652
  };
613
653
  readonly level: {
614
654
  readonly kind: 'enum';
@@ -623,12 +663,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
623
663
  readonly critical: 'widgetSeverityCritical';
624
664
  };
625
665
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
626
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
627
666
  };
628
667
  readonly label: {
629
668
  readonly kind: 'string';
630
669
  readonly labelId: 'widgetLabelThresholdLabel';
631
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
632
670
  };
633
671
  };
634
672
  };
@@ -638,7 +676,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
638
676
  readonly min: 1;
639
677
  readonly labelId: 'widgetLabelStaleAfter';
640
678
  readonly helpId: 'widgetHintStaleAfter';
641
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
642
679
  };
643
680
  readonly window: {
644
681
  readonly kind: 'number';
@@ -646,33 +683,28 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
646
683
  readonly min: 1;
647
684
  readonly labelId: 'widgetLabelWindow';
648
685
  readonly helpId: 'widgetHintWindow';
649
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
650
686
  };
651
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
687
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
652
688
  readonly title: {
653
689
  readonly kind: 'string';
654
690
  readonly labelId: 'widgetLabelTitle';
655
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
656
691
  };
657
692
  readonly measurement: {
658
693
  readonly kind: 'string';
659
694
  readonly labelId: 'widgetLabelMeasurement';
660
695
  readonly helpId: 'widgetHintMeasurement';
661
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
662
696
  };
663
697
  readonly min: {
664
698
  readonly kind: 'number';
665
699
  readonly required: true;
666
700
  readonly labelId: 'widgetLabelMin';
667
701
  readonly helpId: 'widgetHintScaleMin';
668
- readonly doc: 'Value at the empty end of the scale. Required: the widget does not guess a range.';
669
702
  };
670
703
  readonly max: {
671
704
  readonly kind: 'number';
672
705
  readonly required: true;
673
706
  readonly labelId: 'widgetLabelMax';
674
707
  readonly helpId: 'widgetHintScaleMax';
675
- readonly doc: 'Value at the full end of the scale. Required, and above min.';
676
708
  };
677
709
  readonly readout: {
678
710
  readonly kind: "enum";
@@ -683,12 +715,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
683
715
  readonly percent: "widgetReadoutPercent";
684
716
  };
685
717
  readonly placeholderId: "widgetPlaceholderDefault";
686
- readonly doc: "What the readout shows: the value with its unit (default) or the percent of the scale.";
687
718
  };
688
719
  readonly unit: {
689
720
  readonly kind: 'string';
690
721
  readonly labelId: 'widgetLabelUnit';
691
- readonly doc: 'Unit suffix shown beside the value.';
692
722
  };
693
723
  readonly precision: {
694
724
  readonly kind: 'number';
@@ -697,20 +727,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
697
727
  readonly max: 100;
698
728
  readonly labelId: 'widgetLabelPrecision';
699
729
  readonly helpId: 'widgetHintPrecision';
700
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
701
730
  };
702
731
  readonly thresholds: {
703
732
  readonly kind: 'list';
704
733
  readonly maxItems: 12;
705
734
  readonly labelId: 'widgetLabelThresholds';
706
735
  readonly helpId: 'widgetHintThresholds';
707
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
708
736
  readonly item: {
709
737
  readonly value: {
710
738
  readonly kind: 'number';
711
739
  readonly required: true;
712
740
  readonly labelId: 'widgetLabelThresholdValue';
713
- readonly doc: 'The value at which this band starts.';
714
741
  };
715
742
  readonly level: {
716
743
  readonly kind: 'enum';
@@ -725,12 +752,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
725
752
  readonly critical: 'widgetSeverityCritical';
726
753
  };
727
754
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
728
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
729
755
  };
730
756
  readonly label: {
731
757
  readonly kind: 'string';
732
758
  readonly labelId: 'widgetLabelThresholdLabel';
733
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
734
759
  };
735
760
  };
736
761
  };
@@ -740,7 +765,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
740
765
  readonly min: 1;
741
766
  readonly labelId: 'widgetLabelStaleAfter';
742
767
  readonly helpId: 'widgetHintStaleAfter';
743
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
744
768
  };
745
769
  readonly window: {
746
770
  readonly kind: 'number';
@@ -748,36 +772,30 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
748
772
  readonly min: 1;
749
773
  readonly labelId: 'widgetLabelWindow';
750
774
  readonly helpId: 'widgetHintWindow';
751
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
752
775
  };
753
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
776
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
754
777
  readonly title: {
755
778
  readonly kind: 'string';
756
779
  readonly labelId: 'widgetLabelTitle';
757
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
758
780
  };
759
781
  readonly measurement: {
760
782
  readonly kind: 'string';
761
783
  readonly labelId: 'widgetLabelMeasurement';
762
784
  readonly helpId: 'widgetHintMeasurement';
763
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
764
785
  };
765
786
  readonly min: {
766
787
  readonly kind: "number";
767
788
  readonly labelId: "widgetLabelMin";
768
789
  readonly helpId: "widgetHintBatteryRange";
769
- readonly doc: "Value of an empty battery. Default 0 (the scale is percent unless you set min and max).";
770
790
  };
771
791
  readonly max: {
772
792
  readonly kind: "number";
773
793
  readonly labelId: "widgetLabelMax";
774
794
  readonly helpId: "widgetHintBatteryRange";
775
- readonly doc: "Value of a full battery. Default 100 (the scale is percent unless you set min and max).";
776
795
  };
777
796
  readonly unit: {
778
797
  readonly kind: 'string';
779
798
  readonly labelId: 'widgetLabelUnit';
780
- readonly doc: 'Unit suffix shown beside the value.';
781
799
  };
782
800
  readonly precision: {
783
801
  readonly kind: 'number';
@@ -786,20 +804,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
786
804
  readonly max: 100;
787
805
  readonly labelId: 'widgetLabelPrecision';
788
806
  readonly helpId: 'widgetHintPrecision';
789
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
790
807
  };
791
808
  readonly thresholds: {
792
809
  readonly kind: 'list';
793
810
  readonly maxItems: 12;
794
811
  readonly labelId: 'widgetLabelThresholds';
795
812
  readonly helpId: 'widgetHintThresholds';
796
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
797
813
  readonly item: {
798
814
  readonly value: {
799
815
  readonly kind: 'number';
800
816
  readonly required: true;
801
817
  readonly labelId: 'widgetLabelThresholdValue';
802
- readonly doc: 'The value at which this band starts.';
803
818
  };
804
819
  readonly level: {
805
820
  readonly kind: 'enum';
@@ -814,12 +829,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
814
829
  readonly critical: 'widgetSeverityCritical';
815
830
  };
816
831
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
817
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
818
832
  };
819
833
  readonly label: {
820
834
  readonly kind: 'string';
821
835
  readonly labelId: 'widgetLabelThresholdLabel';
822
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
823
836
  };
824
837
  };
825
838
  };
@@ -829,7 +842,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
829
842
  readonly min: 1;
830
843
  readonly labelId: 'widgetLabelStaleAfter';
831
844
  readonly helpId: 'widgetHintStaleAfter';
832
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
833
845
  };
834
846
  readonly window: {
835
847
  readonly kind: 'number';
@@ -837,30 +849,25 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
837
849
  readonly min: 1;
838
850
  readonly labelId: 'widgetLabelWindow';
839
851
  readonly helpId: 'widgetHintWindow';
840
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
841
852
  };
842
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
853
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
843
854
  readonly title: {
844
855
  readonly kind: 'string';
845
856
  readonly labelId: 'widgetLabelTitle';
846
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
847
857
  };
848
858
  readonly measurement: {
849
859
  readonly kind: 'string';
850
860
  readonly labelId: 'widgetLabelMeasurement';
851
861
  readonly helpId: 'widgetHintMeasurement';
852
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
853
862
  };
854
863
  readonly onAt: {
855
864
  readonly kind: "number";
856
865
  readonly labelId: "widgetLabelOnAt";
857
866
  readonly helpId: "widgetHintOnAt";
858
- readonly doc: "For an on/off signal: the lamp is lit at or above this value and dark below it. Unset keeps the lamp lit while a value is present, coloured by its threshold band.";
859
867
  };
860
868
  readonly unit: {
861
869
  readonly kind: 'string';
862
870
  readonly labelId: 'widgetLabelUnit';
863
- readonly doc: 'Unit suffix shown beside the value.';
864
871
  };
865
872
  readonly precision: {
866
873
  readonly kind: 'number';
@@ -869,20 +876,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
869
876
  readonly max: 100;
870
877
  readonly labelId: 'widgetLabelPrecision';
871
878
  readonly helpId: 'widgetHintPrecision';
872
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
873
879
  };
874
880
  readonly thresholds: {
875
881
  readonly kind: 'list';
876
882
  readonly maxItems: 12;
877
883
  readonly labelId: 'widgetLabelThresholds';
878
884
  readonly helpId: 'widgetHintThresholds';
879
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
880
885
  readonly item: {
881
886
  readonly value: {
882
887
  readonly kind: 'number';
883
888
  readonly required: true;
884
889
  readonly labelId: 'widgetLabelThresholdValue';
885
- readonly doc: 'The value at which this band starts.';
886
890
  };
887
891
  readonly level: {
888
892
  readonly kind: 'enum';
@@ -897,12 +901,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
897
901
  readonly critical: 'widgetSeverityCritical';
898
902
  };
899
903
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
900
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
901
904
  };
902
905
  readonly label: {
903
906
  readonly kind: 'string';
904
907
  readonly labelId: 'widgetLabelThresholdLabel';
905
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
906
908
  };
907
909
  };
908
910
  };
@@ -912,7 +914,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
912
914
  readonly min: 1;
913
915
  readonly labelId: 'widgetLabelStaleAfter';
914
916
  readonly helpId: 'widgetHintStaleAfter';
915
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
916
917
  };
917
918
  readonly window: {
918
919
  readonly kind: 'number';
@@ -920,24 +921,20 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
920
921
  readonly min: 1;
921
922
  readonly labelId: 'widgetLabelWindow';
922
923
  readonly helpId: 'widgetHintWindow';
923
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
924
924
  };
925
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
925
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
926
926
  readonly title: {
927
927
  readonly kind: 'string';
928
928
  readonly labelId: 'widgetLabelTitle';
929
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
930
929
  };
931
930
  readonly measurement: {
932
931
  readonly kind: 'string';
933
932
  readonly labelId: 'widgetLabelMeasurement';
934
933
  readonly helpId: 'widgetHintMeasurement';
935
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
936
934
  };
937
935
  readonly unit: {
938
936
  readonly kind: 'string';
939
937
  readonly labelId: 'widgetLabelUnit';
940
- readonly doc: 'Unit suffix shown beside the value.';
941
938
  };
942
939
  readonly precision: {
943
940
  readonly kind: 'number';
@@ -946,7 +943,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
946
943
  readonly max: 100;
947
944
  readonly labelId: 'widgetLabelPrecision';
948
945
  readonly helpId: 'widgetHintPrecision';
949
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
950
946
  };
951
947
  readonly thresholds: {
952
948
  readonly kind: 'list';
@@ -956,7 +952,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
956
952
  readonly kind: 'number';
957
953
  readonly required: true;
958
954
  readonly labelId: 'widgetLabelThresholdValue';
959
- readonly doc: 'The value at which this band starts.';
960
955
  };
961
956
  readonly level: {
962
957
  readonly kind: 'enum';
@@ -971,18 +966,15 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
971
966
  readonly critical: 'widgetSeverityCritical';
972
967
  };
973
968
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
974
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
975
969
  };
976
970
  readonly label: {
977
971
  readonly kind: 'string';
978
972
  readonly labelId: 'widgetLabelThresholdLabel';
979
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
980
973
  };
981
974
  };
982
975
  readonly maxItems: 8;
983
976
  readonly required: true;
984
977
  readonly helpId: "widgetHintSignalThresholds";
985
- readonly doc: "The steps of the signal, lowest first: one bar per entry, lit once the value reaches it and coloured by its level. At least two, at most eight.";
986
978
  };
987
979
  readonly staleAfterSeconds: {
988
980
  readonly kind: 'number';
@@ -990,7 +982,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
990
982
  readonly min: 1;
991
983
  readonly labelId: 'widgetLabelStaleAfter';
992
984
  readonly helpId: 'widgetHintStaleAfter';
993
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
994
985
  };
995
986
  readonly window: {
996
987
  readonly kind: 'number';
@@ -998,19 +989,16 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
998
989
  readonly min: 1;
999
990
  readonly labelId: 'widgetLabelWindow';
1000
991
  readonly helpId: 'widgetHintWindow';
1001
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
1002
992
  };
1003
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
993
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1004
994
  readonly title: {
1005
995
  readonly kind: 'string';
1006
996
  readonly labelId: 'widgetLabelTitle';
1007
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
1008
997
  };
1009
998
  readonly measurement: {
1010
999
  readonly kind: 'string';
1011
1000
  readonly labelId: 'widgetLabelMeasurement';
1012
1001
  readonly helpId: 'widgetHintMeasurement';
1013
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
1014
1002
  };
1015
1003
  readonly precision: {
1016
1004
  readonly kind: 'number';
@@ -1019,7 +1007,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1019
1007
  readonly max: 100;
1020
1008
  readonly labelId: 'widgetLabelPrecision';
1021
1009
  readonly helpId: 'widgetHintPrecision';
1022
- readonly doc: "Decimal places of the heading. Default 0 (whole degrees). The heading is rounded first, then folded onto 0 to 360, so it never reads 360.";
1023
1010
  };
1024
1011
  readonly thresholds: {
1025
1012
  readonly kind: 'list';
@@ -1031,7 +1018,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1031
1018
  readonly kind: 'number';
1032
1019
  readonly required: true;
1033
1020
  readonly labelId: 'widgetLabelThresholdValue';
1034
- readonly doc: 'The value at which this band starts.';
1035
1021
  };
1036
1022
  readonly level: {
1037
1023
  readonly kind: 'enum';
@@ -1046,15 +1032,12 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1046
1032
  readonly critical: 'widgetSeverityCritical';
1047
1033
  };
1048
1034
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
1049
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
1050
1035
  };
1051
1036
  readonly label: {
1052
1037
  readonly kind: 'string';
1053
1038
  readonly labelId: 'widgetLabelThresholdLabel';
1054
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
1055
1039
  };
1056
1040
  };
1057
- readonly doc: "Severity bands over the heading in degrees (0 to 360, after folding). Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the needle keeps its own colour.";
1058
1041
  };
1059
1042
  readonly staleAfterSeconds: {
1060
1043
  readonly kind: 'number';
@@ -1062,7 +1045,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1062
1045
  readonly min: 1;
1063
1046
  readonly labelId: 'widgetLabelStaleAfter';
1064
1047
  readonly helpId: 'widgetHintStaleAfter';
1065
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
1066
1048
  };
1067
1049
  readonly window: {
1068
1050
  readonly kind: 'number';
@@ -1070,33 +1052,28 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1070
1052
  readonly min: 1;
1071
1053
  readonly labelId: 'widgetLabelWindow';
1072
1054
  readonly helpId: 'widgetHintWindow';
1073
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
1074
1055
  };
1075
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
1056
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1076
1057
  readonly title: {
1077
1058
  readonly kind: 'string';
1078
1059
  readonly labelId: 'widgetLabelTitle';
1079
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
1080
1060
  };
1081
1061
  readonly measurement: {
1082
1062
  readonly kind: 'string';
1083
1063
  readonly labelId: 'widgetLabelMeasurement';
1084
1064
  readonly helpId: 'widgetHintMeasurement';
1085
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
1086
1065
  };
1087
1066
  readonly min: {
1088
1067
  readonly kind: 'number';
1089
1068
  readonly required: true;
1090
1069
  readonly labelId: 'widgetLabelMin';
1091
1070
  readonly helpId: 'widgetHintScaleMin';
1092
- readonly doc: 'Value at the empty end of the scale. Required: the widget does not guess a range.';
1093
1071
  };
1094
1072
  readonly max: {
1095
1073
  readonly kind: 'number';
1096
1074
  readonly required: true;
1097
1075
  readonly labelId: 'widgetLabelMax';
1098
1076
  readonly helpId: 'widgetHintScaleMax';
1099
- readonly doc: 'Value at the full end of the scale. Required, and above min.';
1100
1077
  };
1101
1078
  readonly readout: {
1102
1079
  readonly kind: "enum";
@@ -1107,12 +1084,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1107
1084
  readonly value: "widgetReadoutValue";
1108
1085
  };
1109
1086
  readonly placeholderId: "widgetPlaceholderDefault";
1110
- readonly doc: "What the middle of the ring shows: the percent of the scale (default) or the value with its unit.";
1111
1087
  };
1112
1088
  readonly unit: {
1113
1089
  readonly kind: 'string';
1114
1090
  readonly labelId: 'widgetLabelUnit';
1115
- readonly doc: 'Unit suffix shown beside the value.';
1116
1091
  };
1117
1092
  readonly precision: {
1118
1093
  readonly kind: 'number';
@@ -1121,20 +1096,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1121
1096
  readonly max: 100;
1122
1097
  readonly labelId: 'widgetLabelPrecision';
1123
1098
  readonly helpId: 'widgetHintPrecision';
1124
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
1125
1099
  };
1126
1100
  readonly thresholds: {
1127
1101
  readonly kind: 'list';
1128
1102
  readonly maxItems: 12;
1129
1103
  readonly labelId: 'widgetLabelThresholds';
1130
1104
  readonly helpId: 'widgetHintThresholds';
1131
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
1132
1105
  readonly item: {
1133
1106
  readonly value: {
1134
1107
  readonly kind: 'number';
1135
1108
  readonly required: true;
1136
1109
  readonly labelId: 'widgetLabelThresholdValue';
1137
- readonly doc: 'The value at which this band starts.';
1138
1110
  };
1139
1111
  readonly level: {
1140
1112
  readonly kind: 'enum';
@@ -1149,12 +1121,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1149
1121
  readonly critical: 'widgetSeverityCritical';
1150
1122
  };
1151
1123
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
1152
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
1153
1124
  };
1154
1125
  readonly label: {
1155
1126
  readonly kind: 'string';
1156
1127
  readonly labelId: 'widgetLabelThresholdLabel';
1157
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
1158
1128
  };
1159
1129
  };
1160
1130
  };
@@ -1164,7 +1134,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1164
1134
  readonly min: 1;
1165
1135
  readonly labelId: 'widgetLabelStaleAfter';
1166
1136
  readonly helpId: 'widgetHintStaleAfter';
1167
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
1168
1137
  };
1169
1138
  readonly window: {
1170
1139
  readonly kind: 'number';
@@ -1172,13 +1141,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1172
1141
  readonly min: 1;
1173
1142
  readonly labelId: 'widgetLabelWindow';
1174
1143
  readonly helpId: 'widgetHintWindow';
1175
- readonly doc: 'Samples retained across ALL of the widget\'s measurements before the oldest are dropped. Bounds memory; only the chart draws them. Default 300.';
1176
1144
  };
1177
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"control", {
1145
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"control", import("./builtin-descriptors").DocumentedSpecs<{
1178
1146
  readonly title: {
1179
1147
  readonly kind: 'string';
1180
1148
  readonly labelId: 'widgetLabelTitle';
1181
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
1182
1149
  };
1183
1150
  readonly commandName: {
1184
1151
  readonly kind: 'string';
@@ -1186,14 +1153,12 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1186
1153
  readonly labelId: 'widgetCommandHeading';
1187
1154
  readonly helpId: 'widgetCommandFieldHint';
1188
1155
  readonly control: 'command-vocabulary';
1189
- readonly doc: 'Command key issued to the target device. Without it the control cannot send.';
1190
1156
  };
1191
1157
  readonly commandLabel: {
1192
1158
  readonly kind: 'string';
1193
1159
  readonly labelId: 'widgetCommandHeading';
1194
1160
  readonly helpId: 'widgetCommandFieldHint';
1195
1161
  readonly control: 'command-vocabulary';
1196
- readonly doc: 'Name of the control for assistive technology. Defaults to the command key.';
1197
1162
  };
1198
1163
  readonly parameterSchema: {
1199
1164
  readonly kind: 'string';
@@ -1201,38 +1166,42 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1201
1166
  readonly labelId: 'widgetCommandHeading';
1202
1167
  readonly helpId: 'widgetCommandFieldHint';
1203
1168
  readonly control: 'command-vocabulary';
1204
- readonly doc: "The command's parameter descriptors, baked in as JSON at author time. Gives the control its range and its refusals.";
1205
1169
  };
1206
1170
  readonly parameter: {
1207
1171
  readonly kind: 'string';
1208
1172
  readonly labelId: 'widgetLabelParameter';
1209
1173
  readonly helpId: 'widgetHintControlParameter';
1210
- readonly doc: 'Which parameter of the command this control sets. May be left blank when the command has exactly one parameter of the right type.';
1211
1174
  };
1212
1175
  readonly min: {
1213
1176
  readonly kind: "number";
1214
1177
  readonly labelId: "widgetLabelMin";
1215
1178
  readonly helpId: "widgetHintSliderRange";
1216
- readonly doc: "Lowest value, used only when the command's parameter declares no minimum.";
1217
1179
  };
1218
1180
  readonly max: {
1219
1181
  readonly kind: "number";
1220
1182
  readonly labelId: "widgetLabelMax";
1221
1183
  readonly helpId: "widgetHintSliderRange";
1222
- readonly doc: "Highest value, used only when the command's parameter declares no maximum.";
1223
1184
  };
1224
1185
  readonly step: {
1225
1186
  readonly kind: "number";
1226
1187
  readonly min: 0;
1227
1188
  readonly labelId: "widgetLabelStep";
1228
1189
  readonly helpId: "widgetHintSliderStep";
1229
- readonly doc: "Distance between values. Defaults to 1 for a whole-number parameter, else a hundredth of the range.";
1230
1190
  };
1231
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"control", {
1191
+ readonly mode: {
1192
+ readonly kind: "enum";
1193
+ readonly values: readonly ["slider", "stepper"];
1194
+ readonly labelId: "widgetLabelControlMode";
1195
+ readonly valueLabelIds: {
1196
+ readonly slider: "widgetControlModeSlider";
1197
+ readonly stepper: "widgetControlModeStepper";
1198
+ };
1199
+ readonly placeholderId: "widgetPlaceholderDefault";
1200
+ };
1201
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"control", import("./builtin-descriptors").DocumentedSpecs<{
1232
1202
  readonly title: {
1233
1203
  readonly kind: 'string';
1234
1204
  readonly labelId: 'widgetLabelTitle';
1235
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
1236
1205
  };
1237
1206
  readonly commandName: {
1238
1207
  readonly kind: 'string';
@@ -1240,14 +1209,12 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1240
1209
  readonly labelId: 'widgetCommandHeading';
1241
1210
  readonly helpId: 'widgetCommandFieldHint';
1242
1211
  readonly control: 'command-vocabulary';
1243
- readonly doc: 'Command key issued to the target device. Without it the control cannot send.';
1244
1212
  };
1245
1213
  readonly commandLabel: {
1246
1214
  readonly kind: 'string';
1247
1215
  readonly labelId: 'widgetCommandHeading';
1248
1216
  readonly helpId: 'widgetCommandFieldHint';
1249
1217
  readonly control: 'command-vocabulary';
1250
- readonly doc: 'Name of the control for assistive technology. Defaults to the command key.';
1251
1218
  };
1252
1219
  readonly parameterSchema: {
1253
1220
  readonly kind: 'string';
@@ -1255,25 +1222,21 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1255
1222
  readonly labelId: 'widgetCommandHeading';
1256
1223
  readonly helpId: 'widgetCommandFieldHint';
1257
1224
  readonly control: 'command-vocabulary';
1258
- readonly doc: "The command's parameter descriptors, baked in as JSON at author time. Gives the control its range and its refusals.";
1259
1225
  };
1260
1226
  readonly parameter: {
1261
1227
  readonly kind: 'string';
1262
1228
  readonly labelId: 'widgetLabelParameter';
1263
1229
  readonly helpId: 'widgetHintControlParameter';
1264
- readonly doc: 'Which parameter of the command this control sets. May be left blank when the command has exactly one parameter of the right type.';
1265
1230
  };
1266
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"aggregate", {
1231
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"aggregate", import("./builtin-descriptors").DocumentedSpecs<{
1267
1232
  readonly title: {
1268
1233
  readonly kind: 'string';
1269
1234
  readonly labelId: 'widgetLabelTitle';
1270
- readonly doc: 'Heading shown in the widget frame. Defaults to the displayed measurement name.';
1271
1235
  };
1272
1236
  readonly measurement: {
1273
1237
  readonly kind: 'string';
1274
1238
  readonly labelId: 'widgetLabelMeasurement';
1275
1239
  readonly helpId: 'widgetHintMeasurement';
1276
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
1277
1240
  };
1278
1241
  readonly stat: {
1279
1242
  readonly kind: "enum";
@@ -1289,12 +1252,10 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1289
1252
  readonly last: "widgetStatLast";
1290
1253
  };
1291
1254
  readonly placeholderId: "widgetPlaceholderDefault";
1292
- readonly doc: "Which figure to show. Default average.";
1293
1255
  };
1294
1256
  readonly unit: {
1295
1257
  readonly kind: 'string';
1296
1258
  readonly labelId: 'widgetLabelUnit';
1297
- readonly doc: 'Unit suffix shown beside the value.';
1298
1259
  };
1299
1260
  readonly precision: {
1300
1261
  readonly kind: 'number';
@@ -1303,20 +1264,17 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1303
1264
  readonly max: 100;
1304
1265
  readonly labelId: 'widgetLabelPrecision';
1305
1266
  readonly helpId: 'widgetHintPrecision';
1306
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
1307
1267
  };
1308
1268
  readonly thresholds: {
1309
1269
  readonly kind: 'list';
1310
1270
  readonly maxItems: 12;
1311
1271
  readonly labelId: 'widgetLabelThresholds';
1312
1272
  readonly helpId: 'widgetHintThresholds';
1313
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
1314
1273
  readonly item: {
1315
1274
  readonly value: {
1316
1275
  readonly kind: 'number';
1317
1276
  readonly required: true;
1318
1277
  readonly labelId: 'widgetLabelThresholdValue';
1319
- readonly doc: 'The value at which this band starts.';
1320
1278
  };
1321
1279
  readonly level: {
1322
1280
  readonly kind: 'enum';
@@ -1331,15 +1289,18 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1331
1289
  readonly critical: 'widgetSeverityCritical';
1332
1290
  };
1333
1291
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
1334
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
1335
1292
  };
1336
1293
  readonly label: {
1337
1294
  readonly kind: 'string';
1338
1295
  readonly labelId: 'widgetLabelThresholdLabel';
1339
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
1340
1296
  };
1341
1297
  };
1342
1298
  };
1299
+ readonly sparkline: {
1300
+ readonly kind: "boolean";
1301
+ readonly labelId: "widgetLabelSparkline";
1302
+ readonly helpId: "widgetHintSparkline";
1303
+ };
1343
1304
  readonly windowSeconds: {
1344
1305
  readonly kind: 'number';
1345
1306
  readonly integer: true;
@@ -1347,13 +1308,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1347
1308
  readonly max: 604800;
1348
1309
  readonly labelId: 'widgetLabelWindowSeconds';
1349
1310
  readonly helpId: 'widgetHintWindowSeconds';
1350
- readonly doc: 'Seconds of history the widget covers, back from now. Leave unset to follow the board’s time range; set it to pin this widget to a fixed span that the viewer’s range picker does not change. 60 to 604800.';
1351
1311
  };
1352
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
1312
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1353
1313
  readonly title: {
1354
1314
  readonly kind: 'string';
1355
1315
  readonly labelId: 'widgetLabelTitle';
1356
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
1357
1316
  };
1358
1317
  readonly groupBy: {
1359
1318
  readonly kind: "enum";
@@ -1365,18 +1324,15 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1365
1324
  readonly device: "widgetGroupByDevice";
1366
1325
  };
1367
1326
  readonly placeholderId: "widgetPlaceholderDefault";
1368
- readonly doc: "One bar per measurement (the default), or per device of the group for the measurement set below.";
1369
1327
  };
1370
1328
  readonly measurement: {
1371
1329
  readonly kind: 'string';
1372
1330
  readonly labelId: 'widgetLabelMeasurement';
1373
1331
  readonly helpId: 'widgetHintMeasurement';
1374
- readonly doc: 'Which measurement to display. Defaults to the first the datasource selects.';
1375
1332
  };
1376
1333
  readonly unit: {
1377
1334
  readonly kind: 'string';
1378
1335
  readonly labelId: 'widgetLabelUnit';
1379
- readonly doc: 'Unit suffix shown beside the value.';
1380
1336
  };
1381
1337
  readonly precision: {
1382
1338
  readonly kind: 'number';
@@ -1385,7 +1341,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1385
1341
  readonly max: 100;
1386
1342
  readonly labelId: 'widgetLabelPrecision';
1387
1343
  readonly helpId: 'widgetHintPrecision';
1388
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
1389
1344
  };
1390
1345
  readonly sort: {
1391
1346
  readonly kind: 'enum';
@@ -1397,18 +1352,15 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1397
1352
  readonly descending: 'widgetSortDescending';
1398
1353
  };
1399
1354
  readonly placeholderId: 'widgetPlaceholderDefault';
1400
- readonly doc: 'Order of the categories. Default: as the data source lists them.';
1401
1355
  };
1402
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
1356
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1403
1357
  readonly title: {
1404
1358
  readonly kind: 'string';
1405
1359
  readonly labelId: 'widgetLabelTitle';
1406
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
1407
1360
  };
1408
1361
  readonly unit: {
1409
1362
  readonly kind: 'string';
1410
1363
  readonly labelId: 'widgetLabelUnit';
1411
- readonly doc: 'Unit suffix shown beside the value.';
1412
1364
  };
1413
1365
  readonly precision: {
1414
1366
  readonly kind: 'number';
@@ -1417,7 +1369,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1417
1369
  readonly max: 100;
1418
1370
  readonly labelId: 'widgetLabelPrecision';
1419
1371
  readonly helpId: 'widgetHintPrecision';
1420
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
1421
1372
  };
1422
1373
  readonly sort: {
1423
1374
  readonly kind: 'enum';
@@ -1429,36 +1380,30 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1429
1380
  readonly descending: 'widgetSortDescending';
1430
1381
  };
1431
1382
  readonly placeholderId: 'widgetPlaceholderDefault';
1432
- readonly doc: 'Order of the categories. Default: as the data source lists them.';
1433
1383
  };
1434
- }>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", {
1384
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1435
1385
  readonly title: {
1436
1386
  readonly kind: 'string';
1437
1387
  readonly labelId: 'widgetLabelTitle';
1438
- readonly doc: 'Heading shown in the widget frame. Blank hides the frame heading.';
1439
1388
  };
1440
1389
  readonly columns: {
1441
1390
  readonly kind: 'list';
1442
1391
  readonly maxItems: 24;
1443
1392
  readonly labelId: 'widgetLabelColumns';
1444
1393
  readonly helpId: 'widgetHintColumns';
1445
- readonly doc: 'Heading, unit and precision per measurement column; a column with none shows its name.';
1446
1394
  readonly item: {
1447
1395
  readonly measurement: {
1448
1396
  readonly kind: 'string';
1449
1397
  readonly required: true;
1450
1398
  readonly labelId: 'widgetLabelMeasurement';
1451
- readonly doc: 'The measurement column this entry applies to.';
1452
1399
  };
1453
1400
  readonly label: {
1454
1401
  readonly kind: 'string';
1455
1402
  readonly labelId: 'widgetLabelColumnHeading';
1456
- readonly doc: 'Column heading. Defaults to the measurement name.';
1457
1403
  };
1458
1404
  readonly unit: {
1459
1405
  readonly kind: 'string';
1460
1406
  readonly labelId: 'widgetLabelUnit';
1461
- readonly doc: 'Unit suffix shown beside the value.';
1462
1407
  };
1463
1408
  readonly precision: {
1464
1409
  readonly kind: 'number';
@@ -1467,7 +1412,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1467
1412
  readonly max: 100;
1468
1413
  readonly labelId: 'widgetLabelPrecision';
1469
1414
  readonly helpId: 'widgetHintPrecision';
1470
- readonly doc: 'Decimal places to round displayed values to. Unset rounds to at most 3 decimals (4 significant digits under 1).';
1471
1415
  };
1472
1416
  };
1473
1417
  };
@@ -1476,13 +1420,11 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1476
1420
  readonly maxItems: 12;
1477
1421
  readonly labelId: 'widgetLabelThresholds';
1478
1422
  readonly helpId: 'widgetHintThresholds';
1479
- readonly doc: 'Severity bands over the value. Each entry starts a band at its value that runs to the next entry; below the first, and in a normal band, the widget keeps its own colour.';
1480
1423
  readonly item: {
1481
1424
  readonly value: {
1482
1425
  readonly kind: 'number';
1483
1426
  readonly required: true;
1484
1427
  readonly labelId: 'widgetLabelThresholdValue';
1485
- readonly doc: 'The value at which this band starts.';
1486
1428
  };
1487
1429
  readonly level: {
1488
1430
  readonly kind: 'enum';
@@ -1497,18 +1439,15 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1497
1439
  readonly critical: 'widgetSeverityCritical';
1498
1440
  };
1499
1441
  readonly placeholderId: 'widgetPlaceholderThresholdLevel';
1500
- readonly doc: 'The severity of this band. The theme decides the colour; normal has none.';
1501
1442
  };
1502
1443
  readonly label: {
1503
1444
  readonly kind: 'string';
1504
1445
  readonly labelId: 'widgetLabelThresholdLabel';
1505
- readonly doc: 'Text shown on the chart line for this threshold. Defaults to its value.';
1506
1446
  };
1507
1447
  readonly measurement: {
1508
1448
  readonly kind: 'string';
1509
1449
  readonly required: true;
1510
1450
  readonly labelId: 'widgetLabelMeasurement';
1511
- readonly doc: 'The measurement column this entry applies to.';
1512
1451
  };
1513
1452
  };
1514
1453
  };
@@ -1518,7 +1457,6 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1518
1457
  readonly min: 1;
1519
1458
  readonly labelId: 'widgetLabelStaleAfter';
1520
1459
  readonly helpId: 'widgetHintStaleAfter';
1521
- readonly doc: 'Seconds after which the newest sample is called stale: the value is greyed out and badged. Unset shows the sample age only and never marks the widget stale.';
1522
1460
  };
1523
1461
  readonly ageLagSeconds: {
1524
1462
  readonly kind: "number";
@@ -1526,18 +1464,15 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1526
1464
  readonly min: 1;
1527
1465
  readonly labelId: "widgetLabelAgeLag";
1528
1466
  readonly helpId: "widgetHintAgeLag";
1529
- readonly doc: "Show a reading's age under it only when the reading is at least this many seconds older than the newest reading in the table (or stale). Unset shows every reading's age.";
1530
1467
  };
1531
1468
  readonly sortBy: {
1532
1469
  readonly kind: "string";
1533
1470
  readonly labelId: "widgetLabelSortBy";
1534
1471
  readonly helpId: "widgetHintSortBy";
1535
- readonly doc: "The measurement the table is ordered by. Blank orders by device name.";
1536
1472
  };
1537
1473
  readonly sortDescending: {
1538
1474
  readonly kind: "boolean";
1539
1475
  readonly labelId: "widgetLabelSortDescending";
1540
- readonly doc: "Largest first.";
1541
1476
  };
1542
1477
  readonly pageSize: {
1543
1478
  readonly kind: "number";
@@ -1545,14 +1480,12 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1545
1480
  readonly min: 5;
1546
1481
  readonly max: 100;
1547
1482
  readonly labelId: "widgetLabelPageSize";
1548
- readonly doc: "Devices per page. Default 20.";
1549
1483
  };
1550
1484
  readonly selectionTarget: {
1551
1485
  readonly kind: 'string';
1552
1486
  readonly labelId: 'widgetLabelTargetSlot';
1553
1487
  readonly helpId: 'widgetTargetSlotHint';
1554
1488
  readonly control: 'slot-target';
1555
- readonly doc: 'Name of the slot this widget re-points when the viewer picks an entity.';
1556
1489
  };
1557
1490
  readonly windowSeconds: {
1558
1491
  readonly kind: 'number';
@@ -1561,7 +1494,97 @@ export declare const builtinWidgetDefinitions: readonly [import("@devicechain/wi
1561
1494
  readonly max: 604800;
1562
1495
  readonly labelId: 'widgetLabelWindowSeconds';
1563
1496
  readonly helpId: 'widgetHintWindowSeconds';
1564
- readonly doc: 'Seconds of history the widget covers, back from now. Leave unset to follow the board’s time range; set it to pin this widget to a fixed span that the viewer’s range picker does not change. 60 to 604800.';
1565
1497
  };
1566
- }>];
1498
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1499
+ readonly title: {
1500
+ readonly kind: 'string';
1501
+ readonly labelId: 'widgetLabelTitle';
1502
+ };
1503
+ readonly show: {
1504
+ readonly kind: "enum";
1505
+ readonly values: readonly ["attention", "devices"];
1506
+ readonly labelId: "widgetLabelFleetShow";
1507
+ readonly helpId: "widgetHintFleetShow";
1508
+ readonly valueLabelIds: {
1509
+ readonly attention: "widgetFleetShowAttention";
1510
+ readonly devices: "widgetFleetShowDevices";
1511
+ };
1512
+ readonly placeholderId: "widgetPlaceholderDefault";
1513
+ };
1514
+ readonly measurement: {
1515
+ readonly kind: 'string';
1516
+ readonly labelId: 'widgetLabelMeasurement';
1517
+ readonly helpId: 'widgetHintMeasurement';
1518
+ };
1519
+ readonly thresholds: {
1520
+ readonly kind: 'list';
1521
+ readonly maxItems: 12;
1522
+ readonly labelId: 'widgetLabelThresholds';
1523
+ readonly helpId: 'widgetHintThresholds';
1524
+ readonly item: {
1525
+ readonly value: {
1526
+ readonly kind: 'number';
1527
+ readonly required: true;
1528
+ readonly labelId: 'widgetLabelThresholdValue';
1529
+ };
1530
+ readonly level: {
1531
+ readonly kind: 'enum';
1532
+ readonly required: true;
1533
+ readonly values: readonly ["normal", "warning", "minor", "major", "critical"];
1534
+ readonly labelId: 'widgetLabelThresholdLevel';
1535
+ readonly valueLabelIds: {
1536
+ readonly normal: 'widgetSeverityNormal';
1537
+ readonly warning: 'widgetSeverityWarning';
1538
+ readonly minor: 'widgetSeverityMinor';
1539
+ readonly major: 'widgetSeverityMajor';
1540
+ readonly critical: 'widgetSeverityCritical';
1541
+ };
1542
+ readonly placeholderId: 'widgetPlaceholderThresholdLevel';
1543
+ };
1544
+ readonly label: {
1545
+ readonly kind: 'string';
1546
+ readonly labelId: 'widgetLabelThresholdLabel';
1547
+ };
1548
+ };
1549
+ };
1550
+ readonly staleAfterSeconds: {
1551
+ readonly kind: 'number';
1552
+ readonly integer: true;
1553
+ readonly min: 1;
1554
+ readonly labelId: 'widgetLabelStaleAfter';
1555
+ readonly helpId: 'widgetHintStaleAfter';
1556
+ };
1557
+ readonly windowSeconds: {
1558
+ readonly kind: 'number';
1559
+ readonly integer: true;
1560
+ readonly min: 60;
1561
+ readonly max: 604800;
1562
+ readonly labelId: 'widgetLabelWindowSeconds';
1563
+ readonly helpId: 'widgetHintWindowSeconds';
1564
+ };
1565
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1566
+ readonly title: {
1567
+ readonly kind: 'string';
1568
+ readonly labelId: 'widgetLabelTitle';
1569
+ };
1570
+ readonly staleAfterSeconds: {
1571
+ readonly kind: 'number';
1572
+ readonly integer: true;
1573
+ readonly min: 1;
1574
+ readonly labelId: 'widgetLabelStaleAfter';
1575
+ readonly helpId: 'widgetHintStaleAfter';
1576
+ };
1577
+ }>>, import("@devicechain/widget-sdk").WidgetDefinition<"measurement", import("./builtin-descriptors").DocumentedSpecs<{
1578
+ readonly title: {
1579
+ readonly kind: 'string';
1580
+ readonly labelId: 'widgetLabelTitle';
1581
+ };
1582
+ readonly staleAfterSeconds: {
1583
+ readonly kind: 'number';
1584
+ readonly integer: true;
1585
+ readonly min: 1;
1586
+ readonly labelId: 'widgetLabelStaleAfter';
1587
+ readonly helpId: 'widgetHintStaleAfter';
1588
+ };
1589
+ }>>];
1567
1590
  export declare function createBuiltinWidgetRegistry(): WidgetRegistry;