@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.
- package/README.md +238 -2
- package/dist/.vite/manifest.json +129 -0
- package/dist/PivotTableS2Renderer-C-Urwhuv.js +109 -0
- package/dist/PivotTableS2Renderer-C-Urwhuv.js.map +1 -0
- package/dist/WordCloudRenderer-7tzJz57a.js +96 -0
- package/dist/WordCloudRenderer-7tzJz57a.js.map +1 -0
- package/dist/core/adapter/index.d.ts +5 -0
- package/dist/core/adapter/index.d.ts.map +1 -0
- package/dist/core/adapter/standard-adapters.d.ts +211 -0
- package/dist/core/adapter/standard-adapters.d.ts.map +1 -0
- package/dist/core/adapter/standard-definitions.d.ts +230 -0
- package/dist/core/adapter/standard-definitions.d.ts.map +1 -0
- package/dist/core/adapter/types.d.ts +44 -0
- package/dist/core/adapter/types.d.ts.map +1 -0
- package/dist/core/adapter/view-models.d.ts +101 -0
- package/dist/core/adapter/view-models.d.ts.map +1 -0
- package/dist/core/config/config-validator.d.ts +27 -0
- package/dist/core/config/config-validator.d.ts.map +1 -0
- package/dist/core/config/dashboard-config-schema.d.ts +1360 -0
- package/dist/core/config/dashboard-config-schema.d.ts.map +1 -0
- package/dist/core/config/dashboard-config.d.ts +410 -0
- package/dist/core/config/dashboard-config.d.ts.map +1 -0
- package/dist/core/config/index.d.ts +9 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/json-value.d.ts +5 -0
- package/dist/core/config/json-value.d.ts.map +1 -0
- package/dist/core/config/runtime-schema.d.ts +28 -0
- package/dist/core/config/runtime-schema.d.ts.map +1 -0
- package/dist/core/config/schema-version.d.ts +3 -0
- package/dist/core/config/schema-version.d.ts.map +1 -0
- package/dist/core/config/serializable.d.ts +6 -0
- package/dist/core/config/serializable.d.ts.map +1 -0
- package/dist/core/config/value-path.d.ts +2 -0
- package/dist/core/config/value-path.d.ts.map +1 -0
- package/dist/core/dataset/dataset-runner.d.ts +28 -0
- package/dist/core/dataset/dataset-runner.d.ts.map +1 -0
- package/dist/core/dataset/index.d.ts +4 -0
- package/dist/core/dataset/index.d.ts.map +1 -0
- package/dist/core/dataset/normalize.d.ts +8 -0
- package/dist/core/dataset/normalize.d.ts.map +1 -0
- package/dist/core/dataset/types.d.ts +37 -0
- package/dist/core/dataset/types.d.ts.map +1 -0
- package/dist/core/export/csv.d.ts +11 -0
- package/dist/core/export/csv.d.ts.map +1 -0
- package/dist/core/export/index.d.ts +2 -0
- package/dist/core/export/index.d.ts.map +1 -0
- package/dist/core/formatter/index.d.ts +2 -0
- package/dist/core/formatter/index.d.ts.map +1 -0
- package/dist/core/formatter/value-formatter.d.ts +14 -0
- package/dist/core/formatter/value-formatter.d.ts.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +111 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/provider/data-provider.d.ts +18 -0
- package/dist/core/provider/data-provider.d.ts.map +1 -0
- package/dist/core/provider/index.d.ts +5 -0
- package/dist/core/provider/index.d.ts.map +1 -0
- package/dist/core/provider/request-executor.d.ts +48 -0
- package/dist/core/provider/request-executor.d.ts.map +1 -0
- package/dist/core/provider/request-value-codec.d.ts +15 -0
- package/dist/core/provider/request-value-codec.d.ts.map +1 -0
- package/dist/core/provider/resolve-request-input.d.ts +12 -0
- package/dist/core/provider/resolve-request-input.d.ts.map +1 -0
- package/dist/core/registry/core-registries.d.ts +15 -0
- package/dist/core/registry/core-registries.d.ts.map +1 -0
- package/dist/core/registry/index.d.ts +4 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/plugin-registry.d.ts +28 -0
- package/dist/core/registry/plugin-registry.d.ts.map +1 -0
- package/dist/core/registry/register-standard.d.ts +4 -0
- package/dist/core/registry/register-standard.d.ts.map +1 -0
- package/dist/core/runtime/dashboard-data-runtime.d.ts +26 -0
- package/dist/core/runtime/dashboard-data-runtime.d.ts.map +1 -0
- package/dist/core/runtime/dashboard-runtime.d.ts +458 -0
- package/dist/core/runtime/dashboard-runtime.d.ts.map +1 -0
- package/dist/core/runtime/dependency-graph.d.ts +11 -0
- package/dist/core/runtime/dependency-graph.d.ts.map +1 -0
- package/dist/core/runtime/index.d.ts +5 -0
- package/dist/core/runtime/index.d.ts.map +1 -0
- package/dist/core/runtime/types.d.ts +47 -0
- package/dist/core/runtime/types.d.ts.map +1 -0
- package/dist/core/telemetry/index.d.ts +2 -0
- package/dist/core/telemetry/index.d.ts.map +1 -0
- package/dist/core/telemetry/telemetry.d.ts +15 -0
- package/dist/core/telemetry/telemetry.d.ts.map +1 -0
- package/dist/core/variable/dashboard-context.d.ts +22 -0
- package/dist/core/variable/dashboard-context.d.ts.map +1 -0
- package/dist/core/variable/index.d.ts +3 -0
- package/dist/core/variable/index.d.ts.map +1 -0
- package/dist/core/variable/url-state.d.ts +17 -0
- package/dist/core/variable/url-state.d.ts.map +1 -0
- package/dist/csv-Dyrr2yMA.js +254 -0
- package/dist/csv-Dyrr2yMA.js.map +1 -0
- package/dist/dashboard-runtime-8a-9P8Ku.js +1540 -0
- package/dist/dashboard-runtime-8a-9P8Ku.js.map +1 -0
- package/dist/experimental/s2/PivotTableS2Renderer.vue.d.ts +18 -0
- package/dist/experimental/s2/PivotTableS2Renderer.vue.d.ts.map +1 -0
- package/dist/experimental/s2/index.d.ts +13 -0
- package/dist/experimental/s2/index.d.ts.map +1 -0
- package/dist/experimental/s2/index.js +66 -0
- package/dist/experimental/s2/index.js.map +1 -0
- package/dist/experimental/s2/pivot-table-s2.d.ts +23 -0
- package/dist/experimental/s2/pivot-table-s2.d.ts.map +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +111 -0
- package/dist/index.js.map +1 -0
- package/dist/renderers/word-cloud/WordCloudRenderer.vue.d.ts +20 -0
- package/dist/renderers/word-cloud/WordCloudRenderer.vue.d.ts.map +1 -0
- package/dist/renderers/word-cloud/index.d.ts +8 -0
- package/dist/renderers/word-cloud/index.d.ts.map +1 -0
- package/dist/renderers/word-cloud/index.js +17 -0
- package/dist/renderers/word-cloud/index.js.map +1 -0
- package/dist/runtime-schema-BO2qLlvE.js +580 -0
- package/dist/runtime-schema-BO2qLlvE.js.map +1 -0
- package/dist/serializable-DOOpLZyk.js +36 -0
- package/dist/serializable-DOOpLZyk.js.map +1 -0
- package/dist/standard-definitions-DHtaLAf1.js +351 -0
- package/dist/standard-definitions-DHtaLAf1.js.map +1 -0
- package/dist/value-formatter-D5QmLSMG.js +47 -0
- package/dist/value-formatter-D5QmLSMG.js.map +1 -0
- package/dist/visual-theme-DH-k3L51.js +23 -0
- package/dist/visual-theme-DH-k3L51.js.map +1 -0
- package/dist/vue/components/DashboardFilterBar.vue.d.ts +23 -0
- package/dist/vue/components/DashboardFilterBar.vue.d.ts.map +1 -0
- package/dist/vue/components/DashboardPanel.vue.d.ts +39 -0
- package/dist/vue/components/DashboardPanel.vue.d.ts.map +1 -0
- package/dist/vue/components/DashboardRenderer.vue.d.ts +57 -0
- package/dist/vue/components/DashboardRenderer.vue.d.ts.map +1 -0
- package/dist/vue/components/index.d.ts +4 -0
- package/dist/vue/components/index.d.ts.map +1 -0
- package/dist/vue/composables/index.d.ts +2 -0
- package/dist/vue/composables/index.d.ts.map +1 -0
- package/dist/vue/composables/use-dashboard-runtime.d.ts +17 -0
- package/dist/vue/composables/use-dashboard-runtime.d.ts.map +1 -0
- package/dist/vue/export/browser-download.d.ts +3 -0
- package/dist/vue/export/browser-download.d.ts.map +1 -0
- package/dist/vue/export/index.d.ts +2 -0
- package/dist/vue/export/index.d.ts.map +1 -0
- package/dist/vue/index.d.ts +7 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +1064 -0
- package/dist/vue/index.js.map +1 -0
- package/dist/vue/registry/index.d.ts +3 -0
- package/dist/vue/registry/index.d.ts.map +1 -0
- package/dist/vue/registry/register-standard.d.ts +3 -0
- package/dist/vue/registry/register-standard.d.ts.map +1 -0
- package/dist/vue/registry/renderer-registry.d.ts +12 -0
- package/dist/vue/registry/renderer-registry.d.ts.map +1 -0
- package/dist/vue/renderers/BarRenderer.vue.d.ts +24 -0
- package/dist/vue/renderers/BarRenderer.vue.d.ts.map +1 -0
- package/dist/vue/renderers/LineRenderer.vue.d.ts +24 -0
- package/dist/vue/renderers/LineRenderer.vue.d.ts.map +1 -0
- package/dist/vue/renderers/MetricRenderer.vue.d.ts +17 -0
- package/dist/vue/renderers/MetricRenderer.vue.d.ts.map +1 -0
- package/dist/vue/renderers/PieRenderer.vue.d.ts +24 -0
- package/dist/vue/renderers/PieRenderer.vue.d.ts.map +1 -0
- package/dist/vue/renderers/TableRenderer.vue.d.ts +21 -0
- package/dist/vue/renderers/TableRenderer.vue.d.ts.map +1 -0
- package/dist/vue/renderers/chart-format.d.ts +8 -0
- package/dist/vue/renderers/chart-format.d.ts.map +1 -0
- package/dist/vue/renderers/index.d.ts +7 -0
- package/dist/vue/renderers/index.d.ts.map +1 -0
- package/dist/vue/theme/index.d.ts +2 -0
- package/dist/vue/theme/index.d.ts.map +1 -0
- package/dist/vue/theme/visual-theme.d.ts +46 -0
- package/dist/vue/theme/visual-theme.d.ts.map +1 -0
- 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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"}
|