semaphor 0.0.73 → 0.0.75

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.
@@ -1,6 +1,6 @@
1
- import { J as a, ao as e, am as t, aF as c, bS as h, bT as d, bU as o, bj as y, bV as i, bW as s, a7 as n, bX as r, bY as k, bZ as p, b_ as l, Q as M, b$ as u, c0 as v, b0 as g, ah as m, c1 as x, c2 as L, be as w } from "./index-iJk4qIzr.js";
2
- import { c3 as Pv } from "./index-iJk4qIzr.js";
3
- import { B as C, C as f, a as I, b as S, d as q, e as b, f as H, h as A, i as z, j as P, E as V, k as j, l as B, m as F, G as D, H as R, n as T, o as U, K as O, p as Z, q as G, r as W, L as E, M as X, N, P as K, s as J, t as Q, v as Y, w as _, x as $, y as a1, z as e1, T as t1, A as c1, F as h1, U as d1 } from "./dashboard-plus-FerlOXoM.js";
1
+ import { J as a, ao as e, am as t, aF as c, bT as h, bU as d, bV as o, bk as y, bW as i, bX as s, a7 as n, bY as r, bZ as k, b_ as p, b$ as l, Q as M, c0 as u, c1 as v, b1 as g, ah as m, c2 as x, c3 as L, bf as w } from "./index-_nIuMIu4.js";
2
+ import { c4 as Pv } from "./index-_nIuMIu4.js";
3
+ import { B as C, C as f, a as I, b as S, d as q, e as b, f as H, h as A, i as z, j as P, E as V, k as j, l as B, m as F, G as D, H as R, n as T, o as U, K as O, p as Z, q as G, r as W, L as E, M as X, N, P as K, s as J, t as Q, v as Y, w as _, x as $, y as a1, z as e1, T as t1, A as c1, F as h1, U as d1 } from "./dashboard-plus-3MnAx-w8.js";
4
4
  import "react";
5
5
  import "react-dom";
6
6
  /**
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-U7x2Y1RF.js"),a=require("./dashboard-plus-VqLaHFO8.js");require("react");require("react-dom");/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-VmC8M9rg.js"),a=require("./dashboard-plus-Ki_3au6P.js");require("react");require("react-dom");/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-U7x2Y1RF.js");require("react");require("react-dom");exports.Dashboard=e.Dashboard;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-VmC8M9rg.js");require("react");require("react-dom");exports.Dashboard=e.Dashboard;
@@ -1,4 +1,4 @@
1
- import { D as p } from "../chunks/index-iJk4qIzr.js";
1
+ import { D as p } from "../chunks/index-_nIuMIu4.js";
2
2
  import "react";
3
3
  import "react-dom";
4
4
  export {
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-U7x2Y1RF.js"),n=require("./chunks/dashboard-plus-VqLaHFO8.js"),_=require("react");require("react-dom");function v({card:t,footer:u,className:h,...m}){var c;const{customCards:o}=e.useSemaphorContext(),p=_.useRef(null),{isError:C,isLoading:i,isFetching:a,cfg:x,visualKey:f,handleDatapointClick:E}=e.useDashboardCard(t),l=e.useDashboardStore(s=>s.themeStyle),d=e.useDashboardStore(s=>s.selectedSheetId),j=e.useDashboardStore(s=>s.selectedCardId),D=e.useDashboardStore(s=>s.isDashboardEditing),g=((c=t.customCardPreferences)==null?void 0:c.showCardHeader)??!0,{setCardTitle:b,setCardDescription:S,setSelectedCardId:T}=e.useDashboardActions();function R(s){s.stopPropagation(),T(d,t.id)}function A(){if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.replaceDefault){const r=s.content;if(r)return e.jsxRuntimeExports.jsx(r,{card:t})}}return t.type==="kpi"?t.data&&t.data.length>0&&e.jsxRuntimeExports.jsx(e.KPICard,{isLoading:i||a,card:t}):N}function y(){if(C)return e.jsxRuntimeExports.jsx("p",{className:"text-sm",children:"Oops! It seems like something went wrong. Please review your connection or filters."});if(t.type==="table"&&t.data&&t.data.length>0)return e.jsxRuntimeExports.jsxs(e.ScrollArea,{children:[e.jsxRuntimeExports.jsx(e.TableVisual,{card:t,data:t.data}),e.jsxRuntimeExports.jsx(e.ScrollBar,{orientation:"horizontal"})]});if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.content){const r=s.content;return e.jsxRuntimeExports.jsx(r,{card:t})}}if(x)return e.jsxRuntimeExports.jsx(e.ChartJsVisual,{cfg:x,onDatapointClick:E},f)}function I(){if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.footer){const r=s.footer;if(r)return e.jsxRuntimeExports.jsx(r,{card:t})}}return u||null}if(!t.id)return null;const N=e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[g&&e.jsxRuntimeExports.jsxs(e.CardHeader,{className:"pb-4",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(e.Editable,{text:t.title,onSave:s=>b(d,t.id,s),children:e.jsxRuntimeExports.jsx(e.CardTitle,{className:"text-base",children:t.title})}),t.refreshInterval&&e.jsxRuntimeExports.jsxs(e.Tooltip,{children:[e.jsxRuntimeExports.jsx(e.TooltipTrigger,{className:"pr-1",children:e.jsxRuntimeExports.jsx("div",{className:e.cn("h-2 w-2 rounded-full bg-green-500 transition-opacity",{"opacity-10":i||a})})}),e.jsxRuntimeExports.jsx(e.TooltipContent,{side:"right",align:"center",children:e.jsxRuntimeExports.jsx("p",{className:"text-xs",children:`Realtime (${t==null?void 0:t.refreshInterval})`})})]}),!t.refreshInterval&&(i||a)&&e.jsxRuntimeExports.jsx(n.LoaderCircle,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),e.jsxRuntimeExports.jsx(e.Editable,{text:(t==null?void 0:t.description)||"",onSave:s=>S(d,t.id,s),children:e.jsxRuntimeExports.jsxs(e.CardDescription,{children:[" ",t.description]})})]}),e.jsxRuntimeExports.jsx(e.CardContent,{className:"relative flex grow flex-col overflow-auto pb-0",children:y()}),e.jsxRuntimeExports.jsx(e.CardFooter,{children:I()})]});return e.jsxRuntimeExports.jsx(e.Card,{tabIndex:-1,ref:p,role:"dashboard-card",onClick:R,className:e.cn("relative flex h-full flex-col rounded-sm",{"border-dashed border-foreground/50":j===t.id&&D},l==null?void 0:l.dashboardCard,h),...m,children:A()})}exports.BOOLEAN_DATA_TYPES=e.BOOLEAN_DATA_TYPES;exports.DATE_DATA_TYPES=e.DATE_DATA_TYPES;exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.NUMBER_DATA_TYPES=e.NUMBER_DATA_TYPES;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.TEXT_DATA_TYPES=e.TEXT_DATA_TYPES;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.resolveDataType=e.resolveDataType;exports.useCard=e.useCard;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useEditorActions=e.useEditorActions;exports.useEditorStore=e.useEditorStore;exports.SelectComponent=n.SelectComponent;exports.Surfboard=n.DashboardPlus;exports.cleanCard=n.cleanCard;exports.getDashbaordStateWithoutData=n.getDashbaordStateWithoutData;exports.useEditorAside=n.useEditorAside;exports.DashboardCard=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-VmC8M9rg.js"),n=require("./chunks/dashboard-plus-Ki_3au6P.js"),_=require("react");require("react-dom");function v({card:t,footer:u,className:h,...m}){var c;const{customCards:o}=e.useSemaphorContext(),p=_.useRef(null),{isError:C,isLoading:i,isFetching:a,cfg:x,visualKey:f,handleDatapointClick:E}=e.useDashboardCard(t),l=e.useDashboardStore(s=>s.themeStyle),d=e.useDashboardStore(s=>s.selectedSheetId),j=e.useDashboardStore(s=>s.selectedCardId),D=e.useDashboardStore(s=>s.isDashboardEditing),g=((c=t.customCardPreferences)==null?void 0:c.showCardHeader)??!0,{setCardTitle:b,setCardDescription:S,setSelectedCardId:T}=e.useDashboardActions();function R(s){s.stopPropagation(),T(d,t.id)}function A(){if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.replaceDefault){const r=s.content;if(r)return e.jsxRuntimeExports.jsx(r,{card:t})}}return t.type==="kpi"?t.data&&t.data.length>0&&e.jsxRuntimeExports.jsx(e.KPICard,{isLoading:i||a,card:t}):N}function y(){if(C)return e.jsxRuntimeExports.jsx("p",{className:"text-sm",children:"Oops! It seems like something went wrong. Please review your connection or filters."});if(t.type==="table"&&t.data&&t.data.length>0)return e.jsxRuntimeExports.jsxs(e.ScrollArea,{children:[e.jsxRuntimeExports.jsx(e.TableVisual,{card:t,data:t.data}),e.jsxRuntimeExports.jsx(e.ScrollBar,{orientation:"horizontal"})]});if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.content){const r=s.content;return e.jsxRuntimeExports.jsx(r,{card:t})}}if(x)return e.jsxRuntimeExports.jsx(e.ChartJsVisual,{cfg:x,onDatapointClick:E},f)}function I(){if(o&&o.length>0){const s=o.find(r=>r.cardId===t.id);if(s&&s.footer){const r=s.footer;if(r)return e.jsxRuntimeExports.jsx(r,{card:t})}}return u||null}if(!t.id)return null;const N=e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[g&&e.jsxRuntimeExports.jsxs(e.CardHeader,{className:"pb-4",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(e.Editable,{text:t.title,onSave:s=>b(d,t.id,s),children:e.jsxRuntimeExports.jsx(e.CardTitle,{className:"text-base",children:t.title})}),t.refreshInterval&&e.jsxRuntimeExports.jsxs(e.Tooltip,{children:[e.jsxRuntimeExports.jsx(e.TooltipTrigger,{className:"pr-1",children:e.jsxRuntimeExports.jsx("div",{className:e.cn("h-2 w-2 rounded-full bg-green-500 transition-opacity",{"opacity-10":i||a})})}),e.jsxRuntimeExports.jsx(e.TooltipContent,{side:"right",align:"center",children:e.jsxRuntimeExports.jsx("p",{className:"text-xs",children:`Realtime (${t==null?void 0:t.refreshInterval})`})})]}),!t.refreshInterval&&(i||a)&&e.jsxRuntimeExports.jsx(n.LoaderCircle,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),e.jsxRuntimeExports.jsx(e.Editable,{text:(t==null?void 0:t.description)||"",onSave:s=>S(d,t.id,s),children:e.jsxRuntimeExports.jsxs(e.CardDescription,{children:[" ",t.description]})})]}),e.jsxRuntimeExports.jsx(e.CardContent,{className:"relative flex grow flex-col overflow-auto pb-0",children:y()}),e.jsxRuntimeExports.jsx(e.CardFooter,{children:I()})]});return e.jsxRuntimeExports.jsx(e.Card,{tabIndex:-1,ref:p,role:"dashboard-card",onClick:R,className:e.cn("relative flex h-full flex-col rounded-sm",{"border-dashed border-foreground/50":j===t.id&&D},l==null?void 0:l.dashboardCard,h),...m,children:A()})}exports.BOOLEAN_DATA_TYPES=e.BOOLEAN_DATA_TYPES;exports.DATE_DATA_TYPES=e.DATE_DATA_TYPES;exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.NUMBER_DATA_TYPES=e.NUMBER_DATA_TYPES;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.TEXT_DATA_TYPES=e.TEXT_DATA_TYPES;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.resolveDataType=e.resolveDataType;exports.useCard=e.useCard;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useEditorActions=e.useEditorActions;exports.useEditorStore=e.useEditorStore;exports.SelectComponent=n.SelectComponent;exports.Surfboard=n.DashboardPlus;exports.cleanCard=n.cleanCard;exports.getDashbaordStateWithoutData=n.getDashbaordStateWithoutData;exports.useEditorAside=n.useEditorAside;exports.DashboardCard=v;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { u as P, a as F, b as o, c as k, j as s, C as R, E as h, d as L, T as q, e as B, f as C, g as H, h as Y, i as G, k as K, l as O, K as V, S as z, m as Q, n as W, o as J } from "./chunks/index-iJk4qIzr.js";
2
- import { B as re, s as oe, D as ne, q as ie, N as le, I as de, r as ue, w as ce, t as fe, y as he, x as Ce, A as me, v as xe, z as pe, F as ge, p as je, H as De, G as be } from "./chunks/index-iJk4qIzr.js";
3
- import { L as M } from "./chunks/dashboard-plus-FerlOXoM.js";
4
- import { S as Te, D as Ee, c as Ie, g as Ae, u as ve } from "./chunks/dashboard-plus-FerlOXoM.js";
1
+ import { u as P, a as F, b as o, c as k, j as s, C as R, E as h, d as L, T as q, e as B, f as C, g as H, h as Y, i as G, k as K, l as O, K as V, S as z, m as Q, n as W, o as J } from "./chunks/index-_nIuMIu4.js";
2
+ import { B as re, s as oe, D as ne, q as ie, N as le, I as de, r as ue, w as ce, t as fe, y as he, x as Ce, A as me, v as xe, z as pe, F as ge, p as je, H as De, G as be } from "./chunks/index-_nIuMIu4.js";
3
+ import { L as M } from "./chunks/dashboard-plus-3MnAx-w8.js";
4
+ import { S as Te, D as Ee, c as Ie, g as Ae, u as ve } from "./chunks/dashboard-plus-3MnAx-w8.js";
5
5
  import U from "react";
6
6
  import "react-dom";
7
7
  function se({
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-plus-VqLaHFO8.js");require("../chunks/index-U7x2Y1RF.js");require("react");require("react-dom");exports.Surfboard=r.DashboardPlus;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/dashboard-plus-Ki_3au6P.js");require("../chunks/index-VmC8M9rg.js");require("react");require("react-dom");exports.Surfboard=r.DashboardPlus;
@@ -1,5 +1,5 @@
1
- import { D as i } from "../chunks/dashboard-plus-FerlOXoM.js";
2
- import "../chunks/index-iJk4qIzr.js";
1
+ import { D as i } from "../chunks/dashboard-plus-3MnAx-w8.js";
2
+ import "../chunks/index-_nIuMIu4.js";
3
3
  import "react";
4
4
  import "react-dom";
5
5
  export {
@@ -31,6 +31,11 @@ declare type BaseFilter = {
31
31
 
32
32
  export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
33
33
 
34
+ export declare type CacheConfig = {
35
+ ttl: string;
36
+ status: 'on' | 'on-refresh' | 'off';
37
+ };
38
+
34
39
  declare type CardWithContent = BaseCustomCard & {
35
40
  content: React.FC<{
36
41
  card: TCard;
@@ -68,7 +73,10 @@ export declare function Dashboard(props: DashboardProps): JSX_2.Element;
68
73
  export declare type DashboardProps = {
69
74
  id?: string;
70
75
  authToken: AuthToken | undefined;
71
- defaultFilterValues?: TFilterValue[];
76
+ defaultFilterValues?: {
77
+ filterId: string;
78
+ values: string[] | number[];
79
+ }[] | TFilterValue[];
72
80
  customStyle?: TStyle;
73
81
  currentTheme?: Theme;
74
82
  version?: string;
@@ -77,6 +85,7 @@ export declare type DashboardProps = {
77
85
  onChartElementClicked?: (card: TCard, fieldValues: any) => void;
78
86
  onEvent?: (event: TEvent) => void;
79
87
  onSave?: (dashboard: TDashboard) => void;
88
+ onFilterValuesChange?: (filterValues: TFilterValue[]) => void;
80
89
  LoadingComponent?: (props: LoadingProps) => React.ReactNode;
81
90
  ErrorComponent?: (props: ErrorProps) => React.ReactNode;
82
91
  };
@@ -356,6 +365,7 @@ export declare type TDashboard = {
356
365
  baseQueries?: TBaseQuery[];
357
366
  aiScopeTables?: AIScopeTable[];
358
367
  globalStyle?: TStyle;
368
+ globalCacheConfig?: CacheConfig;
359
369
  };
360
370
 
361
371
  export declare type TDataColumn = {
@@ -24,6 +24,7 @@ declare type Actions = {
24
24
  setFilteringCards: (cards: TCard[]) => void;
25
25
  addFilteringCard: (card: TCard) => void;
26
26
  removeFilteringCard: (card: TCard) => void;
27
+ setGlobalCacheConfig: (cacheConfig: CacheConfig) => void;
27
28
  setCustomCards: (customCards: CustomCard[]) => void;
28
29
  setAuthToken: (authToken: AuthToken) => void;
29
30
  setThemeStyle: (themeStyle: StyleProps) => void;
@@ -164,6 +165,11 @@ export declare const BOOLEAN_DATA_TYPES: string[];
164
165
 
165
166
  export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
166
167
 
168
+ export declare type CacheConfig = {
169
+ ttl: string;
170
+ status: 'on' | 'on-refresh' | 'off';
171
+ };
172
+
167
173
  declare type CardWithContent = BaseCustomCard & {
168
174
  content: React.FC<{
169
175
  card: TCard;
@@ -219,7 +225,10 @@ declare type DashboardPlusProps = {
219
225
  export declare type DashboardProps = {
220
226
  id?: string;
221
227
  authToken: AuthToken | undefined;
222
- defaultFilterValues?: TFilterValue[];
228
+ defaultFilterValues?: {
229
+ filterId: string;
230
+ values: string[] | number[];
231
+ }[] | TFilterValue[];
223
232
  customStyle?: TStyle;
224
233
  currentTheme?: Theme;
225
234
  version?: string;
@@ -228,6 +237,7 @@ export declare type DashboardProps = {
228
237
  onChartElementClicked?: (card: TCard, fieldValues: any) => void;
229
238
  onEvent?: (event: TEvent) => void;
230
239
  onSave?: (dashboard: TDashboard) => void;
240
+ onFilterValuesChange?: (filterValues: TFilterValue[]) => void;
231
241
  LoadingComponent?: (props: LoadingProps) => React.ReactNode;
232
242
  ErrorComponent?: (props: ErrorProps) => React.ReactNode;
233
243
  };
@@ -371,6 +381,7 @@ export declare function getDashbaordStateWithoutData(dashboardState: TDashboard)
371
381
  baseQueries?: TBaseQuery[] | undefined;
372
382
  aiScopeTables?: AIScopeTable[] | undefined;
373
383
  globalStyle?: TStyle | undefined;
384
+ globalCacheConfig?: CacheConfig | undefined;
374
385
  };
375
386
 
376
387
  export declare type GetDashboardResponse = {
@@ -638,6 +649,7 @@ export declare type TDashboard = {
638
649
  baseQueries?: TBaseQuery[];
639
650
  aiScopeTables?: AIScopeTable[];
640
651
  globalStyle?: TStyle;
652
+ globalCacheConfig?: CacheConfig;
641
653
  };
642
654
 
643
655
  export declare type TDataColumn = {
@@ -1526,6 +1538,10 @@ export declare const useDashboardStore: UseBoundStore<Omit<StoreApi<DashboardSto
1526
1538
  } | undefined;
1527
1539
  } | undefined;
1528
1540
  } | undefined;
1541
+ globalCacheConfig?: {
1542
+ ttl: string;
1543
+ status: "on" | "on-refresh" | "off";
1544
+ } | undefined;
1529
1545
  };
1530
1546
  selectedSheetId?: string | null | undefined;
1531
1547
  selectedFrameId?: string | null | undefined;
@@ -1768,6 +1784,7 @@ export declare const useDashboardStore: UseBoundStore<Omit<StoreApi<DashboardSto
1768
1784
  setFilteringCards: (cards: TCard[]) => void;
1769
1785
  addFilteringCard: (card: TCard) => void;
1770
1786
  removeFilteringCard: (card: TCard) => void;
1787
+ setGlobalCacheConfig: (cacheConfig: CacheConfig) => void;
1771
1788
  setCustomCards: (customCards: CustomCard[]) => void;
1772
1789
  setAuthToken: (authToken: AuthToken) => void;
1773
1790
  setThemeStyle: (themeStyle: StyleProps) => void;
@@ -31,6 +31,11 @@ declare type BaseFilter = {
31
31
 
32
32
  export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
33
33
 
34
+ export declare type CacheConfig = {
35
+ ttl: string;
36
+ status: 'on' | 'on-refresh' | 'off';
37
+ };
38
+
34
39
  declare type CardWithContent = BaseCustomCard & {
35
40
  content: React.FC<{
36
41
  card: TCard;
@@ -71,7 +76,10 @@ declare type DashboardPlusProps = {
71
76
  export declare type DashboardProps = {
72
77
  id?: string;
73
78
  authToken: AuthToken | undefined;
74
- defaultFilterValues?: TFilterValue[];
79
+ defaultFilterValues?: {
80
+ filterId: string;
81
+ values: string[] | number[];
82
+ }[] | TFilterValue[];
75
83
  customStyle?: TStyle;
76
84
  currentTheme?: Theme;
77
85
  version?: string;
@@ -80,6 +88,7 @@ export declare type DashboardProps = {
80
88
  onChartElementClicked?: (card: TCard, fieldValues: any) => void;
81
89
  onEvent?: (event: TEvent) => void;
82
90
  onSave?: (dashboard: TDashboard) => void;
91
+ onFilterValuesChange?: (filterValues: TFilterValue[]) => void;
83
92
  LoadingComponent?: (props: LoadingProps) => React.ReactNode;
84
93
  ErrorComponent?: (props: ErrorProps) => React.ReactNode;
85
94
  };
@@ -361,6 +370,7 @@ export declare type TDashboard = {
361
370
  baseQueries?: TBaseQuery[];
362
371
  aiScopeTables?: AIScopeTable[];
363
372
  globalStyle?: TStyle;
373
+ globalCacheConfig?: CacheConfig;
364
374
  };
365
375
 
366
376
  export declare type TDataColumn = {
@@ -30,6 +30,11 @@ declare type BaseFilter = {
30
30
 
31
31
  export declare type Breakpoint = 'lg' | 'md' | 'sm' | 'xs' | 'xxs';
32
32
 
33
+ export declare type CacheConfig = {
34
+ ttl: string;
35
+ status: 'on' | 'on-refresh' | 'off';
36
+ };
37
+
33
38
  declare type CardWithContent = BaseCustomCard & {
34
39
  content: React.FC<{
35
40
  card: TCard;
@@ -65,7 +70,10 @@ export declare type CustomCard = CardWithContent | CardWithFooter;
65
70
  export declare type DashboardProps = {
66
71
  id?: string;
67
72
  authToken: AuthToken | undefined;
68
- defaultFilterValues?: TFilterValue[];
73
+ defaultFilterValues?: {
74
+ filterId: string;
75
+ values: string[] | number[];
76
+ }[] | TFilterValue[];
69
77
  customStyle?: TStyle;
70
78
  currentTheme?: Theme;
71
79
  version?: string;
@@ -74,6 +82,7 @@ export declare type DashboardProps = {
74
82
  onChartElementClicked?: (card: TCard, fieldValues: any) => void;
75
83
  onEvent?: (event: TEvent) => void;
76
84
  onSave?: (dashboard: TDashboard) => void;
85
+ onFilterValuesChange?: (filterValues: TFilterValue[]) => void;
77
86
  LoadingComponent?: (props: LoadingProps) => React.ReactNode;
78
87
  ErrorComponent?: (props: ErrorProps) => React.ReactNode;
79
88
  };
@@ -353,6 +362,7 @@ export declare type TDashboard = {
353
362
  baseQueries?: TBaseQuery[];
354
363
  aiScopeTables?: AIScopeTable[];
355
364
  globalStyle?: TStyle;
365
+ globalCacheConfig?: CacheConfig;
356
366
  };
357
367
 
358
368
  export declare type TDataColumn = {
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.0.73",
8
+ "version": "0.0.75",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",