@sisense/sdk-ui 0.14.0 → 0.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 (128) hide show
  1. package/dist/ai/api/chat-api-context.d.ts +12 -0
  2. package/dist/ai/api/chat-rest-api.d.ts +28 -0
  3. package/dist/ai/api/hooks.d.ts +74 -0
  4. package/dist/ai/api/types.d.ts +139 -0
  5. package/dist/ai/chat-box.d.ts +6 -0
  6. package/dist/ai/chat-frame.d.ts +8 -0
  7. package/dist/ai/chat-home.d.ts +2 -0
  8. package/dist/ai/chat-input.d.ts +7 -0
  9. package/dist/ai/chatbot-context.d.ts +11 -0
  10. package/dist/ai/chatbot.d.ts +27 -0
  11. package/dist/ai/data-topics/data-topic-item.d.ts +8 -0
  12. package/dist/ai/data-topics/data-topic-list.d.ts +10 -0
  13. package/dist/ai/data-topics/index.d.ts +2 -0
  14. package/dist/ai/icons/arrow-left-icon.d.ts +2 -0
  15. package/dist/ai/icons/clear-chat-icon.d.ts +2 -0
  16. package/dist/ai/icons/close-dialog-icon.d.ts +2 -0
  17. package/dist/ai/icons/expand-icon.d.ts +2 -0
  18. package/dist/ai/icons/info-icon.d.ts +2 -0
  19. package/dist/ai/icons/light-bulb-icon.d.ts +2 -0
  20. package/dist/ai/icons/loading-dots-icon.d.ts +2 -0
  21. package/dist/ai/icons/magic-wand-icon.d.ts +2 -0
  22. package/dist/ai/icons/message-icon.d.ts +2 -0
  23. package/dist/ai/icons/refresh-icon.d.ts +2 -0
  24. package/dist/ai/icons/sisense-logo.d.ts +2 -0
  25. package/dist/ai/icons/three-dots-icon.d.ts +2 -0
  26. package/dist/ai/index.d.ts +4 -0
  27. package/dist/ai/magic-wand-dropdown.d.ts +7 -0
  28. package/dist/ai/messages/chart-message-toolbar.d.ts +8 -0
  29. package/dist/ai/messages/chart-message.d.ts +8 -0
  30. package/dist/ai/messages/clear-history-message.d.ts +6 -0
  31. package/dist/ai/messages/get-widget-options.d.ts +13 -0
  32. package/dist/ai/messages/insights-message.d.ts +10 -0
  33. package/dist/ai/messages/jaql-element.d.ts +25 -0
  34. package/dist/ai/messages/message-list-resolver.d.ts +7 -0
  35. package/dist/ai/messages/message-resolver.d.ts +11 -0
  36. package/dist/ai/messages/text-message.d.ts +8 -0
  37. package/dist/ai/nav-back-button.d.ts +6 -0
  38. package/dist/ai/nlg-query-result.d.ts +20 -0
  39. package/dist/ai/suggestions/index.d.ts +4 -0
  40. package/dist/ai/suggestions/suggestion-dropdown-item.d.ts +7 -0
  41. package/dist/ai/suggestions/suggestion-dropdown-list.d.ts +7 -0
  42. package/dist/ai/suggestions/suggestion-item.d.ts +7 -0
  43. package/dist/ai/suggestions/suggestion-list-skeleton.d.ts +2 -0
  44. package/dist/ai/suggestions/suggestion-list.d.ts +7 -0
  45. package/dist/ai/suggestions/suggestions-with-intro.d.ts +8 -0
  46. package/dist/ai/toolbar.d.ts +8 -0
  47. package/dist/ai/use-chat-session.d.ts +22 -0
  48. package/dist/ai.d.ts +1 -0
  49. package/dist/ai.js +3390 -0
  50. package/dist/api/types/dashboard-dto.d.ts +5 -3
  51. package/dist/chart-data-options/coloring/consts.d.ts +3 -0
  52. package/dist/chart-data-options/coloring/utils.d.ts +6 -0
  53. package/dist/chart-data-options/get-translated-data-options.d.ts +6 -0
  54. package/dist/chart-options-processor/chart-options-service.d.ts +2 -74
  55. package/dist/chart-options-processor/translations/axis-section.d.ts +3 -1
  56. package/dist/chart-options-processor/translations/funnel-series.d.ts +1 -2
  57. package/dist/chart-options-processor/translations/legend-section.d.ts +2 -1
  58. package/dist/chart-options-processor/translations/pie-series.d.ts +1 -2
  59. package/dist/chart-options-processor/translations/translations-to-highcharts.d.ts +6 -2
  60. package/dist/charts/indicator/chart/indicator.d.ts +1 -1
  61. package/dist/charts/indicator/chart/ticker.d.ts +2 -2
  62. package/dist/charts/indicator/indicator-legacy-chart-options/default-options.d.ts +2 -1
  63. package/dist/charts/indicator/types.d.ts +47 -6
  64. package/dist/common/components/loading-indicator.d.ts +33 -0
  65. package/dist/common/icons/loading-icon.d.ts +6 -0
  66. package/dist/dashboard-widget/translate-dashboard-filters.d.ts +2 -2
  67. package/dist/dashboard-widget/translate-panel-color-format.d.ts +2 -2
  68. package/dist/dashboard-widget/translate-widget-data-options.d.ts +6 -6
  69. package/dist/dashboard-widget/translate-widget-filters.d.ts +4 -16
  70. package/dist/dashboard-widget/translate-widget-style-options.d.ts +1 -1
  71. package/dist/dashboard-widget/types.d.ts +21 -71
  72. package/dist/dashboard-widget/use-fetch-widget-dto-model.d.ts +7 -1
  73. package/dist/dashboard-widget/utils.d.ts +3 -3
  74. package/dist/filters/components/common/dropdown.d.ts +8 -0
  75. package/dist/filters/components/common/index.d.ts +4 -1
  76. package/dist/filters/components/common/radio.d.ts +7 -0
  77. package/dist/filters/components/common/triangle-indicator.d.ts +2 -0
  78. package/dist/filters/components/criteria-filter-tile/criteria-filter-display.d.ts +25 -0
  79. package/dist/filters/components/criteria-filter-tile/criteria-filter-menu.d.ts +22 -0
  80. package/dist/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +76 -0
  81. package/dist/filters/components/criteria-filter-tile/criteria-filter-tile.d.ts +44 -0
  82. package/dist/filters/components/criteria-filter-tile/index.d.ts +2 -0
  83. package/dist/filters/components/date-filter/date-filter/date-filter.d.ts +4 -0
  84. package/dist/filters/components/date-filter/date-range-filter-tile/date-range-filter-tile.d.ts +11 -3
  85. package/dist/filters/components/date-filter/date-range-filter-tile/use-date-limits.d.ts +2 -2
  86. package/dist/filters/components/filter-tile.d.ts +3 -0
  87. package/dist/filters/components/member-filter-tile/basic-member-filter-tile.d.ts +4 -0
  88. package/dist/filters/components/member-filter-tile/member-filter-tile.d.ts +3 -1
  89. package/dist/filters/components/member-filter-tile/members-reducer.d.ts +9 -1
  90. package/dist/filters/components/member-filter-tile/pill-section.d.ts +0 -1
  91. package/dist/filters/index.d.ts +1 -0
  92. package/dist/formulas/fetch-formula.d.ts +16 -0
  93. package/dist/formulas/index.d.ts +1 -0
  94. package/dist/formulas/use-get-shared-formula.d.ts +95 -0
  95. package/dist/highcharts-memorized.d.ts +4 -3
  96. package/dist/index.d.ts +3 -1
  97. package/dist/index.js +8974 -71500
  98. package/dist/models/dashboard/get-dashboard-models.d.ts +1 -1
  99. package/dist/models/dashboard/types.d.ts +1 -1
  100. package/dist/models/dashboard/use-get-dashboard-model.d.ts +1 -1
  101. package/dist/models/widget/get-widget-model.d.ts +4 -0
  102. package/dist/models/widget/index.d.ts +3 -1
  103. package/dist/models/widget/translate-widget.d.ts +1 -1
  104. package/dist/models/widget/use-get-widget-model.d.ts +102 -0
  105. package/dist/models/widget/widget-model.d.ts +122 -0
  106. package/dist/props.d.ts +30 -11
  107. package/dist/query/execute-query.d.ts +2 -0
  108. package/dist/query-execution/csv-query-state-reducer.d.ts +2 -0
  109. package/dist/query-execution/index.d.ts +4 -3
  110. package/dist/query-execution/query-state-reducer.d.ts +1 -58
  111. package/dist/query-execution/types.d.ts +190 -0
  112. package/dist/query-execution/use-execute-csv-query.d.ts +82 -0
  113. package/dist/query-execution/use-execute-query-by-widget-id.d.ts +2 -37
  114. package/dist/query-execution/use-execute-query.d.ts +8 -33
  115. package/dist/table/hooks/use-table-data.d.ts +5 -1
  116. package/dist/table/table.d.ts +3 -0
  117. package/dist/table-widget-5f3b1d03.js +64456 -0
  118. package/dist/themes/colors.d.ts +86 -0
  119. package/dist/translation/resources/en.d.ts +31 -0
  120. package/dist/translation/resources/index.d.ts +62 -0
  121. package/dist/types.d.ts +6 -0
  122. package/dist/utils/utility-types.d.ts +4 -0
  123. package/dist/widgets/common/drilldown-breadcrumbs/drilldown-breadcrumbs-navigation.d.ts +8 -0
  124. package/dist/widgets/common/drilldown-breadcrumbs/styled-buttons.d.ts +11 -0
  125. package/dist/widgets/common/widget-header-info-button.d.ts +8 -0
  126. package/dist/widgets/common/widget-header.d.ts +1 -1
  127. package/package.json +27 -8
  128. package/dist/models/widget/types.d.ts +0 -6
@@ -0,0 +1,82 @@
1
+ import { CsvQueryState, ExecuteCsvQueryParams } from './types.js';
2
+ /**
3
+ * React hook that executes a CSV data query.
4
+ * Similar to {@link useExecuteQuery}, but returns the data in CSV format as text or as a stream.
5
+ *
6
+ * @example
7
+ * An example of using the hook to obtain data in a CSV string:
8
+ ```tsx
9
+ const { data, isLoading, isError } = useExecuteCsvQuery({
10
+ dataSource: DM.DataSource,
11
+ dimensions: [DM.Commerce.AgeRange],
12
+ measures: [measures.sum(DM.Commerce.Revenue)],
13
+ filters: [filters.greaterThan(DM.Commerce.Revenue, 1000)],
14
+ });
15
+ if (isLoading) {
16
+ return <div>Loading...</div>;
17
+ }
18
+ if (isError) {
19
+ return <div>Error</div>;
20
+ }
21
+ if (data) {
22
+ return <div>{`CSV as string: ${data}`}</div>;
23
+ }
24
+ return null;
25
+ ```
26
+ * An example of using the hook to obtain data in CSV format as a stream, translating headers, and triggering file download:
27
+ ```tsx
28
+ const { data, isLoading, isError } = useExecuteCsvQuery({
29
+ dataSource: DM.DataSource,
30
+ dimensions: [DM.Commerce.AgeRange],
31
+ measures: [measures.sum(DM.Commerce.Revenue)],
32
+ filters: [filters.greaterThan(DM.Commerce.Revenue, 1000)],
33
+ config: { asDataStream: true },
34
+ });
35
+ if (isLoading) {
36
+ return <div>Loading...</div>;
37
+ }
38
+ if (isError) {
39
+ return <div>Error</div>;
40
+ }
41
+ if (data) {
42
+ const reader = new FileReader();
43
+ reader.onload = () => {
44
+ if (reader.result) {
45
+ const text = reader.result as string;
46
+ const lines = text.split('\n');
47
+ // Update headers
48
+ if (lines.length > 0) {
49
+ lines[0] = translateHeaders(lines[0]); // replace with own implementation
50
+ }
51
+ // Join modified lines back to a text
52
+ const modifiedCsv = lines.join('\n');
53
+ // Create a new Blob with modified content
54
+ const modifiedBlob = new Blob([modifiedCsv], { type: 'text/csv' });
55
+ // Trigger file download
56
+ const blobURL = window.URL.createObjectURL(modifiedBlob);
57
+ const a = document.createElement('a');
58
+ a.href = blobURL;
59
+ const fileName = 'data_translated_headers'
60
+ a.download = fileName;
61
+ document.body.appendChild(a);
62
+ a.click();
63
+ window.URL.revokeObjectURL(blobURL);
64
+ document.body.removeChild(a);
65
+ }
66
+ };
67
+ reader.readAsText(data as Blob);
68
+ }
69
+ return null;
70
+ ```
71
+
72
+ *
73
+ * @param params - Parameters of the query
74
+ * @returns Query state that contains the status of the query execution, the result data, or the error if any occurred
75
+ */
76
+ export declare const useExecuteCsvQuery: (params: ExecuteCsvQueryParams) => CsvQueryState;
77
+ /**
78
+ * {@link useExecuteQuery} without tracking to be used inside other hooks or components in Compose SDK.
79
+ *
80
+ * @internal
81
+ */
82
+ export declare function useExecuteCsvQueryInternal(params: ExecuteCsvQueryParams): CsvQueryState;
@@ -1,41 +1,6 @@
1
- import { type Filter } from '@sisense/sdk-data';
2
1
  import { ExecuteQueryParams } from './';
3
- import { QueryState } from './query-state-reducer';
4
- import { FiltersMergeStrategy } from '../dashboard-widget/types';
5
2
  import { ClientApplication } from '../app/client-application';
6
- /**
7
- * Parameters for {@link useExecuteQueryByWidgetId} hook.
8
- */
9
- export interface ExecuteQueryByWidgetIdParams {
10
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.widgetOid} */
11
- widgetOid: string;
12
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.dashboardOid} */
13
- dashboardOid: string;
14
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.filters} */
15
- filters?: Filter[];
16
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.highlights} */
17
- highlights?: Filter[];
18
- /** {@inheritDoc ExecuteQueryProps.count} */
19
- count?: number;
20
- /** {@inheritDoc ExecuteQueryProps.offset} */
21
- offset?: number;
22
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.filtersMergeStrategy} */
23
- filtersMergeStrategy?: FiltersMergeStrategy;
24
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.includeDashboardFilters} */
25
- includeDashboardFilters?: boolean;
26
- /** {@inheritDoc ExecuteQueryByWidgetIdProps.onBeforeQuery} */
27
- onBeforeQuery?: (jaql: any) => any | Promise<any>;
28
- /**
29
- * Boolean flag to control if query is executed
30
- *
31
- * If not specified, the default value is `true`
32
- */
33
- enabled?: boolean;
34
- }
35
- export type QueryByWidgetIdState = QueryState & {
36
- /** Query parameters constructed over the widget */
37
- query: ExecuteQueryParams | undefined;
38
- };
3
+ import { ExecuteQueryByWidgetIdParams, QueryByWidgetIdState } from './types';
39
4
  /**
40
5
  * React hook that executes a data query extracted from an existing widget in the Sisense instance.
41
6
  *
@@ -81,6 +46,6 @@ export declare function isParamsChanged(prevParams: ExecuteQueryByWidgetIdParams
81
46
  export declare function executeQueryByWidgetId({ widgetOid, dashboardOid, filters, highlights, filtersMergeStrategy, count, offset, includeDashboardFilters, app, onBeforeQuery, }: ExecuteQueryByWidgetIdParams & {
82
47
  app: ClientApplication;
83
48
  }): Promise<{
84
- data: import("@sisense/sdk-data").QueryResultData;
49
+ data: import("packages/sdk-data/dist").QueryResultData;
85
50
  query: ExecuteQueryParams;
86
51
  }>;
@@ -1,36 +1,4 @@
1
- import { Attribute, DataSource, Filter, Measure } from '@sisense/sdk-data';
2
- import { QueryState } from './query-state-reducer';
3
- /**
4
- * Parameters for {@link useExecuteQuery} hook.
5
- */
6
- export interface ExecuteQueryParams {
7
- /**
8
- * Data source the query is run against - e.g. `Sample ECommerce`
9
- *
10
- * If not specified, the query will use the `defaultDataSource` specified in the parent Sisense Context.
11
- */
12
- dataSource?: DataSource;
13
- /** Dimensions of the query */
14
- dimensions?: Attribute[];
15
- /** Measures of the query */
16
- measures?: Measure[];
17
- /** Filters that will slice query results */
18
- filters?: Filter[];
19
- /** Highlight filters that will highlight results that pass filter criteria */
20
- highlights?: Filter[];
21
- /** {@inheritDoc ExecuteQueryProps.count} */
22
- count?: number;
23
- /** {@inheritDoc ExecuteQueryProps.offset} */
24
- offset?: number;
25
- /**
26
- * Boolean flag to control if query is executed
27
- *
28
- * If not specified, the default value is `true`
29
- */
30
- enabled?: boolean;
31
- /** {@inheritDoc ExecuteQueryProps.onBeforeQuery} */
32
- onBeforeQuery?: (jaql: any) => any | Promise<any>;
33
- }
1
+ import { ExecuteQueryParams, QueryState } from './types';
34
2
  /**
35
3
  * React hook that executes a data query.
36
4
  * This approach, which offers an alternative to {@link ExecuteQuery} component, is similar to React Query's `useQuery` hook.
@@ -69,3 +37,10 @@ export declare const useExecuteQuery: (params: ExecuteQueryParams) => QueryState
69
37
  * @internal
70
38
  */
71
39
  export declare function useExecuteQueryInternal(params: ExecuteQueryParams): QueryState;
40
+ /**
41
+ * Checks if the query parameters have changed by deep comparison.
42
+ *
43
+ * @param prevParams - Previous query parameters
44
+ * @param newParams - New query parameters
45
+ */
46
+ export declare function isQueryParamsChanged(prevParams: ExecuteQueryParams | undefined, newParams: ExecuteQueryParams): boolean;
@@ -1,4 +1,4 @@
1
- import { Data, DataSource, Filter } from '@sisense/sdk-data';
1
+ import { Attribute, Data, DataSource, Filter, Measure } from '@sisense/sdk-data';
2
2
  import { TableDataOptionsInternal } from '../../chart-data-options/types';
3
3
  type UseDataProps = {
4
4
  dataSet: Data | DataSource | undefined;
@@ -7,5 +7,9 @@ type UseDataProps = {
7
7
  count: number;
8
8
  offset: number;
9
9
  };
10
+ export declare const getTableAttributesAndMeasures: (dataOptions: TableDataOptionsInternal) => {
11
+ attributes: Attribute[];
12
+ measures: Measure[];
13
+ };
10
14
  export declare const useTableData: ({ dataSet, dataOptions, filters, count, offset, }: UseDataProps) => Data | null;
11
15
  export {};
@@ -48,3 +48,6 @@ import { TableProps } from '../props';
48
48
  * @returns Table component
49
49
  */
50
50
  export declare const Table: React.FunctionComponent<TableProps>;
51
+ export declare const DEFAULT_TABLE_ROWS_PER_PAGE: 25;
52
+ /** How many pages of data will be loaded in one query */
53
+ export declare const PAGES_BATCH_SIZE = 10;