@blazes/data-visualization 0.0.0-stage → 1.0.0-alpha.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 (170) hide show
  1. package/README.md +238 -2
  2. package/dist/.vite/manifest.json +129 -0
  3. package/dist/PivotTableS2Renderer-C-Urwhuv.js +109 -0
  4. package/dist/PivotTableS2Renderer-C-Urwhuv.js.map +1 -0
  5. package/dist/WordCloudRenderer-7tzJz57a.js +96 -0
  6. package/dist/WordCloudRenderer-7tzJz57a.js.map +1 -0
  7. package/dist/core/adapter/index.d.ts +5 -0
  8. package/dist/core/adapter/index.d.ts.map +1 -0
  9. package/dist/core/adapter/standard-adapters.d.ts +211 -0
  10. package/dist/core/adapter/standard-adapters.d.ts.map +1 -0
  11. package/dist/core/adapter/standard-definitions.d.ts +230 -0
  12. package/dist/core/adapter/standard-definitions.d.ts.map +1 -0
  13. package/dist/core/adapter/types.d.ts +44 -0
  14. package/dist/core/adapter/types.d.ts.map +1 -0
  15. package/dist/core/adapter/view-models.d.ts +101 -0
  16. package/dist/core/adapter/view-models.d.ts.map +1 -0
  17. package/dist/core/config/config-validator.d.ts +27 -0
  18. package/dist/core/config/config-validator.d.ts.map +1 -0
  19. package/dist/core/config/dashboard-config-schema.d.ts +1360 -0
  20. package/dist/core/config/dashboard-config-schema.d.ts.map +1 -0
  21. package/dist/core/config/dashboard-config.d.ts +410 -0
  22. package/dist/core/config/dashboard-config.d.ts.map +1 -0
  23. package/dist/core/config/index.d.ts +9 -0
  24. package/dist/core/config/index.d.ts.map +1 -0
  25. package/dist/core/config/json-value.d.ts +5 -0
  26. package/dist/core/config/json-value.d.ts.map +1 -0
  27. package/dist/core/config/runtime-schema.d.ts +28 -0
  28. package/dist/core/config/runtime-schema.d.ts.map +1 -0
  29. package/dist/core/config/schema-version.d.ts +3 -0
  30. package/dist/core/config/schema-version.d.ts.map +1 -0
  31. package/dist/core/config/serializable.d.ts +6 -0
  32. package/dist/core/config/serializable.d.ts.map +1 -0
  33. package/dist/core/config/value-path.d.ts +2 -0
  34. package/dist/core/config/value-path.d.ts.map +1 -0
  35. package/dist/core/dataset/dataset-runner.d.ts +28 -0
  36. package/dist/core/dataset/dataset-runner.d.ts.map +1 -0
  37. package/dist/core/dataset/index.d.ts +4 -0
  38. package/dist/core/dataset/index.d.ts.map +1 -0
  39. package/dist/core/dataset/normalize.d.ts +8 -0
  40. package/dist/core/dataset/normalize.d.ts.map +1 -0
  41. package/dist/core/dataset/types.d.ts +37 -0
  42. package/dist/core/dataset/types.d.ts.map +1 -0
  43. package/dist/core/export/csv.d.ts +11 -0
  44. package/dist/core/export/csv.d.ts.map +1 -0
  45. package/dist/core/export/index.d.ts +2 -0
  46. package/dist/core/export/index.d.ts.map +1 -0
  47. package/dist/core/formatter/index.d.ts +2 -0
  48. package/dist/core/formatter/index.d.ts.map +1 -0
  49. package/dist/core/formatter/value-formatter.d.ts +14 -0
  50. package/dist/core/formatter/value-formatter.d.ts.map +1 -0
  51. package/dist/core/index.d.ts +11 -0
  52. package/dist/core/index.d.ts.map +1 -0
  53. package/dist/core/index.js +111 -0
  54. package/dist/core/index.js.map +1 -0
  55. package/dist/core/provider/data-provider.d.ts +18 -0
  56. package/dist/core/provider/data-provider.d.ts.map +1 -0
  57. package/dist/core/provider/index.d.ts +5 -0
  58. package/dist/core/provider/index.d.ts.map +1 -0
  59. package/dist/core/provider/request-executor.d.ts +48 -0
  60. package/dist/core/provider/request-executor.d.ts.map +1 -0
  61. package/dist/core/provider/request-value-codec.d.ts +15 -0
  62. package/dist/core/provider/request-value-codec.d.ts.map +1 -0
  63. package/dist/core/provider/resolve-request-input.d.ts +12 -0
  64. package/dist/core/provider/resolve-request-input.d.ts.map +1 -0
  65. package/dist/core/registry/core-registries.d.ts +15 -0
  66. package/dist/core/registry/core-registries.d.ts.map +1 -0
  67. package/dist/core/registry/index.d.ts +4 -0
  68. package/dist/core/registry/index.d.ts.map +1 -0
  69. package/dist/core/registry/plugin-registry.d.ts +28 -0
  70. package/dist/core/registry/plugin-registry.d.ts.map +1 -0
  71. package/dist/core/registry/register-standard.d.ts +4 -0
  72. package/dist/core/registry/register-standard.d.ts.map +1 -0
  73. package/dist/core/runtime/dashboard-data-runtime.d.ts +26 -0
  74. package/dist/core/runtime/dashboard-data-runtime.d.ts.map +1 -0
  75. package/dist/core/runtime/dashboard-runtime.d.ts +458 -0
  76. package/dist/core/runtime/dashboard-runtime.d.ts.map +1 -0
  77. package/dist/core/runtime/dependency-graph.d.ts +11 -0
  78. package/dist/core/runtime/dependency-graph.d.ts.map +1 -0
  79. package/dist/core/runtime/index.d.ts +5 -0
  80. package/dist/core/runtime/index.d.ts.map +1 -0
  81. package/dist/core/runtime/types.d.ts +47 -0
  82. package/dist/core/runtime/types.d.ts.map +1 -0
  83. package/dist/core/telemetry/index.d.ts +2 -0
  84. package/dist/core/telemetry/index.d.ts.map +1 -0
  85. package/dist/core/telemetry/telemetry.d.ts +15 -0
  86. package/dist/core/telemetry/telemetry.d.ts.map +1 -0
  87. package/dist/core/variable/dashboard-context.d.ts +22 -0
  88. package/dist/core/variable/dashboard-context.d.ts.map +1 -0
  89. package/dist/core/variable/index.d.ts +3 -0
  90. package/dist/core/variable/index.d.ts.map +1 -0
  91. package/dist/core/variable/url-state.d.ts +17 -0
  92. package/dist/core/variable/url-state.d.ts.map +1 -0
  93. package/dist/csv-Dyrr2yMA.js +254 -0
  94. package/dist/csv-Dyrr2yMA.js.map +1 -0
  95. package/dist/dashboard-runtime-8a-9P8Ku.js +1540 -0
  96. package/dist/dashboard-runtime-8a-9P8Ku.js.map +1 -0
  97. package/dist/experimental/s2/PivotTableS2Renderer.vue.d.ts +18 -0
  98. package/dist/experimental/s2/PivotTableS2Renderer.vue.d.ts.map +1 -0
  99. package/dist/experimental/s2/index.d.ts +13 -0
  100. package/dist/experimental/s2/index.d.ts.map +1 -0
  101. package/dist/experimental/s2/index.js +66 -0
  102. package/dist/experimental/s2/index.js.map +1 -0
  103. package/dist/experimental/s2/pivot-table-s2.d.ts +23 -0
  104. package/dist/experimental/s2/pivot-table-s2.d.ts.map +1 -0
  105. package/dist/index.css +1 -0
  106. package/dist/index.d.ts +2 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +111 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/renderers/word-cloud/WordCloudRenderer.vue.d.ts +20 -0
  111. package/dist/renderers/word-cloud/WordCloudRenderer.vue.d.ts.map +1 -0
  112. package/dist/renderers/word-cloud/index.d.ts +8 -0
  113. package/dist/renderers/word-cloud/index.d.ts.map +1 -0
  114. package/dist/renderers/word-cloud/index.js +17 -0
  115. package/dist/renderers/word-cloud/index.js.map +1 -0
  116. package/dist/runtime-schema-BO2qLlvE.js +580 -0
  117. package/dist/runtime-schema-BO2qLlvE.js.map +1 -0
  118. package/dist/serializable-DOOpLZyk.js +36 -0
  119. package/dist/serializable-DOOpLZyk.js.map +1 -0
  120. package/dist/standard-definitions-DHtaLAf1.js +351 -0
  121. package/dist/standard-definitions-DHtaLAf1.js.map +1 -0
  122. package/dist/value-formatter-D5QmLSMG.js +47 -0
  123. package/dist/value-formatter-D5QmLSMG.js.map +1 -0
  124. package/dist/visual-theme-DH-k3L51.js +23 -0
  125. package/dist/visual-theme-DH-k3L51.js.map +1 -0
  126. package/dist/vue/components/DashboardFilterBar.vue.d.ts +23 -0
  127. package/dist/vue/components/DashboardFilterBar.vue.d.ts.map +1 -0
  128. package/dist/vue/components/DashboardPanel.vue.d.ts +39 -0
  129. package/dist/vue/components/DashboardPanel.vue.d.ts.map +1 -0
  130. package/dist/vue/components/DashboardRenderer.vue.d.ts +57 -0
  131. package/dist/vue/components/DashboardRenderer.vue.d.ts.map +1 -0
  132. package/dist/vue/components/index.d.ts +4 -0
  133. package/dist/vue/components/index.d.ts.map +1 -0
  134. package/dist/vue/composables/index.d.ts +2 -0
  135. package/dist/vue/composables/index.d.ts.map +1 -0
  136. package/dist/vue/composables/use-dashboard-runtime.d.ts +17 -0
  137. package/dist/vue/composables/use-dashboard-runtime.d.ts.map +1 -0
  138. package/dist/vue/export/browser-download.d.ts +3 -0
  139. package/dist/vue/export/browser-download.d.ts.map +1 -0
  140. package/dist/vue/export/index.d.ts +2 -0
  141. package/dist/vue/export/index.d.ts.map +1 -0
  142. package/dist/vue/index.d.ts +7 -0
  143. package/dist/vue/index.d.ts.map +1 -0
  144. package/dist/vue/index.js +1064 -0
  145. package/dist/vue/index.js.map +1 -0
  146. package/dist/vue/registry/index.d.ts +3 -0
  147. package/dist/vue/registry/index.d.ts.map +1 -0
  148. package/dist/vue/registry/register-standard.d.ts +3 -0
  149. package/dist/vue/registry/register-standard.d.ts.map +1 -0
  150. package/dist/vue/registry/renderer-registry.d.ts +12 -0
  151. package/dist/vue/registry/renderer-registry.d.ts.map +1 -0
  152. package/dist/vue/renderers/BarRenderer.vue.d.ts +24 -0
  153. package/dist/vue/renderers/BarRenderer.vue.d.ts.map +1 -0
  154. package/dist/vue/renderers/LineRenderer.vue.d.ts +24 -0
  155. package/dist/vue/renderers/LineRenderer.vue.d.ts.map +1 -0
  156. package/dist/vue/renderers/MetricRenderer.vue.d.ts +17 -0
  157. package/dist/vue/renderers/MetricRenderer.vue.d.ts.map +1 -0
  158. package/dist/vue/renderers/PieRenderer.vue.d.ts +24 -0
  159. package/dist/vue/renderers/PieRenderer.vue.d.ts.map +1 -0
  160. package/dist/vue/renderers/TableRenderer.vue.d.ts +21 -0
  161. package/dist/vue/renderers/TableRenderer.vue.d.ts.map +1 -0
  162. package/dist/vue/renderers/chart-format.d.ts +8 -0
  163. package/dist/vue/renderers/chart-format.d.ts.map +1 -0
  164. package/dist/vue/renderers/index.d.ts +7 -0
  165. package/dist/vue/renderers/index.d.ts.map +1 -0
  166. package/dist/vue/theme/index.d.ts +2 -0
  167. package/dist/vue/theme/index.d.ts.map +1 -0
  168. package/dist/vue/theme/visual-theme.d.ts +46 -0
  169. package/dist/vue/theme/visual-theme.d.ts.map +1 -0
  170. package/package.json +129 -4
@@ -0,0 +1,580 @@
1
+ var g = Object.defineProperty;
2
+ var h = (a, i, n) => i in a ? g(a, i, { enumerable: !0, configurable: !0, writable: !0, value: n }) : a[i] = n;
3
+ var c = (a, i, n) => h(a, typeof i != "symbol" ? i + "" : i, n);
4
+ import { Type as e } from "@sinclair/typebox";
5
+ import b from "ajv/dist/2020.js";
6
+ import S from "ajv-formats";
7
+ const L = "1.0", f = "^[A-Za-z0-9][A-Za-z0-9._:-]*$", t = e.String({ minLength: 1, pattern: f }), y = e.Recursive(
8
+ (a) => e.Union([
9
+ e.Null(),
10
+ e.Boolean(),
11
+ e.Number(),
12
+ e.String(),
13
+ e.Array(a),
14
+ e.Record(e.String(), a)
15
+ ]),
16
+ { $id: "https://blazes.dev/schemas/json-value-1.0.json" }
17
+ ), p = e.Ref(y), u = e.Object(
18
+ {
19
+ type: e.Union([
20
+ e.Literal("number"),
21
+ e.Literal("integer"),
22
+ e.Literal("decimal"),
23
+ e.Literal("percent"),
24
+ e.Literal("currency"),
25
+ e.Literal("date"),
26
+ e.Literal("datetime")
27
+ ]),
28
+ precision: e.Optional(e.Integer({ minimum: 0, maximum: 20 })),
29
+ unit: e.Optional(e.String()),
30
+ emptyText: e.Optional(e.String()),
31
+ useGrouping: e.Optional(e.Boolean())
32
+ },
33
+ { additionalProperties: !1 }
34
+ ), I = e.Object(
35
+ {
36
+ id: t,
37
+ label: e.String({ minLength: 1 }),
38
+ defaultValue: p,
39
+ urlKey: e.Optional(e.String({ minLength: 1 })),
40
+ urlCodec: e.Optional(
41
+ e.Union([
42
+ e.Literal("string"),
43
+ e.Literal("number"),
44
+ e.Literal("boolean"),
45
+ e.Literal("string-array"),
46
+ e.Literal("number-array"),
47
+ e.Literal("json")
48
+ ])
49
+ )
50
+ },
51
+ { additionalProperties: !1 }
52
+ ), O = e.Object(
53
+ {
54
+ xs: e.Integer({ minimum: 1, maximum: 24 }),
55
+ sm: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
56
+ md: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
57
+ lg: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
58
+ xl: e.Optional(e.Integer({ minimum: 1, maximum: 24 }))
59
+ },
60
+ { additionalProperties: !1 }
61
+ ), P = e.Object(
62
+ {
63
+ label: e.String(),
64
+ value: e.Union([e.String(), e.Number(), e.Boolean()]),
65
+ disabled: e.Optional(e.Boolean())
66
+ },
67
+ { additionalProperties: !1 }
68
+ ), j = e.Object(
69
+ {
70
+ id: t,
71
+ label: e.String({ minLength: 1 }),
72
+ type: e.Literal("date-range"),
73
+ startVariableId: t,
74
+ endVariableId: t,
75
+ format: e.Optional(e.String({ minLength: 1 })),
76
+ presets: e.Optional(
77
+ e.Array(
78
+ e.Object(
79
+ {
80
+ id: t,
81
+ label: e.String({ minLength: 1 }),
82
+ days: e.Integer({ minimum: 1 })
83
+ },
84
+ { additionalProperties: !1 }
85
+ )
86
+ )
87
+ ),
88
+ layout: O,
89
+ disabled: e.Optional(e.Boolean())
90
+ },
91
+ { additionalProperties: !1 }
92
+ );
93
+ function d(a) {
94
+ return e.Object(
95
+ {
96
+ id: t,
97
+ label: e.String({ minLength: 1 }),
98
+ type: e.Literal(a),
99
+ variableId: t,
100
+ options: e.Array(P),
101
+ placeholder: e.Optional(e.String()),
102
+ allowClear: e.Optional(e.Boolean()),
103
+ showSearch: e.Optional(e.Boolean()),
104
+ maxTagCount: e.Optional(e.Union([e.Integer({ minimum: 0 }), e.Literal("responsive")])),
105
+ layout: O,
106
+ disabled: e.Optional(e.Boolean())
107
+ },
108
+ { additionalProperties: !1 }
109
+ );
110
+ }
111
+ const v = e.Union([
112
+ j,
113
+ d("select"),
114
+ d("multi-select")
115
+ ]), B = e.Object(
116
+ {
117
+ showRefresh: e.Optional(e.Boolean()),
118
+ layout: e.Optional(e.Union([e.Literal("grid"), e.Literal("flow")])),
119
+ controls: e.Array(v)
120
+ },
121
+ { additionalProperties: !1 }
122
+ ), x = e.Union([
123
+ e.Object(
124
+ {
125
+ source: e.Literal("constant"),
126
+ value: p
127
+ },
128
+ { additionalProperties: !1 }
129
+ ),
130
+ e.Object(
131
+ {
132
+ source: e.Literal("variable"),
133
+ variableId: t,
134
+ select: e.Optional(e.String({ minLength: 1 })),
135
+ codecId: e.Optional(t),
136
+ omitWhenEmpty: e.Optional(e.Boolean())
137
+ },
138
+ { additionalProperties: !1 }
139
+ )
140
+ ]), C = e.Object(
141
+ {
142
+ id: t,
143
+ providerId: t,
144
+ operationId: t,
145
+ input: e.Optional(e.Record(e.String({ minLength: 1 }), x))
146
+ },
147
+ { additionalProperties: !1 }
148
+ ), A = e.Object(
149
+ {
150
+ requestId: t,
151
+ responsePath: e.Optional(e.String({ minLength: 1 }))
152
+ },
153
+ { additionalProperties: !1 }
154
+ ), F = e.Union([
155
+ e.Object(
156
+ {
157
+ type: e.Literal("single"),
158
+ requestId: t,
159
+ responsePath: e.Optional(e.String({ minLength: 1 }))
160
+ },
161
+ { additionalProperties: !1 }
162
+ ),
163
+ e.Object(
164
+ {
165
+ type: e.Literal("multiple"),
166
+ inputs: e.Record(e.String({ minLength: 1 }), A, { minProperties: 1 })
167
+ },
168
+ { additionalProperties: !1 }
169
+ )
170
+ ]), E = e.Object(
171
+ {
172
+ key: t,
173
+ sourcePath: e.Optional(e.String({ minLength: 1 })),
174
+ label: e.String({ minLength: 1 }),
175
+ role: e.Union([e.Literal("dimension"), e.Literal("metric"), e.Literal("time")]),
176
+ dataType: e.Union([
177
+ e.Literal("string"),
178
+ e.Literal("number"),
179
+ e.Literal("boolean"),
180
+ e.Literal("date"),
181
+ e.Literal("datetime")
182
+ ]),
183
+ required: e.Optional(e.Boolean()),
184
+ coerce: e.Optional(
185
+ e.Union([e.Literal("number-string"), e.Literal("boolean-string"), e.Literal("iso-date")])
186
+ ),
187
+ unit: e.Optional(e.String()),
188
+ format: e.Optional(u),
189
+ metricSemantics: e.Optional(
190
+ e.Object(
191
+ {
192
+ betterDirection: e.Union([e.Literal("higher"), e.Literal("lower"), e.Literal("neutral")])
193
+ },
194
+ { additionalProperties: !1 }
195
+ )
196
+ ),
197
+ description: e.Optional(e.String())
198
+ },
199
+ { additionalProperties: !1 }
200
+ ), U = e.Object(
201
+ {
202
+ id: t,
203
+ name: e.String({ minLength: 1 }),
204
+ description: e.Optional(e.String()),
205
+ input: F,
206
+ fields: e.Array(E, { minItems: 1 }),
207
+ transformerId: e.Optional(t)
208
+ },
209
+ { additionalProperties: !1 }
210
+ ), w = e.Object(
211
+ {
212
+ type: e.Literal("metric"),
213
+ datasetId: t,
214
+ valueField: t,
215
+ compareField: e.Optional(t)
216
+ },
217
+ { additionalProperties: !1 }
218
+ ), R = e.Object(
219
+ {
220
+ type: e.Literal("line"),
221
+ datasetId: t,
222
+ xField: t,
223
+ yFields: e.Array(t, { minItems: 1, uniqueItems: !0 }),
224
+ seriesField: e.Optional(t)
225
+ },
226
+ { additionalProperties: !1 }
227
+ ), T = e.Object(
228
+ {
229
+ type: e.Literal("bar"),
230
+ datasetId: t,
231
+ categoryField: t,
232
+ valueFields: e.Array(t, { minItems: 1, uniqueItems: !0 }),
233
+ seriesField: e.Optional(t)
234
+ },
235
+ { additionalProperties: !1 }
236
+ ), V = e.Object(
237
+ {
238
+ type: e.Literal("pie"),
239
+ datasetId: t,
240
+ nameField: t,
241
+ valueField: t
242
+ },
243
+ { additionalProperties: !1 }
244
+ ), z = e.Object(
245
+ {
246
+ type: e.Literal("table"),
247
+ datasetId: t,
248
+ columns: e.Array(t, { minItems: 1, uniqueItems: !0 })
249
+ },
250
+ { additionalProperties: !1 }
251
+ ), q = e.Object(
252
+ {
253
+ type: e.Literal("wordCloud"),
254
+ datasetId: t,
255
+ labelFields: e.Array(t, { minItems: 1, uniqueItems: !0 }),
256
+ valueField: t,
257
+ semanticField: e.Optional(t)
258
+ },
259
+ { additionalProperties: !1 }
260
+ ), D = e.Object(
261
+ {
262
+ type: e.Literal("pivotTableS2"),
263
+ datasetId: t,
264
+ rowFields: e.Array(t, { minItems: 1, uniqueItems: !0 }),
265
+ columnFields: e.Array(t, { minItems: 1, uniqueItems: !0 }),
266
+ valueFields: e.Array(t, { minItems: 1, uniqueItems: !0 })
267
+ },
268
+ { additionalProperties: !1 }
269
+ ), N = e.Union([
270
+ w,
271
+ R,
272
+ T,
273
+ V,
274
+ z,
275
+ q,
276
+ D
277
+ ]), k = e.Object(
278
+ {
279
+ event: e.Union([e.Literal("dataPointClick"), e.Literal("rowClick"), e.Literal("legendChange")]),
280
+ actionId: t
281
+ },
282
+ { additionalProperties: !1 }
283
+ ), o = e.Object(
284
+ {
285
+ formatOverrides: e.Optional(e.Record(e.String({ minLength: 1 }), u)),
286
+ presetIds: e.Optional(e.Array(t, { uniqueItems: !0 })),
287
+ interactions: e.Optional(e.Array(k))
288
+ },
289
+ { additionalProperties: !1 }
290
+ ), M = e.Object(
291
+ {
292
+ showComparison: e.Optional(e.Boolean()),
293
+ compareLabel: e.Optional(e.String()),
294
+ comparisonColorMode: e.Optional(e.Union([e.Literal("meaning"), e.Literal("direction")])),
295
+ compareMeaning: e.Optional(
296
+ e.Union([e.Literal("positive"), e.Literal("negative"), e.Literal("neutral")])
297
+ )
298
+ },
299
+ { additionalProperties: !1 }
300
+ ), $ = e.Object(
301
+ {
302
+ showLabels: e.Optional(e.Boolean()),
303
+ smooth: e.Optional(e.Union([e.Boolean(), e.Number({ minimum: 0, maximum: 1 })])),
304
+ markCategories: e.Optional(e.Array(e.Union([e.String(), e.Number()]), { uniqueItems: !0 })),
305
+ markValues: e.Optional(e.Array(e.Number(), { uniqueItems: !0 }))
306
+ },
307
+ { additionalProperties: !1 }
308
+ ), W = e.Object(
309
+ {
310
+ orientation: e.Optional(e.Union([e.Literal("vertical"), e.Literal("horizontal")])),
311
+ visibleCount: e.Optional(e.Integer({ minimum: 2, maximum: 200 })),
312
+ sort: e.Optional(e.Union([e.Literal("none"), e.Literal("ascending"), e.Literal("descending")])),
313
+ showLabels: e.Optional(e.Boolean()),
314
+ stacked: e.Optional(e.Boolean())
315
+ },
316
+ { additionalProperties: !1 }
317
+ ), H = e.Object(
318
+ {
319
+ maxItems: e.Optional(e.Integer({ minimum: 2, maximum: 100 })),
320
+ othersLabel: e.Optional(e.String({ minLength: 1 })),
321
+ donut: e.Optional(e.Boolean()),
322
+ showLegend: e.Optional(e.Boolean())
323
+ },
324
+ { additionalProperties: !1 }
325
+ ), s = e.Union([
326
+ e.Literal("neutral"),
327
+ e.Literal("info"),
328
+ e.Literal("success"),
329
+ e.Literal("warning"),
330
+ e.Literal("danger")
331
+ ]), J = e.Union([
332
+ e.Object(
333
+ {
334
+ type: e.Literal("progress"),
335
+ max: e.Optional(e.Number({ exclusiveMinimum: 0 }))
336
+ },
337
+ { additionalProperties: !1 }
338
+ ),
339
+ e.Object(
340
+ {
341
+ type: e.Literal("trend"),
342
+ positiveTone: e.Optional(s),
343
+ negativeTone: e.Optional(s),
344
+ zeroTone: e.Optional(s)
345
+ },
346
+ { additionalProperties: !1 }
347
+ ),
348
+ e.Object(
349
+ {
350
+ type: e.Literal("tag"),
351
+ toneByValue: e.Optional(e.Record(e.String({ minLength: 1 }), s)),
352
+ defaultTone: e.Optional(s)
353
+ },
354
+ { additionalProperties: !1 }
355
+ )
356
+ ]), _ = e.Object(
357
+ {
358
+ pageSize: e.Optional(e.Integer({ minimum: 1, maximum: 200 })),
359
+ showPagination: e.Optional(e.Boolean()),
360
+ sortableFields: e.Optional(e.Array(t, { uniqueItems: !0 })),
361
+ filterableFields: e.Optional(e.Array(t, { uniqueItems: !0 })),
362
+ columnWidths: e.Optional(
363
+ e.Record(e.String({ minLength: 1 }), e.Integer({ minimum: 60, maximum: 1200 }))
364
+ ),
365
+ columnDisplays: e.Optional(e.Record(e.String({ minLength: 1 }), J))
366
+ },
367
+ { additionalProperties: !1 }
368
+ ), G = e.Object(
369
+ {
370
+ maxItems: e.Optional(e.Integer({ minimum: 1, maximum: 200 })),
371
+ minFontSize: e.Optional(e.Integer({ minimum: 8, maximum: 100 })),
372
+ maxFontSize: e.Optional(e.Integer({ minimum: 8, maximum: 200 }))
373
+ },
374
+ { additionalProperties: !1 }
375
+ ), Z = e.Object({}, { additionalProperties: !1 }), K = e.Object(
376
+ {
377
+ type: e.Literal("metric"),
378
+ common: e.Optional(o),
379
+ metric: e.Optional(M)
380
+ },
381
+ { additionalProperties: !1 }
382
+ ), Q = e.Object(
383
+ {
384
+ type: e.Literal("line"),
385
+ common: e.Optional(o),
386
+ line: e.Optional($)
387
+ },
388
+ { additionalProperties: !1 }
389
+ ), X = e.Object(
390
+ {
391
+ type: e.Literal("bar"),
392
+ common: e.Optional(o),
393
+ bar: e.Optional(W)
394
+ },
395
+ { additionalProperties: !1 }
396
+ ), Y = e.Object(
397
+ {
398
+ type: e.Literal("pie"),
399
+ common: e.Optional(o),
400
+ pie: e.Optional(H)
401
+ },
402
+ { additionalProperties: !1 }
403
+ ), ee = e.Object(
404
+ {
405
+ type: e.Literal("table"),
406
+ common: e.Optional(o),
407
+ table: e.Optional(_)
408
+ },
409
+ { additionalProperties: !1 }
410
+ ), te = e.Object(
411
+ {
412
+ type: e.Literal("wordCloud"),
413
+ common: e.Optional(o),
414
+ wordCloud: e.Optional(G)
415
+ },
416
+ { additionalProperties: !1 }
417
+ ), ae = e.Object(
418
+ {
419
+ type: e.Literal("pivotTableS2"),
420
+ common: e.Optional(o),
421
+ pivotTableS2: e.Optional(Z)
422
+ },
423
+ { additionalProperties: !1 }
424
+ ), ie = e.Union([
425
+ K,
426
+ Q,
427
+ X,
428
+ Y,
429
+ ee,
430
+ te,
431
+ ae
432
+ ]), ne = e.Object(
433
+ {
434
+ span: e.Object(
435
+ {
436
+ xs: e.Integer({ minimum: 1, maximum: 24 }),
437
+ sm: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
438
+ md: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
439
+ lg: e.Optional(e.Integer({ minimum: 1, maximum: 24 })),
440
+ xl: e.Optional(e.Integer({ minimum: 1, maximum: 24 }))
441
+ },
442
+ { additionalProperties: !1 }
443
+ ),
444
+ minHeight: e.Optional(e.Number({ minimum: 0 }))
445
+ },
446
+ { additionalProperties: !1 }
447
+ ), oe = e.Object(
448
+ {
449
+ id: t,
450
+ label: e.Optional(e.String()),
451
+ actionId: t
452
+ },
453
+ { additionalProperties: !1 }
454
+ ), re = e.Object(
455
+ {
456
+ id: t,
457
+ title: e.String({ minLength: 1 }),
458
+ titleNote: e.Optional(e.String()),
459
+ description: e.Optional(e.String()),
460
+ rendererId: t,
461
+ adapterId: e.Optional(t),
462
+ binding: N,
463
+ enhancement: e.Optional(ie),
464
+ actions: e.Optional(e.Array(oe)),
465
+ layout: ne
466
+ },
467
+ { additionalProperties: !1 }
468
+ ), ge = e.Object(
469
+ {
470
+ schemaVersion: e.Literal(L),
471
+ id: t,
472
+ title: e.String({ minLength: 1 }),
473
+ description: e.Optional(e.String()),
474
+ variables: e.Optional(e.Array(I)),
475
+ filterBar: e.Optional(B),
476
+ requests: e.Array(C),
477
+ datasets: e.Array(U),
478
+ panels: e.Array(re)
479
+ },
480
+ {
481
+ $id: "https://blazes.dev/schemas/dashboard-config-1.0.json",
482
+ additionalProperties: !1
483
+ }
484
+ );
485
+ class le extends Error {
486
+ constructor(n) {
487
+ super(n.map((l) => `${l.path}: ${l.message}`).join(`
488
+ `));
489
+ c(this, "issues");
490
+ this.name = "RuntimeSchemaValidationError", this.issues = n;
491
+ }
492
+ }
493
+ const se = {
494
+ allErrors: !0,
495
+ coerceTypes: !1,
496
+ strict: !0,
497
+ strictNumbers: !0,
498
+ useDefaults: !1
499
+ };
500
+ function me(a) {
501
+ const i = a.keyword === "required" ? a.params.missingProperty : void 0;
502
+ return {
503
+ path: `${a.instancePath || "/"}${i ? `/${String(i)}` : ""}`,
504
+ keyword: a.keyword,
505
+ message: a.message ?? "Schema validation failed",
506
+ params: Object.freeze({ ...a.params })
507
+ };
508
+ }
509
+ function ce(a, i = []) {
510
+ const n = new b(se);
511
+ S(n), i.forEach((r) => n.addSchema(r));
512
+ const l = n.compile(a);
513
+ return Object.freeze({
514
+ jsonSchema: a,
515
+ validate(r) {
516
+ return l(r) ? { success: !0, value: r, issues: [] } : {
517
+ success: !1,
518
+ issues: Object.freeze((l.errors ?? []).map(me))
519
+ };
520
+ },
521
+ assert(r) {
522
+ const m = this.validate(r);
523
+ if (!m.success)
524
+ throw new le(m.issues);
525
+ return m.value;
526
+ }
527
+ });
528
+ }
529
+ function he(a, i = []) {
530
+ return ce(
531
+ a,
532
+ i
533
+ );
534
+ }
535
+ export {
536
+ ie as A,
537
+ T as B,
538
+ o as C,
539
+ L as D,
540
+ G as E,
541
+ te as F,
542
+ ce as G,
543
+ he as H,
544
+ t as I,
545
+ y as J,
546
+ R as L,
547
+ w as M,
548
+ N as P,
549
+ x as R,
550
+ z as T,
551
+ u as V,
552
+ q as W,
553
+ W as a,
554
+ X as b,
555
+ ge as c,
556
+ B as d,
557
+ v as e,
558
+ I as f,
559
+ C as g,
560
+ U as h,
561
+ E as i,
562
+ F as j,
563
+ $ as k,
564
+ Q as l,
565
+ M as m,
566
+ K as n,
567
+ re as o,
568
+ V as p,
569
+ H as q,
570
+ Y as r,
571
+ D as s,
572
+ Z as t,
573
+ ae as u,
574
+ le as v,
575
+ J as w,
576
+ s as x,
577
+ _ as y,
578
+ ee as z
579
+ };
580
+ //# sourceMappingURL=runtime-schema-BO2qLlvE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-schema-BO2qLlvE.js","sources":["../src/core/config/schema-version.ts","../src/core/config/dashboard-config-schema.ts","../src/core/config/runtime-schema.ts"],"sourcesContent":["export const DASHBOARD_SCHEMA_VERSION = \"1.0\" as const;\n\nexport type DashboardSchemaVersion = typeof DASHBOARD_SCHEMA_VERSION;\n","import { Type, type Static } from \"@sinclair/typebox\";\n\nimport { DASHBOARD_SCHEMA_VERSION } from \"./schema-version\";\n\nconst identifierPattern = \"^[A-Za-z0-9][A-Za-z0-9._:-]*$\";\n\nexport const IdentifierSchema = Type.String({ minLength: 1, pattern: identifierPattern });\n\nexport const JsonValueSchema = Type.Recursive(\n (self) =>\n Type.Union([\n Type.Null(),\n Type.Boolean(),\n Type.Number(),\n Type.String(),\n Type.Array(self),\n Type.Record(Type.String(), self)\n ]),\n { $id: \"https://blazes.dev/schemas/json-value-1.0.json\" }\n);\n\nconst JsonValueReference = Type.Ref(JsonValueSchema);\nexport const ValueFormatSchema = Type.Object(\n {\n type: Type.Union([\n Type.Literal(\"number\"),\n Type.Literal(\"integer\"),\n Type.Literal(\"decimal\"),\n Type.Literal(\"percent\"),\n Type.Literal(\"currency\"),\n Type.Literal(\"date\"),\n Type.Literal(\"datetime\")\n ]),\n precision: Type.Optional(Type.Integer({ minimum: 0, maximum: 20 })),\n unit: Type.Optional(Type.String()),\n emptyText: Type.Optional(Type.String()),\n useGrouping: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n);\n\nexport const DashboardVariableConfigSchema = Type.Object(\n {\n id: IdentifierSchema,\n label: Type.String({ minLength: 1 }),\n defaultValue: JsonValueReference,\n urlKey: Type.Optional(Type.String({ minLength: 1 })),\n urlCodec: Type.Optional(\n Type.Union([\n Type.Literal(\"string\"),\n Type.Literal(\"number\"),\n Type.Literal(\"boolean\"),\n Type.Literal(\"string-array\"),\n Type.Literal(\"number-array\"),\n Type.Literal(\"json\")\n ])\n )\n },\n { additionalProperties: false }\n);\n\nconst FilterControlLayoutSchema = Type.Object(\n {\n xs: Type.Integer({ minimum: 1, maximum: 24 }),\n sm: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n md: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n lg: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n xl: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 }))\n },\n { additionalProperties: false }\n);\n\nconst FilterOptionSchema = Type.Object(\n {\n label: Type.String(),\n value: Type.Union([Type.String(), Type.Number(), Type.Boolean()]),\n disabled: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n);\n\nconst DateRangeFilterControlSchema = Type.Object(\n {\n id: IdentifierSchema,\n label: Type.String({ minLength: 1 }),\n type: Type.Literal(\"date-range\"),\n startVariableId: IdentifierSchema,\n endVariableId: IdentifierSchema,\n format: Type.Optional(Type.String({ minLength: 1 })),\n presets: Type.Optional(\n Type.Array(\n Type.Object(\n {\n id: IdentifierSchema,\n label: Type.String({ minLength: 1 }),\n days: Type.Integer({ minimum: 1 })\n },\n { additionalProperties: false }\n )\n )\n ),\n layout: FilterControlLayoutSchema,\n disabled: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n);\n\nfunction createSelectFilterControlSchema(type: \"select\" | \"multi-select\") {\n return Type.Object(\n {\n id: IdentifierSchema,\n label: Type.String({ minLength: 1 }),\n type: Type.Literal(type),\n variableId: IdentifierSchema,\n options: Type.Array(FilterOptionSchema),\n placeholder: Type.Optional(Type.String()),\n allowClear: Type.Optional(Type.Boolean()),\n showSearch: Type.Optional(Type.Boolean()),\n maxTagCount: Type.Optional(Type.Union([Type.Integer({ minimum: 0 }), Type.Literal(\"responsive\")])),\n layout: FilterControlLayoutSchema,\n disabled: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n );\n}\n\nexport const DashboardFilterControlConfigSchema = Type.Union([\n DateRangeFilterControlSchema,\n createSelectFilterControlSchema(\"select\"),\n createSelectFilterControlSchema(\"multi-select\")\n]);\n\nexport const DashboardFilterBarConfigSchema = Type.Object(\n {\n showRefresh: Type.Optional(Type.Boolean()),\n layout: Type.Optional(Type.Union([Type.Literal(\"grid\"), Type.Literal(\"flow\")])),\n controls: Type.Array(DashboardFilterControlConfigSchema)\n },\n { additionalProperties: false }\n);\n\nexport const RequestValueBindingSchema = Type.Union([\n Type.Object(\n {\n source: Type.Literal(\"constant\"),\n value: JsonValueReference\n },\n { additionalProperties: false }\n ),\n Type.Object(\n {\n source: Type.Literal(\"variable\"),\n variableId: IdentifierSchema,\n select: Type.Optional(Type.String({ minLength: 1 })),\n codecId: Type.Optional(IdentifierSchema),\n omitWhenEmpty: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n )\n]);\n\nexport const DataRequestConfigSchema = Type.Object(\n {\n id: IdentifierSchema,\n providerId: IdentifierSchema,\n operationId: IdentifierSchema,\n input: Type.Optional(Type.Record(Type.String({ minLength: 1 }), RequestValueBindingSchema))\n },\n { additionalProperties: false }\n);\n\nconst DatasetInputReferenceSchema = Type.Object(\n {\n requestId: IdentifierSchema,\n responsePath: Type.Optional(Type.String({ minLength: 1 }))\n },\n { additionalProperties: false }\n);\n\nexport const DatasetInputSchema = Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"single\"),\n requestId: IdentifierSchema,\n responsePath: Type.Optional(Type.String({ minLength: 1 }))\n },\n { additionalProperties: false }\n ),\n Type.Object(\n {\n type: Type.Literal(\"multiple\"),\n inputs: Type.Record(Type.String({ minLength: 1 }), DatasetInputReferenceSchema, { minProperties: 1 })\n },\n { additionalProperties: false }\n )\n]);\n\nexport const DatasetFieldConfigSchema = Type.Object(\n {\n key: IdentifierSchema,\n sourcePath: Type.Optional(Type.String({ minLength: 1 })),\n label: Type.String({ minLength: 1 }),\n role: Type.Union([Type.Literal(\"dimension\"), Type.Literal(\"metric\"), Type.Literal(\"time\")]),\n dataType: Type.Union([\n Type.Literal(\"string\"),\n Type.Literal(\"number\"),\n Type.Literal(\"boolean\"),\n Type.Literal(\"date\"),\n Type.Literal(\"datetime\")\n ]),\n required: Type.Optional(Type.Boolean()),\n coerce: Type.Optional(\n Type.Union([Type.Literal(\"number-string\"), Type.Literal(\"boolean-string\"), Type.Literal(\"iso-date\")])\n ),\n unit: Type.Optional(Type.String()),\n format: Type.Optional(ValueFormatSchema),\n metricSemantics: Type.Optional(\n Type.Object(\n {\n betterDirection: Type.Union([Type.Literal(\"higher\"), Type.Literal(\"lower\"), Type.Literal(\"neutral\")])\n },\n { additionalProperties: false }\n )\n ),\n description: Type.Optional(Type.String())\n },\n { additionalProperties: false }\n);\n\nexport const DatasetConfigSchema = Type.Object(\n {\n id: IdentifierSchema,\n name: Type.String({ minLength: 1 }),\n description: Type.Optional(Type.String()),\n input: DatasetInputSchema,\n fields: Type.Array(DatasetFieldConfigSchema, { minItems: 1 }),\n transformerId: Type.Optional(IdentifierSchema)\n },\n { additionalProperties: false }\n);\n\nexport const MetricBindingSchema = Type.Object(\n {\n type: Type.Literal(\"metric\"),\n datasetId: IdentifierSchema,\n valueField: IdentifierSchema,\n compareField: Type.Optional(IdentifierSchema)\n },\n { additionalProperties: false }\n);\n\nexport const LineBindingSchema = Type.Object(\n {\n type: Type.Literal(\"line\"),\n datasetId: IdentifierSchema,\n xField: IdentifierSchema,\n yFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true }),\n seriesField: Type.Optional(IdentifierSchema)\n },\n { additionalProperties: false }\n);\n\nexport const BarBindingSchema = Type.Object(\n {\n type: Type.Literal(\"bar\"),\n datasetId: IdentifierSchema,\n categoryField: IdentifierSchema,\n valueFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true }),\n seriesField: Type.Optional(IdentifierSchema)\n },\n { additionalProperties: false }\n);\n\nexport const PieBindingSchema = Type.Object(\n {\n type: Type.Literal(\"pie\"),\n datasetId: IdentifierSchema,\n nameField: IdentifierSchema,\n valueField: IdentifierSchema\n },\n { additionalProperties: false }\n);\n\nexport const TableBindingSchema = Type.Object(\n {\n type: Type.Literal(\"table\"),\n datasetId: IdentifierSchema,\n columns: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true })\n },\n { additionalProperties: false }\n);\n\nexport const WordCloudBindingSchema = Type.Object(\n {\n type: Type.Literal(\"wordCloud\"),\n datasetId: IdentifierSchema,\n labelFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true }),\n valueField: IdentifierSchema,\n semanticField: Type.Optional(IdentifierSchema)\n },\n { additionalProperties: false }\n);\n\nexport const PivotTableS2BindingSchema = Type.Object(\n {\n type: Type.Literal(\"pivotTableS2\"),\n datasetId: IdentifierSchema,\n rowFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true }),\n columnFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true }),\n valueFields: Type.Array(IdentifierSchema, { minItems: 1, uniqueItems: true })\n },\n { additionalProperties: false }\n);\n\nexport const PanelBindingSchema = Type.Union([\n MetricBindingSchema,\n LineBindingSchema,\n BarBindingSchema,\n PieBindingSchema,\n TableBindingSchema,\n WordCloudBindingSchema,\n PivotTableS2BindingSchema\n]);\n\nconst InteractionBindingSchema = Type.Object(\n {\n event: Type.Union([Type.Literal(\"dataPointClick\"), Type.Literal(\"rowClick\"), Type.Literal(\"legendChange\")]),\n actionId: IdentifierSchema\n },\n { additionalProperties: false }\n);\n\nexport const CommonEnhancementSchema = Type.Object(\n {\n formatOverrides: Type.Optional(Type.Record(Type.String({ minLength: 1 }), ValueFormatSchema)),\n presetIds: Type.Optional(Type.Array(IdentifierSchema, { uniqueItems: true })),\n interactions: Type.Optional(Type.Array(InteractionBindingSchema))\n },\n { additionalProperties: false }\n);\n\nexport const MetricEnhancementSchema = Type.Object(\n {\n showComparison: Type.Optional(Type.Boolean()),\n compareLabel: Type.Optional(Type.String()),\n comparisonColorMode: Type.Optional(Type.Union([Type.Literal(\"meaning\"), Type.Literal(\"direction\")])),\n compareMeaning: Type.Optional(\n Type.Union([Type.Literal(\"positive\"), Type.Literal(\"negative\"), Type.Literal(\"neutral\")])\n )\n },\n { additionalProperties: false }\n);\n\nexport const LineEnhancementSchema = Type.Object(\n {\n showLabels: Type.Optional(Type.Boolean()),\n smooth: Type.Optional(Type.Union([Type.Boolean(), Type.Number({ minimum: 0, maximum: 1 })])),\n markCategories: Type.Optional(Type.Array(Type.Union([Type.String(), Type.Number()]), { uniqueItems: true })),\n markValues: Type.Optional(Type.Array(Type.Number(), { uniqueItems: true }))\n },\n { additionalProperties: false }\n);\n\nexport const BarEnhancementSchema = Type.Object(\n {\n orientation: Type.Optional(Type.Union([Type.Literal(\"vertical\"), Type.Literal(\"horizontal\")])),\n visibleCount: Type.Optional(Type.Integer({ minimum: 2, maximum: 200 })),\n sort: Type.Optional(Type.Union([Type.Literal(\"none\"), Type.Literal(\"ascending\"), Type.Literal(\"descending\")])),\n showLabels: Type.Optional(Type.Boolean()),\n stacked: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n);\n\nexport const PieEnhancementSchema = Type.Object(\n {\n maxItems: Type.Optional(Type.Integer({ minimum: 2, maximum: 100 })),\n othersLabel: Type.Optional(Type.String({ minLength: 1 })),\n donut: Type.Optional(Type.Boolean()),\n showLegend: Type.Optional(Type.Boolean())\n },\n { additionalProperties: false }\n);\n\nexport const TableCellToneSchema = Type.Union([\n Type.Literal(\"neutral\"),\n Type.Literal(\"info\"),\n Type.Literal(\"success\"),\n Type.Literal(\"warning\"),\n Type.Literal(\"danger\")\n]);\n\nexport const TableCellDisplaySchema = Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"progress\"),\n max: Type.Optional(Type.Number({ exclusiveMinimum: 0 }))\n },\n { additionalProperties: false }\n ),\n Type.Object(\n {\n type: Type.Literal(\"trend\"),\n positiveTone: Type.Optional(TableCellToneSchema),\n negativeTone: Type.Optional(TableCellToneSchema),\n zeroTone: Type.Optional(TableCellToneSchema)\n },\n { additionalProperties: false }\n ),\n Type.Object(\n {\n type: Type.Literal(\"tag\"),\n toneByValue: Type.Optional(Type.Record(Type.String({ minLength: 1 }), TableCellToneSchema)),\n defaultTone: Type.Optional(TableCellToneSchema)\n },\n { additionalProperties: false }\n )\n]);\n\nexport const TableEnhancementSchema = Type.Object(\n {\n pageSize: Type.Optional(Type.Integer({ minimum: 1, maximum: 200 })),\n showPagination: Type.Optional(Type.Boolean()),\n sortableFields: Type.Optional(Type.Array(IdentifierSchema, { uniqueItems: true })),\n filterableFields: Type.Optional(Type.Array(IdentifierSchema, { uniqueItems: true })),\n columnWidths: Type.Optional(\n Type.Record(Type.String({ minLength: 1 }), Type.Integer({ minimum: 60, maximum: 1200 }))\n ),\n columnDisplays: Type.Optional(Type.Record(Type.String({ minLength: 1 }), TableCellDisplaySchema))\n },\n { additionalProperties: false }\n);\n\nexport const WordCloudEnhancementSchema = Type.Object(\n {\n maxItems: Type.Optional(Type.Integer({ minimum: 1, maximum: 200 })),\n minFontSize: Type.Optional(Type.Integer({ minimum: 8, maximum: 100 })),\n maxFontSize: Type.Optional(Type.Integer({ minimum: 8, maximum: 200 }))\n },\n { additionalProperties: false }\n);\n\nexport const PivotTableS2EnhancementSchema = Type.Object({}, { additionalProperties: false });\n\nexport const MetricVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"metric\"),\n common: Type.Optional(CommonEnhancementSchema),\n metric: Type.Optional(MetricEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const LineVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"line\"),\n common: Type.Optional(CommonEnhancementSchema),\n line: Type.Optional(LineEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const BarVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"bar\"),\n common: Type.Optional(CommonEnhancementSchema),\n bar: Type.Optional(BarEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const PieVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"pie\"),\n common: Type.Optional(CommonEnhancementSchema),\n pie: Type.Optional(PieEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const TableVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"table\"),\n common: Type.Optional(CommonEnhancementSchema),\n table: Type.Optional(TableEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const WordCloudVisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"wordCloud\"),\n common: Type.Optional(CommonEnhancementSchema),\n wordCloud: Type.Optional(WordCloudEnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const PivotTableS2VisualizationEnhancementSchema = Type.Object(\n {\n type: Type.Literal(\"pivotTableS2\"),\n common: Type.Optional(CommonEnhancementSchema),\n pivotTableS2: Type.Optional(PivotTableS2EnhancementSchema)\n },\n { additionalProperties: false }\n);\n\nexport const VisualizationEnhancementSchema = Type.Union([\n MetricVisualizationEnhancementSchema,\n LineVisualizationEnhancementSchema,\n BarVisualizationEnhancementSchema,\n PieVisualizationEnhancementSchema,\n TableVisualizationEnhancementSchema,\n WordCloudVisualizationEnhancementSchema,\n PivotTableS2VisualizationEnhancementSchema\n]);\n\nconst ResponsivePanelLayoutSchema = Type.Object(\n {\n span: Type.Object(\n {\n xs: Type.Integer({ minimum: 1, maximum: 24 }),\n sm: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n md: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n lg: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 })),\n xl: Type.Optional(Type.Integer({ minimum: 1, maximum: 24 }))\n },\n { additionalProperties: false }\n ),\n minHeight: Type.Optional(Type.Number({ minimum: 0 }))\n },\n { additionalProperties: false }\n);\n\nconst PanelActionConfigSchema = Type.Object(\n {\n id: IdentifierSchema,\n label: Type.Optional(Type.String()),\n actionId: IdentifierSchema\n },\n { additionalProperties: false }\n);\n\nexport const PanelConfigSchema = Type.Object(\n {\n id: IdentifierSchema,\n title: Type.String({ minLength: 1 }),\n titleNote: Type.Optional(Type.String()),\n description: Type.Optional(Type.String()),\n rendererId: IdentifierSchema,\n adapterId: Type.Optional(IdentifierSchema),\n binding: PanelBindingSchema,\n enhancement: Type.Optional(VisualizationEnhancementSchema),\n actions: Type.Optional(Type.Array(PanelActionConfigSchema)),\n layout: ResponsivePanelLayoutSchema\n },\n { additionalProperties: false }\n);\n\nexport const DashboardConfigSchema = Type.Object(\n {\n schemaVersion: Type.Literal(DASHBOARD_SCHEMA_VERSION),\n id: IdentifierSchema,\n title: Type.String({ minLength: 1 }),\n description: Type.Optional(Type.String()),\n variables: Type.Optional(Type.Array(DashboardVariableConfigSchema)),\n filterBar: Type.Optional(DashboardFilterBarConfigSchema),\n requests: Type.Array(DataRequestConfigSchema),\n datasets: Type.Array(DatasetConfigSchema),\n panels: Type.Array(PanelConfigSchema)\n },\n {\n $id: \"https://blazes.dev/schemas/dashboard-config-1.0.json\",\n additionalProperties: false\n }\n);\n\nexport type ValueFormat = Static<typeof ValueFormatSchema>;\nexport type DashboardVariableConfig = Static<typeof DashboardVariableConfigSchema>;\nexport type DashboardFilterControlConfig = Static<typeof DashboardFilterControlConfigSchema>;\nexport type DashboardFilterBarConfig = Static<typeof DashboardFilterBarConfigSchema>;\nexport type RequestValueBinding = Static<typeof RequestValueBindingSchema>;\nexport type DataRequestConfig = Static<typeof DataRequestConfigSchema>;\nexport type DatasetInput = Static<typeof DatasetInputSchema>;\nexport type DatasetFieldConfig = Static<typeof DatasetFieldConfigSchema>;\nexport type DatasetConfig = Static<typeof DatasetConfigSchema>;\nexport type MetricBinding = Static<typeof MetricBindingSchema>;\nexport type LineBinding = Static<typeof LineBindingSchema>;\nexport type BarBinding = Static<typeof BarBindingSchema>;\nexport type PieBinding = Static<typeof PieBindingSchema>;\nexport type TableBinding = Static<typeof TableBindingSchema>;\nexport type WordCloudBinding = Static<typeof WordCloudBindingSchema>;\nexport type PivotTableS2Binding = Static<typeof PivotTableS2BindingSchema>;\nexport type PanelBinding = Static<typeof PanelBindingSchema>;\nexport type MetricEnhancement = Static<typeof MetricEnhancementSchema>;\nexport type LineEnhancement = Static<typeof LineEnhancementSchema>;\nexport type BarEnhancement = Static<typeof BarEnhancementSchema>;\nexport type PieEnhancement = Static<typeof PieEnhancementSchema>;\nexport type TableCellTone = Static<typeof TableCellToneSchema>;\nexport type TableCellDisplay = Static<typeof TableCellDisplaySchema>;\nexport type TableEnhancement = Static<typeof TableEnhancementSchema>;\nexport type WordCloudEnhancement = Static<typeof WordCloudEnhancementSchema>;\nexport type PivotTableS2Enhancement = Static<typeof PivotTableS2EnhancementSchema>;\nexport type VisualizationEnhancement = Static<typeof VisualizationEnhancementSchema>;\nexport type PanelConfig = Static<typeof PanelConfigSchema>;\nexport type DashboardConfig = Static<typeof DashboardConfigSchema>;\n","import type { Static, TSchema } from \"@sinclair/typebox\";\nimport Ajv2020, { type AnySchemaObject, type ErrorObject, type Options } from \"ajv/dist/2020.js\";\nimport addFormats from \"ajv-formats\";\n\nexport interface RuntimeSchemaIssue {\n path: string;\n keyword: string;\n message: string;\n params: Readonly<Record<string, unknown>>;\n}\n\nexport type RuntimeSchemaValidationResult<T> =\n { success: true; value: T; issues: readonly [] } | { success: false; issues: ReadonlyArray<RuntimeSchemaIssue> };\n\nexport interface RuntimeSchema<T> {\n readonly jsonSchema: Readonly<Record<string, unknown>>;\n validate(value: unknown): RuntimeSchemaValidationResult<T>;\n assert(value: unknown): T;\n}\n\nexport class RuntimeSchemaValidationError extends Error {\n readonly issues: ReadonlyArray<RuntimeSchemaIssue>;\n\n constructor(issues: ReadonlyArray<RuntimeSchemaIssue>) {\n super(issues.map((issue) => `${issue.path}: ${issue.message}`).join(\"\\n\"));\n this.name = \"RuntimeSchemaValidationError\";\n this.issues = issues;\n }\n}\n\nconst ajvOptions: Options = {\n allErrors: true,\n coerceTypes: false,\n strict: true,\n strictNumbers: true,\n useDefaults: false\n};\n\nfunction toIssue(error: ErrorObject): RuntimeSchemaIssue {\n const missingProperty = error.keyword === \"required\" ? error.params.missingProperty : undefined;\n const path = `${error.instancePath || \"/\"}${missingProperty ? `/${String(missingProperty)}` : \"\"}`;\n\n return {\n path,\n keyword: error.keyword,\n message: error.message ?? \"Schema validation failed\",\n params: Object.freeze({ ...error.params })\n };\n}\n\nexport function createJsonSchemaRuntimeSchema<T>(\n schema: AnySchemaObject,\n references: ReadonlyArray<AnySchemaObject> = []\n): RuntimeSchema<T> {\n const ajv = new Ajv2020(ajvOptions);\n addFormats(ajv);\n references.forEach((reference) => ajv.addSchema(reference));\n const validate = ajv.compile<T>(schema);\n\n return Object.freeze({\n jsonSchema: schema as Readonly<Record<string, unknown>>,\n validate(value: unknown): RuntimeSchemaValidationResult<T> {\n if (validate(value)) {\n return { success: true, value: value as T, issues: [] };\n }\n\n return {\n success: false,\n issues: Object.freeze((validate.errors ?? []).map(toIssue))\n };\n },\n assert(value: unknown): T {\n const result = this.validate(value);\n if (!result.success) {\n throw new RuntimeSchemaValidationError(result.issues);\n }\n return result.value;\n }\n });\n}\n\nexport function createTypeBoxRuntimeSchema<T extends TSchema>(\n schema: T,\n references: ReadonlyArray<TSchema> = []\n): RuntimeSchema<Static<T>> {\n return createJsonSchemaRuntimeSchema<Static<T>>(\n schema as AnySchemaObject,\n references as ReadonlyArray<AnySchemaObject>\n );\n}\n"],"names":["DASHBOARD_SCHEMA_VERSION","identifierPattern","IdentifierSchema","Type","JsonValueSchema","self","JsonValueReference","ValueFormatSchema","DashboardVariableConfigSchema","FilterControlLayoutSchema","FilterOptionSchema","DateRangeFilterControlSchema","createSelectFilterControlSchema","type","DashboardFilterControlConfigSchema","DashboardFilterBarConfigSchema","RequestValueBindingSchema","DataRequestConfigSchema","DatasetInputReferenceSchema","DatasetInputSchema","DatasetFieldConfigSchema","DatasetConfigSchema","MetricBindingSchema","LineBindingSchema","BarBindingSchema","PieBindingSchema","TableBindingSchema","WordCloudBindingSchema","PivotTableS2BindingSchema","PanelBindingSchema","InteractionBindingSchema","CommonEnhancementSchema","MetricEnhancementSchema","LineEnhancementSchema","BarEnhancementSchema","PieEnhancementSchema","TableCellToneSchema","TableCellDisplaySchema","TableEnhancementSchema","WordCloudEnhancementSchema","PivotTableS2EnhancementSchema","MetricVisualizationEnhancementSchema","LineVisualizationEnhancementSchema","BarVisualizationEnhancementSchema","PieVisualizationEnhancementSchema","TableVisualizationEnhancementSchema","WordCloudVisualizationEnhancementSchema","PivotTableS2VisualizationEnhancementSchema","VisualizationEnhancementSchema","ResponsivePanelLayoutSchema","PanelActionConfigSchema","PanelConfigSchema","DashboardConfigSchema","RuntimeSchemaValidationError","issues","issue","__publicField","ajvOptions","toIssue","error","missingProperty","createJsonSchemaRuntimeSchema","schema","references","ajv","Ajv2020","addFormats","reference","validate","value","result","createTypeBoxRuntimeSchema"],"mappings":"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"}