@sisense/sdk-ui 2.5.0 → 2.7.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 (60) hide show
  1. package/dist/ai.cjs +17 -17
  2. package/dist/ai.js +653 -650
  3. package/dist/analytics-composer.cjs +82 -82
  4. package/dist/analytics-composer.js +1911 -1911
  5. package/dist/derive-chart-family-BCY-GLVZ.cjs +672 -0
  6. package/dist/derive-chart-family-DvYmrG1k.js +93730 -0
  7. package/dist/dimensions-DAISVpEZ.cjs +1 -0
  8. package/dist/dimensions-WmjaZcrG.js +203 -0
  9. package/dist/index.cjs +14 -14
  10. package/dist/index.js +6403 -6271
  11. package/dist/index.umd.js +297 -297
  12. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +1 -0
  13. package/dist/packages/sdk-ui/src/ai/chat-config.d.ts +7 -0
  14. package/dist/packages/sdk-ui/src/ai/use-get-query-recommendations.d.ts +7 -0
  15. package/dist/packages/sdk-ui/src/analytics-composer/query/fix-ranking-filter-jaql.d.ts +8 -0
  16. package/dist/packages/sdk-ui/src/app/client-application.d.ts +2 -2
  17. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/get-legacy-cartesian-chart-options.d.ts +3 -0
  18. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/legend.d.ts +2 -0
  19. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/tooltip.d.ts +4 -0
  20. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/{highcharts-options-builder.d.ts → highchart-options/highcharts-options-builder.d.ts} +1 -1
  21. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/highchart-options/legend.d.ts +3 -0
  22. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/highcharts-based-chart-renderer.d.ts +4 -0
  23. package/dist/packages/sdk-ui/src/chart-options-processor/{cartesian-chart-options.d.ts → cartesian/cartesian-chart-options.d.ts} +6 -6
  24. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis-configuration.d.ts +41 -0
  25. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/chart-configuration.d.ts +13 -0
  26. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/chart-spacing-calculator.d.ts +41 -0
  27. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/series-processor.d.ts +57 -0
  28. package/dist/packages/sdk-ui/src/chart-options-processor/tooltip.d.ts +3 -29
  29. package/dist/packages/sdk-ui/src/chart-options-processor/translations/scatter-plot-options.d.ts +2 -2
  30. package/dist/packages/sdk-ui/src/chart-options-processor/translations/scatter-tooltip.d.ts +2 -2
  31. package/dist/packages/sdk-ui/src/chart-options-processor/translations/tooltip-utils.d.ts +17 -2
  32. package/dist/packages/sdk-ui/src/chart-options-processor/translations/tooltip.d.ts +3 -3
  33. package/dist/packages/sdk-ui/src/chart-options-processor/translations/translations-to-highcharts.d.ts +7 -0
  34. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-tooltip.d.ts +3 -4
  35. package/dist/packages/sdk-ui/src/chart-options-processor/translations/value-label-section.d.ts +3 -3
  36. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/utils.d.ts +7 -1
  37. package/dist/packages/sdk-ui/src/dashboard/components/jtd-dashboard.d.ts +2 -1
  38. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-filters.d.ts +38 -4
  39. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +26 -19
  40. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-tracking/index.d.ts +1 -1
  41. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-tracking/use-track-component-init.d.ts +4 -1
  42. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-tracking/with-tracking.d.ts +10 -2
  43. package/dist/packages/sdk-ui/src/dynamic-size-container/dynamic-size-container.d.ts +2 -1
  44. package/dist/packages/sdk-ui/src/index.d.ts +1 -0
  45. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +1 -0
  46. package/dist/packages/sdk-ui/src/props.d.ts +10 -0
  47. package/dist/packages/sdk-ui/src/sisense-chart/sisense-chart.d.ts +1 -1
  48. package/dist/packages/sdk-ui/src/sisense-chart/types.d.ts +4 -0
  49. package/dist/packages/sdk-ui/src/types.d.ts +27 -0
  50. package/dist/packages/sdk-ui/src/widget-by-id/utils.d.ts +27 -1
  51. package/dist/{use-common-filters-Bf8KKBN2.cjs → use-common-filters-CRrL9rOQ.cjs} +67 -67
  52. package/dist/{use-common-filters-BTk7vuUo.js → use-common-filters-CVgB69Xe.js} +1486 -1453
  53. package/dist/{widget-composer-BtqAxkpr.js → widget-composer-B4eAv2pf.js} +232 -193
  54. package/dist/{widget-composer-CJDaEkCY.cjs → widget-composer-D0FZj1tX.cjs} +8 -8
  55. package/package.json +20 -18
  56. package/dist/derive-chart-family-Cjjn5U5S.cjs +0 -669
  57. package/dist/derive-chart-family-ci86jmVk.js +0 -90516
  58. package/dist/dimensions-COtPNdpu.cjs +0 -1
  59. package/dist/dimensions-wzj4u0MX.js +0 -200
  60. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/get-legacy-cartesian-chart-options.d.ts +0 -3
@@ -89,6 +89,7 @@ export interface NlqResponse {
89
89
  export type ChatResponse = NlqResponse | TextResponse | ErrorResponse;
90
90
  export interface QueryRecommendationConfig {
91
91
  numOfRecommendations: number;
92
+ userPrompt?: string;
92
93
  }
93
94
  export type NlqResult = Omit<NlqResponseData, 'followupQuestions'>;
94
95
  /** AI-generated recommended query you can run on your data model */
@@ -15,6 +15,13 @@ export interface ChatConfig {
15
15
  * Set to `0` to disable initial recommendations.
16
16
  */
17
17
  numOfRecommendations: number;
18
+ /**
19
+ * Pass a custom prompt to AI when generating query recommendations
20
+ *
21
+ * e.g. "Focus on age range"
22
+ *
23
+ */
24
+ customPrompt?: string;
18
25
  /**
19
26
  * Number of recent prompts that should be shown in a chat session
20
27
  *
@@ -19,6 +19,13 @@ export interface GetQueryRecommendationsParams {
19
19
  * @internal
20
20
  */
21
21
  enableAxisTitlesInWidgetProps?: boolean;
22
+ /**
23
+ * Pass a custom prompt to AI when generating query recommendations
24
+ *
25
+ * e.g. "Focus on age range"
26
+ *
27
+ */
28
+ customPrompt?: string;
22
29
  }
23
30
  /**
24
31
  * Parameters for {@link useGetQueryRecommendations} hook.
@@ -0,0 +1,8 @@
1
+ import { MetadataItem } from '@sisense/sdk-data';
2
+ /**
3
+ * Fix problematic jaql for RankingFilter generated by NLQ
4
+ *
5
+ * @param items - the MetadataItem[]
6
+ * @return the MetadataItem[] with fixed RankingFilter Jaql
7
+ */
8
+ export declare const fixRankingFilterJaql: (items: MetadataItem[]) => MetadataItem[];
@@ -181,7 +181,7 @@ export interface ClientApplication {
181
181
  clear: () => void;
182
182
  };
183
183
  }
184
- type ClientApplicationParams = Pick<SisenseContextProviderProps, 'appConfig' | 'defaultDataSource' | 'url' | 'token' | 'wat' | 'ssoEnabled' | 'enableSilentPreAuth' | 'useFusionAuth'>;
184
+ type ClientApplicationParams = Pick<SisenseContextProviderProps, 'appConfig' | 'defaultDataSource' | 'url' | 'token' | 'wat' | 'ssoEnabled' | 'enableSilentPreAuth' | 'useFusionAuth' | 'alternativeSsoHost'>;
185
185
  /** @internal */
186
- export declare const createClientApplication: ({ defaultDataSource, url: rawUrl, token, wat, ssoEnabled, appConfig, enableSilentPreAuth, useFusionAuth, }: ClientApplicationParams) => Promise<ClientApplication>;
186
+ export declare const createClientApplication: ({ defaultDataSource, url: rawUrl, token, wat, ssoEnabled, appConfig, enableSilentPreAuth, useFusionAuth, alternativeSsoHost, }: ClientApplicationParams) => Promise<ClientApplication>;
187
187
  export {};
@@ -0,0 +1,3 @@
1
+ import { BuildContext } from '../../../types';
2
+ import { CartesianChartTypes } from '../../types';
3
+ export declare const getLegacyCartesianChartOptions: (ctx: BuildContext<CartesianChartTypes>, chartType: CartesianChartTypes) => import("../../../../../../chart-options-processor/chart-options-service").HighchartsOptionsInternal;
@@ -0,0 +1,2 @@
1
+ import { LegendPosition, LegendSettings } from '../../../../../../chart-options-processor/translations/legend-section';
2
+ export declare const getBasicCartesianLegend: (position: LegendPosition) => LegendSettings;
@@ -0,0 +1,4 @@
1
+ import { BuildContext } from '../../../types';
2
+ import { CartesianChartTypes } from '../../types';
3
+ import { TooltipSettings } from '../../../../../../chart-options-processor/translations/tooltip-utils';
4
+ export declare const getBasicCartesianTooltip: (ctx: BuildContext<CartesianChartTypes>) => TooltipSettings;
@@ -1,2 +1,2 @@
1
- import { HighchartsOptionsBuilder } from '../../../types';
1
+ import { HighchartsOptionsBuilder } from '../../../../types';
2
2
  export declare const barHighchartsOptionsBuilder: HighchartsOptionsBuilder<'bar'>;
@@ -0,0 +1,3 @@
1
+ import { LegendSettings } from '../../../../../../../chart-options-processor/translations/legend-section';
2
+ import { BuildContext } from '../../../../types';
3
+ export declare const getLegend: (ctx: BuildContext<'bar'>) => LegendSettings;
@@ -12,6 +12,10 @@ export type HighchartsBasedChartRendererProps<CT extends HighchartBasedChartType
12
12
  onDataPointContextMenu?: SisenseChartDataPointEventHandler;
13
13
  onDataPointsSelected?: SisenseChartDataPointsEventHandler;
14
14
  onBeforeRender?: BeforeRenderHandler;
15
+ size?: {
16
+ width?: number;
17
+ height?: number;
18
+ };
15
19
  };
16
20
  /**
17
21
  * Creates a specific highcharts based chart renderer component
@@ -1,9 +1,9 @@
1
- import { ChartData } from '../chart-data/types';
2
- import { ChartDesignOptions } from './translations/types';
3
- import { ChartType, CompleteThemeSettings } from '../types';
4
- import { CartesianChartDataOptionsInternal } from '../chart-data-options/types';
5
- import { HighchartsOptionsInternal } from './chart-options-service';
6
- import { OptionsWithAlerts } from './../types';
1
+ import { ChartData } from '../../chart-data/types';
2
+ import { ChartDesignOptions } from '../translations/types';
3
+ import { ChartType, CompleteThemeSettings } from '../../types';
4
+ import { CartesianChartDataOptionsInternal } from '../../chart-data-options/types';
5
+ import { HighchartsOptionsInternal } from '../chart-options-service';
6
+ import { OptionsWithAlerts } from '../../types';
7
7
  import { TFunction } from '@sisense/sdk-common';
8
8
  /**
9
9
  * Convert intermediate chart data, data options, and design options
@@ -0,0 +1,41 @@
1
+ import { ChartType, CompleteThemeSettings } from '../../../types';
2
+ import { CartesianChartData } from '../../../chart-data/types';
3
+ import { CartesianChartDataOptionsInternal } from '../../../chart-data-options/types';
4
+ import { ChartDesignOptions } from '../../translations/types';
5
+ import { AxisSettings } from '../../translations/axis-section';
6
+ import { AxisClipped } from '../../translations/translations-to-highcharts';
7
+ /**
8
+ * Configuration for axis setup
9
+ */
10
+ interface AxisConfig {
11
+ chartData: CartesianChartData;
12
+ chartType: ChartType;
13
+ chartDesignOptions: ChartDesignOptions;
14
+ dataOptions: CartesianChartDataOptionsInternal;
15
+ themeSettings?: CompleteThemeSettings;
16
+ dateFormatter?: (date: Date, format: string) => string;
17
+ }
18
+ /**
19
+ * Result of axis configuration
20
+ */
21
+ interface AxisConfigResult {
22
+ xAxisSettings: AxisSettings[];
23
+ yAxisSettings: AxisSettings[];
24
+ axisClipped: AxisClipped[];
25
+ yAxisSide: number[];
26
+ yAxisChartType: (string | undefined)[];
27
+ yTreatNullDataAsZeros: boolean[];
28
+ yConnectNulls: boolean[];
29
+ xAxisOrientation: 'horizontal' | 'vertical';
30
+ categories: string[];
31
+ indexMap: number[];
32
+ plotBands: any[];
33
+ continuousDatetimeXAxis: boolean;
34
+ stacking?: string;
35
+ showTotal?: boolean;
36
+ }
37
+ /**
38
+ * Configure chart axes for cartesian charts
39
+ */
40
+ export declare function configureAxes(config: AxisConfig): AxisConfigResult;
41
+ export type { AxisConfig, AxisConfigResult };
@@ -0,0 +1,13 @@
1
+ import { AxisSettings } from '../../translations/axis-section';
2
+ /**
3
+ * Apply label positioning adjustments based on spacing calculations
4
+ */
5
+ export declare function applyLabelPositioning(xAxisSettings: AxisSettings[], yAxisSettings: AxisSettings[], rightShift: number, topShift: number, totalLabelRightSpacing: number, totalLabelTopSpacing: number): void;
6
+ /**
7
+ * Determine chart state information
8
+ */
9
+ export declare function determineChartState(chartType: string, chartDesignOptions: any, stacking?: string): {
10
+ treatNullDataAsZeros: boolean;
11
+ isPolarChart: boolean;
12
+ polarType?: any;
13
+ };
@@ -0,0 +1,41 @@
1
+ import { ChartType } from '../../../types';
2
+ import { StackableChartDesignOptions } from '../../translations/design-options';
3
+ import { CartesianChartData } from '../../../chart-data/types';
4
+ import { CartesianChartDataOptionsInternal } from '../../../chart-data-options/types';
5
+ import { ChartDesignOptions } from '../../translations/types';
6
+ /**
7
+ * Configuration for chart spacing calculations
8
+ */
9
+ interface SpacingConfig {
10
+ chartType: ChartType;
11
+ chartData: CartesianChartData;
12
+ chartDesignOptions: ChartDesignOptions;
13
+ xAxisOrientation: 'horizontal' | 'vertical';
14
+ }
15
+ /**
16
+ * Result of spacing calculations
17
+ */
18
+ interface SpacingResult {
19
+ totalTopSpacing: number;
20
+ totalRightSpacing: number;
21
+ rightShift: number;
22
+ topShift: number;
23
+ }
24
+ /**
25
+ * Get additional spacing around chart needed for the total labels based on the chart type and design options.
26
+ */
27
+ export declare function getChartSpacingForTotalLabels(chartType: ChartType, chartDesignOptions: StackableChartDesignOptions): {
28
+ rightSpacing: number;
29
+ topSpacing: number;
30
+ };
31
+ /**
32
+ * Calculate complete spacing configuration for a cartesian chart
33
+ */
34
+ export declare function calculateChartSpacing(config: SpacingConfig): SpacingResult;
35
+ /**
36
+ * Get additional legend settings based on the chart type and data options
37
+ */
38
+ export declare function getAdditionalLegendSettings(chartType: ChartType, dataOptions: CartesianChartDataOptionsInternal, chartDesignOptions: ChartDesignOptions): {
39
+ margin?: number;
40
+ } | undefined;
41
+ export type { SpacingConfig, SpacingResult };
@@ -0,0 +1,57 @@
1
+ import { CategoricalSeriesValues } from '../../../chart-data/types';
2
+ import { CartesianChartDataOptionsInternal } from '../../../chart-data-options/types';
3
+ import { ChartDesignOptions } from '../../translations/types';
4
+ import { ChartType, CompleteThemeSettings } from '../../../types';
5
+ import { AxisSettings } from '../../translations/axis-section';
6
+ import { AxisClipped } from '../../translations/translations-to-highcharts';
7
+ /**
8
+ * Configuration for series processing
9
+ */
10
+ interface SeriesProcessingConfig {
11
+ chartData: {
12
+ series: CategoricalSeriesValues[];
13
+ };
14
+ chartType: ChartType;
15
+ chartDesignOptions: ChartDesignOptions;
16
+ dataOptions: CartesianChartDataOptionsInternal;
17
+ continuousDatetimeXAxis: boolean;
18
+ indexMap: number[];
19
+ categories: string[];
20
+ treatNullDataAsZeros: boolean;
21
+ yTreatNullDataAsZeros: boolean[];
22
+ yConnectNulls: boolean[];
23
+ yAxisSide: number[];
24
+ yAxisChartType: (string | undefined)[];
25
+ yAxisSettings: AxisSettings[];
26
+ axisClipped: AxisClipped[];
27
+ xAxisSettings: AxisSettings[];
28
+ stacking?: string;
29
+ themeSettings?: CompleteThemeSettings;
30
+ dateFormatter?: (date: Date, format: string) => string;
31
+ }
32
+ /**
33
+ * Process and format series data for the chart
34
+ */
35
+ export declare function processSeries(config: SeriesProcessingConfig): {
36
+ dataLabels: {
37
+ formatter: (this: import("../../tooltip").HighchartsDataPointContext) => string;
38
+ };
39
+ connectNulls: boolean;
40
+ marker: import("../../translations/marker-section").MarkerSettings;
41
+ lineWidth: number;
42
+ type?: string | undefined;
43
+ showInNavigator: boolean;
44
+ stickyTracking: boolean;
45
+ boostThreshold: number;
46
+ turboThreshold: number;
47
+ color: string | undefined;
48
+ yAxis: number;
49
+ name: string;
50
+ data: import("../../translations/translations-to-highcharts").SeriesPointStructure[];
51
+ levels?: any;
52
+ }[];
53
+ /**
54
+ * Apply additional series configuration based on chart type
55
+ */
56
+ export declare function applySeriesTypeSpecificOptions(series: any[], chartType: ChartType, chartDesignOptions: ChartDesignOptions): any[];
57
+ export type { SeriesProcessingConfig };
@@ -1,30 +1,4 @@
1
1
  import { ChartDataOptionsInternal } from '../chart-data-options/types';
2
- import { TooltipOptions } from '@sisense/sisense-charts';
3
- export type TooltipSettings = TooltipOptions;
4
- export type InternalSeriesNode = {
5
- val: number;
6
- name: string;
7
- parentNode?: InternalSeriesNode;
8
- color?: string;
9
- };
10
- export type InternalSeries = {
11
- series: {
12
- name: string;
13
- color: string;
14
- };
15
- x: string;
16
- y: number;
17
- point: {
18
- name: string;
19
- color: string;
20
- custom?: {
21
- number1?: number;
22
- string1?: string;
23
- xDisplayValue?: string;
24
- };
25
- node?: InternalSeriesNode;
26
- };
27
- percentage?: number;
28
- color?: string;
29
- };
30
- export declare const getTooltipSettings: (showDecimals: boolean | undefined, chartDataOptions: ChartDataOptionsInternal) => TooltipSettings;
2
+ import { TooltipSettings, HighchartsDataPointContext, HighchartsDataPointContextNode } from './translations/tooltip-utils';
3
+ export type { TooltipSettings, HighchartsDataPointContext, HighchartsDataPointContextNode };
4
+ export declare const getCategoryTooltipSettings: (showDecimals: boolean | undefined, chartDataOptions: ChartDataOptionsInternal) => TooltipSettings;
@@ -1,7 +1,7 @@
1
1
  import { ScatterChartDataOptionsInternal } from '../../chart-data-options/types';
2
2
  import { PlotOptions } from '../chart-options-service';
3
3
  import { ScatterChartDesignOptions } from './design-options';
4
- import { InternalSeries } from './tooltip-utils';
4
+ import { HighchartsDataPointContext } from './tooltip-utils';
5
5
  import { ScatterCustomPointOptions } from './scatter-tooltip';
6
6
  export type ScatterMarkerSize = {
7
7
  scatterDefaultSize: number;
@@ -14,7 +14,7 @@ export type ScatterBubbleOptions = {
14
14
  minSize: number;
15
15
  };
16
16
  export declare const defaultScatterMarkerSize: ScatterMarkerSize;
17
- export type ScatterChartInternalSeries = InternalSeries & {
17
+ export type ScatterChartHighchartsDataPointContext = HighchartsDataPointContext & {
18
18
  point: {
19
19
  custom?: ScatterCustomPointOptions;
20
20
  };
@@ -1,4 +1,4 @@
1
- import { InternalSeries, TooltipSettings } from './tooltip-utils';
1
+ import { HighchartsDataPointContext, TooltipSettings } from './tooltip-utils';
2
2
  import { ScatterChartDataOptionsInternal } from '../../chart-data-options/types';
3
3
  export interface ScatterTooltipElements {
4
4
  x: string;
@@ -17,5 +17,5 @@ export interface ScatterCustomPointOptions {
17
17
  export declare const spanSegment: (value: number | string, color?: string) => string;
18
18
  export declare const tooltipWrapper: (content: string) => string;
19
19
  export declare const tooltipSeparator: () => string;
20
- export declare const tooltipFormatter: (ctx: InternalSeries, dataOptions: ScatterChartDataOptionsInternal) => string;
20
+ export declare const tooltipFormatter: (ctx: HighchartsDataPointContext, dataOptions: ScatterChartDataOptionsInternal) => string;
21
21
  export declare const getScatterTooltipSettings: (dataOptions: ScatterChartDataOptionsInternal) => TooltipSettings;
@@ -1,4 +1,5 @@
1
1
  import { StyledMeasureColumn, StyledColumn } from '../../chart-data-options/types.js';
2
+ import { TooltipFormatterContextObject } from '@sisense/sisense-charts';
2
3
  export declare const isValueNumeric: (value: StyledMeasureColumn | StyledColumn | undefined) => boolean | "";
3
4
  export declare const formatTooltipValue: (dataOption: StyledMeasureColumn | StyledColumn | undefined, value: number | string | undefined, displayValue: string) => string;
4
5
  export declare function isTooltipPercentValueSupported(options: StyledMeasureColumn | undefined): boolean;
@@ -12,12 +13,23 @@ export type TooltipSettings = {
12
13
  useHTML?: boolean;
13
14
  crosshairs?: boolean;
14
15
  shared?: boolean;
15
- formatter?: () => string;
16
+ formatter?: (this: HighchartsDataPointContext) => string | false;
16
17
  style?: {
17
18
  fontFamily?: string;
18
19
  };
20
+ padding?: number;
21
+ outside?: boolean;
19
22
  };
20
- export type InternalSeries = {
23
+ export type HighchartsDataPointContextNode = {
24
+ val: number;
25
+ name: string;
26
+ parentNode?: HighchartsDataPointContextNode;
27
+ color?: string;
28
+ };
29
+ /**
30
+ * Context of a hovered data point in a Highcharts chart for the tooltip formatter function.
31
+ */
32
+ export type HighchartsDataPointContext = {
21
33
  series: {
22
34
  name: string;
23
35
  color: string;
@@ -51,6 +63,9 @@ export type InternalSeries = {
51
63
  median: number;
52
64
  average: number;
53
65
  };
66
+ options?: TooltipFormatterContextObject['point']['options'];
67
+ node?: HighchartsDataPointContextNode;
54
68
  };
55
69
  percentage?: number;
70
+ color?: string;
56
71
  };
@@ -1,5 +1,5 @@
1
1
  import { ChartDataOptionsInternal } from '../../chart-data-options/types';
2
- import { InternalSeries, TooltipSettings } from './tooltip-utils';
2
+ import { HighchartsDataPointContext, TooltipSettings } from './tooltip-utils';
3
3
  import { TFunction } from '@sisense/sdk-common';
4
- export declare const cartesianDataFormatter: (that: InternalSeries, showDecimals: boolean | undefined, chartDataOptions: ChartDataOptionsInternal, translate?: TFunction) => string;
5
- export declare const getTooltipSettings: (showDecimals: boolean | undefined, chartDataOptions: ChartDataOptionsInternal, translate?: TFunction) => TooltipSettings;
4
+ export declare const cartesianDataFormatter: (highchartsDataPoint: HighchartsDataPointContext, chartDataOptions: ChartDataOptionsInternal, translate?: TFunction) => string;
5
+ export declare const getCartesianTooltipSettings: (chartDataOptions: ChartDataOptionsInternal, translate?: TFunction) => TooltipSettings;
@@ -88,5 +88,12 @@ export declare const autoCalculateYAxisMinMax: (chartType: ChartType, chartData:
88
88
  min: number;
89
89
  max: number;
90
90
  };
91
+ /**
92
+ * Determines Y-axis configuration options for cartesian charts
93
+ *
94
+ * @param chartData - Chart data containing series information
95
+ * @param dataOptions - Chart data options containing y columns and breakBy configuration
96
+ * @returns Tuple containing [yAxisSide, yAxisChartType, yTreatNullDataAsZeros, yConnectNulls]
97
+ */
91
98
  export declare const determineYAxisOptions: (chartData: ChartData, dataOptions: ChartDataOptionsInternal) => [number[], (HighchartsType | undefined)[], boolean[], boolean[]];
92
99
  export declare const getColorSetting: (dataOptions: CartesianChartDataOptionsInternal | CategoricalChartDataOptionsInternal, key: string) => string | undefined;
@@ -1,13 +1,12 @@
1
1
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
2
2
  import { TreemapChartDesignOptions } from '../design-options';
3
- import { TooltipSettings } from '../../tooltip';
4
- import { TooltipFormatterContextObject } from '@sisense/sisense-charts';
3
+ import { HighchartsDataPointContext, TooltipSettings } from '../tooltip-utils';
5
4
  import { TFunction } from '@sisense/sdk-common';
6
5
  type TooltipFormatterOptions = {
7
6
  displayTotalContribution: boolean;
8
7
  displayColorCircles: boolean;
9
- shouldSkip: (context: TooltipFormatterContextObject) => boolean;
8
+ shouldSkip: (context: HighchartsDataPointContext) => boolean;
10
9
  };
11
10
  export declare const getTreemapTooltipSettings: (chartDataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, formatterOptions?: TooltipFormatterOptions) => TooltipSettings;
12
- export declare function treemapTooltipFormatter(context: TooltipFormatterContextObject, chartDataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, formatterOptions?: TooltipFormatterOptions): string | false;
11
+ export declare function treemapTooltipFormatter(context: HighchartsDataPointContext, chartDataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, formatterOptions?: TooltipFormatterOptions): string | false;
13
12
  export {};
@@ -1,7 +1,7 @@
1
1
  import type { DataLabelsOptions } from '@sisense/sisense-charts';
2
2
  import { Style } from '../chart-options-service';
3
3
  import { AxisOrientation } from './axis-section';
4
- import { InternalSeries } from './tooltip-utils';
4
+ import { HighchartsDataPointContext } from './tooltip-utils';
5
5
  import { PolarType } from './design-options';
6
6
  import { NumberFormatConfig } from '../../types';
7
7
  export type ValueLabelOptions = {
@@ -28,9 +28,9 @@ export type ValueLabelSettings = {
28
28
  relative: boolean;
29
29
  totals: boolean;
30
30
  };
31
- formatter?: (this: InternalSeries, options?: DataLabelsOptions, valuePropName?: string) => string;
31
+ formatter?: (this: HighchartsDataPointContext, options?: DataLabelsOptions, valuePropName?: string) => string;
32
32
  };
33
- export declare const createValueLabelFormatter: (numberFormatConfig?: NumberFormatConfig, options?: ValueLabelOptions) => (this: InternalSeries) => string;
33
+ export declare const createValueLabelFormatter: (numberFormatConfig?: NumberFormatConfig, options?: ValueLabelOptions) => (this: HighchartsDataPointContext) => string;
34
34
  export declare const getRotationType: (rotation: number) => RotationType;
35
35
  export declare const getValueLabelSettings: (xAxisOrientation: AxisOrientation, valueLabel: ValueLabelOptions, inside?: boolean) => ValueLabelSettings;
36
36
  export declare const getPolarValueLabelSettings: (valueLabel: ValueLabelOptions, polarType: PolarType) => ValueLabelSettings;
@@ -1,6 +1,6 @@
1
1
  import { EditableLayoutDragData, EditableLayoutDropData } from '../../../dashboard/components/editable-layout/types';
2
2
  import { DragStartEvent } from '@dnd-kit/core';
3
- import { RenderTitleHandler, RenderToolbarHandler } from '../../../types';
3
+ import { RenderTitleHandler, RenderToolbarHandler, TextWidgetRenderToolbarHandler } from '../../../types';
4
4
  export declare const isEditableLayoutDragData: (data: any | undefined) => data is EditableLayoutDragData;
5
5
  export declare const isEditableLayoutDropData: (data: any) => data is EditableLayoutDropData;
6
6
  export declare const getDraggingWidgetId: (event: DragStartEvent) => string | null;
@@ -10,6 +10,12 @@ export declare const getDraggingWidgetId: (event: DragStartEvent) => string | nu
10
10
  * If it returns `null`, the previous toolbar is passed to the next handler.
11
11
  */
12
12
  export declare function composeToolbarHandlers(...handlers: (RenderToolbarHandler | undefined)[]): RenderToolbarHandler;
13
+ /**
14
+ * Compose multiple TextWidgetRenderToolbarHandler functions into one.
15
+ * Each handler gets a chance to modify the toolbar.
16
+ * If it returns `null`, the previous toolbar is passed to the next handler.
17
+ */
18
+ export declare function composeTextWidgetToolbarHandlers(...handlers: (TextWidgetRenderToolbarHandler | undefined)[]): TextWidgetRenderToolbarHandler;
13
19
  /**
14
20
  * Compose multiple RenderTitleHandler functions into one.
15
21
  * Each handler gets a chance to modify the title.
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { type Filter } from '@sisense/sdk-data';
2
3
  interface JtdDashboardProps {
3
4
  dashboardOid: string;
@@ -11,5 +12,5 @@ interface JtdDashboardProps {
11
12
  * This component reuses DashboardById logic but is specifically designed for JTD use cases
12
13
  * @internal
13
14
  */
14
- export declare const JtdDashboard: ({ dashboardOid, filters: runtimeFilters, mergeTargetDashboardFilters, displayToolbarRow, displayFilterPane, }: JtdDashboardProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const JtdDashboard: import("react").FunctionComponent<JtdDashboardProps>;
15
16
  export {};
@@ -1,6 +1,6 @@
1
1
  import { type Filter } from '@sisense/sdk-data';
2
2
  import { WidgetProps } from '../../../props.js';
3
- import { DataPoint } from '../../../types';
3
+ import { DataPoint, ScatterDataPoint } from '../../../types';
4
4
  import { JtdConfig } from '../../../widget-by-id/types';
5
5
  /**
6
6
  * Jump to Dashboard (JTD) Filter Merging Logic:
@@ -69,18 +69,51 @@ export declare const getFormulaContextFilters: (clickedWidget: WidgetProps, jtdC
69
69
  */
70
70
  export declare const handleFormulaDuplicateFilters: (filters: Filter[], sendFormulaFiltersDuplicate?: number | 'none') => Filter[];
71
71
  /**
72
- * Generate filters from data point based on its category entries
72
+ * Type guard to check if a data point is a ScatterDataPoint.
73
+ * Checks for actual scatter chart structure (x/y coordinates) and scatter-only properties.
73
74
  *
74
- * @param point - The data point
75
+ * @param point - The data point to check
76
+ * @returns True if the point is a ScatterDataPoint, false otherwise
77
+ * @internal
78
+ */
79
+ export declare const isScatterDataPoint: (point: DataPoint | ScatterDataPoint) => point is ScatterDataPoint;
80
+ /**
81
+ * Extracts filters from scatter chart data point (breakByColor and breakByPoint).
82
+ *
83
+ * @param point - The scatter data point
84
+ * @returns Array of filters generated from scatter chart breakBy properties
85
+ * @internal
86
+ */
87
+ export declare const getFiltersFromScatterDataPoint: (point: ScatterDataPoint) => Filter[];
88
+ /**
89
+ * Extracts filters from regular chart data point (category and breakBy array).
90
+ * Also processes any scatter properties (breakByColor/breakByPoint) if present.
91
+ *
92
+ * @param point - The regular data point (may have mixed properties)
93
+ * @returns Array of filters generated from all available entries
94
+ * @internal
95
+ */
96
+ export declare const getFiltersFromRegularDataPoint: (point: DataPoint) => Filter[];
97
+ /**
98
+ * Extracts filters from a data point for Jump To Dashboard functionality.
99
+ *
100
+ * This function handles both regular DataPoint and ScatterDataPoint types:
101
+ * - If data point has scatter properties (breakByColor/breakByPoint), process as scatter chart
102
+ * - Otherwise, process as regular chart (category/breakBy entries)
103
+ * - Scatter properties take priority over regular properties when both exist
104
+ *
105
+ * @param point - The data point from chart interaction
75
106
  * @returns Array of filters generated from the data point
107
+ * @internal
76
108
  */
77
- export declare const getFiltersFromDataPoint: (point: DataPoint) => Filter[];
109
+ export declare const getFiltersFromDataPoint: (point: DataPoint | ScatterDataPoint) => Filter[];
78
110
  /**
79
111
  * Filter filters based on allowed dimension names, supporting cascading filters
80
112
  *
81
113
  * @param filters - The filters to filter
82
114
  * @param allowedDims - The allowed dimensions
83
115
  * @returns The filtered filters
116
+ * @internal
84
117
  */
85
118
  export declare const filterByAllowedDimensions: (filters: Filter[], allowedDims?: string[]) => Filter[];
86
119
  /**
@@ -91,5 +124,6 @@ export declare const filterByAllowedDimensions: (filters: Filter[], allowedDims?
91
124
  * @param widgetFilters - Widget-specific filters
92
125
  * @param formulaContextFilters - Formula context filters
93
126
  * @returns Merged filters array
127
+ * @internal
94
128
  */
95
129
  export declare const mergeJtdFilters: (generatedFilters: Filter[], dashboardFilters: Filter[], widgetFilters: Filter[], formulaContextFilters: Filter[]) => Filter[];
@@ -64,23 +64,13 @@ export interface DashboardFiltersPanelConfig extends FiltersPanelConfig {
64
64
  */
65
65
  export interface WidgetsPanelConfig {
66
66
  /**
67
- * If true adjust layout based on available width of widgets panel.
67
+ * If `true`, adjust layout based on available width of widgets panel.
68
68
  *
69
69
  * If not specified, the default value is `false`.
70
70
  */
71
71
  responsive?: boolean;
72
72
  /**
73
73
  * Edit mode configuration.
74
- * If enabled, an 'Edit Layout' action is visible to users on the dashboard toolbar.
75
- * Clicking 'Edit Layout' opens the dashboard in editing mode, where the user can resize or reposition widgets using drag and drop.
76
- * If history enabled, layout changes are temporarily stored during editing, with undo/redo buttons available on the toolbar.
77
- * Finally, changes are confirmed or discarded with 'Apply' or 'Cancel' buttons.
78
- *
79
- * If persistence is enabled for the dashboard, changes to the layout will be saved to Fusion on clicking the 'Apply' button.
80
- *
81
- * This feature is in alpha.
82
- *
83
- * @alpha
84
74
  */
85
75
  editMode?: EditModeConfig;
86
76
  }
@@ -88,36 +78,53 @@ export interface WidgetsPanelConfig {
88
78
  * Edit mode configuration
89
79
  */
90
80
  export interface EditModeConfig {
91
- /** Flag indicating whether the edit layout feature is enabled
81
+ /**
82
+ * If `true` the editable layout feature is enabled for the end user.
83
+ *
84
+ * If `false` the end user is unable to edit the layout of widgets in the dashboard.
85
+ *
86
+ * When persistence is enabled combined with `editMode` for a Fusion dashboard, changes to the layout will saved to Fusion.
92
87
  *
93
88
  * @default false
94
89
  */
95
90
  enabled: boolean;
96
91
  /**
97
- * Flag indicating whether the dashboard is currently in edit mode.
98
- * If specified, will override inner mode state.
92
+ * Indicates whether the dashboard is currently in edit mode.
93
+ *
94
+ * If set, this controls whether editing is currently in progress,
95
+ * which by default is automatically managed from UI interactions with the dashboard toolbar menu/buttons.
96
+ *
99
97
  * */
100
98
  isEditing?: boolean;
101
- /** Configuration for the edit mode history */
99
+ /**
100
+ * Configuration for the edit mode user experience
101
+ */
102
102
  applyChangesAsBatch?: {
103
103
  /**
104
- * If true, changes are applied when the user clicks 'Apply'
104
+ * If `true`, a history of changes will be accumulated during editing,
105
+ * and users may undo/redo through the history of changes made during the current edit.
106
+ *
107
+ * The current layout state will be applied to the dashboard when the user clicks 'Apply',
105
108
  * or discarded when the user clicks 'Cancel'.
106
109
  *
107
- * If false, changes will be applied immediately as the user makes each change
110
+ * If `false`, the layout changes will be applied immediately after the user makes each change,
108
111
  * without confirmation or the ability to cancel/undo.
109
112
  *
110
113
  * @default: true
111
114
  * */
112
115
  enabled: boolean;
113
116
  /**
114
- * The maximum number of history items to keep.
117
+ * The maximum number of history items to keep while applying changes in batch mode.
118
+ *
119
+ * History will be temporarily stored in the browser during editing.
115
120
  *
116
121
  * @default 20
117
122
  */
118
123
  historyLimit?: number;
119
124
  };
120
- /** Flag indicating whether the drag handle icon is visible
125
+ /**
126
+ * Determines whether the drag handle icon should be displayed on the
127
+ * header of each widget when layout editing is possible.
121
128
  *
122
129
  * @default true
123
130
  */
@@ -1 +1 @@
1
- export { withTracking } from './with-tracking';
1
+ export { withTracking, type TrackingDecoratorConfig } from './with-tracking';