@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,36 @@
1
+ function y(r) {
2
+ const t = Object.getPrototypeOf(r);
3
+ return t === Object.prototype || t === null;
4
+ }
5
+ function o(r, t = /* @__PURE__ */ new Set()) {
6
+ if (r === null || typeof r == "string" || typeof r == "boolean")
7
+ return !0;
8
+ if (typeof r == "number")
9
+ return Number.isFinite(r);
10
+ if (typeof r != "object" || !y(r) && !Array.isArray(r) || t.has(r))
11
+ return !1;
12
+ t.add(r);
13
+ const n = Array.isArray(r) ? r.every((e) => o(e, t)) : Reflect.ownKeys(r).every(
14
+ (e) => typeof e == "string" && o(r[e], t)
15
+ );
16
+ return t.delete(r), n;
17
+ }
18
+ function f(r) {
19
+ return Array.isArray(r) ? r.map((t) => f(t)) : r !== null && typeof r == "object" ? Object.fromEntries(Object.entries(r).map(([t, n]) => [t, f(n)])) : r;
20
+ }
21
+ function i(r) {
22
+ return Array.isArray(r) ? r.map(i) : r !== null && typeof r == "object" ? Object.keys(r).sort().reduce((t, n) => (t[n] = i(r[n]), t), {}) : r;
23
+ }
24
+ function s(r) {
25
+ return JSON.stringify(i(r));
26
+ }
27
+ function c(r, t) {
28
+ return s(r) === s(t);
29
+ }
30
+ export {
31
+ f as c,
32
+ o as i,
33
+ c as j,
34
+ s
35
+ };
36
+ //# sourceMappingURL=serializable-DOOpLZyk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializable-DOOpLZyk.js","sources":["../src/core/config/serializable.ts"],"sourcesContent":["import type { JsonValue } from \"./json-value\";\n\nfunction isPlainObject(value: object): value is Record<string, unknown> {\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\n\nexport function isJsonValue(value: unknown, ancestors = new Set<object>()): value is JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\") {\n return true;\n }\n if (typeof value === \"number\") {\n return Number.isFinite(value);\n }\n if (typeof value !== \"object\" || (!isPlainObject(value) && !Array.isArray(value)) || ancestors.has(value)) {\n return false;\n }\n\n ancestors.add(value);\n const valid = Array.isArray(value)\n ? value.every((item) => isJsonValue(item, ancestors))\n : Reflect.ownKeys(value).every(\n (key) => typeof key === \"string\" && isJsonValue((value as Record<string, unknown>)[key], ancestors)\n );\n ancestors.delete(value);\n return valid;\n}\n\nexport function cloneJsonValue<T extends JsonValue>(value: T): T {\n if (Array.isArray(value)) {\n return value.map((item) => cloneJsonValue(item)) as T;\n }\n if (value !== null && typeof value === \"object\") {\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneJsonValue(item)])) as T;\n }\n return value;\n}\n\nfunction sortJsonValue(value: JsonValue): JsonValue {\n if (Array.isArray(value)) {\n return value.map(sortJsonValue);\n }\n if (value !== null && typeof value === \"object\") {\n return Object.keys(value)\n .sort()\n .reduce<Record<string, JsonValue>>((result, key) => {\n result[key] = sortJsonValue(value[key]!);\n return result;\n }, {});\n }\n return value;\n}\n\nexport function stableSerializeJson(value: JsonValue): string {\n return JSON.stringify(sortJsonValue(value));\n}\n\nexport function jsonValuesEqual(left: JsonValue, right: JsonValue): boolean {\n return stableSerializeJson(left) === stableSerializeJson(right);\n}\n"],"names":["isPlainObject","value","prototype","isJsonValue","ancestors","valid","item","key","cloneJsonValue","sortJsonValue","result","stableSerializeJson","jsonValuesEqual","left","right"],"mappings":"AAEA,SAASA,EAAcC,GAAiD;AACtE,QAAMC,IAAY,OAAO,eAAeD,CAAK;AAC7C,SAAOC,MAAc,OAAO,aAAaA,MAAc;AACzD;AAEO,SAASC,EAAYF,GAAgBG,IAAY,oBAAI,OAAmC;AAC7F,MAAIH,MAAU,QAAQ,OAAOA,KAAU,YAAY,OAAOA,KAAU;AAClE,WAAO;AAET,MAAI,OAAOA,KAAU;AACnB,WAAO,OAAO,SAASA,CAAK;AAE9B,MAAI,OAAOA,KAAU,YAAa,CAACD,EAAcC,CAAK,KAAK,CAAC,MAAM,QAAQA,CAAK,KAAMG,EAAU,IAAIH,CAAK;AACtG,WAAO;AAGT,EAAAG,EAAU,IAAIH,CAAK;AACnB,QAAMI,IAAQ,MAAM,QAAQJ,CAAK,IAC7BA,EAAM,MAAM,CAACK,MAASH,EAAYG,GAAMF,CAAS,CAAC,IAClD,QAAQ,QAAQH,CAAK,EAAE;AAAA,IACrB,CAACM,MAAQ,OAAOA,KAAQ,YAAYJ,EAAaF,EAAkCM,CAAG,GAAGH,CAAS;AAAA,EAAA;AAExG,SAAAA,EAAU,OAAOH,CAAK,GACfI;AACT;AAEO,SAASG,EAAoCP,GAAa;AAC/D,SAAI,MAAM,QAAQA,CAAK,IACdA,EAAM,IAAI,CAACK,MAASE,EAAeF,CAAI,CAAC,IAE7CL,MAAU,QAAQ,OAAOA,KAAU,WAC9B,OAAO,YAAY,OAAO,QAAQA,CAAK,EAAE,IAAI,CAAC,CAACM,GAAKD,CAAI,MAAM,CAACC,GAAKC,EAAeF,CAAI,CAAC,CAAC,CAAC,IAE5FL;AACT;AAEA,SAASQ,EAAcR,GAA6B;AAClD,SAAI,MAAM,QAAQA,CAAK,IACdA,EAAM,IAAIQ,CAAa,IAE5BR,MAAU,QAAQ,OAAOA,KAAU,WAC9B,OAAO,KAAKA,CAAK,EACrB,OACA,OAAkC,CAACS,GAAQH,OAC1CG,EAAOH,CAAG,IAAIE,EAAcR,EAAMM,CAAG,CAAE,GAChCG,IACN,CAAA,CAAE,IAEFT;AACT;AAEO,SAASU,EAAoBV,GAA0B;AAC5D,SAAO,KAAK,UAAUQ,EAAcR,CAAK,CAAC;AAC5C;AAEO,SAASW,EAAgBC,GAAiBC,GAA2B;AAC1E,SAAOH,EAAoBE,CAAI,MAAMF,EAAoBG,CAAK;AAChE;"}
@@ -0,0 +1,351 @@
1
+ import { s as R } from "./serializable-DOOpLZyk.js";
2
+ import { H as b, J as v, l as T, L as V, n as L, M as k, r as x, p as M, z as N, T as $, F as I, W as P, b as _, B as W } from "./runtime-schema-BO2qLlvE.js";
3
+ function g(e, i) {
4
+ const o = e.fields.find((t) => t.key === i);
5
+ if (!o) throw new Error(`Dataset ${e.datasetId} does not contain field ${i}.`);
6
+ return o;
7
+ }
8
+ function y(e, i) {
9
+ var o, t;
10
+ return ((t = (o = i == null ? void 0 : i.common) == null ? void 0 : o.formatOverrides) == null ? void 0 : t[e.key]) ?? e.format ?? { type: "number" };
11
+ }
12
+ function K(e, i) {
13
+ var o, t;
14
+ return ((t = (o = i == null ? void 0 : i.common) == null ? void 0 : o.formatOverrides) == null ? void 0 : t[e.key]) ?? e.format ?? (e.dataType === "date" || e.dataType === "datetime" ? { type: e.dataType } : void 0);
15
+ }
16
+ function D(e, i) {
17
+ return R({ format: y(e, i), unit: e.unit ?? null });
18
+ }
19
+ function z(e) {
20
+ return typeof e == "number" && Number.isFinite(e) ? e : null;
21
+ }
22
+ function j(e) {
23
+ return typeof e == "string" || typeof e == "number" && Number.isFinite(e) ? e : null;
24
+ }
25
+ function w(e) {
26
+ return `${typeof e}:${String(e)}`;
27
+ }
28
+ function A(e) {
29
+ return Object.freeze({ ...e, values: Object.freeze([...e.values]) });
30
+ }
31
+ function B(e, i, o, t, r) {
32
+ const s = [], a = /* @__PURE__ */ new Map();
33
+ if (e.rows.forEach((d) => {
34
+ const f = j(d[i]);
35
+ if (f === null) return;
36
+ const u = w(f);
37
+ a.has(u) || (a.set(u, s.length), s.push(f));
38
+ }), !t) {
39
+ const d = o.map((f) => {
40
+ const u = g(e, f), n = Array.from({ length: s.length }).fill(null);
41
+ return e.rows.forEach((m) => {
42
+ const F = j(m[i]);
43
+ if (F === null) return;
44
+ const O = a.get(w(F));
45
+ O !== void 0 && (n[O] = z(m[f]));
46
+ }), A({
47
+ id: u.key,
48
+ valueFieldId: u.key,
49
+ axisKey: D(u, r),
50
+ label: u.label,
51
+ values: n,
52
+ format: y(u, r),
53
+ ...u.unit ? { unit: u.unit } : {}
54
+ });
55
+ });
56
+ return { categories: s, series: d };
57
+ }
58
+ const p = o[0], c = g(e, p), l = /* @__PURE__ */ new Map();
59
+ return e.rows.forEach((d) => {
60
+ const f = j(d[i]), u = d[t];
61
+ if (f === null || u === null || u === void 0) return;
62
+ const n = String(u), m = `${typeof u}:${n}`, F = l.get(m) ?? {
63
+ label: n,
64
+ values: Array.from({ length: s.length }).fill(null)
65
+ }, O = a.get(w(f));
66
+ O !== void 0 && (F.values[O] = z(d[p])), l.set(m, F);
67
+ }), {
68
+ categories: s,
69
+ series: Array.from(
70
+ l,
71
+ ([d, f]) => A({
72
+ id: d,
73
+ valueFieldId: c.key,
74
+ axisKey: D(c, r),
75
+ label: f.label,
76
+ values: f.values,
77
+ format: y(c, r),
78
+ ...c.unit ? { unit: c.unit } : {}
79
+ })
80
+ )
81
+ };
82
+ }
83
+ function J(e, i) {
84
+ var o;
85
+ if (i != null && i.compareMeaning) return i.compareMeaning;
86
+ switch ((o = e.metricSemantics) == null ? void 0 : o.betterDirection) {
87
+ case "lower":
88
+ return "negative";
89
+ case "neutral":
90
+ return "neutral";
91
+ default:
92
+ return "positive";
93
+ }
94
+ }
95
+ const q = {
96
+ id: "metric.default",
97
+ adapt({ dataset: e, binding: i, enhancement: o }) {
98
+ const t = g(e, i.valueField), r = e.rows[0], s = z(r == null ? void 0 : r[i.valueField]), a = o == null ? void 0 : o.metric;
99
+ let p;
100
+ if (i.compareField && (a == null ? void 0 : a.showComparison) !== !1) {
101
+ const c = g(e, i.compareField), l = z(r == null ? void 0 : r[i.compareField]);
102
+ l !== null && (p = Object.freeze({
103
+ label: (a == null ? void 0 : a.compareLabel) ?? c.label,
104
+ value: l,
105
+ direction: l > 0 ? "up" : l < 0 ? "down" : "flat",
106
+ meaning: J(t, a),
107
+ colorMode: (a == null ? void 0 : a.comparisonColorMode) ?? "meaning",
108
+ format: y(c, o)
109
+ }));
110
+ }
111
+ return Object.freeze({
112
+ type: "metric",
113
+ empty: s === null,
114
+ label: t.label,
115
+ value: s,
116
+ format: y(t, o),
117
+ ...t.unit ? { unit: t.unit } : {},
118
+ ...p ? { comparison: p } : {}
119
+ });
120
+ }
121
+ }, G = {
122
+ id: "line.default",
123
+ adapt({ dataset: e, binding: i, enhancement: o }) {
124
+ const t = B(e, i.xField, i.yFields, i.seriesField, o), r = g(e, i.xField), s = o == null ? void 0 : o.line, a = K(r, o), p = t.series.some((c) => c.values.some((l) => l !== null));
125
+ return Object.freeze({
126
+ type: "line",
127
+ empty: t.categories.length === 0 || t.series.length === 0 || !p,
128
+ categories: Object.freeze(t.categories),
129
+ ...a ? { categoryFormat: a } : {},
130
+ series: Object.freeze(t.series),
131
+ showLabels: (s == null ? void 0 : s.showLabels) ?? !1,
132
+ smooth: (s == null ? void 0 : s.smooth) ?? !0,
133
+ annotations: Object.freeze([
134
+ ...((s == null ? void 0 : s.markCategories) ?? []).map((c) => ({ type: "category", value: c })),
135
+ ...((s == null ? void 0 : s.markValues) ?? []).map((c) => ({ type: "value", value: c }))
136
+ ])
137
+ });
138
+ }
139
+ };
140
+ function H(e, i, o) {
141
+ const t = e.map((r, s) => ({
142
+ category: String(r),
143
+ index: s,
144
+ value: i.reduce((a, p) => a + (p.values[s] ?? 0), 0)
145
+ }));
146
+ return o === "ascending" && t.sort((r, s) => r.value - s.value), o === "descending" && t.sort((r, s) => s.value - r.value), {
147
+ categories: t.map((r) => r.category),
148
+ series: i.map(
149
+ (r) => A({ ...r, values: t.map(({ index: s }) => r.values[s] ?? null) })
150
+ )
151
+ };
152
+ }
153
+ const Q = {
154
+ id: "bar.default",
155
+ adapt({ dataset: e, binding: i, enhancement: o }) {
156
+ const t = B(
157
+ e,
158
+ i.categoryField,
159
+ i.valueFields,
160
+ i.seriesField,
161
+ o
162
+ ), r = o == null ? void 0 : o.bar, s = H(t.categories, t.series, (r == null ? void 0 : r.sort) ?? "none");
163
+ return Object.freeze({
164
+ type: "bar",
165
+ empty: s.categories.length === 0 || s.series.length === 0,
166
+ categories: Object.freeze(s.categories),
167
+ series: Object.freeze(s.series),
168
+ orientation: (r == null ? void 0 : r.orientation) ?? "vertical",
169
+ ...(r == null ? void 0 : r.visibleCount) !== void 0 ? { visibleCount: r.visibleCount } : {},
170
+ showLabels: (r == null ? void 0 : r.showLabels) ?? !1,
171
+ stacked: (r == null ? void 0 : r.stacked) ?? !1
172
+ });
173
+ }
174
+ }, U = {
175
+ id: "pie.default",
176
+ adapt({ dataset: e, binding: i, enhancement: o }) {
177
+ const t = g(e, i.valueField), r = /* @__PURE__ */ new Map();
178
+ e.rows.forEach((l) => {
179
+ const d = l[i.nameField], f = z(l[i.valueField]), u = d == null ? "" : String(d).trim();
180
+ if (!u || f === null || f <= 0) return;
181
+ const n = r.get(u);
182
+ r.set(u, {
183
+ id: (n == null ? void 0 : n.id) ?? `item:${u}`,
184
+ label: u,
185
+ value: ((n == null ? void 0 : n.value) ?? 0) + f
186
+ });
187
+ });
188
+ const s = Array.from(r.values());
189
+ s.sort((l, d) => d.value - l.value);
190
+ const a = o == null ? void 0 : o.pie, p = a == null ? void 0 : a.maxItems;
191
+ let c = s;
192
+ if (p && s.length > p) {
193
+ const l = s.slice(0, p - 1), d = s.slice(p - 1);
194
+ l.push({
195
+ id: "__others__",
196
+ label: a.othersLabel ?? "Others",
197
+ value: d.reduce((f, u) => f + u.value, 0)
198
+ }), c = l;
199
+ }
200
+ return Object.freeze({
201
+ type: "pie",
202
+ empty: c.length === 0,
203
+ items: Object.freeze(c.map((l) => Object.freeze(l))),
204
+ valueFormat: y(t, o),
205
+ ...t.unit ? { unit: t.unit } : {},
206
+ donut: (a == null ? void 0 : a.donut) ?? !0,
207
+ showLegend: (a == null ? void 0 : a.showLegend) ?? !0
208
+ });
209
+ }
210
+ };
211
+ function C(e) {
212
+ return typeof e == "string" ? e.trim() || null : typeof e == "number" && Number.isFinite(e) || typeof e == "boolean" ? String(e) : null;
213
+ }
214
+ const X = {
215
+ id: "wordCloud.default",
216
+ adapt({ dataset: e, binding: i, enhancement: o }) {
217
+ const t = g(e, i.valueField);
218
+ i.labelFields.forEach((l) => g(e, l)), i.semanticField && g(e, i.semanticField);
219
+ const r = o == null ? void 0 : o.wordCloud, s = (r == null ? void 0 : r.minFontSize) ?? 12, a = (r == null ? void 0 : r.maxFontSize) ?? 56;
220
+ if (s > a) throw new Error("Word cloud minFontSize cannot be greater than maxFontSize.");
221
+ const p = e.rows.flatMap((l, d) => {
222
+ const f = i.labelFields.map((m) => C(l[m])), u = z(l[i.valueField]);
223
+ if (f.some((m) => m === null) || u === null || u <= 0) return [];
224
+ const n = i.semanticField ? C(l[i.semanticField]) : null;
225
+ return [
226
+ Object.freeze({
227
+ id: `${f.join(":")}:${d}`,
228
+ label: f.join(" · "),
229
+ value: u,
230
+ ...n ? { semantic: n } : {}
231
+ })
232
+ ];
233
+ });
234
+ p.sort((l, d) => d.value - l.value);
235
+ const c = p.slice(0, (r == null ? void 0 : r.maxItems) ?? 80);
236
+ return Object.freeze({
237
+ type: "wordCloud",
238
+ empty: c.length === 0,
239
+ words: Object.freeze(c),
240
+ valueFormat: y(t, o),
241
+ ...t.unit ? { unit: t.unit } : {},
242
+ minFontSize: s,
243
+ maxFontSize: a
244
+ });
245
+ }
246
+ }, Y = {
247
+ id: "table.default",
248
+ adapt({ dataset: e, binding: i, enhancement: o }) {
249
+ const t = o == null ? void 0 : o.table, r = new Set((t == null ? void 0 : t.sortableFields) ?? []), s = new Set((t == null ? void 0 : t.filterableFields) ?? []), a = i.columns.map((c) => {
250
+ var u, n;
251
+ const l = g(e, c), d = (u = t == null ? void 0 : t.columnWidths) == null ? void 0 : u[c], f = (n = t == null ? void 0 : t.columnDisplays) == null ? void 0 : n[c];
252
+ return Object.freeze({
253
+ field: l.key,
254
+ label: l.label,
255
+ dataType: l.dataType,
256
+ ...l.format ? { format: y(l, o) } : {},
257
+ ...l.unit ? { unit: l.unit } : {},
258
+ ...d ? { width: d } : {},
259
+ ...f ? { display: Z(f) } : {},
260
+ sortable: r.has(c),
261
+ filterable: s.has(c)
262
+ });
263
+ }), p = e.rows.map(
264
+ (c) => Object.freeze(Object.fromEntries(i.columns.map((l) => [l, c[l]])))
265
+ );
266
+ return Object.freeze({
267
+ type: "table",
268
+ empty: p.length === 0,
269
+ columns: Object.freeze(a),
270
+ rows: Object.freeze(p),
271
+ pageSize: (t == null ? void 0 : t.pageSize) ?? 50,
272
+ showPagination: (t == null ? void 0 : t.showPagination) ?? !0,
273
+ diagnostics: e.diagnostics
274
+ });
275
+ }
276
+ };
277
+ function Z(e) {
278
+ return e.type !== "tag" || !e.toneByValue ? Object.freeze({ ...e }) : Object.freeze({ ...e, toneByValue: Object.freeze({ ...e.toneByValue }) });
279
+ }
280
+ const le = Object.freeze([
281
+ q,
282
+ G,
283
+ Q,
284
+ U,
285
+ Y,
286
+ X
287
+ ]), S = {
288
+ responsive: !0,
289
+ csv: !0,
290
+ selection: !1
291
+ }, h = Object.freeze({
292
+ id: "metric",
293
+ defaultAdapterId: "metric.default",
294
+ bindingSchema: b(k),
295
+ enhancementSchema: b(L, [v]),
296
+ capabilities: Object.freeze({ ...S, png: !1 })
297
+ }), E = Object.freeze({
298
+ id: "line",
299
+ defaultAdapterId: "line.default",
300
+ bindingSchema: b(V),
301
+ enhancementSchema: b(T, [v]),
302
+ capabilities: Object.freeze({ ...S, png: !0, selection: !0 })
303
+ }), ee = Object.freeze({
304
+ id: "bar",
305
+ defaultAdapterId: "bar.default",
306
+ bindingSchema: b(W),
307
+ enhancementSchema: b(_, [v]),
308
+ capabilities: Object.freeze({ ...S, png: !0, selection: !0 })
309
+ }), te = Object.freeze({
310
+ id: "pie",
311
+ defaultAdapterId: "pie.default",
312
+ bindingSchema: b(M),
313
+ enhancementSchema: b(x, [v]),
314
+ capabilities: Object.freeze({ ...S, png: !0, selection: !0 })
315
+ }), re = Object.freeze({
316
+ id: "table",
317
+ defaultAdapterId: "table.default",
318
+ bindingSchema: b($),
319
+ enhancementSchema: b(N, [v]),
320
+ capabilities: Object.freeze({ ...S, png: !1, selection: !0 })
321
+ }), ie = Object.freeze({
322
+ id: "wordCloud",
323
+ defaultAdapterId: "wordCloud.default",
324
+ bindingSchema: b(P),
325
+ enhancementSchema: b(I, [v]),
326
+ capabilities: Object.freeze({ ...S, png: !0 })
327
+ }), ae = Object.freeze([
328
+ h,
329
+ E,
330
+ ee,
331
+ te,
332
+ re,
333
+ ie
334
+ ]);
335
+ export {
336
+ le as S,
337
+ ae as a,
338
+ Q as b,
339
+ ee as c,
340
+ E as d,
341
+ h as e,
342
+ te as f,
343
+ re as g,
344
+ ie as h,
345
+ G as l,
346
+ q as m,
347
+ U as p,
348
+ Y as t,
349
+ X as w
350
+ };
351
+ //# sourceMappingURL=standard-definitions-DHtaLAf1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-definitions-DHtaLAf1.js","sources":["../src/core/adapter/standard-adapters.ts","../src/core/adapter/standard-definitions.ts"],"sourcesContent":["import type {\n BarBinding,\n BarEnhancement,\n DatasetFieldConfig,\n LineBinding,\n LineEnhancement,\n MetricBinding,\n MetricEnhancement,\n PieBinding,\n PieEnhancement,\n TableBinding,\n TableCellDisplay,\n TableEnhancement,\n ValueFormat,\n VisualizationEnhancement,\n WordCloudBinding,\n WordCloudEnhancement\n} from \"../config\";\nimport { stableSerializeJson } from \"../config\";\nimport type { DatasetResult } from \"../dataset\";\nimport type { VisualizationAdapter } from \"./types\";\nimport type {\n BarViewModel,\n CartesianSeriesViewModel,\n LineViewModel,\n MetricViewModel,\n PieItemViewModel,\n PieViewModel,\n TableViewModel,\n WordCloudViewModel,\n WordCloudWordViewModel\n} from \"./view-models\";\n\ntype EnhancementFor<TType extends VisualizationEnhancement[\"type\"]> = Extract<\n VisualizationEnhancement,\n { type: TType }\n>;\n\nfunction requireField(dataset: DatasetResult, fieldId: string): DatasetFieldConfig {\n const field = dataset.fields.find((candidate) => candidate.key === fieldId);\n if (!field) throw new Error(`Dataset ${dataset.datasetId} does not contain field ${fieldId}.`);\n return field;\n}\n\nfunction resolveFormat(field: DatasetFieldConfig, enhancement?: VisualizationEnhancement): ValueFormat {\n return enhancement?.common?.formatOverrides?.[field.key] ?? field.format ?? { type: \"number\" };\n}\n\nfunction resolveCategoryFormat(\n field: DatasetFieldConfig,\n enhancement?: VisualizationEnhancement\n): ValueFormat | undefined {\n return (\n enhancement?.common?.formatOverrides?.[field.key] ??\n field.format ??\n (field.dataType === \"date\" || field.dataType === \"datetime\" ? { type: field.dataType } : undefined)\n );\n}\n\nfunction resolveAxisKey(field: DatasetFieldConfig, enhancement?: VisualizationEnhancement): string {\n return stableSerializeJson({ format: resolveFormat(field, enhancement), unit: field.unit ?? null });\n}\n\nfunction finiteNumber(value: unknown): number | null {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n}\n\nfunction categoryValue(value: unknown): string | number | null {\n if (typeof value === \"string\" || (typeof value === \"number\" && Number.isFinite(value))) return value;\n return null;\n}\n\nfunction stableCategoryKey(value: string | number): string {\n return `${typeof value}:${String(value)}`;\n}\n\nfunction freezeSeries(series: CartesianSeriesViewModel): CartesianSeriesViewModel {\n return Object.freeze({ ...series, values: Object.freeze([...series.values]) });\n}\n\nfunction buildCartesianSeries(\n dataset: DatasetResult,\n categoryFieldId: string,\n valueFieldIds: ReadonlyArray<string>,\n seriesFieldId: string | undefined,\n enhancement?: VisualizationEnhancement\n): { categories: Array<string | number>; series: CartesianSeriesViewModel[] } {\n const categories: Array<string | number> = [];\n const categoryIndexes = new Map<string, number>();\n dataset.rows.forEach((row) => {\n const category = categoryValue(row[categoryFieldId]);\n if (category === null) return;\n const key = stableCategoryKey(category);\n if (!categoryIndexes.has(key)) {\n categoryIndexes.set(key, categories.length);\n categories.push(category);\n }\n });\n\n if (!seriesFieldId) {\n const series = valueFieldIds.map((fieldId) => {\n const field = requireField(dataset, fieldId);\n const values = Array.from<number | null>({ length: categories.length }).fill(null);\n dataset.rows.forEach((row) => {\n const category = categoryValue(row[categoryFieldId]);\n if (category === null) return;\n const index = categoryIndexes.get(stableCategoryKey(category));\n if (index !== undefined) values[index] = finiteNumber(row[fieldId]);\n });\n return freezeSeries({\n id: field.key,\n valueFieldId: field.key,\n axisKey: resolveAxisKey(field, enhancement),\n label: field.label,\n values,\n format: resolveFormat(field, enhancement),\n ...(field.unit ? { unit: field.unit } : {})\n });\n });\n return { categories, series };\n }\n\n const valueFieldId = valueFieldIds[0]!;\n const valueField = requireField(dataset, valueFieldId);\n const seriesGroups = new Map<string, { label: string; values: Array<number | null> }>();\n dataset.rows.forEach((row) => {\n const category = categoryValue(row[categoryFieldId]);\n const group = row[seriesFieldId];\n if (category === null || group === null || group === undefined) return;\n const label = String(group);\n const groupKey = `${typeof group}:${label}`;\n const entry = seriesGroups.get(groupKey) ?? {\n label,\n values: Array.from<number | null>({ length: categories.length }).fill(null)\n };\n const index = categoryIndexes.get(stableCategoryKey(category));\n if (index !== undefined) entry.values[index] = finiteNumber(row[valueFieldId]);\n seriesGroups.set(groupKey, entry);\n });\n\n return {\n categories,\n series: Array.from(seriesGroups, ([id, entry]) =>\n freezeSeries({\n id,\n valueFieldId: valueField.key,\n axisKey: resolveAxisKey(valueField, enhancement),\n label: entry.label,\n values: entry.values,\n format: resolveFormat(valueField, enhancement),\n ...(valueField.unit ? { unit: valueField.unit } : {})\n })\n )\n };\n}\n\nfunction comparisonMeaning(field: DatasetFieldConfig, enhancement?: MetricEnhancement) {\n if (enhancement?.compareMeaning) return enhancement.compareMeaning;\n switch (field.metricSemantics?.betterDirection) {\n case \"lower\":\n return \"negative\" as const;\n case \"neutral\":\n return \"neutral\" as const;\n default:\n return \"positive\" as const;\n }\n}\n\nexport const metricAdapter: VisualizationAdapter<MetricBinding, EnhancementFor<\"metric\">, MetricViewModel> = {\n id: \"metric.default\",\n adapt({ dataset, binding, enhancement }) {\n const field = requireField(dataset, binding.valueField);\n const row = dataset.rows[0];\n const value = finiteNumber(row?.[binding.valueField]);\n const metricEnhancement = enhancement?.metric;\n let comparison: MetricViewModel[\"comparison\"];\n if (binding.compareField && metricEnhancement?.showComparison !== false) {\n const compareField = requireField(dataset, binding.compareField);\n const compareValue = finiteNumber(row?.[binding.compareField]);\n if (compareValue !== null) {\n comparison = Object.freeze({\n label: metricEnhancement?.compareLabel ?? compareField.label,\n value: compareValue,\n direction: compareValue > 0 ? \"up\" : compareValue < 0 ? \"down\" : \"flat\",\n meaning: comparisonMeaning(field, metricEnhancement),\n colorMode: metricEnhancement?.comparisonColorMode ?? \"meaning\",\n format: resolveFormat(compareField, enhancement)\n });\n }\n }\n\n return Object.freeze({\n type: \"metric\",\n empty: value === null,\n label: field.label,\n value,\n format: resolveFormat(field, enhancement),\n ...(field.unit ? { unit: field.unit } : {}),\n ...(comparison ? { comparison } : {})\n });\n }\n};\n\nexport const lineAdapter: VisualizationAdapter<LineBinding, EnhancementFor<\"line\">, LineViewModel> = {\n id: \"line.default\",\n adapt({ dataset, binding, enhancement }) {\n const result = buildCartesianSeries(dataset, binding.xField, binding.yFields, binding.seriesField, enhancement);\n const categoryField = requireField(dataset, binding.xField);\n const lineEnhancement: LineEnhancement | undefined = enhancement?.line;\n const categoryFormat = resolveCategoryFormat(categoryField, enhancement);\n const hasFiniteValue = result.series.some((series) => series.values.some((value) => value !== null));\n return Object.freeze({\n type: \"line\",\n empty: result.categories.length === 0 || result.series.length === 0 || !hasFiniteValue,\n categories: Object.freeze(result.categories),\n ...(categoryFormat ? { categoryFormat } : {}),\n series: Object.freeze(result.series),\n showLabels: lineEnhancement?.showLabels ?? false,\n smooth: lineEnhancement?.smooth ?? true,\n annotations: Object.freeze([\n ...(lineEnhancement?.markCategories ?? []).map((value) => ({ type: \"category\" as const, value })),\n ...(lineEnhancement?.markValues ?? []).map((value) => ({ type: \"value\" as const, value }))\n ])\n });\n }\n};\n\nfunction sortBarResult(\n categories: Array<string | number>,\n series: CartesianSeriesViewModel[],\n sort: BarEnhancement[\"sort\"]\n): { categories: string[]; series: CartesianSeriesViewModel[] } {\n const order = categories.map((category, index) => ({\n category: String(category),\n index,\n value: series.reduce((sum, item) => sum + (item.values[index] ?? 0), 0)\n }));\n if (sort === \"ascending\") order.sort((left, right) => left.value - right.value);\n if (sort === \"descending\") order.sort((left, right) => right.value - left.value);\n return {\n categories: order.map((item) => item.category),\n series: series.map((item) =>\n freezeSeries({ ...item, values: order.map(({ index }) => item.values[index] ?? null) })\n )\n };\n}\n\nexport const barAdapter: VisualizationAdapter<BarBinding, EnhancementFor<\"bar\">, BarViewModel> = {\n id: \"bar.default\",\n adapt({ dataset, binding, enhancement }) {\n const base = buildCartesianSeries(\n dataset,\n binding.categoryField,\n binding.valueFields,\n binding.seriesField,\n enhancement\n );\n const barEnhancement = enhancement?.bar;\n const result = sortBarResult(base.categories, base.series, barEnhancement?.sort ?? \"none\");\n return Object.freeze({\n type: \"bar\",\n empty: result.categories.length === 0 || result.series.length === 0,\n categories: Object.freeze(result.categories),\n series: Object.freeze(result.series),\n orientation: barEnhancement?.orientation ?? \"vertical\",\n ...(barEnhancement?.visibleCount !== undefined ? { visibleCount: barEnhancement.visibleCount } : {}),\n showLabels: barEnhancement?.showLabels ?? false,\n stacked: barEnhancement?.stacked ?? false\n });\n }\n};\n\nexport const pieAdapter: VisualizationAdapter<PieBinding, EnhancementFor<\"pie\">, PieViewModel> = {\n id: \"pie.default\",\n adapt({ dataset, binding, enhancement }) {\n const valueField = requireField(dataset, binding.valueField);\n const groupedItems = new Map<string, PieItemViewModel>();\n dataset.rows.forEach((row) => {\n const label = row[binding.nameField];\n const value = finiteNumber(row[binding.valueField]);\n const normalizedLabel = label === null || label === undefined ? \"\" : String(label).trim();\n if (!normalizedLabel || value === null || value <= 0) return;\n const existing = groupedItems.get(normalizedLabel);\n groupedItems.set(normalizedLabel, {\n id: existing?.id ?? `item:${normalizedLabel}`,\n label: normalizedLabel,\n value: (existing?.value ?? 0) + value\n });\n });\n const rawItems = Array.from(groupedItems.values());\n rawItems.sort((left, right) => right.value - left.value);\n const pieEnhancement: PieEnhancement | undefined = enhancement?.pie;\n const maxItems = pieEnhancement?.maxItems;\n let items = rawItems;\n if (maxItems && rawItems.length > maxItems) {\n const visible = rawItems.slice(0, maxItems - 1);\n const remaining = rawItems.slice(maxItems - 1);\n visible.push({\n id: \"__others__\",\n label: pieEnhancement.othersLabel ?? \"Others\",\n value: remaining.reduce((sum, item) => sum + item.value, 0)\n });\n items = visible;\n }\n return Object.freeze({\n type: \"pie\",\n empty: items.length === 0,\n items: Object.freeze(items.map((item) => Object.freeze(item))),\n valueFormat: resolveFormat(valueField, enhancement),\n ...(valueField.unit ? { unit: valueField.unit } : {}),\n donut: pieEnhancement?.donut ?? true,\n showLegend: pieEnhancement?.showLegend ?? true\n });\n }\n};\n\nfunction wordLabelPart(value: unknown): string | null {\n if (typeof value === \"string\") return value.trim() || null;\n if (typeof value === \"number\" && Number.isFinite(value)) return String(value);\n if (typeof value === \"boolean\") return String(value);\n return null;\n}\n\nexport const wordCloudAdapter: VisualizationAdapter<\n WordCloudBinding,\n EnhancementFor<\"wordCloud\">,\n WordCloudViewModel\n> = {\n id: \"wordCloud.default\",\n adapt({ dataset, binding, enhancement }) {\n const valueField = requireField(dataset, binding.valueField);\n binding.labelFields.forEach((fieldId) => requireField(dataset, fieldId));\n if (binding.semanticField) requireField(dataset, binding.semanticField);\n\n const wordCloudEnhancement: WordCloudEnhancement | undefined = enhancement?.wordCloud;\n const minFontSize = wordCloudEnhancement?.minFontSize ?? 12;\n const maxFontSize = wordCloudEnhancement?.maxFontSize ?? 56;\n if (minFontSize > maxFontSize) throw new Error(\"Word cloud minFontSize cannot be greater than maxFontSize.\");\n\n const words: WordCloudWordViewModel[] = dataset.rows.flatMap((row, index) => {\n const labelParts = binding.labelFields.map((fieldId) => wordLabelPart(row[fieldId]));\n const value = finiteNumber(row[binding.valueField]);\n if (labelParts.some((part) => part === null) || value === null || value <= 0) return [];\n\n const semantic = binding.semanticField ? wordLabelPart(row[binding.semanticField]) : null;\n return [\n Object.freeze({\n id: `${labelParts.join(\":\")}:${index}`,\n label: labelParts.join(\" · \"),\n value,\n ...(semantic ? { semantic } : {})\n })\n ];\n });\n words.sort((left, right) => right.value - left.value);\n const visibleWords = words.slice(0, wordCloudEnhancement?.maxItems ?? 80);\n\n return Object.freeze({\n type: \"wordCloud\",\n empty: visibleWords.length === 0,\n words: Object.freeze(visibleWords),\n valueFormat: resolveFormat(valueField, enhancement),\n ...(valueField.unit ? { unit: valueField.unit } : {}),\n minFontSize,\n maxFontSize\n });\n }\n};\n\nexport const tableAdapter: VisualizationAdapter<TableBinding, EnhancementFor<\"table\">, TableViewModel> = {\n id: \"table.default\",\n adapt({ dataset, binding, enhancement }) {\n const tableEnhancement: TableEnhancement | undefined = enhancement?.table;\n const sortableFields = new Set(tableEnhancement?.sortableFields ?? []);\n const filterableFields = new Set(tableEnhancement?.filterableFields ?? []);\n const columns = binding.columns.map((fieldId) => {\n const field = requireField(dataset, fieldId);\n const width = tableEnhancement?.columnWidths?.[fieldId];\n const display = tableEnhancement?.columnDisplays?.[fieldId];\n return Object.freeze({\n field: field.key,\n label: field.label,\n dataType: field.dataType,\n ...(field.format ? { format: resolveFormat(field, enhancement) } : {}),\n ...(field.unit ? { unit: field.unit } : {}),\n ...(width ? { width } : {}),\n ...(display ? { display: freezeTableCellDisplay(display) } : {}),\n sortable: sortableFields.has(fieldId),\n filterable: filterableFields.has(fieldId)\n });\n });\n const rows = dataset.rows.map((row) =>\n Object.freeze(Object.fromEntries(binding.columns.map((fieldId) => [fieldId, row[fieldId]])))\n );\n return Object.freeze({\n type: \"table\",\n empty: rows.length === 0,\n columns: Object.freeze(columns),\n rows: Object.freeze(rows),\n pageSize: tableEnhancement?.pageSize ?? 50,\n showPagination: tableEnhancement?.showPagination ?? true,\n diagnostics: dataset.diagnostics\n });\n }\n};\n\nfunction freezeTableCellDisplay(display: TableCellDisplay): TableCellDisplay {\n if (display.type !== \"tag\" || !display.toneByValue) return Object.freeze({ ...display });\n return Object.freeze({ ...display, toneByValue: Object.freeze({ ...display.toneByValue }) });\n}\n\nexport const STANDARD_ADAPTERS = Object.freeze([\n metricAdapter,\n lineAdapter,\n barAdapter,\n pieAdapter,\n tableAdapter,\n wordCloudAdapter\n]);\n","import {\n BarBindingSchema,\n BarVisualizationEnhancementSchema,\n JsonValueSchema,\n LineBindingSchema,\n LineVisualizationEnhancementSchema,\n MetricBindingSchema,\n MetricVisualizationEnhancementSchema,\n PieBindingSchema,\n PieVisualizationEnhancementSchema,\n TableBindingSchema,\n TableVisualizationEnhancementSchema,\n WordCloudBindingSchema,\n WordCloudVisualizationEnhancementSchema,\n createTypeBoxRuntimeSchema\n} from \"../config\";\nimport type { VisualizationRendererDefinition } from \"./types\";\n\nconst standardCapabilities = {\n responsive: true,\n csv: true,\n selection: false\n} as const;\n\nexport const metricRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"metric\",\n defaultAdapterId: \"metric.default\",\n bindingSchema: createTypeBoxRuntimeSchema(MetricBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(MetricVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: false })\n});\n\nexport const lineRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"line\",\n defaultAdapterId: \"line.default\",\n bindingSchema: createTypeBoxRuntimeSchema(LineBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(LineVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: true, selection: true })\n});\n\nexport const barRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"bar\",\n defaultAdapterId: \"bar.default\",\n bindingSchema: createTypeBoxRuntimeSchema(BarBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(BarVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: true, selection: true })\n});\n\nexport const pieRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"pie\",\n defaultAdapterId: \"pie.default\",\n bindingSchema: createTypeBoxRuntimeSchema(PieBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(PieVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: true, selection: true })\n});\n\nexport const tableRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"table\",\n defaultAdapterId: \"table.default\",\n bindingSchema: createTypeBoxRuntimeSchema(TableBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(TableVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: false, selection: true })\n});\n\nexport const wordCloudRendererDefinition: VisualizationRendererDefinition = Object.freeze({\n id: \"wordCloud\",\n defaultAdapterId: \"wordCloud.default\",\n bindingSchema: createTypeBoxRuntimeSchema(WordCloudBindingSchema),\n enhancementSchema: createTypeBoxRuntimeSchema(WordCloudVisualizationEnhancementSchema, [JsonValueSchema]),\n capabilities: Object.freeze({ ...standardCapabilities, png: true })\n});\n\nexport const STANDARD_RENDERER_DEFINITIONS = Object.freeze([\n metricRendererDefinition,\n lineRendererDefinition,\n barRendererDefinition,\n pieRendererDefinition,\n tableRendererDefinition,\n wordCloudRendererDefinition\n]);\n"],"names":["requireField","dataset","fieldId","field","candidate","resolveFormat","enhancement","_b","_a","resolveCategoryFormat","resolveAxisKey","stableSerializeJson","finiteNumber","value","categoryValue","stableCategoryKey","freezeSeries","series","buildCartesianSeries","categoryFieldId","valueFieldIds","seriesFieldId","categories","categoryIndexes","row","category","key","values","index","valueFieldId","valueField","seriesGroups","group","label","groupKey","entry","id","comparisonMeaning","metricAdapter","binding","metricEnhancement","comparison","compareField","compareValue","lineAdapter","result","categoryField","lineEnhancement","categoryFormat","hasFiniteValue","sortBarResult","sort","order","sum","item","left","right","barAdapter","base","barEnhancement","pieAdapter","groupedItems","normalizedLabel","existing","rawItems","pieEnhancement","maxItems","items","visible","remaining","wordLabelPart","wordCloudAdapter","wordCloudEnhancement","minFontSize","maxFontSize","words","labelParts","part","semantic","visibleWords","tableAdapter","tableEnhancement","sortableFields","filterableFields","columns","width","display","freezeTableCellDisplay","rows","STANDARD_ADAPTERS","standardCapabilities","metricRendererDefinition","createTypeBoxRuntimeSchema","MetricBindingSchema","MetricVisualizationEnhancementSchema","JsonValueSchema","lineRendererDefinition","LineBindingSchema","LineVisualizationEnhancementSchema","barRendererDefinition","BarBindingSchema","BarVisualizationEnhancementSchema","pieRendererDefinition","PieBindingSchema","PieVisualizationEnhancementSchema","tableRendererDefinition","TableBindingSchema","TableVisualizationEnhancementSchema","wordCloudRendererDefinition","WordCloudBindingSchema","WordCloudVisualizationEnhancementSchema","STANDARD_RENDERER_DEFINITIONS"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ function s(n, t, e) {
2
+ const i = t.type === "integer" ? 0 : t.precision, r = {
3
+ useGrouping: t.useGrouping ?? !0,
4
+ ...i === void 0 ? {} : {
5
+ minimumFractionDigits: i,
6
+ maximumFractionDigits: i
7
+ }
8
+ };
9
+ t.type === "percent" ? r.style = "percent" : t.type === "currency" && t.unit && /^[A-Z]{3}$/.test(t.unit) && (r.style = "currency", r.currency = t.unit);
10
+ const o = new Intl.NumberFormat(e.locale, r).format(n);
11
+ return t.unit && r.style !== "currency" && t.type !== "percent" ? `${o} ${t.unit}` : o;
12
+ }
13
+ function m(n, t, e) {
14
+ if (typeof n != "string" && typeof n != "number" && !(n instanceof Date))
15
+ return;
16
+ if (t.type === "date" && typeof n == "string" && /^\d{4}-\d{2}-\d{2}$/.test(n)) {
17
+ const r = /* @__PURE__ */ new Date(`${n}T12:00:00Z`);
18
+ return Number.isNaN(r.getTime()) ? void 0 : new Intl.DateTimeFormat(e.locale, { dateStyle: "medium", timeZone: "UTC" }).format(r);
19
+ }
20
+ const i = n instanceof Date ? n : new Date(n);
21
+ if (!Number.isNaN(i.getTime()))
22
+ return new Intl.DateTimeFormat(e.locale, {
23
+ dateStyle: "medium",
24
+ ...t.type === "datetime" ? { timeStyle: "medium" } : {},
25
+ timeZone: e.timezone
26
+ }).format(i);
27
+ }
28
+ class p {
29
+ formatDisplay(t, e, i) {
30
+ return t == null || t === "" ? e.emptyText ?? "--" : ["date", "datetime"].includes(e.type) ? m(t, e, i) ?? e.emptyText ?? "--" : typeof t != "number" || !Number.isFinite(t) ? typeof t == "string" ? t : e.emptyText ?? "--" : s(t, e, i);
31
+ }
32
+ formatTooltip(t, e, i) {
33
+ return this.formatDisplay(t, e, i);
34
+ }
35
+ formatAxis(t, e, i) {
36
+ return this.formatDisplay(t, e, i);
37
+ }
38
+ formatExport(t, e) {
39
+ return t == null || t === "" ? "" : typeof t == "number" || typeof t == "boolean" || typeof t == "string" ? t : t instanceof Date ? Number.isNaN(t.getTime()) ? "" : t.toISOString() : e.emptyText ?? "";
40
+ }
41
+ }
42
+ const y = new p();
43
+ export {
44
+ p as V,
45
+ y as v
46
+ };
47
+ //# sourceMappingURL=value-formatter-D5QmLSMG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-formatter-D5QmLSMG.js","sources":["../src/core/formatter/value-formatter.ts"],"sourcesContent":["import type { ValueFormat } from \"../config\";\n\nexport interface FormatterContext {\n locale: string;\n timezone: string;\n}\n\nexport type ExportValue = string | number | boolean;\n\nfunction formatNumber(value: number, format: ValueFormat, context: FormatterContext): string {\n const precision = format.type === \"integer\" ? 0 : format.precision;\n const options: Intl.NumberFormatOptions = {\n useGrouping: format.useGrouping ?? true,\n ...(precision === undefined\n ? {}\n : {\n minimumFractionDigits: precision,\n maximumFractionDigits: precision\n })\n };\n\n if (format.type === \"percent\") {\n options.style = \"percent\";\n } else if (format.type === \"currency\" && format.unit && /^[A-Z]{3}$/.test(format.unit)) {\n options.style = \"currency\";\n options.currency = format.unit;\n }\n\n const result = new Intl.NumberFormat(context.locale, options).format(value);\n return format.unit && options.style !== \"currency\" && format.type !== \"percent\" ? `${result} ${format.unit}` : result;\n}\n\nfunction formatDate(value: unknown, format: ValueFormat, context: FormatterContext): string | undefined {\n if (typeof value !== \"string\" && typeof value !== \"number\" && !(value instanceof Date)) {\n return undefined;\n }\n\n if (format.type === \"date\" && typeof value === \"string\" && /^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n const date = new Date(`${value}T12:00:00Z`);\n return Number.isNaN(date.getTime())\n ? undefined\n : new Intl.DateTimeFormat(context.locale, { dateStyle: \"medium\", timeZone: \"UTC\" }).format(date);\n }\n\n const date = value instanceof Date ? value : new Date(value);\n if (Number.isNaN(date.getTime())) return undefined;\n return new Intl.DateTimeFormat(context.locale, {\n dateStyle: \"medium\",\n ...(format.type === \"datetime\" ? { timeStyle: \"medium\" as const } : {}),\n timeZone: context.timezone\n }).format(date);\n}\n\nexport class ValueFormatter {\n formatDisplay(value: unknown, format: ValueFormat, context: FormatterContext): string {\n if (value === null || value === undefined || value === \"\") {\n return format.emptyText ?? \"--\";\n }\n if ([\"date\", \"datetime\"].includes(format.type)) {\n return formatDate(value, format, context) ?? format.emptyText ?? \"--\";\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n return typeof value === \"string\" ? value : (format.emptyText ?? \"--\");\n }\n return formatNumber(value, format, context);\n }\n\n formatTooltip(value: unknown, format: ValueFormat, context: FormatterContext): string {\n return this.formatDisplay(value, format, context);\n }\n\n formatAxis(value: unknown, format: ValueFormat, context: FormatterContext): string {\n return this.formatDisplay(value, format, context);\n }\n\n formatExport(value: unknown, format: ValueFormat): ExportValue {\n if (value === null || value === undefined || value === \"\") return \"\";\n if (typeof value === \"number\" || typeof value === \"boolean\") return value;\n if (typeof value === \"string\") return value;\n if (value instanceof Date) return Number.isNaN(value.getTime()) ? \"\" : value.toISOString();\n return format.emptyText ?? \"\";\n }\n}\n\nexport const valueFormatter = new ValueFormatter();\n"],"names":["formatNumber","value","format","context","precision","options","result","formatDate","date","ValueFormatter","valueFormatter"],"mappings":"AASA,SAASA,EAAaC,GAAeC,GAAqBC,GAAmC;AAC3F,QAAMC,IAAYF,EAAO,SAAS,YAAY,IAAIA,EAAO,WACnDG,IAAoC;AAAA,IACxC,aAAaH,EAAO,eAAe;AAAA,IACnC,GAAIE,MAAc,SACd,KACA;AAAA,MACE,uBAAuBA;AAAA,MACvB,uBAAuBA;AAAA,IAAA;AAAA,EACzB;AAGN,EAAIF,EAAO,SAAS,YAClBG,EAAQ,QAAQ,YACPH,EAAO,SAAS,cAAcA,EAAO,QAAQ,aAAa,KAAKA,EAAO,IAAI,MACnFG,EAAQ,QAAQ,YAChBA,EAAQ,WAAWH,EAAO;AAG5B,QAAMI,IAAS,IAAI,KAAK,aAAaH,EAAQ,QAAQE,CAAO,EAAE,OAAOJ,CAAK;AAC1E,SAAOC,EAAO,QAAQG,EAAQ,UAAU,cAAcH,EAAO,SAAS,YAAY,GAAGI,CAAM,IAAIJ,EAAO,IAAI,KAAKI;AACjH;AAEA,SAASC,EAAWN,GAAgBC,GAAqBC,GAA+C;AACtG,MAAI,OAAOF,KAAU,YAAY,OAAOA,KAAU,YAAY,EAAEA,aAAiB;AAC/E;AAGF,MAAIC,EAAO,SAAS,UAAU,OAAOD,KAAU,YAAY,sBAAsB,KAAKA,CAAK,GAAG;AAC5F,UAAMO,IAAO,oBAAI,KAAK,GAAGP,CAAK,YAAY;AAC1C,WAAO,OAAO,MAAMO,EAAK,QAAA,CAAS,IAC9B,SACA,IAAI,KAAK,eAAeL,EAAQ,QAAQ,EAAE,WAAW,UAAU,UAAU,OAAO,EAAE,OAAOK,CAAI;AAAA,EACnG;AAEA,QAAMA,IAAOP,aAAiB,OAAOA,IAAQ,IAAI,KAAKA,CAAK;AAC3D,MAAI,QAAO,MAAMO,EAAK,QAAA,CAAS;AAC/B,WAAO,IAAI,KAAK,eAAeL,EAAQ,QAAQ;AAAA,MAC7C,WAAW;AAAA,MACX,GAAID,EAAO,SAAS,aAAa,EAAE,WAAW,SAAA,IAAsB,CAAA;AAAA,MACpE,UAAUC,EAAQ;AAAA,IAAA,CACnB,EAAE,OAAOK,CAAI;AAChB;AAEO,MAAMC,EAAe;AAAA,EAC1B,cAAcR,GAAgBC,GAAqBC,GAAmC;AACpF,WAAIF,KAAU,QAA+BA,MAAU,KAC9CC,EAAO,aAAa,OAEzB,CAAC,QAAQ,UAAU,EAAE,SAASA,EAAO,IAAI,IACpCK,EAAWN,GAAOC,GAAQC,CAAO,KAAKD,EAAO,aAAa,OAE/D,OAAOD,KAAU,YAAY,CAAC,OAAO,SAASA,CAAK,IAC9C,OAAOA,KAAU,WAAWA,IAASC,EAAO,aAAa,OAE3DF,EAAaC,GAAOC,GAAQC,CAAO;AAAA,EAC5C;AAAA,EAEA,cAAcF,GAAgBC,GAAqBC,GAAmC;AACpF,WAAO,KAAK,cAAcF,GAAOC,GAAQC,CAAO;AAAA,EAClD;AAAA,EAEA,WAAWF,GAAgBC,GAAqBC,GAAmC;AACjF,WAAO,KAAK,cAAcF,GAAOC,GAAQC,CAAO;AAAA,EAClD;AAAA,EAEA,aAAaF,GAAgBC,GAAkC;AAC7D,WAAID,KAAU,QAA+BA,MAAU,KAAW,KAC9D,OAAOA,KAAU,YAAY,OAAOA,KAAU,aAC9C,OAAOA,KAAU,WAAiBA,IAClCA,aAAiB,OAAa,OAAO,MAAMA,EAAM,SAAS,IAAI,KAAKA,EAAM,YAAA,IACtEC,EAAO,aAAa;AAAA,EAC7B;AACF;AAEO,MAAMQ,IAAiB,IAAID,EAAA;"}
@@ -0,0 +1,23 @@
1
+ const e = Object.freeze(["#4f6bed", "#20a486", "#e9a23b", "#e36b5d", "#7f73d8", "#74a8c7"]), a = Object.freeze({
2
+ backgroundColor: "rgba(30, 38, 54, 0.94)",
3
+ borderWidth: 0,
4
+ padding: [9, 11],
5
+ textStyle: { color: "#fff", fontSize: 12 }
6
+ }), o = Object.freeze({
7
+ axisLine: { lineStyle: { color: "#dfe4ec" } },
8
+ axisTick: { show: !1 },
9
+ axisLabel: { color: "#8a94a6", fontSize: 11, margin: 13, hideOverlap: !0 }
10
+ }), s = Object.freeze({
11
+ splitNumber: 4,
12
+ axisLine: { show: !1 },
13
+ axisTick: { show: !1 },
14
+ axisLabel: { color: "#8a94a6", fontSize: 11 },
15
+ splitLine: { lineStyle: { color: "#edf0f5", type: "dashed" } }
16
+ });
17
+ export {
18
+ e as S,
19
+ a,
20
+ s as b,
21
+ o as c
22
+ };
23
+ //# sourceMappingURL=visual-theme-DH-k3L51.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-theme-DH-k3L51.js","sources":["../src/vue/theme/visual-theme.ts"],"sourcesContent":["export const STANDARD_CHART_COLORS = Object.freeze([\"#4f6bed\", \"#20a486\", \"#e9a23b\", \"#e36b5d\", \"#7f73d8\", \"#74a8c7\"]);\n\nexport const STANDARD_CHART_TOOLTIP = Object.freeze({\n backgroundColor: \"rgba(30, 38, 54, 0.94)\",\n borderWidth: 0,\n padding: [9, 11],\n textStyle: { color: \"#fff\", fontSize: 12 }\n});\n\nexport const STANDARD_CATEGORY_AXIS = Object.freeze({\n axisLine: { lineStyle: { color: \"#dfe4ec\" } },\n axisTick: { show: false },\n axisLabel: { color: \"#8a94a6\", fontSize: 11, margin: 13, hideOverlap: true }\n});\n\nexport const STANDARD_VALUE_AXIS = Object.freeze({\n splitNumber: 4,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: { color: \"#8a94a6\", fontSize: 11 },\n splitLine: { lineStyle: { color: \"#edf0f5\", type: \"dashed\" as const } }\n});\n"],"names":["STANDARD_CHART_COLORS","STANDARD_CHART_TOOLTIP","STANDARD_CATEGORY_AXIS","STANDARD_VALUE_AXIS"],"mappings":"AAAO,MAAMA,IAAwB,OAAO,OAAO,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,CAAC,GAExGC,IAAyB,OAAO,OAAO;AAAA,EAClD,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS,CAAC,GAAG,EAAE;AAAA,EACf,WAAW,EAAE,OAAO,QAAQ,UAAU,GAAA;AACxC,CAAC,GAEYC,IAAyB,OAAO,OAAO;AAAA,EAClD,UAAU,EAAE,WAAW,EAAE,OAAO,YAAU;AAAA,EAC1C,UAAU,EAAE,MAAM,GAAA;AAAA,EAClB,WAAW,EAAE,OAAO,WAAW,UAAU,IAAI,QAAQ,IAAI,aAAa,GAAA;AACxE,CAAC,GAEYC,IAAsB,OAAO,OAAO;AAAA,EAC/C,aAAa;AAAA,EACb,UAAU,EAAE,MAAM,GAAA;AAAA,EAClB,UAAU,EAAE,MAAM,GAAA;AAAA,EAClB,WAAW,EAAE,OAAO,WAAW,UAAU,GAAA;AAAA,EACzC,WAAW,EAAE,WAAW,EAAE,OAAO,WAAW,MAAM,WAAkB;AACtE,CAAC;"}
@@ -0,0 +1,23 @@
1
+ import type { DashboardContext, DashboardFilterBarConfig, JsonValue } from "../../core";
2
+ type __VLS_Props = {
3
+ config?: DashboardFilterBarConfig;
4
+ context: DashboardContext;
5
+ loading?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ change: (patch: Readonly<Record<string, JsonValue>>) => void;
9
+ refresh: () => void;
10
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>> & {
11
+ onChange?: (patch: Readonly<Record<string, JsonValue>>) => any;
12
+ onRefresh?: () => any;
13
+ }, {}, {}>;
14
+ export default _default;
15
+ type __VLS_TypePropsToOption<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: import('vue').PropType<T[K]>;
18
+ } : {
19
+ type: import('vue').PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
23
+ //# sourceMappingURL=DashboardFilterBar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardFilterBar.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/DashboardFilterBar.vue"],"names":[],"mappings":"AAwYA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EAGxB,SAAS,EACV,MAAM,YAAY,CAAC;AAIpB,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;;;;;;;;AAsavG,wBAOG;AAEH,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GACtC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { type Component } from "vue";
2
+ import type { DashboardContext, PanelConfig, PanelRuntimeState, VisualizationEvent, VisualizationRendererDefinition } from "../../core";
3
+ type __VLS_Props = {
4
+ panel: PanelConfig;
5
+ state: PanelRuntimeState;
6
+ context: DashboardContext;
7
+ definition: VisualizationRendererDefinition;
8
+ renderer: Component;
9
+ filterSummary?: string;
10
+ refreshDisabled?: boolean;
11
+ };
12
+ declare function exportPng(): string | undefined;
13
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
14
+ exportPng: typeof exportPng;
15
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
+ visualizationEvent: (event: VisualizationEvent) => void;
17
+ exportPng: () => void;
18
+ refresh: () => void;
19
+ retry: () => void;
20
+ exportCsv: () => void;
21
+ action: (actionId: string) => void;
22
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>> & {
23
+ onVisualizationEvent?: (event: VisualizationEvent) => any;
24
+ onRefresh?: () => any;
25
+ onExportPng?: () => any;
26
+ onRetry?: () => any;
27
+ onExportCsv?: () => any;
28
+ onAction?: (actionId: string) => any;
29
+ }, {}, {}>;
30
+ export default _default;
31
+ type __VLS_TypePropsToOption<T> = {
32
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
33
+ type: import('vue').PropType<T[K]>;
34
+ } : {
35
+ type: import('vue').PropType<T[K]>;
36
+ required: true;
37
+ };
38
+ };
39
+ //# sourceMappingURL=DashboardPanel.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardPanel.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/DashboardPanel.vue"],"names":[],"mappings":"AAqcA,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAE5E,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AAGpB,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,+BAA+B,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA0CF,iBAAS,SAAS,IAAI,MAAM,GAAG,SAAS,CAEvC;;;;;;;;;;;;;;;;;;AA2lBD,wBAQG;AAEH,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GACtC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}