react-semaphor 0.1.112 → 0.1.114

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 (28) hide show
  1. package/dist/chunks/{dashboard-controls-DkWaHy_5.js → dashboard-controls-BdvApPn1.js} +1 -1
  2. package/dist/chunks/{dashboard-controls-VimgiX8G.js → dashboard-controls-Dx3SP8_O.js} +3 -3
  3. package/dist/chunks/{dashboard-json-DawgqwNk.js → dashboard-json-BBUvHSx-.js} +1 -1
  4. package/dist/chunks/{dashboard-json-DNTtZ5pv.js → dashboard-json-CLmj5Xgn.js} +1 -1
  5. package/dist/chunks/edit-dashboard-visual-DYXisS8S.js +170 -0
  6. package/dist/chunks/{edit-dashboard-visual-BG7-vrl3.js → edit-dashboard-visual-F01R1pb1.js} +5061 -4662
  7. package/dist/chunks/{editor-action-buttons-B44i9J2T.js → editor-action-buttons-CCki6g0i.js} +47 -64
  8. package/dist/chunks/{editor-action-buttons-Bnm--1Q3.js → editor-action-buttons-D-aEUYpS.js} +2 -7
  9. package/dist/chunks/{index-B4KWd6kb.js → index-BB_Q9BeP.js} +18021 -16999
  10. package/dist/chunks/{index-BSu9QpLt.js → index-C2IITrDh.js} +212 -212
  11. package/dist/chunks/{resource-management-panel-CYYD4npf.js → resource-management-panel-BWpWiCnv.js} +1 -1
  12. package/dist/chunks/{resource-management-panel-BK6mk6Yh.js → resource-management-panel-C6G5vwpR.js} +49 -49
  13. package/dist/chunks/{schedule-dashboard-DY5u0lrr.js → schedule-dashboard-Bcu7Wcl2.js} +3 -3
  14. package/dist/chunks/{schedule-dashboard-BfRq8Eyv.js → schedule-dashboard-CNmepTOh.js} +1 -1
  15. package/dist/chunks/{use-visual-utils-D6mJYimZ.js → use-visual-utils-CQb_-z3Z.js} +54 -54
  16. package/dist/chunks/{use-visual-utils-BHAJGn9v.js → use-visual-utils-VFO0nbRa.js} +1 -1
  17. package/dist/dashboard/index.cjs +1 -1
  18. package/dist/dashboard/index.js +1 -1
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.js +22 -22
  21. package/dist/surfboard/index.cjs +1 -1
  22. package/dist/surfboard/index.js +1 -1
  23. package/dist/types/dashboard.d.ts +50 -1
  24. package/dist/types/main.d.ts +51 -2
  25. package/dist/types/surfboard.d.ts +50 -1
  26. package/dist/types/types.d.ts +50 -1
  27. package/package.json +1 -1
  28. package/dist/chunks/edit-dashboard-visual-D6fYDuaG.js +0 -170
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BSu9QpLt.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-C2IITrDh.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as a } from "../chunks/index-B4KWd6kb.js";
1
+ import { D as a } from "../chunks/index-BB_Q9BeP.js";
2
2
  import { EMPTY_SELECTION as e } from "../types/index.js";
3
3
  export {
4
4
  a as Dashboard,
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BSu9QpLt.js"),j=require("./types/index.cjs"),a=require("react/jsx-runtime"),g=require("react"),E=require("./chunks/resource-management-panel-CYYD4npf.js"),h=require("./chunks/schedule-dashboard-BfRq8Eyv.js");require("react-dom");function N(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const p=N(g);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-C2IITrDh.js"),j=require("./types/index.cjs"),a=require("react/jsx-runtime"),g=require("react"),E=require("./chunks/resource-management-panel-BWpWiCnv.js"),h=require("./chunks/schedule-dashboard-CNmepTOh.js");require("react-dom");function N(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const p=N(g);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { b as S, E as D, F as w, S as P, U as M, e as k, C as A, u as F, f as g, g as L, P as R, h as I, B as V, c as v, i as _, j as W, k as B, l as j, I as q, m as O, n as z, o as G, p as H, q as Q } from "./chunks/index-B4KWd6kb.js";
2
- import { G as oa, H as ta, D as na, x as ia, M as la, R as da, t as ca, t as ua, v as ha, a as pa, a9 as fa, Y as ma, z as Ca, N as va, _ as ya, Z as ba, a1 as ga, a2 as Da, W as xa, y as Ea, V as Na, K as Ta, L as Sa, J as wa, $ as Pa, T as Ma, Q as ka, O as Aa, a3 as Fa, a0 as La, w as Ra, a5 as Ia, a7 as Va, a6 as _a, a8 as Wa, A as Ba, r as ja, ab as qa, a4 as Oa, aa as za, s as Ga } from "./chunks/index-B4KWd6kb.js";
1
+ import { b as S, E as D, F as w, S as P, U as M, m as k, n as A, u as F, o as b, p as L, P as R, q as I, B as V, c as v, r as _, s as W, t as B, v as q, I as H, w as O, x as j, y as z, z as G, C as Q } from "./chunks/index-BB_Q9BeP.js";
2
+ import { T as oa, V as ta, D as na, M as ia, _ as la, R as da, H as ca, H as ua, J as ha, a as pa, ah as fa, a5 as ma, O as Ca, $ as va, a7 as ga, a6 as ya, aa as ba, ab as Da, a4 as xa, N as Ea, a3 as Na, Y as Ta, Z as Sa, W as wa, a8 as Pa, a2 as Ma, a1 as ka, a0 as Aa, ac as Fa, a9 as La, K as Ra, ae as Ia, ag as Va, af as _a, g as Wa, Q as Ba, A as qa, e as Ha, ad as Oa, f as ja, G as za } from "./chunks/index-BB_Q9BeP.js";
3
3
  import { EMPTY_SELECTION as Qa } from "./types/index.js";
4
4
  import { jsx as a, jsxs as l } from "react/jsx-runtime";
5
5
  import * as p from "react";
6
6
  import { useMemo as U } from "react";
7
- import { ResourceManagementPanel as Ka } from "./chunks/resource-management-panel-BK6mk6Yh.js";
8
- import { A as $a, S as Ja, V as Xa, c as Za, g as ae } from "./chunks/schedule-dashboard-DY5u0lrr.js";
7
+ import { ResourceManagementPanel as Ka } from "./chunks/resource-management-panel-C6G5vwpR.js";
8
+ import { A as $a, S as Ja, V as Xa, c as Za, g as ae } from "./chunks/schedule-dashboard-Bcu7Wcl2.js";
9
9
  import "react-dom";
10
10
  /**
11
11
  * @license lucide-react v0.453.0 - ISC
@@ -41,7 +41,7 @@ function Y({ cardId: s }) {
41
41
  return { card: f, frame: m };
42
42
  }, [o, s]);
43
43
  return !i || !d ? /* @__PURE__ */ a(
44
- g,
44
+ b,
45
45
  {
46
46
  error: new Error("Card not found"),
47
47
  resetErrorBoundary: () => {
@@ -55,7 +55,7 @@ function Y({ cardId: s }) {
55
55
  error: r,
56
56
  resetErrorBoundary: t
57
57
  }) => /* @__PURE__ */ a(
58
- g,
58
+ b,
59
59
  {
60
60
  error: r,
61
61
  resetErrorBoundary: t,
@@ -78,7 +78,7 @@ function ea({
78
78
  icon: e,
79
79
  showNone: h = !1
80
80
  }) {
81
- const c = p.useRef(null), [y, b] = p.useState(!1), [x, E] = p.useState("100%"), C = h ? [...o || [], { id: "none", name: "None" }] : o;
81
+ const c = p.useRef(null), [g, y] = p.useState(!1), [x, E] = p.useState("100%"), C = h ? [...o || [], { id: "none", name: "None" }] : o;
82
82
  p.useLayoutEffect(() => {
83
83
  c.current && E(c.current.offsetWidth);
84
84
  }, []);
@@ -87,16 +87,16 @@ function ea({
87
87
  return r ? "Loading..." : t ? "Error" : i ? (n = o == null ? void 0 : o.find((u) => u.id === i)) == null ? void 0 : n.name : `Select ${s}`;
88
88
  }
89
89
  function T(n, u) {
90
- d(u), b(!1);
90
+ d(u), y(!1);
91
91
  }
92
- return /* @__PURE__ */ l(R, { open: y, onOpenChange: b, children: [
92
+ return /* @__PURE__ */ l(R, { open: g, onOpenChange: y, children: [
93
93
  /* @__PURE__ */ a(I, { asChild: !0, children: /* @__PURE__ */ l(
94
94
  V,
95
95
  {
96
96
  ref: c,
97
97
  variant: "outline",
98
98
  role: "combobox",
99
- "aria-expanded": y,
99
+ "aria-expanded": g,
100
100
  className: v("flex h-9 w-full justify-between", m),
101
101
  children: [
102
102
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
@@ -114,8 +114,8 @@ function ea({
114
114
  style: { minWidth: x },
115
115
  children: /* @__PURE__ */ l(B, { children: [
116
116
  /* @__PURE__ */ l("div", { className: "flex h-9 items-center justify-between border-b pr-1", children: [
117
- /* @__PURE__ */ a(j, { className: "h-9", placeholder: "Search..." }),
118
- /* @__PURE__ */ a(q, { className: "h-7", onClick: f, children: /* @__PURE__ */ a(
117
+ /* @__PURE__ */ a(q, { className: "h-9", placeholder: "Search..." }),
118
+ /* @__PURE__ */ a(H, { className: "h-7", onClick: f, children: /* @__PURE__ */ a(
119
119
  K,
120
120
  {
121
121
  className: v(
@@ -126,13 +126,13 @@ function ea({
126
126
  ) })
127
127
  ] }),
128
128
  /* @__PURE__ */ l(O, { children: [
129
- /* @__PURE__ */ l(z, { children: [
129
+ /* @__PURE__ */ l(j, { children: [
130
130
  "No ",
131
131
  s == null ? void 0 : s.toLowerCase(),
132
132
  " found."
133
133
  ] }),
134
- /* @__PURE__ */ a(G, { children: C == null ? void 0 : C.map((n) => /* @__PURE__ */ a(
135
- H,
134
+ /* @__PURE__ */ a(z, { children: C == null ? void 0 : C.map((n) => /* @__PURE__ */ a(
135
+ G,
136
136
  {
137
137
  className: "overflow-x-auto",
138
138
  value: n.name,
@@ -182,10 +182,10 @@ export {
182
182
  ma as createSqlGenConfig,
183
183
  Ca as downloadPdf,
184
184
  va as fmt,
185
- ya as getColumnDataType,
185
+ ga as getColumnDataType,
186
186
  ae as getDashbaordStateWithoutData,
187
- ba as getFilterValueType,
188
- ga as getFormattedTableNameForQuery,
187
+ ya as getFilterValueType,
188
+ ba as getFormattedTableNameForQuery,
189
189
  Da as getQualifiedTableName,
190
190
  xa as getSql,
191
191
  Ea as invalidateToken,
@@ -206,9 +206,9 @@ export {
206
206
  Wa as useDashboardActions,
207
207
  F as useDashboardStore,
208
208
  Ba as useDataColumns,
209
- ja as useDateFilterHook,
210
- qa as useEditorActions,
209
+ qa as useDateFilterHook,
210
+ Ha as useEditorActions,
211
211
  Oa as useEditorAside,
212
- za as useEditorStore,
213
- Ga as useTextFilterHook
212
+ ja as useEditorStore,
213
+ za as useTextFilterHook
214
214
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BSu9QpLt.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-C2IITrDh.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { a } from "../chunks/index-B4KWd6kb.js";
1
+ import { a } from "../chunks/index-BB_Q9BeP.js";
2
2
  import { EMPTY_SELECTION as E } from "../types/index.js";
3
3
  export {
4
4
  E as EMPTY_SELECTION,
@@ -1076,6 +1076,49 @@ export declare type TBaseQuery = {
1076
1076
  description?: string;
1077
1077
  };
1078
1078
 
1079
+ export declare type TBubbleScatterConfig = {
1080
+ /**
1081
+ * Explicit key for X-axis metric. Falls back to auto-detection.
1082
+ */
1083
+ xMetricKey?: string;
1084
+ /**
1085
+ * Explicit key for Y-axis metric. Falls back to auto-detection.
1086
+ */
1087
+ yMetricKey?: string;
1088
+ /**
1089
+ * Explicit key for radius metric (bubble only). Falls back to auto-detection.
1090
+ */
1091
+ radiusMetricKey?: string;
1092
+ /**
1093
+ * Key for point labels (first dimension).
1094
+ */
1095
+ labelKey?: string;
1096
+ /**
1097
+ * Whether to group points into series. Defaults to auto-detect in card config mode.
1098
+ */
1099
+ enableGrouping?: boolean;
1100
+ /**
1101
+ * Key for series grouping. Can be any data type (string, number, date).
1102
+ */
1103
+ groupKey?: string;
1104
+ /**
1105
+ * Scaling mode for bubble radius.
1106
+ */
1107
+ radiusScale?: 'linear' | 'sqrt' | 'fixed';
1108
+ /**
1109
+ * Fixed radius value when radiusScale is 'fixed' or for scatter charts.
1110
+ */
1111
+ fixedRadius?: number;
1112
+ /**
1113
+ * Minimum radius for bubble scaling.
1114
+ */
1115
+ minRadius?: number;
1116
+ /**
1117
+ * Maximum radius for bubble scaling.
1118
+ */
1119
+ maxRadius?: number;
1120
+ };
1121
+
1079
1122
  export declare type TBulletConfig = {
1080
1123
  /**
1081
1124
  * Orientation of the bullet chart. Defaults to horizontal.
@@ -1194,6 +1237,7 @@ export declare type TCardPreferences = {
1194
1237
  dataLabelsConfig?: TDataLabelsConfig;
1195
1238
  bulletConfig?: TBulletConfig;
1196
1239
  heatmapConfig?: THeatmapConfig;
1240
+ bubbleScatterConfig?: TBubbleScatterConfig;
1197
1241
  tablePrefs?: TablePreferences;
1198
1242
  allowDownload?: boolean;
1199
1243
  customVisualCode?: string;
@@ -1349,7 +1393,7 @@ export declare type TDataLabelsConfig = {
1349
1393
  anchor?: 'center' | 'start' | 'end';
1350
1394
  align?: 'center' | 'start' | 'end' | 'top' | 'bottom' | number;
1351
1395
  display?: 'auto' | boolean;
1352
- format?: 'auto' | 'number' | 'currency' | 'percent' | 'none';
1396
+ format?: 'auto' | 'number' | 'currency' | 'percent' | 'date' | 'scientific' | 'none';
1353
1397
  formatOptions?: TFormatOptions;
1354
1398
  font?: {
1355
1399
  size?: number;
@@ -1360,6 +1404,7 @@ export declare type TDataLabelsConfig = {
1360
1404
  clip?: boolean;
1361
1405
  rotation?: number;
1362
1406
  showTotal?: boolean;
1407
+ offset?: number;
1363
1408
  };
1364
1409
 
1365
1410
  export declare type TDatasetOptions = {
@@ -1462,6 +1507,10 @@ export declare type TLegendOptions = {
1462
1507
  display?: boolean;
1463
1508
  position?: 'top' | 'left' | 'bottom' | 'right';
1464
1509
  align?: 'start' | 'center' | 'end';
1510
+ labels?: {
1511
+ generateLabels?: (chart: any) => any[];
1512
+ [key: string]: any;
1513
+ };
1465
1514
  };
1466
1515
 
1467
1516
  export declare type TLens = {
@@ -2036,6 +2036,49 @@ export declare type TBaseQuery = {
2036
2036
  description?: string;
2037
2037
  };
2038
2038
 
2039
+ export declare type TBubbleScatterConfig = {
2040
+ /**
2041
+ * Explicit key for X-axis metric. Falls back to auto-detection.
2042
+ */
2043
+ xMetricKey?: string;
2044
+ /**
2045
+ * Explicit key for Y-axis metric. Falls back to auto-detection.
2046
+ */
2047
+ yMetricKey?: string;
2048
+ /**
2049
+ * Explicit key for radius metric (bubble only). Falls back to auto-detection.
2050
+ */
2051
+ radiusMetricKey?: string;
2052
+ /**
2053
+ * Key for point labels (first dimension).
2054
+ */
2055
+ labelKey?: string;
2056
+ /**
2057
+ * Whether to group points into series. Defaults to auto-detect in card config mode.
2058
+ */
2059
+ enableGrouping?: boolean;
2060
+ /**
2061
+ * Key for series grouping. Can be any data type (string, number, date).
2062
+ */
2063
+ groupKey?: string;
2064
+ /**
2065
+ * Scaling mode for bubble radius.
2066
+ */
2067
+ radiusScale?: 'linear' | 'sqrt' | 'fixed';
2068
+ /**
2069
+ * Fixed radius value when radiusScale is 'fixed' or for scatter charts.
2070
+ */
2071
+ fixedRadius?: number;
2072
+ /**
2073
+ * Minimum radius for bubble scaling.
2074
+ */
2075
+ minRadius?: number;
2076
+ /**
2077
+ * Maximum radius for bubble scaling.
2078
+ */
2079
+ maxRadius?: number;
2080
+ };
2081
+
2039
2082
  export declare type TBulletConfig = {
2040
2083
  /**
2041
2084
  * Orientation of the bullet chart. Defaults to horizontal.
@@ -2154,6 +2197,7 @@ export declare type TCardPreferences = {
2154
2197
  dataLabelsConfig?: TDataLabelsConfig;
2155
2198
  bulletConfig?: TBulletConfig;
2156
2199
  heatmapConfig?: THeatmapConfig;
2200
+ bubbleScatterConfig?: TBubbleScatterConfig;
2157
2201
  tablePrefs?: TablePreferences;
2158
2202
  allowDownload?: boolean;
2159
2203
  customVisualCode?: string;
@@ -2311,7 +2355,7 @@ export declare type TDataLabelsConfig = {
2311
2355
  anchor?: 'center' | 'start' | 'end';
2312
2356
  align?: 'center' | 'start' | 'end' | 'top' | 'bottom' | number;
2313
2357
  display?: 'auto' | boolean;
2314
- format?: 'auto' | 'number' | 'currency' | 'percent' | 'none';
2358
+ format?: 'auto' | 'number' | 'currency' | 'percent' | 'date' | 'scientific' | 'none';
2315
2359
  formatOptions?: TFormatOptions;
2316
2360
  font?: {
2317
2361
  size?: number;
@@ -2322,6 +2366,7 @@ export declare type TDataLabelsConfig = {
2322
2366
  clip?: boolean;
2323
2367
  rotation?: number;
2324
2368
  showTotal?: boolean;
2369
+ offset?: number;
2325
2370
  };
2326
2371
 
2327
2372
  export declare type TDatasetOptions = {
@@ -2430,6 +2475,10 @@ export declare type TLegendOptions = {
2430
2475
  display?: boolean;
2431
2476
  position?: 'top' | 'left' | 'bottom' | 'right';
2432
2477
  align?: 'start' | 'center' | 'end';
2478
+ labels?: {
2479
+ generateLabels?: (chart: any) => any[];
2480
+ [key: string]: any;
2481
+ };
2433
2482
  };
2434
2483
 
2435
2484
  export declare type TLens = {
@@ -2458,7 +2507,7 @@ export declare type TokenParams = {
2458
2507
  /**
2459
2508
  * Time zone identifier (e.g., 'America/New_York', 'Europe/London').
2460
2509
  */
2461
- timeZone?: string;
2510
+ timezone?: string;
2462
2511
  };
2463
2512
 
2464
2513
  export declare type TokenProps = {
@@ -1081,6 +1081,49 @@ export declare type TBaseQuery = {
1081
1081
  description?: string;
1082
1082
  };
1083
1083
 
1084
+ export declare type TBubbleScatterConfig = {
1085
+ /**
1086
+ * Explicit key for X-axis metric. Falls back to auto-detection.
1087
+ */
1088
+ xMetricKey?: string;
1089
+ /**
1090
+ * Explicit key for Y-axis metric. Falls back to auto-detection.
1091
+ */
1092
+ yMetricKey?: string;
1093
+ /**
1094
+ * Explicit key for radius metric (bubble only). Falls back to auto-detection.
1095
+ */
1096
+ radiusMetricKey?: string;
1097
+ /**
1098
+ * Key for point labels (first dimension).
1099
+ */
1100
+ labelKey?: string;
1101
+ /**
1102
+ * Whether to group points into series. Defaults to auto-detect in card config mode.
1103
+ */
1104
+ enableGrouping?: boolean;
1105
+ /**
1106
+ * Key for series grouping. Can be any data type (string, number, date).
1107
+ */
1108
+ groupKey?: string;
1109
+ /**
1110
+ * Scaling mode for bubble radius.
1111
+ */
1112
+ radiusScale?: 'linear' | 'sqrt' | 'fixed';
1113
+ /**
1114
+ * Fixed radius value when radiusScale is 'fixed' or for scatter charts.
1115
+ */
1116
+ fixedRadius?: number;
1117
+ /**
1118
+ * Minimum radius for bubble scaling.
1119
+ */
1120
+ minRadius?: number;
1121
+ /**
1122
+ * Maximum radius for bubble scaling.
1123
+ */
1124
+ maxRadius?: number;
1125
+ };
1126
+
1084
1127
  export declare type TBulletConfig = {
1085
1128
  /**
1086
1129
  * Orientation of the bullet chart. Defaults to horizontal.
@@ -1199,6 +1242,7 @@ export declare type TCardPreferences = {
1199
1242
  dataLabelsConfig?: TDataLabelsConfig;
1200
1243
  bulletConfig?: TBulletConfig;
1201
1244
  heatmapConfig?: THeatmapConfig;
1245
+ bubbleScatterConfig?: TBubbleScatterConfig;
1202
1246
  tablePrefs?: TablePreferences;
1203
1247
  allowDownload?: boolean;
1204
1248
  customVisualCode?: string;
@@ -1354,7 +1398,7 @@ export declare type TDataLabelsConfig = {
1354
1398
  anchor?: 'center' | 'start' | 'end';
1355
1399
  align?: 'center' | 'start' | 'end' | 'top' | 'bottom' | number;
1356
1400
  display?: 'auto' | boolean;
1357
- format?: 'auto' | 'number' | 'currency' | 'percent' | 'none';
1401
+ format?: 'auto' | 'number' | 'currency' | 'percent' | 'date' | 'scientific' | 'none';
1358
1402
  formatOptions?: TFormatOptions;
1359
1403
  font?: {
1360
1404
  size?: number;
@@ -1365,6 +1409,7 @@ export declare type TDataLabelsConfig = {
1365
1409
  clip?: boolean;
1366
1410
  rotation?: number;
1367
1411
  showTotal?: boolean;
1412
+ offset?: number;
1368
1413
  };
1369
1414
 
1370
1415
  export declare type TDatasetOptions = {
@@ -1467,6 +1512,10 @@ export declare type TLegendOptions = {
1467
1512
  display?: boolean;
1468
1513
  position?: 'top' | 'left' | 'bottom' | 'right';
1469
1514
  align?: 'start' | 'center' | 'end';
1515
+ labels?: {
1516
+ generateLabels?: (chart: any) => any[];
1517
+ [key: string]: any;
1518
+ };
1470
1519
  };
1471
1520
 
1472
1521
  export declare type TLens = {
@@ -1073,6 +1073,49 @@ export declare type TBaseQuery = {
1073
1073
  description?: string;
1074
1074
  };
1075
1075
 
1076
+ export declare type TBubbleScatterConfig = {
1077
+ /**
1078
+ * Explicit key for X-axis metric. Falls back to auto-detection.
1079
+ */
1080
+ xMetricKey?: string;
1081
+ /**
1082
+ * Explicit key for Y-axis metric. Falls back to auto-detection.
1083
+ */
1084
+ yMetricKey?: string;
1085
+ /**
1086
+ * Explicit key for radius metric (bubble only). Falls back to auto-detection.
1087
+ */
1088
+ radiusMetricKey?: string;
1089
+ /**
1090
+ * Key for point labels (first dimension).
1091
+ */
1092
+ labelKey?: string;
1093
+ /**
1094
+ * Whether to group points into series. Defaults to auto-detect in card config mode.
1095
+ */
1096
+ enableGrouping?: boolean;
1097
+ /**
1098
+ * Key for series grouping. Can be any data type (string, number, date).
1099
+ */
1100
+ groupKey?: string;
1101
+ /**
1102
+ * Scaling mode for bubble radius.
1103
+ */
1104
+ radiusScale?: 'linear' | 'sqrt' | 'fixed';
1105
+ /**
1106
+ * Fixed radius value when radiusScale is 'fixed' or for scatter charts.
1107
+ */
1108
+ fixedRadius?: number;
1109
+ /**
1110
+ * Minimum radius for bubble scaling.
1111
+ */
1112
+ minRadius?: number;
1113
+ /**
1114
+ * Maximum radius for bubble scaling.
1115
+ */
1116
+ maxRadius?: number;
1117
+ };
1118
+
1076
1119
  export declare type TBulletConfig = {
1077
1120
  /**
1078
1121
  * Orientation of the bullet chart. Defaults to horizontal.
@@ -1191,6 +1234,7 @@ export declare type TCardPreferences = {
1191
1234
  dataLabelsConfig?: TDataLabelsConfig;
1192
1235
  bulletConfig?: TBulletConfig;
1193
1236
  heatmapConfig?: THeatmapConfig;
1237
+ bubbleScatterConfig?: TBubbleScatterConfig;
1194
1238
  tablePrefs?: TablePreferences;
1195
1239
  allowDownload?: boolean;
1196
1240
  customVisualCode?: string;
@@ -1346,7 +1390,7 @@ export declare type TDataLabelsConfig = {
1346
1390
  anchor?: 'center' | 'start' | 'end';
1347
1391
  align?: 'center' | 'start' | 'end' | 'top' | 'bottom' | number;
1348
1392
  display?: 'auto' | boolean;
1349
- format?: 'auto' | 'number' | 'currency' | 'percent' | 'none';
1393
+ format?: 'auto' | 'number' | 'currency' | 'percent' | 'date' | 'scientific' | 'none';
1350
1394
  formatOptions?: TFormatOptions;
1351
1395
  font?: {
1352
1396
  size?: number;
@@ -1357,6 +1401,7 @@ export declare type TDataLabelsConfig = {
1357
1401
  clip?: boolean;
1358
1402
  rotation?: number;
1359
1403
  showTotal?: boolean;
1404
+ offset?: number;
1360
1405
  };
1361
1406
 
1362
1407
  export declare type TDatasetOptions = {
@@ -1459,6 +1504,10 @@ export declare type TLegendOptions = {
1459
1504
  display?: boolean;
1460
1505
  position?: 'top' | 'left' | 'bottom' | 'right';
1461
1506
  align?: 'start' | 'center' | 'end';
1507
+ labels?: {
1508
+ generateLabels?: (chart: any) => any[];
1509
+ [key: string]: any;
1510
+ };
1462
1511
  };
1463
1512
 
1464
1513
  export declare type TLens = {
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.1.112",
8
+ "version": "0.1.114",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",