@sisense/sdk-ui 1.22.0 → 1.24.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 (124) hide show
  1. package/dist/ai.cjs +53 -45
  2. package/dist/ai.js +780 -702
  3. package/dist/analytics-composer.cjs +89 -148
  4. package/dist/analytics-composer.js +1196 -1479
  5. package/dist/index.cjs +119 -118
  6. package/dist/index.js +4898 -5523
  7. package/dist/packages/sdk-ui/src/ai/api/chat-rest-api.d.ts +1 -1
  8. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +3 -23
  9. package/dist/packages/sdk-ui/src/ai/chart/chart-insights.d.ts +6 -0
  10. package/dist/packages/sdk-ui/src/ai/chart/nlq-chart-widget.d.ts +46 -0
  11. package/dist/packages/sdk-ui/src/ai/icons/ai-icon.d.ts +2 -0
  12. package/dist/packages/sdk-ui/src/ai/icons/exclamation-mark-brand-icon.d.ts +3 -0
  13. package/dist/packages/sdk-ui/src/ai/index.d.ts +2 -3
  14. package/dist/packages/sdk-ui/src/ai/messages/chart-message.d.ts +1 -2
  15. package/dist/packages/sdk-ui/src/ai/use-get-data-source-fields.d.ts +1 -1
  16. package/dist/packages/sdk-ui/src/analytics-composer/{translators → code}/code-templates.d.ts +1 -1
  17. package/dist/packages/sdk-ui/src/analytics-composer/{translators → code}/generate-code.d.ts +3 -3
  18. package/dist/packages/sdk-ui/src/analytics-composer/{translators → common}/utils.d.ts +3 -1
  19. package/dist/packages/sdk-ui/src/analytics-composer/index.d.ts +12 -1
  20. package/dist/packages/sdk-ui/src/analytics-composer/query/index.d.ts +1 -0
  21. package/dist/packages/sdk-ui/src/analytics-composer/{translators → query}/query-translator.d.ts +2 -3
  22. package/dist/packages/sdk-ui/src/analytics-composer/types.d.ts +153 -0
  23. package/dist/packages/sdk-ui/src/{ai/messages → analytics-composer/widget/chart-options}/get-widget-options.d.ts +5 -14
  24. package/dist/packages/sdk-ui/src/analytics-composer/widget/stringify-filters.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/analytics-composer/widget/to-widget-code.d.ts +3 -0
  26. package/dist/packages/sdk-ui/src/analytics-composer/widget/to-widget-props.d.ts +3 -0
  27. package/dist/packages/sdk-ui/src/analytics-composer/widget/widget-composer.d.ts +16 -0
  28. package/dist/packages/sdk-ui/src/api/rest-api.d.ts +13 -2
  29. package/dist/packages/sdk-ui/src/api/types/dashboard-dto.d.ts +1 -1
  30. package/dist/packages/sdk-ui/src/app/client-application.d.ts +7 -7
  31. package/dist/packages/sdk-ui/src/app/settings/types/user.d.ts +0 -1
  32. package/dist/packages/sdk-ui/src/chart/advanced-chart.d.ts +1 -1
  33. package/dist/packages/sdk-ui/src/chart/helpers/derive-chart-family.d.ts +8 -0
  34. package/dist/packages/sdk-ui/src/chart/regular-chart.d.ts +3 -0
  35. package/dist/packages/sdk-ui/src/chart-data-options/utils.d.ts +1 -0
  36. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options.d.ts +2 -1
  37. package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-options.d.ts +2 -1
  38. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-options.d.ts +2 -1
  39. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-tooltip.d.ts +3 -2
  40. package/dist/packages/sdk-ui/src/chart-options-processor/translations/types.d.ts +2 -0
  41. package/dist/packages/sdk-ui/src/common/components/menu/types.d.ts +1 -0
  42. package/dist/packages/sdk-ui/src/dashboard/components/dashboard-container.d.ts +1 -1
  43. package/dist/packages/sdk-ui/src/dashboard/components/horizontal-collapse.d.ts +6 -0
  44. package/dist/packages/sdk-ui/src/dashboard/dashboard.d.ts +6 -1
  45. package/dist/packages/sdk-ui/src/dashboard/hooks/use-filters-panel-collapsed-state.d.ts +8 -0
  46. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +19 -1
  47. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-error-boundary.d.ts +3 -1
  48. package/dist/packages/sdk-ui/src/error-boundary/error-boundary.d.ts +4 -2
  49. package/dist/packages/sdk-ui/src/filters/components/cascading-filter-tile/cascading-filter-tile.d.ts +2 -0
  50. package/dist/packages/sdk-ui/src/filters/components/common/member-radio.d.ts +8 -0
  51. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-tile.d.ts +2 -0
  52. package/dist/packages/sdk-ui/src/filters/components/custom-filter-tile.d.ts +2 -0
  53. package/dist/packages/sdk-ui/src/filters/components/date-filter/date-range-filter-tile/date-range-filter-tile.d.ts +2 -0
  54. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/helpers.d.ts +6 -0
  55. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/relative-date-filter-tile.d.ts +2 -0
  56. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/relative-date-filter.d.ts +2 -1
  57. package/dist/packages/sdk-ui/src/filters/components/filter-tile.d.ts +1 -0
  58. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filters-panel-tile.d.ts +3 -1
  59. package/dist/packages/sdk-ui/src/filters/components/icons/trash-icon.d.ts +1 -1
  60. package/dist/packages/sdk-ui/src/filters/components/member-filter-tile/member-filter-tile.d.ts +2 -0
  61. package/dist/packages/sdk-ui/src/filters/components/member-filter-tile/member-list.d.ts +1 -0
  62. package/dist/packages/sdk-ui/src/filters/components/unsupported-filter-tile.d.ts +3 -1
  63. package/dist/packages/sdk-ui/src/index.d.ts +15 -8
  64. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-dto-utils.d.ts +2 -2
  65. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +1 -1
  66. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dasboard-model-utils.d.ts +2 -4
  67. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-model-reducer.d.ts +24 -16
  68. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-model.d.ts +1 -0
  69. package/dist/packages/sdk-ui/src/models/dashboard/use-get-dashboard-model.d.ts +2 -2
  70. package/dist/packages/sdk-ui/src/models/hierarchy/get-hierarchy-models.d.ts +6 -1
  71. package/dist/packages/sdk-ui/src/models/hierarchy/hierarchy-model-translator.d.ts +1 -1
  72. package/dist/packages/sdk-ui/src/models/hierarchy/types.d.ts +3 -0
  73. package/dist/packages/sdk-ui/src/models/hierarchy/use-get-hierarchy-models.d.ts +4 -4
  74. package/dist/packages/sdk-ui/src/models/widget/widget-model-translator.d.ts +12 -2
  75. package/dist/packages/sdk-ui/src/models/widget/widget-model.d.ts +1 -1
  76. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +3 -1
  77. package/dist/packages/sdk-ui/src/props.d.ts +29 -17
  78. package/dist/packages/sdk-ui/src/query-execution/types.d.ts +1 -1
  79. package/dist/packages/sdk-ui/src/sisense-context/custom-sisense-context-provider.d.ts +1 -3
  80. package/dist/packages/sdk-ui/src/sisense-context/sisense-context.d.ts +5 -0
  81. package/dist/packages/sdk-ui/src/table/table-component.d.ts +1 -1
  82. package/dist/packages/sdk-ui/src/translation/i18n-provider.d.ts +3 -1
  83. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +27 -2
  84. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +32 -4
  85. package/dist/packages/sdk-ui/src/types.d.ts +12 -5
  86. package/dist/packages/sdk-ui/src/utils/filters.d.ts +1 -0
  87. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/dashboard-widget.d.ts +2 -1
  88. package/dist/packages/sdk-ui/src/widget-by-id/translate-dashboard-filters.d.ts +4800 -0
  89. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/translate-panel-color-format.d.ts +3 -3
  90. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/translate-widget-data-options.d.ts +5 -5
  91. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/translate-widget-drilldown-options.d.ts +2 -2
  92. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/translate-widget-filters.d.ts +85 -83
  93. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/types.d.ts +1 -1
  94. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/use-fetch-widget-dto-model.d.ts +3 -3
  95. package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/utils.d.ts +14 -13
  96. package/dist/packages/sdk-ui/src/widget-by-id/widget-by-id.d.ts +26 -0
  97. package/dist/packages/sdk-ui/src/widgets/common/use-drilldown-core.d.ts +7 -0
  98. package/dist/packages/sdk-ui/src/widgets/common/widget-container.d.ts +2 -0
  99. package/dist/packages/sdk-ui/src/widgets/common/widget-errors-and-warnings-context.d.ts +14 -0
  100. package/dist/packages/sdk-ui/src/widgets/common/widget-header-info-button.d.ts +3 -1
  101. package/dist/packages/sdk-ui/src/widgets/common/widget-header.d.ts +2 -0
  102. package/dist/packages/sdk-ui/src/widgets/hooks/use-drilldown.d.ts +2 -0
  103. package/dist/useQuery-CIeSzN0Z.js +7945 -0
  104. package/dist/useQuery-LqaaNBLw.cjs +175 -0
  105. package/dist/widget-composer-CvgsMHyb.cjs +237 -0
  106. package/dist/widget-composer-L8kmRhgX.js +624 -0
  107. package/dist/widget-model-translator-CYeCKnTa.js +116687 -0
  108. package/dist/widget-model-translator-_Z-8UaTN.cjs +917 -0
  109. package/package.json +7 -7
  110. package/dist/get-widget-options-DTIulxC2.js +0 -44253
  111. package/dist/get-widget-options-DixoCEhn.cjs +0 -271
  112. package/dist/packages/sdk-ui/src/ai/messages/jaql-element.d.ts +0 -28
  113. package/dist/packages/sdk-ui/src/analytics-composer/translators/index.d.ts +0 -3
  114. package/dist/packages/sdk-ui/src/analytics-composer/translators/model-translator.d.ts +0 -48
  115. package/dist/packages/sdk-ui/src/analytics-composer/translators/translate-filters-to-code.d.ts +0 -2
  116. package/dist/packages/sdk-ui/src/analytics-composer/translators/types.d.ts +0 -95
  117. package/dist/packages/sdk-ui/src/dashboard/components/HorizontalCollapse.d.ts +0 -5
  118. package/dist/packages/sdk-ui/src/dashboard-widget/translate-dashboard-filters.d.ts +0 -4798
  119. package/dist/packages/sdk-ui/src/translation/custom-translations-loader.d.ts +0 -10
  120. package/dist/table-widget-CLL1iN3H.js +0 -79317
  121. package/dist/table-widget-CYCcYqzZ.cjs +0 -821
  122. /package/dist/packages/sdk-ui/src/analytics-composer/{translators → query}/query-templates.d.ts +0 -0
  123. /package/dist/packages/sdk-ui/src/analytics-composer/{translators/translate-props-to-code.d.ts → widget/stringify-props.d.ts} +0 -0
  124. /package/dist/packages/sdk-ui/src/{dashboard-widget → widget-by-id}/translate-widget-style-options.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import type { Chat, ChatRequest, ChatResponse, ChatWithoutHistory, ChatContext, GetNlgQueryResultRequest, GetNlgQueryResultResponse, LlmConfig, QueryRecommendationConfig, QueryRecommendationResponse, SendFeedbackRequest } from './types';
3
- import { DataSourceField } from '@sisense/sdk-query-client';
3
+ import { DataSourceField } from '@sisense/sdk-data';
4
4
  export declare class ChatRestApi {
5
5
  private httpClient;
6
6
  constructor(httpClient: HttpClient);
@@ -1,5 +1,5 @@
1
- import { JaqlQueryPayload, MetadataItem } from '@sisense/sdk-query-client';
2
- import { ChartDataOptions } from '../../types';
1
+ import { JaqlQueryPayload } from '@sisense/sdk-query-client';
2
+ import { ExpandedQueryModel } from '../../analytics-composer';
3
3
  export interface ChatContext {
4
4
  title: string;
5
5
  live: boolean;
@@ -54,30 +54,10 @@ interface ErrorResponse {
54
54
  };
55
55
  responseType: 'error';
56
56
  }
57
- export type KeysOfUnion<T> = T extends T ? keyof T : never;
58
- export type AllPossibleChartOptionKeys = KeysOfUnion<ChartDataOptions>;
59
- export type AxesMappingKey = Exclude<AllPossibleChartOptionKeys, 'seriesToColorMap'>;
60
- export type AxesMapping = Partial<Record<AxesMappingKey, Array<{
61
- name: string;
62
- type?: string;
63
- }>>>;
64
- export interface ChartRecommendations {
65
- chartFamily: string;
66
- chartType: string;
67
- axesMapping: AxesMapping;
68
- }
69
- export interface NlqResponseData {
57
+ export interface NlqResponseData extends ExpandedQueryModel {
70
58
  detailedDescription: string;
71
59
  followupQuestions: string[];
72
60
  nlqPrompt: string;
73
- chartRecommendations: ChartRecommendations | {};
74
- jaql: {
75
- datasource: {
76
- title: string;
77
- };
78
- metadata: MetadataItem[];
79
- };
80
- queryTitle: string;
81
61
  }
82
62
  export interface NlqResponse {
83
63
  data: NlqResponseData;
@@ -0,0 +1,6 @@
1
+ import { GetNlgQueryResultRequest } from '../../ai';
2
+ export interface ChartInsightsProps {
3
+ summary: string;
4
+ nlgRequest: GetNlgQueryResultRequest;
5
+ }
6
+ export declare const ChartInsights: ({ summary, nlgRequest }: ChartInsightsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import { Filter, Data } from '@sisense/sdk-data';
2
+ import type { NlqResponseData } from '../../ai';
3
+ /**
4
+ * Props for {@link NlqChartWidget} component.
5
+ *
6
+ * @group Generative AI
7
+ * @internal
8
+ */
9
+ export interface NlqChartWidgetProps {
10
+ /**
11
+ * Chatbot NLQ Response
12
+ */
13
+ nlqResponse: NlqResponseData;
14
+ /**
15
+ * The dashboard filters to be applied to the chart
16
+ */
17
+ filters?: Filter[];
18
+ /**
19
+ * A callback that allows to modify data immediately after it has been retrieved.
20
+ * Can be used to inject modification of queried data.
21
+ */
22
+ onDataReady?: (data: Data) => Data;
23
+ }
24
+ /**
25
+ * React component that renders a chart widget based on NLQ response data.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * import { NlqChartWidget, NlqResponseData } from '@sisense/sdk-ui/ai';
30
+ * import { Filter } from '@sisense/sdk-data';
31
+ *
32
+ * function ExampleComponent(nlqResponse: NlqResponseData, filters?: Filter[]) {
33
+ *
34
+ * return (
35
+ * <ChartWidgetWithInsights
36
+ * nlqResponse={nlqResponse}
37
+ * filters={filters}
38
+ * />
39
+ * );
40
+ * }
41
+ * ```
42
+ * @param props - {@link NlqChartWidgetProps}
43
+ * @group Generative AI
44
+ * @internal
45
+ */
46
+ export declare const NlqChartWidget: ({ nlqResponse, onDataReady, filters }: NlqChartWidgetProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { Themable } from '../../theme-provider/types';
2
+ export default function AiIcon({ theme }: Themable): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export default function ExclamationMarkBrandIcon({ fill, }: {
2
+ fill?: string | '#fa5656' | '#1de4eb';
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -5,8 +5,7 @@ export { useGetQueryRecommendations, type UseGetQueryRecommendationsParams, type
5
5
  export { useChatSession, type UseChatSessionResult } from './use-chat-session';
6
6
  export { useLastNlqResponse } from './use-last-nlq-response';
7
7
  export { useGetDataSourceFields } from './use-get-data-source-fields';
8
- export type { GetNlgQueryResultRequest, QueryRecommendationResponse, QueryRecommendation, NlqResponseData, ChartRecommendations, AxesMapping, AxesMappingKey, AllPossibleChartOptionKeys, KeysOfUnion, } from './api/types';
8
+ export type { GetNlgQueryResultRequest, QueryRecommendationResponse, QueryRecommendation, NlqResponseData, } from './api/types';
9
9
  export { Chatbot, type ChatbotProps } from './chatbot';
10
10
  export { default as GetNlgQueryResult, type GetNlgQueryResultProps } from './get-nlg-query-result';
11
- export { getChartOptions, getTableOptions, deriveChartFamily } from './messages/get-widget-options';
12
- export { JaqlElement } from './messages/jaql-element';
11
+ export { NlqChartWidget, type NlqChartWidgetProps } from './chart/nlq-chart-widget';
@@ -1,7 +1,6 @@
1
1
  import { NlqResponseData } from '../api/types';
2
2
  type ChartMessageProps = {
3
3
  content: NlqResponseData;
4
- dataSource: string;
5
4
  };
6
- export default function ChartMessage({ content, dataSource }: ChartMessageProps): import("react/jsx-runtime").JSX.Element;
5
+ export default function ChartMessage({ content }: ChartMessageProps): import("react/jsx-runtime").JSX.Element;
7
6
  export {};
@@ -7,6 +7,6 @@
7
7
  * @internal
8
8
  */
9
9
  export declare const useGetDataSourceFields: (dataSource: string | undefined) => {
10
- data: import("@sisense/sdk-query-client").DataSourceField[] | undefined;
10
+ data: import("@sisense/sdk-data").DataSourceField[] | undefined;
11
11
  isLoading: boolean;
12
12
  };
@@ -1,4 +1,4 @@
1
- import { CodeTemplates } from './types';
1
+ import { CodeTemplates } from '../types.js';
2
2
  /**
3
3
  * Code templates for different UI frameworks.
4
4
  *
@@ -1,4 +1,4 @@
1
- import { CodeTemplateKey, UiFramework } from './types';
1
+ import { CodePlaceholderMap, CodeTemplateKey, UiFramework } from '../types.js';
2
2
  /**
3
3
  * Populates placeholders in the given template with the given data.
4
4
  * If a placeholder is not found in the data, a warning is logged.
@@ -12,7 +12,7 @@ export declare const populatePlaceholders: (template: string, data: Record<strin
12
12
  * Generates code from a template with the given data and UI framework.
13
13
  *
14
14
  * @param templateKey - the key of the template to use
15
- * @param data - the data to populate the template with
15
+ * @param placeholderMap - the data to populate the template with
16
16
  * @param uiFramework - the UI framework for the generated code
17
17
  */
18
- export declare const generateCode: (templateKey: CodeTemplateKey, data: Record<string, string>, uiFramework?: UiFramework) => string;
18
+ export declare const generateCode: (templateKey: CodeTemplateKey, placeholderMap: CodePlaceholderMap, uiFramework?: UiFramework) => string;
@@ -1,4 +1,5 @@
1
- import { ExpandedQueryModel, SimpleQueryModel } from './types';
1
+ import { ExpandedQueryModel, SimpleQueryModel } from '../types.js';
2
+ import { DynamicChartType } from '../../chart-options-processor/translations/types.js';
2
3
  export declare function toKebabCase(str: string): string;
3
4
  export declare function capitalizeFirstLetter(str: string): string;
4
5
  /**
@@ -11,3 +12,4 @@ export declare function sanitizeDimensionId(str: string): string;
11
12
  export declare function validateQueryModel(model: any): SimpleQueryModel;
12
13
  export declare function isEmptyQueryModel(queryModel: ExpandedQueryModel | undefined | null): boolean;
13
14
  export declare function escapeSingleQuotes(str?: string): string | undefined;
15
+ export declare function validateChartType(chartType: DynamicChartType): void;
@@ -1 +1,12 @@
1
- export * from './translators';
1
+ export * from './types';
2
+ export * from './query';
3
+ /**
4
+ * Utility functions to compose props and code for widgets.
5
+ * @internal
6
+ */
7
+ export * as widgetComposer from './widget/widget-composer';
8
+ /**
9
+ * Utility functions to compose props and code for dashboards.
10
+ * @internal
11
+ */
12
+ export * as dashboardComposer from './dashboard/dashboard-composer';
@@ -0,0 +1 @@
1
+ export { QueryTranslator } from './query-translator.js';
@@ -1,6 +1,5 @@
1
- import { ExpandedQueryModel, SimpleQueryModel, SimpleChartRecommendations } from './types.js';
2
- import { DataSourceField, MetadataItem, MetadataItemJaql } from '@sisense/sdk-query-client';
3
- import { ChartRecommendations } from '../../ai';
1
+ import { ExpandedQueryModel, SimpleQueryModel, SimpleChartRecommendations, ChartRecommendations } from '../types.js';
2
+ import { MetadataItem, MetadataItemJaql, DataSourceField } from '@sisense/sdk-data';
4
3
  /**
5
4
  * A class that translates ExpandedQueryModel (Raw JAQL+Chart Recommendations)
6
5
  * to SimpleQueryModel (Simple JAQL+Simple Chart Options) and vice versa.
@@ -0,0 +1,153 @@
1
+ import { WidgetProps } from '../props';
2
+ import { ChartDataOptions } from '../types';
3
+ import { MetadataItem } from '@sisense/sdk-data';
4
+ import { DynamicChartType } from '../chart-options-processor/translations/types.js';
5
+ export type KeysOfUnion<T> = T extends T ? keyof T : never;
6
+ export type AllPossibleChartOptionKeys = KeysOfUnion<ChartDataOptions>;
7
+ export type AxesMappingKey = Exclude<AllPossibleChartOptionKeys, 'seriesToColorMap'>;
8
+ export type AxesMapping = Partial<Record<AxesMappingKey, Array<{
9
+ name: string;
10
+ type?: string;
11
+ }>>>;
12
+ export interface ChartRecommendations {
13
+ chartFamily: string;
14
+ chartType: string;
15
+ axesMapping: AxesMapping;
16
+ }
17
+ /**
18
+ * Expanded Query Model that is based on NlqResponseData.
19
+ * It contains expanded JAQL and chart recommendations returned from the chat response.
20
+ * @internal
21
+ */
22
+ export interface ExpandedQueryModel {
23
+ chartRecommendations: ChartRecommendations | {};
24
+ jaql: {
25
+ datasource: {
26
+ id?: string;
27
+ type?: 'elasticube' | 'live';
28
+ title: string;
29
+ };
30
+ metadata: MetadataItem[];
31
+ };
32
+ queryTitle: string;
33
+ }
34
+ /**
35
+ * Empty Expanded Query Model
36
+ *
37
+ * Used as a default value for ExpandedQueryModel
38
+ * @internal
39
+ */
40
+ export declare const EMPTY_EXPANDED_QUERY_MODEL: ExpandedQueryModel;
41
+ /**
42
+ * Simple Chart Recommendations
43
+ * @internal
44
+ */
45
+ export interface SimpleChartRecommendations {
46
+ chartType: string;
47
+ dataOptions: AxesMapping;
48
+ }
49
+ /**
50
+ * Simple Query Model that is a simplified version of ExpandedQueryModel.
51
+ *
52
+ * It removes any JAQL syntax or information that already exists in the schema.
53
+ * Also, any parameters that have a default do not need to be specified.
54
+ *
55
+ * Users manipulates this model via the query in YAML format.
56
+ *
57
+ * QueryTranslator is responsible for translating this query model to ExpandedWidgetModel.
58
+ * @internal
59
+ */
60
+ export interface SimpleQueryModel {
61
+ /**
62
+ * The data model or perspective title.
63
+ */
64
+ model: string;
65
+ metadata: MetadataItem[];
66
+ chart: SimpleChartRecommendations | {};
67
+ /**
68
+ * Title of the query
69
+ */
70
+ queryTitle: string;
71
+ }
72
+ /**
73
+ * Empty Simple Query Model
74
+ *
75
+ * Used as a default value for SimpleQueryModel
76
+ * @internal
77
+ */
78
+ export declare const EMPTY_SIMPLE_QUERY_MODEL: SimpleQueryModel;
79
+ /**
80
+ * UI Framework
81
+ * @internal
82
+ */
83
+ export type UiFramework = 'react' | 'vue' | 'angular';
84
+ /**
85
+ * Code Template Key
86
+ * @internal
87
+ */
88
+ export type CodeTemplateKey = 'baseChartTmpl' | 'chartTmpl' | 'chartWidgetTmpl' | 'widgetByIdTmpl' | 'executeQueryByWidgetIdTmpl' | 'executeQueryWidgetTmpl';
89
+ /**
90
+ * Code Templates
91
+ * @internal
92
+ */
93
+ export type CodeTemplates = {
94
+ [key in UiFramework]: {
95
+ [key in CodeTemplateKey]: string;
96
+ };
97
+ };
98
+ /**
99
+ * Code Placeholder Map
100
+ * @internal
101
+ */
102
+ export type CodePlaceholderMap = Record<string, string>;
103
+ /**
104
+ * Base Code Config
105
+ * @internal
106
+ */
107
+ export type BaseCodeConfig = {
108
+ uiFramework?: UiFramework;
109
+ };
110
+ /**
111
+ * Widget Code Config
112
+ * @internal
113
+ */
114
+ export type WidgetCodeConfig = BaseCodeConfig & {
115
+ includeChart?: boolean;
116
+ };
117
+ /**
118
+ * Client-side Widget Code Params
119
+ * @internal
120
+ */
121
+ export type ClientSideWidgetCodeParams = WidgetCodeConfig & {
122
+ widgetProps: WidgetProps;
123
+ };
124
+ /**
125
+ * By ID Widget Code Params
126
+ * @internal
127
+ */
128
+ export type ByIdWidgetCodeParams = WidgetCodeConfig & {
129
+ dashboardOid: string;
130
+ widgetOid: string;
131
+ chartType: DynamicChartType;
132
+ };
133
+ /**
134
+ * Widget Code Params
135
+ * @internal
136
+ */
137
+ export type WidgetCodeParams = ClientSideWidgetCodeParams | ByIdWidgetCodeParams;
138
+ /**
139
+ * Check if widget code params is for client-side code
140
+ * @internal
141
+ */
142
+ export declare const isClientSideWidgetCodeParams: (params: WidgetCodeParams) => params is ClientSideWidgetCodeParams;
143
+ /**
144
+ * Check if widget code params is for by ID code
145
+ * @internal
146
+ */
147
+ export declare const isByIdWidgetCodeParams: (params: WidgetCodeParams) => params is ByIdWidgetCodeParams;
148
+ /**
149
+ * @internal
150
+ **/
151
+ export type WidgetPropsConfig = {
152
+ useCustomizedStyleOptions?: boolean;
153
+ };
@@ -1,13 +1,13 @@
1
- import { MetadataItem } from '@sisense/sdk-query-client';
2
- import { ChartDataOptions, ChartStyleOptions } from '../../types';
3
- import { ChartRecommendations, NlqResponseData } from '../api/types';
4
- export declare const getChartRecommendationsOrDefault: (response: NlqResponseData) => ChartRecommendations;
1
+ import { ChartDataOptions, ChartStyleOptions } from '../../../types';
2
+ import { MetadataItem } from '@sisense/sdk-data';
3
+ import { ChartRecommendations, ExpandedQueryModel } from '../../../analytics-composer/types';
4
+ export declare const getChartRecommendationsOrDefault: (response: ExpandedQueryModel) => ChartRecommendations;
5
5
  /**
6
6
  * @internal
7
7
  */
8
8
  export declare const getTableOptions: (jaql: MetadataItem[]) => {
9
9
  dataOptions: {
10
- columns: import("./jaql-element").JaqlElement[];
10
+ columns: import("@sisense/sdk-data").JaqlElement[];
11
11
  };
12
12
  };
13
13
  /**
@@ -21,13 +21,4 @@ export declare const getTableOptions: (jaql: MetadataItem[]) => {
21
21
  export declare const getChartOptions: (jaql: MetadataItem[], chartRecommendations: ChartRecommendations, useCustomizedStyleOptions?: boolean) => {
22
22
  dataOptions: ChartDataOptions;
23
23
  chartStyleOptions: ChartStyleOptions;
24
- expandedChartStyleOptions: ChartStyleOptions;
25
24
  };
26
- /**
27
- * Derives chart family from chart type.
28
- *
29
- * @param chartType - chart type
30
- * @returns chart family
31
- * @internal
32
- */
33
- export declare const deriveChartFamily: (chartType: string) => string;
@@ -0,0 +1,2 @@
1
+ import { Filter, FilterRelations } from '@sisense/sdk-data';
2
+ export declare const stringifyFilters: (filters: Filter[] | FilterRelations | undefined) => string;
@@ -0,0 +1,3 @@
1
+ import { ByIdWidgetCodeParams, ClientSideWidgetCodeParams } from '../types.js';
2
+ export declare const toWidgetCodeById: ({ dashboardOid, widgetOid, uiFramework, chartType, includeChart, }: ByIdWidgetCodeParams) => string;
3
+ export declare const toWidgetCodeClientSide: ({ widgetProps, uiFramework, includeChart, }: ClientSideWidgetCodeParams) => string;
@@ -0,0 +1,3 @@
1
+ import { WidgetProps } from '../../index.js';
2
+ import { ExpandedQueryModel, WidgetPropsConfig } from '../types.js';
3
+ export declare const toWidgetPropsFromQuery: (queryModel: ExpandedQueryModel, config?: WidgetPropsConfig) => WidgetProps | undefined;
@@ -0,0 +1,16 @@
1
+ import { WidgetProps } from '../../props.js';
2
+ import { ExpandedQueryModel, WidgetCodeParams, WidgetPropsConfig } from '../types.js';
3
+ /**
4
+ * Converts query model to widget props.
5
+ *
6
+ * @param queryModel - Expanded query model
7
+ * @returns Widget props
8
+ */
9
+ export declare const toWidgetProps: (queryModel: ExpandedQueryModel, config?: WidgetPropsConfig) => WidgetProps | undefined;
10
+ /**
11
+ * Converts widget props to CSDK code.
12
+ *
13
+ * @param widgetCodeParams - Widget code params
14
+ * @returns CSDK code string
15
+ */
16
+ export declare const toWidgetCode: (widgetCodeParams: WidgetCodeParams) => string;
@@ -1,8 +1,9 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { FeatureCollection as GeoJsonFeatureCollection } from 'geojson';
3
3
  import { type DataSource } from '@sisense/sdk-data';
4
- import { HierarchyDto, WidgetDto } from '../dashboard-widget/types';
4
+ import { HierarchyDto, WidgetDto } from '../widget-by-id/types';
5
5
  import type { DashboardDto } from './types/dashboard-dto';
6
+ import { TranslatableError } from '../translation/translatable-error';
6
7
  import { PaletteDto } from '../api/types/palette-dto';
7
8
  import { GetHierarchiesOptions } from '../models/hierarchy/types';
8
9
  type GetDashboardsOptions = {
@@ -53,6 +54,16 @@ export declare class RestApi {
53
54
  * Partially update a dashboard
54
55
  */
55
56
  patchDashboard: (dashboardOid: string, dashboard: Partial<DashboardDto>) => Promise<DashboardDto | undefined>;
57
+ /**
58
+ * Add widget to a dashboard
59
+ */
60
+ addWidgetToDashboard: (dashboardOid: string, widgetDto: WidgetDto) => Promise<WidgetDto | undefined>;
61
+ }
62
+ export declare const useRestApi: () => {
63
+ restApi: RestApi | undefined;
64
+ isReady: boolean;
65
+ };
66
+ export declare class RestApiNotReadyError extends TranslatableError {
67
+ constructor();
56
68
  }
57
- export declare const useGetApi: () => RestApi;
58
69
  export {};
@@ -1,4 +1,4 @@
1
- import { WidgetDto } from '../../dashboard-widget/types';
1
+ import { WidgetDto } from '../../widget-by-id/types';
2
2
  import { FilterJaql, FilterRelationsModel, JaqlDataSource } from '@sisense/sdk-data';
3
3
  import { AnyObject } from '../../utils/utility-types';
4
4
  /** @internal */
@@ -1,11 +1,11 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { QueryClient } from '@sisense/sdk-query-client';
3
3
  import { DataSource } from '@sisense/sdk-data';
4
+ import { PivotClient } from '@sisense/sdk-pivot-client';
5
+ import { TrackingEventDetails } from '@sisense/sdk-tracking';
4
6
  import { DateConfig } from '../query/date-formats';
5
7
  import { AppSettings } from './settings/settings';
6
- import { PivotClient } from '@sisense/sdk-pivot-client';
7
8
  import { CustomTranslationObject, LoadingIndicatorConfig } from '../types';
8
- import { TrackingEventDetails } from '@sisense/sdk-tracking';
9
9
  import { SisenseContextProviderProps } from '../props';
10
10
  /**
11
11
  * Application configuration
@@ -22,18 +22,18 @@ export type AppConfig = {
22
22
  */
23
23
  translationConfig?: {
24
24
  /**
25
- * Language code to be used for translations
25
+ * Language code to be used for translations.
26
26
  *
27
27
  * @internal
28
28
  */
29
29
  language?: string;
30
30
  /**
31
- * Additional translation resources to be loaded
31
+ * Additional translation resources to be loaded.
32
32
  *
33
33
  * You can find the list of available translation keys in the translation folder of every package.
34
34
  *
35
35
  * Translation keys that are not provided will default to the English translation.
36
- * If translation is provided for a package other than sdk-ui, please specify the packageName property using camelCase.
36
+ * If translation is provided for a package other than sdk-ui, please specify the namespace property.
37
37
  *
38
38
  * Important: Do not translate parts in {{}} - these are placeholders for dynamic values and will be matched using provided variable names.
39
39
  *
@@ -50,7 +50,7 @@ export type AppConfig = {
50
50
  * },
51
51
  * {
52
52
  * language: 'es',
53
- * packageName: 'sdkData'
53
+ * namespace: 'sdkData'
54
54
  * resources: {
55
55
  * errors: {
56
56
  * measure: {
@@ -184,5 +184,5 @@ export interface ClientApplication {
184
184
  }
185
185
  type ClientApplicationParams = Pick<SisenseContextProviderProps, 'appConfig' | 'defaultDataSource' | 'url' | 'token' | 'wat' | 'ssoEnabled' | 'enableSilentPreAuth' | 'useFusionAuth'>;
186
186
  /** @internal */
187
- export declare const createClientApplication: ({ defaultDataSource, url, token, wat, ssoEnabled, appConfig, enableSilentPreAuth, useFusionAuth, }: ClientApplicationParams) => Promise<ClientApplication>;
187
+ export declare const createClientApplication: ({ defaultDataSource, url: rawUrl, token, wat, ssoEnabled, appConfig, enableSilentPreAuth, useFusionAuth, }: ClientApplicationParams) => Promise<ClientApplication>;
188
188
  export {};
@@ -15,7 +15,6 @@ export type User = {
15
15
  manifest: Record<string, unknown>;
16
16
  tenantId: string;
17
17
  groups: string[];
18
- internalGroups: string[];
19
18
  default: boolean;
20
19
  email: string;
21
20
  firstName: string;
@@ -4,4 +4,4 @@ import { RegularChartProps } from '../props.js';
4
4
  * @param props
5
5
  * @returns
6
6
  */
7
- export declare const AdvancedChart: (props: RegularChartProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const AdvancedChart: (props: RegularChartProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Derives chart family from chart type.
3
+ *
4
+ * @param chartType - chart type
5
+ * @returns chart family
6
+ * @internal
7
+ */
8
+ export declare const deriveChartFamily: (chartType: string) => string;
@@ -1,3 +1,4 @@
1
+ import { Data } from '@sisense/sdk-data';
1
2
  import { RegularChartProps } from '../props';
2
3
  /**
3
4
  *
@@ -5,3 +6,5 @@ import { RegularChartProps } from '../props';
5
6
  * @returns
6
7
  */
7
8
  export declare const RegularChart: (props: RegularChartProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ /** Type guard for Data */
10
+ export declare function isData(data: any): data is Data;
@@ -36,6 +36,7 @@ export declare const splitColumn: <C extends AnyColumn>(targetColumn: C) => {
36
36
  export declare function isMeasureColumn(arg: AnyColumn): arg is MeasureColumn | CalculatedMeasureColumn | StyledMeasureColumn;
37
37
  export declare const getDataOptionTitle: ({ column }: StyledColumn | StyledMeasureColumn) => string;
38
38
  export declare const getDataOptionGranularity: ({ column, granularity }: StyledColumn) => string;
39
+ /** @internal */
39
40
  export declare const translateColumnToAttribute: (c: Column | StyledColumn) => Attribute;
40
41
  export declare const translateColumnToMeasure: (c: MeasureColumn | CalculatedMeasureColumn | StyledMeasureColumn) => Measure;
41
42
  /**
@@ -3,6 +3,7 @@ import { ChartType, OptionsWithAlerts, CompleteThemeSettings } from '../types';
3
3
  import { CategoricalChartData } from '../chart-data/types';
4
4
  import { HighchartsOptionsInternal } from './chart-options-service';
5
5
  import { ChartDataOptionsInternal } from '../chart-data-options/types';
6
+ import { TFunction } from '@sisense/sdk-common';
6
7
  /**
7
8
  * Convert intermediate chart data, data options, and design options
8
9
  * into pure highcharts config data.
@@ -13,4 +14,4 @@ import { ChartDataOptionsInternal } from '../chart-data-options/types';
13
14
  * @param dataOptions -
14
15
  * @param themeSettings -
15
16
  */
16
- export declare const getCategoricalChartOptions: (chartData: CategoricalChartData, chartType: ChartType, chartDesignOptions: ChartDesignOptions, dataOptions: ChartDataOptionsInternal, themeSettings?: CompleteThemeSettings) => OptionsWithAlerts<HighchartsOptionsInternal>;
17
+ export declare const getCategoricalChartOptions: (chartData: CategoricalChartData, chartType: ChartType, chartDesignOptions: ChartDesignOptions, dataOptions: ChartDataOptionsInternal, translate: TFunction, themeSettings?: CompleteThemeSettings) => OptionsWithAlerts<HighchartsOptionsInternal>;
@@ -3,4 +3,5 @@ import { HighchartsOptionsInternal } from '../../chart-options-service';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { CompleteThemeSettings } from '../../../types';
5
5
  import { SunburstChartDesignOptions } from '../design-options';
6
- export declare function prepareSunburstOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
6
+ import { TFunction } from '@sisense/sdk-common';
7
+ export declare function prepareSunburstOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
@@ -3,4 +3,5 @@ import { HighchartsOptionsInternal } from '../../chart-options-service';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { CompleteThemeSettings } from '../../../types';
5
5
  import { TreemapChartDesignOptions } from '../design-options';
6
- export declare function prepareTreemapOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
6
+ import { TFunction } from '@sisense/sdk-common';
7
+ export declare function prepareTreemapOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
@@ -2,11 +2,12 @@ import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options
2
2
  import { TreemapChartDesignOptions } from '../design-options';
3
3
  import { TooltipSettings } from '../../tooltip';
4
4
  import { TooltipFormatterContextObject } from '@sisense/sisense-charts';
5
+ import { TFunction } from '@sisense/sdk-common';
5
6
  type TooltipFormatterOptions = {
6
7
  displayTotalContribution: boolean;
7
8
  displayColorCircles: boolean;
8
9
  shouldSkip: (context: TooltipFormatterContextObject) => boolean;
9
10
  };
10
- export declare const getTreemapTooltipSettings: (chartDataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, formatterOptions?: TooltipFormatterOptions) => TooltipSettings;
11
- export declare function treemapTooltipFormatter(context: TooltipFormatterContextObject, chartDataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, formatterOptions?: TooltipFormatterOptions): string | false;
11
+ 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;
12
13
  export {};
@@ -64,4 +64,6 @@ export declare const isTable: (chartType: ChartType | TableType) => chartType is
64
64
  export declare const isBoxplot: (chartType: ChartType) => chartType is "boxplot";
65
65
  export declare const isAreamap: (chartType: ChartType) => chartType is "areamap";
66
66
  export declare const isRange: (chartType: ChartType) => chartType is "arearange";
67
+ export declare const ALL_CHART_TYPES: readonly ["line", "area", "bar", "column", "polar", "pie", "funnel", "treemap", "sunburst", "scatter", "table", "indicator", "boxplot", "areamap", "image", "scattermap", "arearange"];
68
+ export type DynamicChartType = (typeof ALL_CHART_TYPES)[number];
67
69
  export {};
@@ -2,6 +2,7 @@ import { MenuPosition, MenuItemSection } from '../../../types';
2
2
  export type MenuOptions = {
3
3
  position: MenuPosition;
4
4
  itemSections: MenuItemSection[];
5
+ onClose?: () => void;
5
6
  };
6
7
  export type BeforeMenuOpenHandler = (options: MenuOptions) => MenuOptions | null;
7
8
  export type OpenMenuFn = (options: MenuOptions) => void;
@@ -1,2 +1,2 @@
1
1
  import { DashboardContainerProps } from '../../dashboard/types';
2
- export declare const DashboardContainer: ({ title, layoutOptions, config, widgets, filters, onFiltersChange, defaultDataSource, }: DashboardContainerProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const DashboardContainer: ({ title, layoutOptions, config, widgets, filters, onFiltersChange, defaultDataSource, onChange, }: DashboardContainerProps) => import("react/jsx-runtime").JSX.Element;