@sisense/sdk-ui 1.15.0 → 1.16.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 (80) hide show
  1. package/dist/ai.cjs +50 -50
  2. package/dist/ai.js +112 -111
  3. package/dist/analytics-composer/index.d.ts +1 -0
  4. package/dist/analytics-composer/translators/code-templates.d.ts +11 -0
  5. package/dist/analytics-composer/translators/generate-code.d.ts +18 -0
  6. package/dist/analytics-composer/translators/index.d.ts +3 -0
  7. package/dist/analytics-composer/translators/model-translator.d.ts +48 -0
  8. package/dist/analytics-composer/translators/query-templates.d.ts +1 -0
  9. package/dist/analytics-composer/translators/query-translator.d.ts +134 -0
  10. package/dist/analytics-composer/translators/translate-filters-to-code.d.ts +2 -0
  11. package/dist/analytics-composer/translators/translate-props-to-code.d.ts +8 -0
  12. package/dist/analytics-composer/translators/types.d.ts +95 -0
  13. package/dist/analytics-composer/translators/utils.d.ts +13 -0
  14. package/dist/analytics-composer.cjs +239 -0
  15. package/dist/analytics-composer.d.ts +1 -0
  16. package/dist/analytics-composer.js +5435 -0
  17. package/dist/api/rest-api.d.ts +5 -0
  18. package/dist/api/types/dashboard-dto.d.ts +8 -0
  19. package/dist/api/types/palette-dto.d.ts +9 -0
  20. package/dist/app/settings/settings.d.ts +5 -0
  21. package/dist/app/settings/types/features.d.ts +6 -0
  22. package/dist/chart/advanced-chart.d.ts +7 -0
  23. package/dist/chart-data/advanced-analytics-data.d.ts +50 -0
  24. package/dist/chart-data/types.d.ts +1 -0
  25. package/dist/chart-data-options/types.d.ts +33 -4
  26. package/dist/chart-options-processor/advanced-chart-options.d.ts +24 -0
  27. package/dist/chart-options-processor/cartesian-chart-options.d.ts +2 -1
  28. package/dist/chart-options-processor/chart-options-service.d.ts +5 -0
  29. package/dist/chart-options-processor/translations/axis-section.d.ts +2 -2
  30. package/dist/chart-options-processor/translations/legend-section.d.ts +2 -0
  31. package/dist/chart-options-processor/translations/tooltip-utils.d.ts +1 -0
  32. package/dist/chart-options-processor/translations/tooltip.d.ts +4 -2
  33. package/dist/common/components/loading-indicator.d.ts +14 -0
  34. package/dist/common-filters/cascading-utils.d.ts +30 -0
  35. package/dist/common-filters/common-filters-connector.d.ts +7 -1
  36. package/dist/common-filters/types.d.ts +9 -4
  37. package/dist/common-filters/utils.d.ts +3 -2
  38. package/dist/dashboard/dashboard-by-id.d.ts +2 -0
  39. package/dist/dashboard/dashboard.d.ts +3 -1
  40. package/dist/dashboard/types.d.ts +2 -1
  41. package/dist/dashboard-widget/dashboard-widget.d.ts +2 -0
  42. package/dist/dashboard-widget/translate-widget-data-options.d.ts +1 -1
  43. package/dist/dashboard-widget/translate-widget-style-options.d.ts +11 -2
  44. package/dist/dashboard-widget/types.d.ts +26 -8
  45. package/dist/dashboard-widget/utils.d.ts +8 -0
  46. package/dist/filters/components/date-filter/date-filter/date-filter.d.ts +1 -0
  47. package/dist/filters/utils.d.ts +1 -0
  48. package/dist/get-widget-options-D008Wku-.cjs +172 -0
  49. package/dist/get-widget-options-Xskksk4X.js +34154 -0
  50. package/dist/index.cjs +195 -194
  51. package/dist/index.js +12388 -12114
  52. package/dist/models/dashboard/dashboard-model.d.ts +10 -2
  53. package/dist/models/dashboard/get-dashboard-model.d.ts +13 -2
  54. package/dist/models/dashboard/types.d.ts +5 -0
  55. package/dist/models/dashboard/use-get-dashboard-model.d.ts +2 -0
  56. package/dist/models/dashboard/use-get-dashboard-models.d.ts +2 -0
  57. package/dist/models/widget/get-widget-model.d.ts +13 -2
  58. package/dist/models/widget/translate-widget.d.ts +9 -1
  59. package/dist/models/widget/use-get-widget-model.d.ts +2 -0
  60. package/dist/models/widget/widget-model.d.ts +5 -3
  61. package/dist/pivot-table/use-get-pivot-table-query.d.ts +2 -6
  62. package/dist/props.d.ts +13 -5
  63. package/dist/query-execution/execute-query-by-widget-id.d.ts +2 -0
  64. package/dist/query-execution/index.d.ts +1 -1
  65. package/dist/query-execution/types.d.ts +11 -2
  66. package/dist/query-execution/use-execute-query-by-widget-id.d.ts +5 -5
  67. package/dist/themes/legacy-design-settings.d.ts +14 -0
  68. package/dist/translation/resources/en.d.ts +9 -0
  69. package/dist/translation/resources/index.d.ts +18 -0
  70. package/dist/types.d.ts +51 -9
  71. package/dist/useQuery-DeK1uDeJ.js +43001 -0
  72. package/dist/useQuery-aWnvBOTu.cjs +433 -0
  73. package/dist/utils/filters.d.ts +2 -0
  74. package/dist/widgets/common/widget-container.d.ts +2 -2
  75. package/dist/widgets/common/widget-header-info-button.d.ts +2 -2
  76. package/dist/widgets/common/widget-header.d.ts +2 -2
  77. package/dist/widgets/common/widget-style-utils.d.ts +5 -4
  78. package/package.json +18 -8
  79. package/dist/useQuery-_uFMiGSv.cjs +0 -603
  80. package/dist/useQuery-cpEwRbs9.js +0 -76791
@@ -1,9 +1,10 @@
1
1
  import { DataSource, Filter } from '@sisense/sdk-data';
2
- import { Layout, WidgetModel } from '../../models';
2
+ import { DashboardStyleOptions, Layout, WidgetModel } from '../../models';
3
3
  import type { DashboardDto } from '../../api/types/dashboard-dto';
4
4
  import { DashboardProps } from '../../dashboard/types';
5
5
  import { type WidgetFilterOptions } from './types';
6
6
  import { CompleteThemeSettings } from '../../types';
7
+ import { AppSettings } from '../../app/settings/settings';
7
8
  /**
8
9
  * Model of Sisense dashboard defined in the abstractions of Compose SDK.
9
10
  *
@@ -33,6 +34,12 @@ export declare class DashboardModel {
33
34
  * @internal
34
35
  */
35
36
  layout: Layout;
37
+ /**
38
+ * Dashboard style options.
39
+ *
40
+ * @internal
41
+ */
42
+ styleOptions: DashboardStyleOptions;
36
43
  /**
37
44
  * Dashboard filters.
38
45
  *
@@ -50,9 +57,10 @@ export declare class DashboardModel {
50
57
  *
51
58
  * @param dashboardDto - The widget DTO to be converted to a widget model
52
59
  * @param themeSettings - Optional theme settings
60
+ * @param appSettings - Optional application settings
53
61
  * @internal
54
62
  */
55
- constructor(dashboardDto: DashboardDto, themeSettings?: CompleteThemeSettings);
63
+ constructor(dashboardDto: DashboardDto, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings);
56
64
  /**
57
65
  * Returns the props to be used for rendering a dashboard.
58
66
  *
@@ -1,6 +1,7 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { DashboardModel } from '../../models/dashboard/dashboard-model';
3
3
  import { CompleteThemeSettings } from '../../types';
4
+ import { AppSettings } from '../../app/settings/settings';
4
5
  export interface GetDashboardModelOptions {
5
6
  /**
6
7
  * Boolean flag whether to include widgets in the dashboard model
@@ -17,5 +18,15 @@ export interface GetDashboardModelOptions {
17
18
  */
18
19
  includeFilters?: boolean;
19
20
  }
20
- /** @internal */
21
- export declare function getDashboardModel(http: HttpClient, dashboardOid: string, options?: GetDashboardModelOptions, themeSettings?: CompleteThemeSettings): Promise<DashboardModel>;
21
+ /**
22
+ * Retrieves a dashboard model by its OID.
23
+ * @param http - The HTTP client
24
+ * @param dashboardOid - The OID of the dashboard
25
+ * @param options - The options to include widgets and filters in the dashboard model
26
+ * @param themeSettings - Optional theme settings
27
+ * @param appSettings - Optional application settings
28
+ * @returns The dashboard model
29
+ *
30
+ * @internal
31
+ */
32
+ export declare function getDashboardModel(http: HttpClient, dashboardOid: string, options?: GetDashboardModelOptions, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): Promise<DashboardModel>;
@@ -1,4 +1,5 @@
1
1
  import { CommonFiltersOptions } from '../../common-filters/types';
2
+ import { ColorPaletteTheme } from '../../types';
2
3
  /** @internal */
3
4
  export interface Layout {
4
5
  columns: {
@@ -14,3 +15,7 @@ export interface Layout {
14
15
  }
15
16
  /** @internal */
16
17
  export type WidgetFilterOptions = Record<string, CommonFiltersOptions>;
18
+ /** @internal */
19
+ export type DashboardStyleOptions = {
20
+ palette?: ColorPaletteTheme;
21
+ };
@@ -69,6 +69,8 @@ export type DashboardModelSuccessState = {
69
69
  /**
70
70
  * React hook that retrieves an existing dashboard model from the Sisense instance.
71
71
  *
72
+ * **Note:** Dashboard extensions based on JS scripts and add-ons in Fusion are not supported.
73
+ *
72
74
  * @example
73
75
  * An example of retrieving an existing dashboard model from the Sisense instance and render its widgets with component `DashboardWidget`:
74
76
  ```tsx
@@ -65,6 +65,8 @@ export type DashboardModelsSuccessState = {
65
65
  /**
66
66
  * React hook that retrieves existing dashboards that the user can access to from the Sisense instance.
67
67
  *
68
+ * **Note:** Dashboard extensions based on JS scripts and add-ons in Fusion are not supported.
69
+ *
68
70
  * @example
69
71
  ```tsx
70
72
  const { dashboards, isLoading, isError } = useGetDashboardModels();
@@ -1,5 +1,16 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { WidgetModel } from './widget-model';
3
3
  import { CompleteThemeSettings } from '../../types';
4
- /** @internal */
5
- export declare function getWidgetModel(httpClient: HttpClient, dashboardOid: string, widgetOid: string, themeSettings?: CompleteThemeSettings): Promise<WidgetModel>;
4
+ import { AppSettings } from '../../app/settings/settings';
5
+ /**
6
+ * Retrieves a widget model by its OID.
7
+ * @param httpClient - The HTTP client
8
+ * @param dashboardOid - The OID of the dashboard
9
+ * @param widgetOid - The OID of the widget
10
+ * @param themeSettings - Optional theme settings
11
+ * @param appSettings - Optional application settings
12
+ * @returns The widget model
13
+ *
14
+ * @internal
15
+ */
16
+ export declare function getWidgetModel(httpClient: HttpClient, dashboardOid: string, widgetOid: string, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): Promise<WidgetModel>;
@@ -2,5 +2,13 @@ import { CompleteThemeSettings } from '../../types';
2
2
  import { WidgetDto, WidgetType } from '../../dashboard-widget/types';
3
3
  import { WidgetTypeInternal } from './types';
4
4
  import { WidgetModel } from './widget-model';
5
- export declare function translateWidget(widget: WidgetDto, themeSettings?: CompleteThemeSettings): WidgetModel;
5
+ import { AppSettings } from '../../app/settings/settings';
6
+ /**
7
+ * Translates a widget DTO to a widget model.
8
+ * @param widget - The widget DTO to be converted to a widget model
9
+ * @param themeSettings - Optional theme settings
10
+ * @param appSettings - Optional application settings
11
+ * @returns The widget model
12
+ */
13
+ export declare function translateWidget(widget: WidgetDto, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): WidgetModel;
6
14
  export declare function translateWidgetType(widgetType: WidgetType): WidgetTypeInternal;
@@ -71,6 +71,8 @@ export type WidgetModelSuccessState = {
71
71
  /**
72
72
  * React hook that retrieves an existing widget model from a Fusion Embed instance.
73
73
  *
74
+ * **Note:** Widget extensions based on JS scripts and add-ons in Fusion are not supported.
75
+ *
74
76
  * ## Example
75
77
  *
76
78
  * Retrieve a widget model and use it to populate a `Chart` component
@@ -3,7 +3,8 @@ import { ChartDataOptions, PivotTableDataOptions } from '../../chart-data-option
3
3
  import { Panel, WidgetDto, WidgetType } from '../../dashboard-widget/types';
4
4
  import { ChartProps, ChartWidgetProps, PivotTableProps, TableProps, TableWidgetProps, PivotTableWidgetProps } from '../../props';
5
5
  import { ExecutePivotQueryParams, ExecuteQueryParams } from '../../query-execution';
6
- import { ChartType, DrilldownOptions, ChartStyleOptions, TableStyleOptions, CompleteThemeSettings, RenderToolbarHandler } from '../../types';
6
+ import { ChartType, DrilldownOptions, CompleteThemeSettings, RenderToolbarHandler, WidgetStyleOptions } from '../../types';
7
+ import { AppSettings } from '../../app/settings/settings';
7
8
  /**
8
9
  * Widget data options.
9
10
  */
@@ -48,7 +49,7 @@ export declare class WidgetModel {
48
49
  /**
49
50
  * Widget style options.
50
51
  */
51
- styleOptions: ChartStyleOptions | TableStyleOptions;
52
+ styleOptions: WidgetStyleOptions;
52
53
  /**
53
54
  * Widget filters.
54
55
  */
@@ -82,9 +83,10 @@ export declare class WidgetModel {
82
83
  *
83
84
  * @param widgetDto - The widget DTO to be converted to a widget model
84
85
  * @param themeSettings - The theme settings to be used for the widget model
86
+ * @param appSettings - The application settings to be used for the widget model
85
87
  * @internal
86
88
  */
87
- constructor(widgetDto: WidgetDto, themeSettings?: CompleteThemeSettings);
89
+ constructor(widgetDto: WidgetDto, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings);
88
90
  /**
89
91
  * Returns the parameters to be used for executing a query for the widget.
90
92
  *
@@ -8,16 +8,12 @@ export declare const getPivotQueryOptions: (dataOptions: PivotTableDataOptionsIn
8
8
  *
9
9
  * @internal
10
10
  */
11
- export declare const useGetPivotTableQuery: ({ dataSet, dataOptionsInternal, filters, highlights, refreshCounter, }: {
11
+ export declare const usePivotTableQuery: ({ dataSet, dataOptionsInternal, filters, highlights, }: {
12
12
  dataSet?: DataSource | undefined;
13
13
  dataOptionsInternal: PivotTableDataOptionsInternal;
14
14
  filters?: Filter[] | FilterRelations | undefined;
15
15
  highlights?: Filter[] | undefined;
16
- refreshCounter?: number | undefined;
17
16
  }) => {
18
- isLoading: boolean;
19
- isSuccess: boolean;
20
- isError: boolean;
17
+ jaql: JaqlRequest | undefined;
21
18
  error: Error | undefined;
22
- jaql: JaqlRequest | null;
23
19
  };
package/dist/props.d.ts CHANGED
@@ -21,32 +21,40 @@ export type { MenuItemSection, HighchartsOptions };
21
21
  export interface SisenseContextProviderProps {
22
22
  /**
23
23
  * Default data source explicitly set to be used by child components that are not defined with a data source.
24
+ *
25
+ * @category Sisense App
24
26
  */
25
27
  defaultDataSource?: DataSource;
26
- /** URL of the Sisense environment the app connects to */
28
+ /**
29
+ * URL of the Sisense environment the app connects to
30
+ *
31
+ * @category Sisense App
32
+ */
27
33
  url: string;
28
34
  /**
29
35
  * [Single Sign-On](https://docs.sisense.com/main/SisenseLinux/using-single-sign-on-to-access-sisense.htm) toggle.
30
36
  *
31
37
  * Set to `true` to use SSO authentication. When `true`, this overrides any other authentication methods. Defaults to `false`.
32
38
  *
33
- * @category Authentication
39
+ * @category Sisense Authentication
34
40
  */
35
41
  ssoEnabled?: boolean;
36
42
  /**
37
43
  * Token for [bearer authentication](https://sisense.dev/guides/restApi/using-rest-api.html).
38
44
  *
39
- * @category Authentication
45
+ * @category Sisense Authentication
40
46
  */
41
47
  token?: string;
42
48
  /**
43
49
  * [Web Access Token](https://docs.sisense.com/main/SisenseLinux/using-web-access-token.htm).
44
50
  *
45
- * @category Authentication
51
+ * @category Sisense Authentication
46
52
  */
47
53
  wat?: string;
48
54
  /**
49
55
  * Application specific configurations such as locale and date formats.
56
+ *
57
+ * @category Sisense App
50
58
  */
51
59
  appConfig?: AppConfig;
52
60
  /**
@@ -1286,7 +1294,7 @@ export interface DrilldownWidgetProps {
1286
1294
  */
1287
1295
  initialDimension: Attribute;
1288
1296
  /**
1289
- * An object that allows users to pass advanced configuration options as a prop for the {@link DrilldownWidget} component
1297
+ * An object that allows users to pass advanced configuration options as a prop for the `DrilldownWidget` component
1290
1298
  *
1291
1299
  * @category Widget
1292
1300
  */
@@ -7,6 +7,8 @@ import { ExecuteQueryByWidgetIdProps } from '../props';
7
7
  * This component takes the Children Prop Pattern and
8
8
  * offers an alternative approach to the {@link useExecuteQueryByWidgetId} hook.
9
9
  *
10
+ * **Note:** Widget extensions based on JS scripts and add-ons in Fusion are not supported.
11
+ *
10
12
  * @example
11
13
  * The example below executes a query over the existing dashboard widget with the specified widget and dashboard OIDs.
12
14
  * ```tsx
@@ -5,4 +5,4 @@ export { ExecuteQueryByWidgetId } from './execute-query-by-widget-id';
5
5
  export { useExecuteQueryByWidgetId, executeQueryByWidgetId, } from './use-execute-query-by-widget-id';
6
6
  export { useExecutePivotQuery } from './use-execute-pivot-query';
7
7
  export { useQueryCache } from './use-query-cache';
8
- export type { QueryState, QueryLoadingState, QuerySuccessState, QueryErrorState, CsvQueryState, CsvQueryLoadingState, CsvQuerySuccessState, CsvQueryErrorState, PivotQueryState, PivotQueryLoadingState, PivotQuerySuccessState, PivotQueryErrorState, ExecuteQueryParams, ExecuteQueryResult, ExecuteCsvQueryParams, ExecuteCSVQueryConfig, ExecuteQueryByWidgetIdParams, QueryByWidgetIdState, ExecutePivotQueryParams, } from './types';
8
+ export type { QueryState, QueryLoadingState, QuerySuccessState, QueryErrorState, CsvQueryState, CsvQueryLoadingState, CsvQuerySuccessState, CsvQueryErrorState, PivotQueryState, PivotQueryLoadingState, PivotQuerySuccessState, PivotQueryErrorState, ExecuteQueryParams, ExecuteQueryResult, ExecuteCsvQueryParams, ExecuteCSVQueryConfig, ExecuteQueryByWidgetIdParams, QueryByWidgetIdState, QueryByWidgetIdQueryParams, ExecutePivotQueryParams, } from './types';
@@ -154,10 +154,19 @@ export interface ExecuteQueryByWidgetIdParams {
154
154
  /** {@inheritDoc ExecuteQueryParams.enabled} */
155
155
  enabled?: boolean;
156
156
  }
157
- export type QueryByWidgetIdState = QueryState & {
158
- /** Query parameters constructed over the widget */
157
+ /**
158
+ * Query parameters constructed over either a chart widget or pivot table widget. This is returned as part of the query state {@link QueryByWidgetIdState}.
159
+ */
160
+ export type QueryByWidgetIdQueryParams = {
161
+ /** Query parameters constructed over the chart widget */
159
162
  query: ExecuteQueryParams | undefined;
163
+ /** Query parameters constructed over the pivot table widget */
164
+ pivotQuery: ExecutePivotQueryParams | undefined;
160
165
  };
166
+ /**
167
+ * State of a query execution retrieving data of Fusion widget.
168
+ */
169
+ export type QueryByWidgetIdState = QueryState & QueryByWidgetIdQueryParams;
161
170
  /**
162
171
  * Parameters for {@link useExecuteQuery} hook.
163
172
  */
@@ -1,11 +1,12 @@
1
- import { QueryDescription } from '../query/execute-query';
2
1
  import { ClientApplication } from '../app/client-application';
3
- import { ExecuteQueryByWidgetIdParams, QueryByWidgetIdState } from './types';
2
+ import { ExecuteQueryByWidgetIdParams, QueryByWidgetIdState, QueryByWidgetIdQueryParams } from './types';
3
+ import { QueryResultData } from '@sisense/sdk-data';
4
4
  /**
5
5
  * React hook that executes a data query extracted from an existing widget in the Sisense instance.
6
6
  *
7
7
  * This approach, which offers an alternative to {@link ExecuteQueryByWidgetId} component, is similar to React Query's `useQuery` hook.
8
8
  *
9
+ * **Note:** Widget extensions based on JS scripts and add-ons in Fusion are not supported.
9
10
  *
10
11
  * @example
11
12
  * The example below executes a query over the existing dashboard widget with the specified widget and dashboard OIDs.
@@ -48,6 +49,5 @@ export declare function useParamsChanged(params: ExecuteQueryByWidgetIdParams):
48
49
  export declare function executeQueryByWidgetId({ widgetOid, dashboardOid, filters, highlights, filtersMergeStrategy, count, offset, includeDashboardFilters, app, onBeforeQuery, }: ExecuteQueryByWidgetIdParams & {
49
50
  app: ClientApplication;
50
51
  }): Promise<{
51
- data: import("@sisense/sdk-data").QueryResultData;
52
- query: QueryDescription;
53
- }>;
52
+ data: QueryResultData;
53
+ } & QueryByWidgetIdQueryParams>;
@@ -73,6 +73,20 @@ export type LegacyPaletteError = {
73
73
  message: string;
74
74
  status: 'error';
75
75
  };
76
+ /**
77
+ * Mapping of legacy design properties types to theme setting types
78
+ */
79
+ export declare const LEGACY_DESIGN_TYPES: {
80
+ none: string;
81
+ small: string;
82
+ medium: string;
83
+ large: string;
84
+ left: string;
85
+ center: string;
86
+ right: string;
87
+ light: string;
88
+ dark: string;
89
+ };
76
90
  /**
77
91
  * Converts legacy (used in Sisense UI) design settings and it's palette object to CompleteThemeSettings.
78
92
  *
@@ -87,6 +87,15 @@ export declare const translation: {
87
87
  max: string;
88
88
  };
89
89
  };
90
+ advanced: {
91
+ tooltip: {
92
+ min: string;
93
+ max: string;
94
+ forecastValue: string;
95
+ forecast: string;
96
+ trend: string;
97
+ };
98
+ };
90
99
  arearange: {
91
100
  tooltip: {
92
101
  min: string;
@@ -91,6 +91,15 @@ export declare const resources: {
91
91
  max: string;
92
92
  };
93
93
  };
94
+ advanced: {
95
+ tooltip: {
96
+ min: string;
97
+ max: string;
98
+ forecastValue: string;
99
+ forecast: string;
100
+ trend: string;
101
+ };
102
+ };
94
103
  arearange: {
95
104
  tooltip: {
96
105
  min: string;
@@ -195,6 +204,15 @@ export declare const resources: {
195
204
  max: string;
196
205
  };
197
206
  };
207
+ advanced: {
208
+ tooltip: {
209
+ min: string;
210
+ max: string;
211
+ forecastValue: string;
212
+ forecast: string;
213
+ trend: string;
214
+ };
215
+ };
198
216
  arearange: {
199
217
  tooltip: {
200
218
  min: string;
package/dist/types.d.ts CHANGED
@@ -825,6 +825,44 @@ export interface GeneralThemeSettings {
825
825
  /** Hover color for primary buttons */
826
826
  primaryButtonHoverColor?: string;
827
827
  }
828
+ /** Possible sizes for spacing. */
829
+ export type SpaceSizes = 'None' | 'Large' | 'Medium' | 'Small';
830
+ /** Possible sizes for border radius. */
831
+ export type RadiusSizes = 'None' | 'Large' | 'Medium' | 'Small';
832
+ /** Possible types of shadows. */
833
+ export type ShadowsTypes = 'None' | 'Light' | 'Medium' | 'Dark';
834
+ /** Possible types of text alignment. */
835
+ export type AlignmentTypes = 'Left' | 'Center' | 'Right';
836
+ /** Widget theme settings */
837
+ export type WidgetThemeSettings = {
838
+ /** Space between widget container edge and the chart */
839
+ spaceAround?: SpaceSizes;
840
+ /** Corner radius of the widget container */
841
+ cornerRadius?: RadiusSizes;
842
+ /**
843
+ * Shadow level of the widget container
844
+ *
845
+ * Effective only when spaceAround is defined
846
+ */
847
+ shadow?: ShadowsTypes;
848
+ /** Widget container border toggle */
849
+ border?: boolean;
850
+ /** Widget container border color */
851
+ borderColor?: string;
852
+ /** Widget header styles */
853
+ header?: {
854
+ /** Header title text color */
855
+ titleTextColor?: string;
856
+ /** Header title alignment */
857
+ titleAlignment?: AlignmentTypes;
858
+ /** Toggle of the divider line between widget header and chart */
859
+ dividerLine?: boolean;
860
+ /** Divider line color */
861
+ dividerLineColor?: string;
862
+ /** Header background color */
863
+ backgroundColor?: string;
864
+ };
865
+ };
828
866
  /** Theme settings defining the look and feel of components. */
829
867
  export interface ThemeSettings {
830
868
  /** Chart theme settings */
@@ -835,6 +873,8 @@ export interface ThemeSettings {
835
873
  typography?: TypographyThemeSettings;
836
874
  /** General theme settings */
837
875
  general?: GeneralThemeSettings;
876
+ /** Widget theme settings */
877
+ widget?: WidgetThemeSettings;
838
878
  /**
839
879
  * Theme settings specific to the AI Chatbot component
840
880
  */
@@ -846,18 +886,20 @@ export interface ThemeSettings {
846
886
  * @internal
847
887
  */
848
888
  export type CompleteThemeSettings = DeepRequired<ThemeSettings>;
889
+ /** Complete set of configuration options that define functional style of the various elements of the charts as well as the look and feel of widget itself and widget header. */
890
+ export type WidgetStyleOptions = (ChartStyleOptions | TableStyleOptions) & WidgetContainerStyleOptions;
849
891
  /** Style settings defining the look and feel of widget itself and widget header */
850
- export interface WidgetStyleOptions {
892
+ export interface WidgetContainerStyleOptions {
851
893
  /** Space between widget container edge and the chart */
852
- spaceAround?: 'Large' | 'Medium' | 'Small';
894
+ spaceAround?: SpaceSizes;
853
895
  /** Corner radius of the widget container */
854
- cornerRadius?: 'Large' | 'Medium' | 'Small';
896
+ cornerRadius?: RadiusSizes;
855
897
  /**
856
898
  * Shadow level of the widget container
857
899
  *
858
900
  * Effective only when spaceAround is defined
859
901
  */
860
- shadow?: 'Light' | 'Medium' | 'Dark';
902
+ shadow?: ShadowsTypes;
861
903
  /** Widget container border toggle */
862
904
  border?: boolean;
863
905
  /** Widget container border color */
@@ -875,7 +917,7 @@ export interface WidgetStyleOptions {
875
917
  /** Header title text color */
876
918
  titleTextColor?: string;
877
919
  /** Header title alignment */
878
- titleAlignment?: 'Left' | 'Center' | undefined;
920
+ titleAlignment?: AlignmentTypes;
879
921
  /** Toggle of the divider line between widget header and chart */
880
922
  dividerLine?: boolean;
881
923
  /** Divider line color */
@@ -893,7 +935,7 @@ export interface WidgetStyleOptions {
893
935
  /** @internal */
894
936
  export type RenderToolbarHandler = (onRefresh: () => void, defaultToolbar: JSX.Element) => JSX.Element | null;
895
937
  /** Style settings defining the look and feel of DashboardWidget */
896
- export interface DashboardWidgetStyleOptions extends WidgetStyleOptions {
938
+ export interface DashboardWidgetStyleOptions extends WidgetContainerStyleOptions {
897
939
  /**
898
940
  * Total width of the component, which is considered in the following order of priority:
899
941
  *
@@ -913,19 +955,19 @@ export interface DashboardWidgetStyleOptions extends WidgetStyleOptions {
913
955
  height?: number;
914
956
  }
915
957
  /** Style settings defining the look and feel of ChartWidget */
916
- export type ChartWidgetStyleOptions = ChartStyleOptions & WidgetStyleOptions;
958
+ export type ChartWidgetStyleOptions = ChartStyleOptions & WidgetContainerStyleOptions;
917
959
  /**
918
960
  * Style settings defining the look and feel of TableWidget
919
961
  *
920
962
  * @internal
921
963
  */
922
- export type TableWidgetStyleOptions = TableStyleOptions & WidgetStyleOptions;
964
+ export type TableWidgetStyleOptions = TableStyleOptions & WidgetContainerStyleOptions;
923
965
  /**
924
966
  * Style settings defining the look and feel of TableWidget
925
967
  *
926
968
  * @internal
927
969
  */
928
- export type PivotTableWidgetStyleOptions = PivotTableStyleOptions & WidgetStyleOptions;
970
+ export type PivotTableWidgetStyleOptions = PivotTableStyleOptions & WidgetContainerStyleOptions;
929
971
  /**
930
972
  * Runs type guard check for ThemeOid.
931
973
  *