@sisense/sdk-ui 2.12.0 → 2.14.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 (97) hide show
  1. package/dist/ai.cjs +19 -19
  2. package/dist/ai.js +623 -613
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +252 -217
  5. package/dist/analytics-composer.cjs +18 -18
  6. package/dist/analytics-composer.js +18 -9
  7. package/dist/{derive-chart-family-mugR7Ty1.cjs → derive-chart-family-DJUpWKOP.cjs} +69 -64
  8. package/dist/{derive-chart-family-YIDiS_iY.js → derive-chart-family-D_bylSQy.js} +8340 -8069
  9. package/dist/{dimensions-DmRfLrT-.js → dimensions-CTUJhW-M.js} +1 -1
  10. package/dist/{dimensions-CyzZ0dbM.cjs → dimensions-CdNGgk9I.cjs} +1 -1
  11. package/dist/execute-query-CNt566O5.cjs +1 -0
  12. package/dist/{execute-query-BCEeyd9s.js → execute-query-DyjkDYHG.js} +1494 -1431
  13. package/dist/index.cjs +24 -24
  14. package/dist/index.js +7449 -7168
  15. package/dist/index.umd.js +351 -349
  16. package/dist/packages/sdk-ui/src/ai/index.d.ts +1 -1
  17. package/dist/packages/sdk-ui/src/ai/use-get-nlq-result.d.ts +22 -1
  18. package/dist/packages/sdk-ui/src/app/client-application.d.ts +3 -2
  19. package/dist/packages/sdk-ui/src/app/settings/settings.d.ts +49 -0
  20. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/constants.d.ts +12 -4
  21. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/index.d.ts +25 -1
  22. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/axes-options/continuous-axes-options.d.ts +12 -0
  23. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/axes-options/helpers.d.ts +24 -0
  24. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/axes-options/index.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/axes-options/split-axes-options.d.ts +12 -0
  26. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/chart-options.d.ts +9 -2
  27. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/index.d.ts +3 -3
  28. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/series-options/calendar-data-generator.d.ts +12 -2
  29. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/series-options/index.d.ts +1 -1
  30. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/series-options/series-options.d.ts +9 -2
  31. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/calendar-heatmap-charts-grid.d.ts +2 -1
  32. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/data-helpers.d.ts +2 -1
  33. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/data-per-chart-instance.d.ts +13 -0
  34. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/sizing-helpers.d.ts +16 -3
  35. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/view-helpers.d.ts +4 -4
  36. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/hooks/use-calendar-heatmap-chart-options.d.ts +7 -6
  37. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/utils/calendar-utils.d.ts +1 -1
  38. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/funnel-chart/design-options/index.d.ts +14 -0
  39. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/pie-chart/design-options/index.d.ts +2 -0
  40. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/design-options/index.d.ts +3 -0
  41. package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +9 -0
  42. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/series-processor.d.ts +12 -15
  43. package/dist/packages/sdk-ui/src/chart-options-processor/series-labels.d.ts +17 -17
  44. package/dist/packages/sdk-ui/src/chart-options-processor/stack-labels.d.ts +18 -22
  45. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/translate-to-highcharts-options.d.ts +4 -2
  46. package/dist/packages/sdk-ui/src/chart-options-processor/translations/axis-section.d.ts +3 -2
  47. package/dist/packages/sdk-ui/src/chart-options-processor/translations/design-options.d.ts +7 -6
  48. package/dist/packages/sdk-ui/src/chart-options-processor/translations/funnel-plot-options.d.ts +12 -17
  49. package/dist/packages/sdk-ui/src/chart-options-processor/translations/legend-section.d.ts +3 -2
  50. package/dist/packages/sdk-ui/src/chart-options-processor/translations/pie-plot-options.d.ts +3 -3
  51. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-labels.d.ts +2 -2
  52. package/dist/packages/sdk-ui/src/chart-options-processor/translations/value-label-section.d.ts +3 -2
  53. package/dist/packages/sdk-ui/src/common/components/menu/context-menu/context-menu.d.ts +1 -0
  54. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/helpers.d.ts +11 -0
  55. package/dist/packages/sdk-ui/src/dashboard/components/toolbar/edit-toggle.d.ts +25 -0
  56. package/dist/packages/sdk-ui/src/dashboard/constants.d.ts +2 -2
  57. package/dist/packages/sdk-ui/src/dashboard/dashboard.d.ts +0 -30
  58. package/dist/packages/sdk-ui/src/dashboard/hooks/use-dashboard-header-toolbar.d.ts +3 -2
  59. package/dist/packages/sdk-ui/src/dashboard/hooks/use-tabber.d.ts +25 -10
  60. package/dist/packages/sdk-ui/src/dashboard/index.d.ts +1 -1
  61. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +83 -11
  62. package/dist/packages/sdk-ui/src/dashboard/use-composed-dashboard.d.ts +1 -1
  63. package/dist/packages/sdk-ui/src/index.d.ts +2 -0
  64. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model.d.ts +15 -3
  65. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +3 -2
  66. package/dist/packages/sdk-ui/src/models/dashboard/types.d.ts +1 -10
  67. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dasboard-model-utils.d.ts +5 -5
  68. package/dist/packages/sdk-ui/src/models/widget/widget-model-translator/index.d.ts +1 -0
  69. package/dist/packages/sdk-ui/src/models/widget/widget-model-translator/tabber.d.ts +21 -0
  70. package/dist/packages/sdk-ui/src/models/widget/{widget-model-translator.d.ts → widget-model-translator/widget-model-translator.d.ts} +15 -15
  71. package/dist/packages/sdk-ui/src/models/widget/widget-model.d.ts +6 -0
  72. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +7 -1
  73. package/dist/packages/sdk-ui/src/props.d.ts +8 -20
  74. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +2 -0
  75. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +4 -0
  76. package/dist/packages/sdk-ui/src/types.d.ts +157 -107
  77. package/dist/packages/sdk-ui/src/utils/gradient.d.ts +396 -0
  78. package/dist/packages/sdk-ui/src/utils/omit-undefined.d.ts +21 -0
  79. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-style-options/index.d.ts +1 -0
  80. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-style-options/tabber.d.ts +23 -0
  81. package/dist/packages/sdk-ui/src/widget-by-id/{translate-widget-style-options.d.ts → translate-widget-style-options/translate-widget-style-options.d.ts} +4 -4
  82. package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +38 -3
  83. package/dist/packages/sdk-ui/src/widget-by-id/utils.d.ts +30 -2
  84. package/dist/packages/sdk-ui/src/widgets/tabber/tabber-buttons-widget.d.ts +8 -0
  85. package/dist/packages/sdk-ui/src/widgets/tabber/types.d.ts +110 -0
  86. package/dist/{types-CevYjGN4.cjs → types-D1qM-ltg.cjs} +1 -1
  87. package/dist/{types-DVAfvbpR.js → types-DglXXR-Q.js} +1 -1
  88. package/dist/{use-common-filters-DIF4c8WP.js → use-common-filters-BGrn7zoW.js} +22269 -21424
  89. package/dist/use-common-filters-DxzCHhgF.cjs +846 -0
  90. package/dist/{widget-composer-C0lZpwN6.cjs → widget-composer-C24YJEek.cjs} +6 -10
  91. package/dist/{widget-composer-BB5Jrgae.js → widget-composer-lBv40CFf.js} +132 -135
  92. package/package.json +7 -7
  93. package/dist/execute-query-Xt9drS3G.cjs +0 -1
  94. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/highcharts-options-builder.d.ts +0 -8
  95. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/axes-options.d.ts +0 -12
  96. package/dist/packages/sdk-ui/src/widgets/tabber-widget.d.ts +0 -41
  97. package/dist/use-common-filters-BXdnB4GI.cjs +0 -845
@@ -1,19 +1,19 @@
1
- import { SeriesLabels } from '..';
2
- export declare const prepareDataLabelsOptions: (seriesLabels?: SeriesLabels) => {
3
- animation?: {
4
- defer: number;
5
- } | undefined;
6
- y?: number | undefined;
7
- x?: number | undefined;
8
- padding?: number | undefined;
9
- borderWidth?: number | undefined;
10
- borderRadius?: number | undefined;
11
- borderColor?: string | undefined;
12
- backgroundColor?: string | undefined;
13
- style?: import("..").SeriesLabelsTextStyle | undefined;
14
- verticalAlign?: "top" | "middle" | "bottom" | undefined;
15
- align?: "center" | "left" | "right" | undefined;
16
- inside?: boolean | undefined;
17
- rotation?: number | undefined;
1
+ import { HighchartsGradientColorObject } from '../utils/gradient';
2
+ import { SeriesLabels, TextStyle } from '..';
3
+ type DataLabelsOptions = {
18
4
  enabled: boolean;
5
+ rotation?: number;
6
+ inside?: boolean;
7
+ align?: 'left' | 'center' | 'right';
8
+ verticalAlign?: 'top' | 'middle' | 'bottom';
9
+ style?: TextStyle;
10
+ backgroundColor?: string | HighchartsGradientColorObject;
11
+ borderColor?: string | HighchartsGradientColorObject;
12
+ borderRadius?: number;
13
+ borderWidth?: number;
14
+ padding?: number;
15
+ x?: number;
16
+ y?: number;
19
17
  };
18
+ export declare const prepareDataLabelsOptions: (seriesLabels?: SeriesLabels) => DataLabelsOptions;
19
+ export {};
@@ -1,25 +1,21 @@
1
- import { TotalLabels } from '../types';
2
- export declare const prepareStackLabels: (totalLabels: TotalLabels) => {
3
- textAlign?: "center" | "left" | "right" | undefined;
4
- style?: {
5
- color?: string | undefined;
6
- fontFamily?: string | undefined;
7
- fontSize?: string | undefined;
8
- fontWeight?: string | undefined;
9
- fontStyle?: string | undefined;
10
- textOutline?: string | undefined;
11
- } | undefined;
12
- y?: number | undefined;
13
- x?: number | undefined;
14
- borderWidth?: number | undefined;
15
- borderRadius?: number | undefined;
16
- borderColor?: string | undefined;
17
- backgroundColor?: string | undefined;
1
+ import { TextStyle, TotalLabels } from '../types';
2
+ import { HighchartsGradientColorObject } from '../utils/gradient';
3
+ type StackLabelsOptions = {
4
+ enabled: boolean;
5
+ rotation?: number;
6
+ align?: 'left' | 'center' | 'right';
7
+ textAlign?: 'left' | 'center' | 'right';
8
+ verticalAlign?: 'top' | 'middle' | 'bottom';
18
9
  animation?: {
19
10
  defer: number;
20
- } | undefined;
21
- verticalAlign?: "top" | "middle" | "bottom" | undefined;
22
- align?: "center" | "left" | "right" | undefined;
23
- rotation?: number | undefined;
24
- enabled: boolean;
11
+ };
12
+ backgroundColor?: string | HighchartsGradientColorObject;
13
+ borderColor?: string | HighchartsGradientColorObject;
14
+ borderRadius?: number;
15
+ borderWidth?: number;
16
+ style?: TextStyle;
17
+ x?: number;
18
+ y?: number;
25
19
  };
20
+ export declare const prepareStackLabels: (totalLabels: TotalLabels) => StackLabelsOptions;
21
+ export {};
@@ -1,10 +1,12 @@
1
1
  import { CartesianChartDataOptionsInternal } from '../../chart-data-options/types';
2
- import { AreaStyleOptions, BaseAxisStyleOptions, BaseStyleOptions, BoxplotStyleOptions, ChartStyleOptions, ChartType, FunnelStyleOptions, LineStyleOptions, PieStyleOptions, PolarStyleOptions, ScattermapStyleOptions, ScatterStyleOptions, StackableStyleOptions, SunburstStyleOptions, TreemapStyleOptions } from '../../types';
2
+ import { AreaStyleOptions, BaseAxisStyleOptions, BaseStyleOptions, BoxplotStyleOptions, ChartStyleOptions, ChartType, FunnelStyleOptions, LineStyleOptions, PieStyleOptions, PolarStyleOptions, ScattermapStyleOptions, ScatterStyleOptions, SeriesLabels, StackableStyleOptions, SunburstStyleOptions, TreemapStyleOptions } from '../../types';
3
3
  import { AreaChartDesignOptions, BaseDesignOptionsType, BoxplotChartDesignOptions, FunnelChartDesignOptions, LineChartDesignOptions, PieChartDesignOptions, PolarChartDesignOptions, ScatterChartDesignOptions, ScattermapChartDesignOptions, StackableChartDesignOptions, SunburstChartDesignOptions, TreemapChartDesignOptions } from '../translations/design-options';
4
4
  import { StackType } from '../translations/translations-to-highcharts';
5
5
  import { CartesianChartType, SeriesDesignOptions } from '../translations/types';
6
6
  export declare const DefaultStackType: StackType;
7
- export declare const getCartesianChartStyle: (styleOptions: BaseStyleOptions & BaseAxisStyleOptions, shouldHaveY2Axis: boolean) => BaseDesignOptionsType;
7
+ export declare const getCartesianChartStyle: (styleOptions: BaseStyleOptions & BaseAxisStyleOptions & {
8
+ seriesLabels?: SeriesLabels;
9
+ }, shouldHaveY2Axis: boolean) => BaseDesignOptionsType;
8
10
  export declare const getStackableChartDesignOptions: (styleOptions: AreaStyleOptions | StackableStyleOptions, dataOptions: CartesianChartDataOptionsInternal, hasY2Axis: boolean, chartType: CartesianChartType) => StackableChartDesignOptions;
9
11
  export declare const getSeriesChartDesignOptions: (chartType: ChartType, styleOptions: ChartStyleOptions) => SeriesDesignOptions;
10
12
  export declare const getLineChartDesignOptions: (styleOptions: LineStyleOptions, dataOptions: CartesianChartDataOptionsInternal, hasY2Axis: boolean) => LineChartDesignOptions;
@@ -1,4 +1,5 @@
1
1
  import { CategoricalXValues } from '../../chart-data/types';
2
+ import { HighchartsGradientColorObject } from '../../utils/gradient';
2
3
  import { TextStyle } from './types';
3
4
  export type Axis = {
4
5
  enabled?: boolean;
@@ -76,10 +77,10 @@ export type AxisSettings = {
76
77
  };
77
78
  export type StackLabel = {
78
79
  style?: TextStyle;
79
- borderColor?: string;
80
+ borderColor?: string | HighchartsGradientColorObject;
80
81
  borderRadius?: number;
81
82
  borderWidth?: number;
82
- backgroundColor?: string;
83
+ backgroundColor?: string | HighchartsGradientColorObject;
83
84
  align?: 'center' | 'left' | 'right';
84
85
  textAlign?: 'center' | 'left' | 'right';
85
86
  verticalAlign?: 'top' | 'middle' | 'bottom';
@@ -1,9 +1,9 @@
1
1
  import { CalendarDayOfWeek } from '../../chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/utils';
2
- import { CalendarHeatmapViewType, Convolution, LegendOptions, LineOptions, ScattermapMarkers, SeriesLabels, SunburstStyleOptions, TotalLabels, TreemapStyleOptions } from '../../types';
2
+ import { CalendarHeatmapSubtype, CalendarHeatmapViewType, Convolution, FunnelSeriesLabels, LegendOptions, LineOptions, PieSeriesLabels, ScattermapMarkers, SeriesLabels, SunburstStyleOptions, TotalLabels, TreemapStyleOptions } from '../../types';
3
3
  import { Axis } from './axis-section';
4
- import { FunnelDirection, FunnelLabels, FunnelSize, FunnelType } from './funnel-plot-options';
4
+ import { FunnelDirection, FunnelSize, FunnelType } from './funnel-plot-options';
5
5
  import { Marker } from './marker-section';
6
- import { PieLabels, PieType } from './pie-plot-options';
6
+ import { PieType } from './pie-plot-options';
7
7
  import { ScatterMarkerSize } from './scatter-plot-options';
8
8
  import { LineType, StackType } from './translations-to-highcharts';
9
9
  import { DesignPerSeries, TextStyle } from './types';
@@ -54,6 +54,7 @@ export type ColumnChartDesignOptions = StackableChartDesignOptions;
54
54
  export type CalendarHeatmapChartDesignOptions = BaseDesignOptionsType & {
55
55
  width?: number;
56
56
  height?: number;
57
+ subtype: CalendarHeatmapSubtype;
57
58
  viewType: CalendarHeatmapViewType;
58
59
  cellSize?: number;
59
60
  startOfWeek: CalendarDayOfWeek;
@@ -89,14 +90,14 @@ export type PolarChartDesignOptions = CartesianChartDesignOptions & {
89
90
  export declare function isPolarChartDesignOptions(options: CartesianChartDesignOptions): options is PolarChartDesignOptions;
90
91
  export type PieChartDesignOptions = BaseDesignOptionsType & {
91
92
  pieType?: PieType;
92
- pieLabels?: PieLabels;
93
93
  convolution?: Convolution;
94
+ seriesLabels?: PieSeriesLabels;
94
95
  };
95
- export type FunnelChartDesignOptions = BaseDesignOptionsType & {
96
+ export type FunnelChartDesignOptions = Omit<BaseDesignOptionsType, 'seriesLabels'> & {
96
97
  funnelSize?: FunnelSize;
97
98
  funnelType?: FunnelType;
98
99
  funnelDirection?: FunnelDirection;
99
- funnelLabels?: FunnelLabels;
100
+ seriesLabels?: FunnelSeriesLabels;
100
101
  };
101
102
  export type TreemapChartDesignOptions = BaseDesignOptionsType & TreemapStyleOptions;
102
103
  export type SunburstChartDesignOptions = BaseDesignOptionsType & SunburstStyleOptions;
@@ -1,16 +1,13 @@
1
1
  import { ChartDataOptionsInternal } from '../../chart-data-options/types';
2
- import { CompleteThemeSettings } from '../../types';
2
+ import { FunnelSeriesLabels } from '../../types';
3
3
  import { PlotOptions } from '../chart-options-service';
4
4
  import { FunnelChartDesignOptions } from './design-options';
5
5
  import { DataLabelsSettings } from './value-label-section';
6
- export declare const DefaultFunnelLabels: FunnelLabels;
7
- export type FunnelLabels = {
8
- enabled: boolean;
9
- showCategories: boolean;
10
- showValue: boolean;
11
- showPercent: boolean;
12
- showDecimals: boolean;
13
- };
6
+ /**
7
+ * Default configuration for funnel chart series labels.
8
+ * Enables all label components (category, value, percentage) by default.
9
+ */
10
+ export declare const DefaultFunnelSeriesLabels: FunnelSeriesLabels;
14
11
  export declare const DefaultFunnelSize: FunnelSize;
15
12
  export declare const funnelSizes: readonly ["wide", "regular", "narrow"];
16
13
  /** Visual size of the lowest slice (degree of funnel narrowing from highest to lowest slices)*/
@@ -23,13 +20,14 @@ export declare const DefaultFunnelDirection: FunnelDirection;
23
20
  export declare const funnelDirections: readonly ["regular", "inverted"];
24
21
  /** Direction of Funnel chart narrowing */
25
22
  export type FunnelDirection = (typeof funnelDirections)[number];
23
+ /** Funnel-specific data labels settings extending the base data labels configuration. */
24
+ export type FunnelDataLabelsSettings = DataLabelsSettings & {
25
+ funnelMinimumFontSizeToTextLabel: number;
26
+ };
26
27
  export type FunnelOptions = {
27
28
  allowPointSelect: boolean;
28
29
  cursor: 'pointer';
29
- dataLabels: DataLabelsSettings & {
30
- funnelMinimumFontSizeToTextLabel: number;
31
- formatter?: () => string;
32
- };
30
+ dataLabels: FunnelDataLabelsSettings;
33
31
  showInLegend: boolean;
34
32
  reversed: boolean;
35
33
  neckWidth: string | number;
@@ -37,9 +35,6 @@ export type FunnelOptions = {
37
35
  width: string | number;
38
36
  };
39
37
  export declare const isFunnelReversed: (direction: FunnelDirection) => boolean;
40
- export declare const seriesDataLabels: (labels: FunnelLabels) => {
41
- enabled: boolean;
42
- };
43
38
  export type RenderTo = {
44
39
  clientWidth: number;
45
40
  clientHeight: number;
@@ -51,4 +46,4 @@ export declare const DEFAULT_SHIFT = 50;
51
46
  export declare const funnelWidthPercentage: (renderTo: RenderTo | null) => number;
52
47
  export declare const funnelNeckWidth: (widthPercentage: number, funnelSize: FunnelSize) => number;
53
48
  export declare const funnelNeckHeight: (type: FunnelType) => number;
54
- export declare const getFunnelPlotOptions: (funnelDesignOptions: FunnelChartDesignOptions, chartDataOptions: ChartDataOptionsInternal, themeSettings?: CompleteThemeSettings) => PlotOptions;
49
+ export declare const getFunnelPlotOptions: (funnelDesignOptions: FunnelChartDesignOptions, chartDataOptions: ChartDataOptionsInternal) => PlotOptions;
@@ -1,4 +1,5 @@
1
1
  import type { LegendOptions } from '../../types';
2
+ import { HighchartsGradientColorObject } from '../../utils/gradient';
2
3
  import type { TextStyle } from './types';
3
4
  export type LegendPosition = 'top' | 'left' | 'right' | 'bottom' | null;
4
5
  export type LegendSettings = {
@@ -6,9 +7,9 @@ export type LegendSettings = {
6
7
  align?: 'center' | 'left' | 'right';
7
8
  verticalAlign?: 'top' | 'middle' | 'bottom';
8
9
  borderWidth?: number;
9
- borderColor?: string;
10
+ borderColor?: string | HighchartsGradientColorObject;
10
11
  borderRadius?: number;
11
- backgroundColor?: string;
12
+ backgroundColor?: string | HighchartsGradientColorObject;
12
13
  margin?: number;
13
14
  padding?: number;
14
15
  maxHeight?: number;
@@ -1,8 +1,8 @@
1
- import { CompleteThemeSettings } from '../../types';
1
+ import { CompleteThemeSettings, PieSeriesLabels } from '../../types';
2
2
  import { ChartDataOptionsInternal } from '../../chart-data-options/types';
3
3
  import { PlotOptions } from '../chart-options-service';
4
4
  import { DataLabelsSettings } from './value-label-section';
5
- export declare const DefaultPieLabels: PieLabels;
5
+ export declare const DefaultPieSeriesLabels: PieSeriesLabels;
6
6
  export type PieLabels = {
7
7
  enabled: boolean;
8
8
  showCategories: boolean;
@@ -26,5 +26,5 @@ export type PieOptions = {
26
26
  innerSize?: InnerSize;
27
27
  };
28
28
  type InnerSize = '0%' | '40%' | '80%';
29
- export declare const getPiePlotOptions: (pieType: "classic" | "donut" | "ring" | undefined, pieLabels: PieLabels | undefined, chartDataOptions: ChartDataOptionsInternal, themeSettings?: CompleteThemeSettings) => PlotOptions;
29
+ export declare const getPiePlotOptions: (pieType: "classic" | "donut" | "ring" | undefined, seriesLabels: PieSeriesLabels | undefined, chartDataOptions: ChartDataOptionsInternal, themeSettings?: CompleteThemeSettings) => PlotOptions;
30
30
  export {};
@@ -1,6 +1,6 @@
1
1
  import Highcharts, { PointLabelObject } from '@sisense/sisense-charts';
2
2
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
3
- import { CompleteThemeSettings } from '../../../types';
3
+ import { CompleteThemeSettings, TreemapSeriesLabels } from '../../../types';
4
4
  import { TreemapChartDesignOptions } from '../design-options';
5
5
  export declare function prepareTreemapLevels(dataOptions: CategoricalChartDataOptionsInternal, chartDesignOptions: TreemapChartDesignOptions, themeSettings?: CompleteThemeSettings): Highcharts.PlotTreegraphLevelsOptions[];
6
- export declare function treemapLabelFormatter(this: PointLabelObject): string;
6
+ export declare function prepareTreemapLabelFormatter(level: number, seriesLabels: TreemapSeriesLabels): (this: PointLabelObject) => string;
@@ -1,5 +1,6 @@
1
1
  import type { DataLabelsOptions } from '@sisense/sisense-charts';
2
2
  import { NumberFormatConfig, SeriesLabels } from '../../types';
3
+ import { HighchartsGradientColorObject } from '../../utils/gradient';
3
4
  import { AxisOrientation } from './axis-section';
4
5
  import { PolarType } from './design-options';
5
6
  import { HighchartsDataPointContext } from './tooltip-utils';
@@ -25,8 +26,8 @@ export type DataLabelsSettings = {
25
26
  verticalAlign?: 'bottom' | 'middle' | 'top';
26
27
  padding?: number;
27
28
  color?: 'contrast' | string;
28
- backgroundColor?: string;
29
- borderColor?: string;
29
+ backgroundColor?: string | HighchartsGradientColorObject;
30
+ borderColor?: string | HighchartsGradientColorObject;
30
31
  borderRadius?: number;
31
32
  borderWidth?: number;
32
33
  animation?: {
@@ -1,4 +1,5 @@
1
1
  import { ContextMenuProps } from '../../../../props';
2
+ export declare const CONTEXT_MENU_SELECTED_WITH_DOT_CLASS = "csdk-context-menu-selected-with-dot";
2
3
  /**
3
4
  * Context menu
4
5
  *
@@ -97,6 +97,17 @@ export declare const distributeEqualWidthInRow: (layout: WidgetsPanelLayout, col
97
97
  * @internal
98
98
  */
99
99
  export declare function updateLayoutAfterDragAndDrop(layout: WidgetsPanelLayout, dragData: EditableLayoutDragData, dropData: EditableLayoutDropData): WidgetsPanelColumnLayout;
100
+ /**
101
+ * Updates the layout based on column change.
102
+ *
103
+ * @param layout - The current layout to modify
104
+ * @param columnCount - The number of columns to update
105
+ *
106
+ * @returns A new layout with the columns updated
107
+ *
108
+ * @internal
109
+ */
110
+ export declare function updateColumnsCountInLayout(layout: WidgetsPanelLayout, columnCount: number): WidgetsPanelColumnLayout;
100
111
  export declare function getRowHeight(row: WidgetsPanelRow, widgets: WidgetProps[]): number;
101
112
  export declare function getRowMaxHeight(row: WidgetsPanelRow): number;
102
113
  export declare function getRowMinHeight(row: WidgetsPanelRow): number;
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Props for the EditToggle component
4
+ *
5
+ * @internal
6
+ */
7
+ export interface EditToggleProps {
8
+ /**
9
+ * Whether the edit mode is currently active
10
+ */
11
+ isEditMode: boolean;
12
+ /**
13
+ * Whether the history is currently enabled
14
+ */
15
+ isHistoryEnabled: boolean;
16
+ /**
17
+ * Callback function called when the edit toggle button is clicked
18
+ */
19
+ onToggleClick: () => void;
20
+ }
21
+ /**
22
+ * Edit toggle button component for dashboard toolbar.
23
+ * Displays appropriate icon and tooltip based on edit mode state.
24
+ */
25
+ export declare const EditToggle: import("react").NamedExoticComponent<EditToggleProps>;
@@ -1,11 +1,11 @@
1
1
  import type { DeepRequired } from 'ts-essentials';
2
2
  import { DashboardByIdConfig, DashboardConfig, EditModeConfig, WidgetsPanelConfig } from './types';
3
- export declare const DEFAULT_DASHBOARD_CONFIG: DeepRequired<Omit<DashboardConfig, 'widgetsPanel'> & {
3
+ export declare const DEFAULT_DASHBOARD_CONFIG: DeepRequired<Omit<DashboardConfig, 'widgetsPanel' | 'tabbers'> & {
4
4
  widgetsPanel: Omit<WidgetsPanelConfig, 'editMode'> & {
5
5
  editMode: Omit<EditModeConfig, 'isEditing'>;
6
6
  };
7
7
  }>;
8
- export declare const DEFAULT_DASHBOARD_BY_ID_CONFIG: DeepRequired<Omit<DashboardByIdConfig, 'widgetsPanel'> & {
8
+ export declare const DEFAULT_DASHBOARD_BY_ID_CONFIG: DeepRequired<Omit<DashboardByIdConfig, 'widgetsPanel' | 'tabbers'> & {
9
9
  widgetsPanel: Omit<WidgetsPanelConfig, 'editMode'> & {
10
10
  editMode: Omit<EditModeConfig, 'isEditing'>;
11
11
  };
@@ -1,35 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Filter, FilterRelations } from '@sisense/sdk-data';
3
2
  import { DashboardProps } from '../dashboard/types';
4
- import { WidgetsPanelLayout } from '../models';
5
- export declare enum DashboardChangeType {
6
- /** Dashboard filters have been updated */
7
- FILTERS_UPDATE = "FILTERS.UPDATE",
8
- /** Filters panel collapsed state changed */
9
- UI_FILTERS_PANEL_COLLAPSE = "UI.FILTERS.PANEL.COLLAPSE",
10
- /** Widgets panel layout updated */
11
- WIDGETS_PANEL_LAYOUT_UPDATE = "WIDGETS_PANEL_LAYOUT.UPDATE",
12
- /** Edit mode isEditing changed */
13
- WIDGETS_PANEL_LAYOUT_IS_EDITING_CHANGE = "WIDGETS_PANEL.EDIT_MODE.IS_EDITING.CHANGE",
14
- /** Widgets deleted from the dashboard */
15
- WIDGETS_DELETE = "WIDGETS.DELETE"
16
- }
17
- export type DashboardChangeAction = {
18
- type: DashboardChangeType.FILTERS_UPDATE;
19
- payload: Filter[] | FilterRelations;
20
- } | {
21
- type: DashboardChangeType.UI_FILTERS_PANEL_COLLAPSE;
22
- payload: boolean;
23
- } | {
24
- type: DashboardChangeType.WIDGETS_PANEL_LAYOUT_UPDATE;
25
- payload: WidgetsPanelLayout;
26
- } | {
27
- type: DashboardChangeType.WIDGETS_PANEL_LAYOUT_IS_EDITING_CHANGE;
28
- payload: boolean;
29
- } | {
30
- type: DashboardChangeType.WIDGETS_DELETE;
31
- payload: string[];
32
- };
33
3
  /**
34
4
  * React component that renders a dashboard whose elements are customizable. It includes internal logic of applying common filters to widgets.
35
5
  *
@@ -1,3 +1,4 @@
1
+ import { MenuItemSection } from '../../index';
1
2
  /**
2
3
  * @internal
3
4
  */
@@ -11,14 +12,14 @@ export interface DashboardHeaderToolbarMenuItem {
11
12
  * @internal
12
13
  */
13
14
  export interface UseDashboardHeaderToolbarProps {
14
- menuItems: DashboardHeaderToolbarMenuItem[];
15
+ menuItemSections: MenuItemSection[];
15
16
  toolbarComponents?: JSX.Element[];
16
17
  }
17
18
  /**
18
19
  * Hook that returns a toolbar element for dashboard header
19
20
  * @internal
20
21
  */
21
- export declare const useDashboardHeaderToolbar: ({ menuItems, toolbarComponents, }: UseDashboardHeaderToolbarProps) => {
22
+ export declare const useDashboardHeaderToolbar: ({ menuItemSections, toolbarComponents, }: UseDashboardHeaderToolbarProps) => {
22
23
  toolbar: () => import("react/jsx-runtime").JSX.Element;
23
24
  };
24
25
  export default useDashboardHeaderToolbar;
@@ -1,26 +1,41 @@
1
1
  import { WidgetPanelLayoutManager } from '../../dashboard/hooks/use-widgets-layout';
2
- import { TabbersOptions, WidgetsPanelColumnLayout } from '../../models';
3
- import { WidgetProps } from '../../props';
4
- import { TabberTab } from '../../types';
2
+ import { WidgetId, WidgetsPanelColumnLayout } from '../../models';
3
+ import { TabberButtonsWidgetProps, WidgetProps } from '../../props';
5
4
  /**
6
5
  * @internal
7
6
  */
8
7
  export type UseTabber = ({ widgets, config, }: {
9
8
  widgets: WidgetProps[];
10
- config?: TabbersOptions | undefined;
9
+ config?: TabbersConfig | undefined;
11
10
  }) => {
12
11
  layoutManager: WidgetPanelLayoutManager;
13
12
  widgets: WidgetProps[];
14
13
  };
15
14
  /**
16
- * @internal
15
+ * Configuration for a single tab in a tabber widget.
16
+ */
17
+ export type TabberTabConfig = {
18
+ /**
19
+ * Widget IDs from the dashboard to display in the tab.
20
+ */
21
+ displayWidgetIds: string[];
22
+ };
23
+ /**
24
+ * Configuration for a tabber widget.
17
25
  */
18
- export type SingleTabberConfig = {
19
- tabs: TabberTab[];
20
- activeTab: number;
26
+ export type TabberConfig = {
27
+ /**
28
+ * Tabs configuration for the tabber widget.
29
+ */
30
+ tabs: TabberTabConfig[];
21
31
  };
22
- export declare const isTabberWidget: (widget: WidgetProps) => boolean;
23
- export declare const modifyLayout: (tabbersOptions: TabbersOptions, tabberState: Record<string, number>) => (layout: WidgetsPanelColumnLayout) => WidgetsPanelColumnLayout;
32
+ /**
33
+ * Configuration for tabbers in a dashboard.
34
+ * It includes separate configuration for each tabber.
35
+ */
36
+ export type TabbersConfig = Record<WidgetId, TabberConfig>;
37
+ export declare const isTabberButtonsWidget: (widget: WidgetProps) => widget is TabberButtonsWidgetProps;
38
+ export declare const modifyLayout: (tabbersOptions: TabbersConfig, tabberState: Record<string, number>) => (layout: WidgetsPanelColumnLayout) => WidgetsPanelColumnLayout;
24
39
  /**
25
40
  * Hook that modifies widget properties so it became a tabber widget.
26
41
  * Incapsulates logic for updating layout via navigating tabs
@@ -3,4 +3,4 @@ export { Dashboard } from './dashboard';
3
3
  export { useComposedDashboard, useComposedDashboardInternal, type ComposableDashboardProps, type UseComposedDashboardOptions, type ComposedDashboardResult, } from './use-composed-dashboard';
4
4
  export { useDashboardTheme, type DashboardThemeParams } from './use-dashboard-theme';
5
5
  export * from './hooks';
6
- export type { DashboardByIdProps, DashboardProps, DashboardLayoutOptions, DashboardStyleOptions, DashboardConfig, DashboardByIdConfig, WidgetsPanelConfig, EditModeConfig, DashboardFiltersPanelConfig, } from './types';
6
+ export type { DashboardByIdProps, DashboardProps, DashboardLayoutOptions, DashboardStyleOptions, DashboardConfig, DashboardByIdConfig, WidgetsPanelConfig, EditModeConfig, DashboardFiltersPanelConfig, TabbersConfig, TabberConfig, TabberTabConfig, DashboardChangeEvent, DashboardFiltersUpdatedEvent, DashboardFiltersPanelCollapseChangedEvent, DashboardWidgetsPanelLayoutUpdatedEvent, DashboardWidgetsPanelIsEditingChangedEvent, DashboardWidgetsDeletedEvent, } from './types';
@@ -1,10 +1,81 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DataSource, Filter, FilterRelations } from '@sisense/sdk-data';
3
- import { DashboardChangeAction } from '../dashboard/dashboard';
3
+ import { TabbersConfig } from '../dashboard/hooks/use-tabber';
4
4
  import { FiltersPanelConfig } from '../filters/components/filters-panel/types';
5
- import { DashboardStyleOptions, TabbersOptions, WidgetsOptions, WidgetsPanelLayout } from '../models';
5
+ import { DashboardStyleOptions, WidgetsOptions, WidgetsPanelLayout } from '../models';
6
6
  import { WidgetProps } from '../props';
7
7
  export type { DashboardStyleOptions, WidgetsPanelColumnLayout, WidgetsPanelLayout, WidgetsPanelCell, WidgetsPanelRow, WidgetsPanelColumn, } from '../models';
8
+ export type { TabbersConfig, TabberConfig, TabberTabConfig } from '../dashboard/hooks/use-tabber';
9
+ /**
10
+ * Event triggered when dashboard filters are updated.
11
+ */
12
+ export interface DashboardFiltersUpdatedEvent {
13
+ /** Event type */
14
+ type: 'filters/updated';
15
+ /** New filters or filter relations after the update*/
16
+ payload: Filter[] | FilterRelations;
17
+ }
18
+ /**
19
+ * Event triggered when the filters panel collapsed state changes.
20
+ */
21
+ export interface DashboardFiltersPanelCollapseChangedEvent {
22
+ /** Event type */
23
+ type: 'filtersPanel/collapse/changed';
24
+ /** Is the filters panel collapsed? */
25
+ payload: boolean;
26
+ }
27
+ /**
28
+ * Event triggered when the widgets panel layout is updated.
29
+ *
30
+ * @remarks
31
+ * When `config.widgetsPanel.editMode.applyChangesAsBatch.enabled` is `true` (default),
32
+ * this event is only triggered when the user applies changes (clicks "Apply"),
33
+ * not during the editing process. When `false`, this event is triggered immediately
34
+ * after each layout change.
35
+ */
36
+ export interface DashboardWidgetsPanelLayoutUpdatedEvent {
37
+ /** Event type */
38
+ type: 'widgetsPanel/layout/updated';
39
+ /** The new widgets panel layout */
40
+ payload: WidgetsPanelLayout;
41
+ }
42
+ /**
43
+ * Event triggered when the edit mode state changes.
44
+ */
45
+ export interface DashboardWidgetsPanelIsEditingChangedEvent {
46
+ /** Event type */
47
+ type: 'widgetsPanel/editMode/isEditing/changed';
48
+ /** Is the widgets panel layout in editing state? */
49
+ payload: boolean;
50
+ }
51
+ /**
52
+ * Event triggered when widgets are deleted from the dashboard.
53
+ *
54
+ * @remarks
55
+ * When `config.widgetsPanel.editMode.applyChangesAsBatch.enabled` is `true` (default),
56
+ * this event is only triggered when the user applies changes (clicks "Apply"),
57
+ * not during the editing process. When `false`, this event is triggered immediately
58
+ * after widgets are deleted.
59
+ */
60
+ export interface DashboardWidgetsDeletedEvent {
61
+ /**
62
+ * Event type */
63
+ type: 'widgets/deleted';
64
+ /** The oids of the widgets deleted */
65
+ payload: string[];
66
+ }
67
+ /**
68
+ * Events that can be triggered by the Dashboard component
69
+ *
70
+ * @example
71
+ *
72
+ * Example of a filters update event:
73
+ *
74
+ * ```ts
75
+ * { type: 'filters/updated', payload: filters }
76
+ * ```
77
+ */
78
+ export type DashboardChangeEvent = DashboardFiltersUpdatedEvent | DashboardFiltersPanelCollapseChangedEvent | DashboardWidgetsPanelLayoutUpdatedEvent | DashboardWidgetsPanelIsEditingChangedEvent | DashboardWidgetsDeletedEvent;
8
79
  /**
9
80
  * Props of the {@link DashboardById} component.
10
81
  */
@@ -34,7 +105,7 @@ export interface DashboardContainerProps {
34
105
  *
35
106
  * @internal
36
107
  */
37
- onChange?: (action: DashboardChangeAction) => void;
108
+ onChange?: (event: DashboardChangeEvent) => void;
38
109
  }
39
110
  /**
40
111
  * Dashboard filters panel configuration
@@ -161,6 +232,10 @@ export interface DashboardConfig {
161
232
  * Configuration for the widgets panel
162
233
  */
163
234
  widgetsPanel?: WidgetsPanelConfig;
235
+ /**
236
+ * Configuration for tabber widgets in the dashboard
237
+ */
238
+ tabbers?: TabbersConfig;
164
239
  }
165
240
  /**
166
241
  * Dashboard configuration
@@ -222,20 +297,17 @@ export interface DashboardProps {
222
297
  defaultDataSource?: DataSource;
223
298
  /** The options for each of the widgets */
224
299
  widgetsOptions?: WidgetsOptions;
225
- /**
226
- * The Tabber widgets configurations as a single dashboard config
227
- *
228
- * @internal
229
- */
230
- tabbersOptions?: TabbersOptions;
231
300
  /** The style options for the dashboard */
232
301
  styleOptions?: DashboardStyleOptions;
233
302
  /**
234
303
  * Callback to receive changes
235
304
  *
236
- * @internal
305
+ * This callback is invoked when the dashboard state changes, such as filter updates,
306
+ * layout changes, or widget deletions. See {@link DashboardChangeEvent} for all possible event types.
307
+ *
308
+ * @param event The event that occurred
237
309
  */
238
- onChange?: (action: DashboardChangeAction) => void;
310
+ onChange?: (event: DashboardChangeEvent) => void;
239
311
  }
240
312
  /**
241
313
  * Props for the Dashboard Header component
@@ -1,7 +1,7 @@
1
1
  import { Filter, FilterRelations } from '@sisense/sdk-data';
2
2
  import { WidgetsPanelLayout } from '../models';
3
3
  import { DashboardProps } from './types.js';
4
- export type ComposableDashboardProps = Pick<DashboardProps, 'filters' | 'widgets' | 'widgetsOptions' | 'layoutOptions' | 'tabbersOptions'>;
4
+ export type ComposableDashboardProps = Pick<DashboardProps, 'filters' | 'widgets' | 'widgetsOptions' | 'layoutOptions' | 'config'>;
5
5
  export type UseComposedDashboardOptions = {
6
6
  /**
7
7
  * @internal
@@ -18,6 +18,7 @@ export { TableWidget } from './widgets/table-widget';
18
18
  export { PivotTableWidget } from './widgets/pivot-table-widget';
19
19
  export { TextWidget } from './widgets/text-widget';
20
20
  export { Widget } from './widgets/widget';
21
+ export { TabberButtonsWidget } from './widgets/tabber/tabber-buttons-widget';
21
22
  export { ContextMenu } from './common/components/menu/context-menu/context-menu';
22
23
  export { DrilldownBreadcrumbs } from './widgets/common/drilldown-breadcrumbs';
23
24
  export * from './line-chart';
@@ -105,3 +106,4 @@ export { updateDrilldownSelections } from './widgets/common/use-drilldown-core';
105
106
  export { getSelectionTitleMenuItem, getDrilldownMenuItems } from './widgets/hooks/use-drilldown';
106
107
  export { DataSchemaBrowser } from './data-browser/data-schema-browser/data-schema-browser';
107
108
  export { type TranslationDictionary, PACKAGE_NAMESPACE as translationNamespace, } from './translation/resources';
109
+ export * from './utils/gradient';