@sisense/sdk-ui 2.29.0 → 2.30.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 (194) hide show
  1. package/dist/ai.cjs +57 -57
  2. package/dist/ai.js +767 -797
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +723 -696
  5. package/dist/analytics-composer.cjs +1 -1
  6. package/dist/analytics-composer.js +6 -6
  7. package/dist/{apply-styled-options-to-query-CaP4IMrQ.js → apply-styled-options-to-query-BK1NnV4P.js} +1936 -1862
  8. package/dist/apply-styled-options-to-query-Dl8vVNxo.cjs +1 -0
  9. package/dist/{index-C77YCBVd.js → index-DCYw3JUB.js} +29 -7
  10. package/dist/index-DTvxJdqZ.cjs +1 -0
  11. package/dist/index.cjs +575 -482
  12. package/dist/index.js +26629 -25620
  13. package/dist/index.umd.js +925 -802
  14. package/dist/packages/sdk-ui/src/domains/dashboarding/common-filters/utils.d.ts +1 -1
  15. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-container.d.ts +1 -1
  16. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-config.d.ts +127 -0
  17. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-targets.d.ts +30 -0
  18. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-title.d.ts +20 -0
  19. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header.d.ts +10 -1
  20. package/dist/packages/sdk-ui/src/domains/dashboarding/constants.d.ts +2 -2
  21. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-helpers.d.ts +21 -0
  22. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/translate-dashboard-utils.d.ts +43 -1
  23. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.d.ts +7 -0
  24. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/utils.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-module/dashboard-module.d.ts +34 -0
  26. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-module/types.d.ts +58 -0
  27. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/duplicate-widget/use-duplicate-widget-menu-item.d.ts +7 -0
  28. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-dashboard-header-menu-item.d.ts +9 -0
  29. package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/types.d.ts +11 -1
  30. package/dist/packages/sdk-ui/src/domains/dashboarding/types.d.ts +18 -7
  31. package/dist/packages/sdk-ui/src/domains/dashboarding/utils.d.ts +9 -0
  32. package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/add-measure-data-browser.d.ts +11 -0
  33. package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/add-measure-popover.d.ts +14 -0
  34. package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/measure-ranking-title.d.ts +21 -0
  35. package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/measures.d.ts +13 -0
  36. package/dist/packages/sdk-ui/src/domains/filters/components/criteria-filter-tile/criteria-filter-menu.d.ts +2 -1
  37. package/dist/packages/sdk-ui/src/domains/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +1 -0
  38. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor-context.d.ts +1 -0
  39. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor-popover.d.ts +2 -1
  40. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor.d.ts +2 -1
  41. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/numeric-condition-section/types.d.ts +5 -0
  42. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/index.d.ts +3 -0
  43. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/ranking-condition-controls.d.ts +33 -0
  44. package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/ranking-condition-utils.d.ts +13 -0
  45. package/dist/packages/sdk-ui/src/domains/filters/components/filters-panel/hooks/use-existing-filter-editing.d.ts +2 -1
  46. package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-collapsible.d.ts +22 -4
  47. package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-top-slot-shell.d.ts +2 -0
  48. package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-trigger-button.d.ts +17 -0
  49. package/dist/packages/sdk-ui/src/domains/narrative/components/widget-narrative-interactive.d.ts +20 -2
  50. package/dist/packages/sdk-ui/src/domains/narrative/components/widget-narrative.d.ts +11 -9
  51. package/dist/packages/sdk-ui/src/domains/narrative/core/build-narrative-request.d.ts +1 -1
  52. package/dist/packages/sdk-ui/src/domains/narrative/core/get-narrative-dimensions-and-measures.d.ts +2 -2
  53. package/dist/packages/sdk-ui/src/domains/narrative/core/get-widget-narrative-from-widget-props.d.ts +18 -0
  54. package/dist/packages/sdk-ui/src/domains/narrative/core/to-nlg-api-verbosity.d.ts +7 -0
  55. package/dist/packages/sdk-ui/src/domains/narrative/core/widget-narrative-options.d.ts +101 -23
  56. package/dist/packages/sdk-ui/src/domains/narrative/core/widget-props-to-narrative-params.d.ts +35 -32
  57. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-get-widget-narrative.d.ts +11 -22
  58. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-line-height.d.ts +10 -0
  59. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-widget-narrative-state.d.ts +8 -9
  60. package/dist/packages/sdk-ui/src/domains/query-execution/core/execute-query.d.ts +34 -1
  61. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-jaql-excel-export.d.ts +13 -5
  62. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-xlsx-export-payload.d.ts +5 -0
  63. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-query-by-widget-id/use-execute-query-by-widget-id.d.ts +2 -1
  64. package/dist/packages/sdk-ui/src/domains/query-execution/types.d.ts +55 -3
  65. package/dist/packages/sdk-ui/src/domains/shared/header/header-item-size.d.ts +30 -0
  66. package/dist/packages/sdk-ui/src/domains/shared/header/header-items-renderer.d.ts +19 -0
  67. package/dist/packages/sdk-ui/src/domains/shared/header/header-spacer-item.d.ts +9 -0
  68. package/dist/packages/sdk-ui/src/domains/shared/header/index.d.ts +6 -0
  69. package/dist/packages/sdk-ui/src/domains/shared/header/resolve-header-items.d.ts +17 -0
  70. package/dist/packages/sdk-ui/src/domains/shared/header/types.d.ts +98 -0
  71. package/dist/packages/sdk-ui/src/domains/shared/header/use-resolved-header-items.d.ts +10 -0
  72. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/areamap-chart/data/areamap-data.d.ts +3 -1
  73. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/helpers/data.d.ts +3 -1
  74. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/stackable/streamgraph-chart/helpers/chart-data.d.ts +3 -1
  75. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/helpers/data.d.ts +3 -1
  76. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/data/index.d.ts +3 -1
  77. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/data/index.d.ts +3 -1
  78. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/build-highchart-options.d.ts +1 -0
  79. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/alerts/index.d.ts +5 -0
  80. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/data/index.d.ts +22 -0
  81. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/data-options/index.d.ts +33 -0
  82. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/design-options/index.d.ts +21 -0
  83. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/highchart-options/highcharts-options-builder.d.ts +3 -0
  84. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/sankey-chart-builder.d.ts +3 -0
  85. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/sankey-node-colors.d.ts +10 -0
  86. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/types.d.ts +38 -0
  87. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/types.d.ts +2 -1
  88. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/types.d.ts +12 -9
  89. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/data-cell-formatters/data-cell-value-formatter.d.ts +1 -1
  90. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/header-cell-formatters/header-cell-value-formatter.d.ts +1 -1
  91. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/hooks/use-pivot-data-loading.d.ts +1 -0
  92. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/resolve-pivot-container-size.d.ts +28 -0
  93. package/dist/packages/sdk-ui/src/domains/visualizations/components/sankey-chart.d.ts +30 -0
  94. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/helpers/format-numbers.d.ts +1 -1
  95. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/cartesian-data.d.ts +1 -1
  96. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/categorical-data.d.ts +1 -1
  97. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/chart-data-service.d.ts +1 -1
  98. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/scatter-data.d.ts +2 -2
  99. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/types.d.ts +2 -1
  100. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/apply-styled-options-to-query.d.ts +4 -4
  101. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/types.d.ts +47 -7
  102. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/chart-options-service.d.ts +3 -0
  103. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/tooltip.d.ts +1 -1
  104. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/design-options.d.ts +10 -1
  105. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/funnel-plot-options.d.ts +1 -1
  106. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/number-format-config.d.ts +12 -0
  107. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/pie-plot-options.d.ts +2 -1
  108. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +1 -1
  109. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-options.d.ts +1 -1
  110. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/treemap/treemap-tooltip.d.ts +2 -2
  111. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/types.d.ts +12 -3
  112. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/types.d.ts +8 -1
  113. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-excel-download.d.ts +1 -1
  114. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-narrative.d.ts +28 -0
  115. package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/use-custom-widget-excel-download.d.ts +1 -1
  116. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/pivot-table-widget.d.ts +4 -4
  117. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/types.d.ts +7 -1
  118. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/use-pivot-widget-excel-download.d.ts +1 -1
  119. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/index.d.ts +1 -0
  120. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/tabber.d.ts +17 -1
  121. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/widget-narrative-style.d.ts +31 -0
  122. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +30 -1
  123. package/dist/packages/sdk-ui/src/domains/widgets/helpers/excel-export-map-dimensions-measures.d.ts +17 -2
  124. package/dist/packages/sdk-ui/src/domains/widgets/helpers/number-format-config-to-numeric-mask.d.ts +5 -0
  125. package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-container/widget-container.d.ts +7 -1
  126. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model.d.ts +6 -1
  127. package/dist/packages/sdk-ui/src/infra/api/narrative/narrative-endpoints.d.ts +2 -2
  128. package/dist/packages/sdk-ui/src/infra/app/types.d.ts +18 -0
  129. package/dist/packages/sdk-ui/src/infra/plugins/types.d.ts +34 -6
  130. package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/types.d.ts +169 -49
  131. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/de-de.d.ts +22 -0
  132. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/en-us.d.ts +22 -0
  133. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-ar.d.ts +22 -0
  134. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-es.d.ts +22 -0
  135. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/fr-fr.d.ts +22 -0
  136. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/it-it.d.ts +22 -0
  137. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ja-jp.d.ts +22 -0
  138. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ko-kr.d.ts +22 -0
  139. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/nl-nl.d.ts +22 -0
  140. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/pt-br.d.ts +22 -0
  141. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ru-ru.d.ts +22 -0
  142. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/tr-tr.d.ts +22 -0
  143. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/zh-cn.d.ts +22 -0
  144. package/dist/packages/sdk-ui/src/infra/translation/resources/en.d.ts +22 -0
  145. package/dist/packages/sdk-ui/src/infra/translation/resources/index.d.ts +44 -0
  146. package/dist/packages/sdk-ui/src/modules/ai/common/collapsible.d.ts +38 -2
  147. package/dist/packages/sdk-ui/src/modules/ai/get-nlg-insights-from-widget.d.ts +4 -13
  148. package/dist/packages/sdk-ui/src/modules/ai/index.d.ts +1 -1
  149. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/process-measured-value.d.ts +14 -0
  150. package/dist/packages/sdk-ui/src/props.d.ts +46 -2
  151. package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +3 -1
  152. package/dist/packages/sdk-ui/src/public-api/beta.d.ts +6 -0
  153. package/dist/packages/sdk-ui/src/public-api/internal.d.ts +1 -1
  154. package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +5 -3
  155. package/dist/packages/sdk-ui/src/types.d.ts +78 -6
  156. package/dist/{use-hover-Dju4Dcv3.js → quota-notification-DqabeDbO.js} +23733 -22015
  157. package/dist/quota-notification-gYE6PTWA.cjs +750 -0
  158. package/dist/translations/de-de.cjs +1 -1
  159. package/dist/translations/de-de.js +27 -5
  160. package/dist/translations/en-us.cjs +1 -1
  161. package/dist/translations/en-us.js +1 -1
  162. package/dist/translations/es-ar.cjs +1 -1
  163. package/dist/translations/es-ar.js +27 -5
  164. package/dist/translations/es-es.cjs +1 -1
  165. package/dist/translations/es-es.js +27 -5
  166. package/dist/translations/fr-fr.cjs +1 -1
  167. package/dist/translations/fr-fr.js +27 -5
  168. package/dist/translations/it-it.cjs +1 -1
  169. package/dist/translations/it-it.js +29 -7
  170. package/dist/translations/ja-jp.cjs +1 -1
  171. package/dist/translations/ja-jp.js +27 -5
  172. package/dist/translations/ko-kr.cjs +1 -1
  173. package/dist/translations/ko-kr.js +27 -5
  174. package/dist/translations/nl-nl.cjs +1 -1
  175. package/dist/translations/nl-nl.js +29 -7
  176. package/dist/translations/pt-br.cjs +1 -1
  177. package/dist/translations/pt-br.js +27 -5
  178. package/dist/translations/ru-ru.cjs +1 -1
  179. package/dist/translations/ru-ru.js +27 -5
  180. package/dist/translations/tr-tr.cjs +1 -1
  181. package/dist/translations/tr-tr.js +27 -5
  182. package/dist/translations/zh-cn.cjs +1 -1
  183. package/dist/translations/zh-cn.js +27 -5
  184. package/dist/{types-DlYJ_DZ0.cjs → types-DSNnndG6.cjs} +1 -1
  185. package/dist/{types-7YG0uOzO.js → types-DecTaxy7.js} +1 -1
  186. package/dist/{utils-C4PIba42.cjs → utils-Cpeyj9TN.cjs} +52 -52
  187. package/dist/{utils-BKRpWUGm.js → utils-L-HO2pCd.js} +2518 -2469
  188. package/dist/{widget-composer-BXEyx308.cjs → widget-composer-CyWQaInf.cjs} +1 -1
  189. package/dist/{widget-composer-DRDw1oBF.js → widget-composer-u6NMLm1C.js} +3 -3
  190. package/package.json +8 -8
  191. package/dist/apply-styled-options-to-query-D5D8pRl2.cjs +0 -1
  192. package/dist/index-C9G8giSk.cjs +0 -1
  193. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-dashboard-header-toolbar.d.ts +0 -25
  194. package/dist/use-hover-CANskYrn.cjs +0 -720
@@ -1,5 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
- import { Measure } from '@sisense/sdk-data';
2
+ import { Attribute, Measure } from '@sisense/sdk-data';
3
3
  import { FilterVariant } from '../common/filter-utils.js';
4
4
  import { CriteriaFilterValueType, FilterOptionType } from './criteria-filter-operations.js';
5
5
  /**
@@ -14,6 +14,7 @@ export interface CriteriaFilterMenuProps {
14
14
  onUpdate?: (values: CriteriaFilterValueType[]) => void;
15
15
  disabled?: boolean;
16
16
  measures?: Measure[];
17
+ attribute?: Attribute;
17
18
  }
18
19
  /**
19
20
  * UI component that provides field(s) for the user to enter values for a numeric filter.
@@ -63,5 +63,6 @@ export declare const filterToOption: (filter: Filter) => FilterOptionType;
63
63
  export type CriteriaFilterValueType = string | number | Measure;
64
64
  export declare const filterToDefaultValues: (filter: Filter) => CriteriaFilterValueType[];
65
65
  export declare const valuesToDisplayValues: (values: CriteriaFilterValueType[]) => (string | number)[];
66
+ export declare const getRankingTypeLabel: (filterType: FilterOptionType, t: TFunction) => string;
66
67
  export declare const translatedMsgNoVal: (message: string, t: TFunction) => string;
67
68
  export declare const filterTypeToInputType: (filterType: string) => string;
@@ -2,6 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { DataSource, Filter } from '@sisense/sdk-data';
3
3
  type FilterEditorContextValue = {
4
4
  defaultDataSource: DataSource | null;
5
+ dataSources: DataSource[];
5
6
  parentFilters: Filter[];
6
7
  membersOnlyMode: boolean;
7
8
  };
@@ -10,8 +10,9 @@ type FilterEditorPopoverProps = {
10
10
  onClose?: () => void;
11
11
  /** Default data source used for filter attribute */
12
12
  defaultDataSource?: DataSource;
13
+ dataSources?: DataSource[];
13
14
  config?: FilterEditorConfig;
14
15
  };
15
16
  /** @internal */
16
- export declare const FilterEditorPopover: ({ filter, parentFilters, position, onChange, onClose, defaultDataSource, config, }: FilterEditorPopoverProps) => import("react/jsx-runtime").JSX.Element | null;
17
+ export declare const FilterEditorPopover: ({ filter, parentFilters, position, onChange, onClose, defaultDataSource, dataSources, config, }: FilterEditorPopoverProps) => import("react/jsx-runtime").JSX.Element | null;
17
18
  export {};
@@ -6,8 +6,9 @@ type FilterEditorProps = {
6
6
  onChange?: (filter: Filter | null) => void;
7
7
  /** Default data source used for filter attribute */
8
8
  defaultDataSource?: DataSource;
9
+ dataSources?: DataSource[];
9
10
  config?: FilterEditorConfig;
10
11
  };
11
12
  /** @internal */
12
- export declare const FilterEditor: ({ filter, parentFilters, config, onChange, defaultDataSource, }: FilterEditorProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const FilterEditor: ({ filter, parentFilters, config, onChange, defaultDataSource, dataSources, }: FilterEditorProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -1,3 +1,4 @@
1
+ import { Measure } from '@sisense/sdk-data';
1
2
  export declare const NumericCondition: {
2
3
  readonly EXCLUDE: "exclude";
3
4
  readonly EQUALS: "numericequals";
@@ -6,6 +7,8 @@ export declare const NumericCondition: {
6
7
  readonly LESS_THAN_OR_EQUAL: "numericto";
7
8
  readonly GREATER_THAN: "numericfromNotEqual";
8
9
  readonly GREATER_THAN_OR_EQUAL: "numericfrom";
10
+ readonly TOP: "rankingtop";
11
+ readonly BOTTOM: "rankingbottom";
9
12
  };
10
13
  export type NumericConditionType = (typeof NumericCondition)[keyof typeof NumericCondition];
11
14
  export type NumericConditionFilterData = {
@@ -13,4 +16,6 @@ export type NumericConditionFilterData = {
13
16
  value: string;
14
17
  selectedMembers: string[];
15
18
  multiSelectEnabled: boolean;
19
+ rankingCount?: number;
20
+ rankingMeasure?: Measure | null;
16
21
  };
@@ -0,0 +1,3 @@
1
+ export { RankingConditionControls } from './ranking-condition-controls.js';
2
+ export { createRankingFilter, DEFAULT_DATETIME_RANKING_COUNT, DEFAULT_RANKING_COUNT, getRankingCountFromFilter, getRankingMeasureFromFilter, getRankingStateFromFilter, isRankingCondition, } from './ranking-condition-utils.js';
3
+ export type { RankingConditionType } from './ranking-condition-utils.js';
@@ -0,0 +1,33 @@
1
+ import { Measure } from '@sisense/sdk-data';
2
+ /**
3
+ * Props for the ranking count, date level, and ranked-by measure controls.
4
+ *
5
+ * @property count - Current ranking count (minimum 1).
6
+ * @property measure - Selected measure used to rank members, or null when unset.
7
+ * @property onCountChange - Called when the user changes the ranking count.
8
+ * @property onMeasureChange - Called when the user selects a measure from the popover.
9
+ * @property showRankedBy - Whether to render the ranked-by measure selector (default true).
10
+ * @property showDateLevel - Whether to render the date level selector (default false).
11
+ * @property dateLevel - Current date granularity when `showDateLevel` is true.
12
+ * @property onDateLevelChange - Called when the user changes the date level.
13
+ * @property disabled - Disables count input and ranked-by selector when true.
14
+ */
15
+ export type RankingConditionControlsProps = {
16
+ count: number;
17
+ measure: Measure | null;
18
+ onCountChange: (count: number) => void;
19
+ onMeasureChange: (measure: Measure) => void;
20
+ showRankedBy?: boolean;
21
+ showDateLevel?: boolean;
22
+ dateLevel?: string;
23
+ onDateLevelChange?: (granularity: string) => void;
24
+ disabled?: boolean;
25
+ };
26
+ /**
27
+ * Renders shared Top/Bottom ranking controls: count input, optional date level, and ranked-by measure.
28
+ *
29
+ * @param props - Ranking control state and change handlers.
30
+ * @returns Fragment containing ranking UI controls.
31
+ * @internal
32
+ */
33
+ export declare const RankingConditionControls: ({ count, measure, onCountChange, onMeasureChange, showRankedBy, showDateLevel, dateLevel, onDateLevelChange, disabled, }: RankingConditionControlsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { Attribute, Filter, Measure } from '@sisense/sdk-data';
2
+ import { FilterOption } from '../../../criteria-filter-tile/criteria-filter-operations.js';
3
+ export declare const DEFAULT_RANKING_COUNT = 10;
4
+ export declare const DEFAULT_DATETIME_RANKING_COUNT = 1;
5
+ export type RankingConditionType = typeof FilterOption.TOP | typeof FilterOption.BOTTOM;
6
+ export declare function isRankingCondition(condition: string): condition is RankingConditionType;
7
+ export declare function getRankingCountFromFilter(filter: Filter): number;
8
+ export declare function getRankingMeasureFromFilter(filter: Filter): Measure | null;
9
+ export declare function getRankingStateFromFilter(filter: Filter): {
10
+ count: number;
11
+ measure: Measure | null;
12
+ };
13
+ export declare function createRankingFilter(baseFilter: Filter, condition: RankingConditionType, count: number, measure: Measure | null, attributeOverride?: Attribute): Filter | null;
@@ -3,6 +3,7 @@ import type { UseExistingFilterEditingConfig } from '../types';
3
3
  type UseExistingFilterEditingParams = {
4
4
  onFilterChanged: (filter: Filter) => void;
5
5
  defaultDataSource?: DataSource;
6
+ dataSources?: DataSource[];
6
7
  config?: UseExistingFilterEditingConfig;
7
8
  };
8
9
  type UseExistingFilterEditingReturn = {
@@ -13,6 +14,6 @@ type UseExistingFilterEditingReturn = {
13
14
  * Hook that keeps editing process of existing filters.
14
15
  * Returns a function to start editing a filter and a component that renders the filter editing popover.
15
16
  */
16
- export declare const useExistingFilterEditing: ({ config, defaultDataSource, onFilterChanged, }: UseExistingFilterEditingParams) => UseExistingFilterEditingReturn;
17
+ export declare const useExistingFilterEditing: ({ config, defaultDataSource, dataSources, onFilterChanged, }: UseExistingFilterEditingParams) => UseExistingFilterEditingReturn;
17
18
  export declare function isFilterSupportEditing(filter: Filter): boolean;
18
19
  export {};
@@ -1,13 +1,31 @@
1
1
  type NarrativeCollapsibleProps = {
2
2
  text: string;
3
+ noCollapse?: boolean;
4
+ /** When true, shows the loading overlay over the text area at its settled height. */
5
+ isLoading?: boolean;
6
+ isError?: boolean;
7
+ /** Fired when the collapsed state toggles. */
8
+ onCollapsedChange?: (isCollapsed: boolean) => void;
9
+ /**
10
+ * Reserved height in pixels for the collapsed state (line-aligned internally).
11
+ * The container always occupies this much vertical space; "show more" only appears when
12
+ * the text overflows it. Defaults to 5 text rows when `undefined`.
13
+ */
14
+ constrainedHeightPx?: number;
15
+ /**
16
+ * Absolute pixel cap applied when the narrative is expanded.
17
+ * Text scrolls rather than exceeding this limit.
18
+ */
19
+ maxConstrainedHeightPx?: number;
3
20
  };
4
21
  /**
5
- * Text container with an expand/collapse control for long narrative text.
22
+ * Narrative-specific collapsible: always reserves the collapsed height to prevent widget
23
+ * layout shifts during data loads.
6
24
  *
7
- * Uses `max-height` + `overflow: hidden` when collapsed (not `line-clamp`), because
8
- * `white-space: pre-wrap` is incompatible with `-webkit-line-clamp` in browsers.
25
+ * Thin wrapper around {@link Collapsible} that maps legacy prop names and sets
26
+ * narrative-appropriate defaults.
9
27
  *
10
28
  * @internal
11
29
  */
12
- export declare function NarrativeCollapsible({ text }: NarrativeCollapsibleProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function NarrativeCollapsible({ constrainedHeightPx, maxConstrainedHeightPx, ...rest }: NarrativeCollapsibleProps): import("react/jsx-runtime").JSX.Element;
13
31
  export {};
@@ -4,6 +4,7 @@ import { Themable } from '../../../infra/contexts/theme-provider/types.js';
4
4
  export declare const NARRATIVE_TOP_SLOT_LEADING_GUTTER_PX = 18;
5
5
  /** Space after feedback controls (interactive) and plain narrative right inset. */
6
6
  export declare const NARRATIVE_TOP_SLOT_TRAILING_GUTTER_PX = 12;
7
+ export declare const NARRATIVE_TOP_SLOT_PADDING_TOP = 8;
7
8
  /**
8
9
  * Full-bleed chart panel styling for narrative content in a widget top slot,
9
10
  * so it visually continues into the chart content area (same colors, no gray gutters).
@@ -15,6 +16,7 @@ export declare const NARRATIVE_TOP_SLOT_TRAILING_GUTTER_PX = 12;
15
16
  */
16
17
  export declare const NarrativeTopSlotShell: import("@emotion/styled").StyledComponent<{
17
18
  theme?: import("@emotion/react").Theme | undefined;
19
+ /** `gap` between icon and collapsible text in the narrative row. */
18
20
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
19
21
  } & Themable & {
20
22
  $horizontalInset?: boolean | undefined;
@@ -0,0 +1,17 @@
1
+ type NarrativeTriggerButtonProps = {
2
+ onClick: () => void;
3
+ isVisible: boolean;
4
+ };
5
+ /**
6
+ * Toolbar icon button that triggers on-demand narrative generation when autoShow=false.
7
+ * Shows a "generate" icon when the narrative is hidden and a "hide" icon when visible.
8
+ * Rendered inside the widget header toolbar via an injected renderToolbar wrapper.
9
+ *
10
+ * @param props - Component props.
11
+ * @param props.onClick - Callback fired when the button is clicked.
12
+ * @param props.isVisible - Whether the narrative is currently visible; controls which icon is shown.
13
+ * @returns A tooltip-wrapped icon button.
14
+ * @internal
15
+ */
16
+ export declare function NarrativeTriggerButton({ onClick, isVisible }: NarrativeTriggerButtonProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -1,11 +1,29 @@
1
+ /// <reference types="react" />
1
2
  import type { NarrativeRequest } from '../../../infra/api/narrative/narrative-api-types.js';
3
+ import { Themable } from '../../../infra/contexts/theme-provider/types';
2
4
  export type WidgetNarrativeInteractiveProps = {
3
- summary: string;
5
+ text: string;
6
+ isError?: boolean;
7
+ isLoading?: boolean;
4
8
  narrativeRequest: NarrativeRequest;
9
+ onCollapsedChange?: (isCollapsed: boolean) => void;
10
+ constrainedHeightPx?: number;
11
+ maxConstrainedHeightPx?: number;
12
+ noCollapse?: boolean;
5
13
  };
14
+ export declare const NarrativeTopSlotRow: import("@emotion/styled").StyledComponent<{
15
+ theme?: import("@emotion/react").Theme | undefined;
16
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
+ export declare const IconDiv: import("@emotion/styled").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
21
+ } & Themable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
+ /** Sparkle AI icon rendered next to every narrative. */
23
+ export declare function NarrativeAiIcon({ theme }: Themable): import("react/jsx-runtime").JSX.Element;
6
24
  /**
7
25
  * Chart-area narrative text with optional thumbs feedback; mirrors legacy ChartInsights without `modules/ai`.
8
26
  *
9
27
  * @internal
10
28
  */
11
- export declare function WidgetNarrativeInteractive({ summary, narrativeRequest, }: WidgetNarrativeInteractiveProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function WidgetNarrativeInteractive({ text, isError, isLoading, narrativeRequest, onCollapsedChange, constrainedHeightPx, maxConstrainedHeightPx, noCollapse, }: WidgetNarrativeInteractiveProps): import("react/jsx-runtime").JSX.Element;
@@ -1,22 +1,24 @@
1
1
  /// <reference types="react" />
2
2
  import { WidgetProps } from '../../../domains/widgets/components/widget/types';
3
- import type { WidgetNarrativeOptions } from '../core/widget-narrative-options.js';
3
+ import type { HookEnableParam } from '../../../shared/hooks/types';
4
4
  /**
5
5
  * Props for {@link WidgetNarrative}.
6
6
  *
7
+ * @remarks
8
+ * Narrative options are read from `widgetProps.aiOptions.narrative` for chart and pivot widgets.
9
+ * Accepts {@link HookEnableParam}; `enabled` is forwarded to {@link useWidgetNarrativeState}.
7
10
  * @sisenseInternal
8
11
  */
9
12
  export type WidgetNarrativeProps = {
10
13
  /** Widget whose query drives the narrative (chart or pivot). */
11
14
  widgetProps: WidgetProps;
12
- /**
13
- * `default` — collapsible narrative with AI feedback actions (same pattern as NLQ chart insights).
14
- * `plain` collapsible text only (similar to the `GetNlgInsights` component).
15
- */
16
- variant?: 'default' | 'plain';
17
- /** When false, the narrative query does not run (see {@link useWidgetNarrativeState}). */
18
- enabled?: boolean;
19
- } & WidgetNarrativeOptions;
15
+ /** Fired when the collapsed state of the narrative text changes (expand/collapse mode only). */
16
+ onCollapsedChange?: (isCollapsed: boolean) => void;
17
+ /** Forwarded to {@link NarrativeCollapsible} external height constraint in pixels. */
18
+ constrainedHeightPx?: number;
19
+ /** Forwarded to {@link NarrativeCollapsible} — max height constraint in pixels. (Limit after 'show more' is expanded) */
20
+ maxConstrainedHeightPx?: number;
21
+ } & HookEnableParam;
20
22
  /**
21
23
  * Renders a natural-language narrative for chart or pivot `WidgetProps`. The request uses the same
22
24
  * JAQL as the widget query (chart or pivot)—compose it next to or above a `ChartWidget` or
@@ -22,7 +22,7 @@ export interface UseGetNlgInsightsParams {
22
22
  verbosity?: 'Low' | 'High';
23
23
  }
24
24
  /**
25
- * Parameters for building a narration request (before JAQL payload expansion).
25
+ * Parameters for building a narrative request (before JAQL payload expansion).
26
26
  *
27
27
  * @sisenseInternal
28
28
  */
@@ -3,7 +3,7 @@ import { type AdaptMeasuresForQueryOptions } from '../../../domains/visualizatio
3
3
  import type { TableDataOptions } from '../../../domains/visualizations/core/chart-data-options/types.js';
4
4
  import { ChartDataOptions, ChartType } from '../../../types';
5
5
  /**
6
- * Dimensions and measures for narration / JAQL, including styled sort, trend, and forecast.
6
+ * Dimensions and measures for narrative / JAQL, including styled sort, trend, and forecast.
7
7
  *
8
8
  * @internal
9
9
  */
@@ -12,7 +12,7 @@ export declare function getNarrativeDimensionsAndMeasures(chartDataOptions: Char
12
12
  measures: Measure[];
13
13
  };
14
14
  /**
15
- * Table dimensions and measures for narration / JAQL, including styled sort, trend, and forecast.
15
+ * Table dimensions and measures for narrative / JAQL, including styled sort, trend, and forecast.
16
16
  *
17
17
  * @internal
18
18
  */
@@ -0,0 +1,18 @@
1
+ import type { ChartWidgetProps } from '../../../domains/widgets/components/chart-widget/types.js';
2
+ import type { PivotTableWidgetProps } from '../../../domains/widgets/components/pivot-table-widget/types.js';
3
+ import type { WidgetProps } from '../../../domains/widgets/components/widget/types.js';
4
+ import type { WidgetNarrativeOptions } from '../../../types.js';
5
+ type WidgetPropsWithNarrativeSupport = ChartWidgetProps | PivotTableWidgetProps | Extract<WidgetProps, {
6
+ widgetType: 'chart';
7
+ } | {
8
+ widgetType: 'pivot';
9
+ }>;
10
+ /**
11
+ * Returns narrative options from chart or pivot widget props (`aiOptions.narrative`).
12
+ *
13
+ * @param props - Chart or pivot widget props (standalone or {@link WidgetProps} chart/pivot branches)
14
+ * @returns `WidgetNarrativeOptions` when present
15
+ * @internal
16
+ */
17
+ export declare function getWidgetNarrativeOptionsFromWidgetProps(props: WidgetPropsWithNarrativeSupport): WidgetNarrativeOptions | undefined;
18
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Maps SDK narrative verbosity (`low` / `high`) to NLG API values (`Low` / `High`).
3
+ * @param verbosity - SDK verbosity level (`low` / `high`) or undefined
4
+ * @returns NLG API verbosity value (`Low` / `High`) or undefined when verbosity is undefined
5
+ * @internal
6
+ */
7
+ export declare function toNlgApiVerbosity(verbosity?: 'low' | 'high'): 'Low' | 'High' | undefined;
@@ -1,36 +1,114 @@
1
- import type { DataSource } from '@sisense/sdk-data';
2
1
  /**
3
- * Options shared by {@link useGetWidgetNarrative} and imperative helpers such as
4
- * {@link getNlgInsightsFromWidget}.
2
+ * Location where the narrative is displayed in the widget.
5
3
  *
6
- * @internal
4
+ * - `above`: displayed above the widget
5
+ * - `below`: displayed below the widget
6
+ * - `alone`: displayed alone, without any other widget content
7
+ *
8
+ * @default 'above'
9
+ * @alpha
10
+ */
11
+ export type WidgetNarrativeDisplayLocation = 'above' | 'below' | 'alone';
12
+ /**
13
+ * Narrative configuration options for widgets.
14
+ *
15
+ * @alpha
7
16
  */
8
- export interface WidgetNarrativeOptions {
9
- /** Optional default data source to use if WidgetProps.dataSource is undefined */
10
- defaultDataSource?: DataSource;
11
- /** The verbosity of the NLG summarization */
12
- verbosity?: 'Low' | 'High';
17
+ export type WidgetNarrativeOptions = {
18
+ /**
19
+ * Verbosity for narrative generation.
20
+ *
21
+ * @default low
22
+ */
23
+ verbosity?: 'low' | 'high';
13
24
  /**
14
- * When `true`, attempts the unified AI narrative endpoint and falls back to the legacy endpoint
15
- * on 404. When `false` or omitted, only the legacy endpoint is used.
25
+ * When `true`, any trend and forecast companion measures present on the widget are included in the narrative request.
16
26
  *
17
- * **Hook-based flows** (e.g. {@link useGetWidgetNarrative}): when omitted, the value is read
18
- * from `app.settings.narrative.canGenerateNarrativeViaAI` via {@link useSisenseContext}.
27
+ * When `false`, they are not included in the narrative request.
19
28
  *
20
- * **Imperative helpers** (e.g. {@link getNlgInsightsFromWidget}): no context fallback is
21
- * performed — omitting this option is equivalent to `false` (legacy endpoint only).
29
+ * @default true
22
30
  */
23
- canGenerateNarrativeViaAI?: boolean;
31
+ includeTrendAndForecast?: boolean;
24
32
  /**
25
- * When `true`, trend and forecast companion measures are omitted from the narrative JAQL so
26
- * requests stay compatible with backends that do not yet support them.
33
+ * When `true`, narrative is enabled for the widget.
34
+ *
35
+ * When `false`, narrative is disabled for the widget and will not be generated.
27
36
  *
28
37
  * @default false
29
38
  */
30
- ignoreTrendAndForecast?: boolean;
31
- }
39
+ enabled?: boolean;
40
+ /**
41
+ * Location where the narrative is displayed in the widget. See {@link WidgetNarrativeDisplayLocation} for more details.
42
+ *
43
+ * @default 'above'
44
+ */
45
+ displayLocation?: WidgetNarrativeDisplayLocation;
46
+ /**
47
+ * Whether the narrative auto-shows on load without user interaction.
48
+ *
49
+ * When `true`, narrative is requested and displayed as soon as the widget loads.
50
+ *
51
+ * When `false`, narrative is requested and displayed only after user interaction.
52
+ *
53
+ * @default true (for backwards compatibility with older narrative settings in Fusion widgets)
54
+ */
55
+ autoShow?: boolean;
56
+ /**
57
+ * Settings for interactive AI feedback icons.
58
+ */
59
+ feedback?: {
60
+ /**
61
+ * Whether the interactive AI feedback icons are enabled.
62
+ *
63
+ * When `true`, the interactive AI feedback icons are shown.
64
+ *
65
+ * When `false`, the interactive AI feedback icons are not shown.
66
+ *
67
+ * @default false
68
+ */
69
+ enabled?: boolean;
70
+ };
71
+ /**
72
+ * Maximum fraction of the content area height the narrative area may occupy.
73
+ *
74
+ * The content area is the space below the widget header — i.e. the area previously occupied
75
+ * by the chart alone. `heightFraction = 0.5` therefore means the narrative receives half the space that
76
+ * was available to the chart.
77
+ *
78
+ * Accepts a value in the range `0`–`1`.
79
+ * - `undefined` (default): narrative takes whatever vertical space it needs; the chart fills the rest.
80
+ * - `0.3`: narrative is capped at 30 % of the content area; the chart always receives the remaining 70 %.
81
+ *
82
+ * Practical guidelines:
83
+ * - Values above `~0.8` leave very little room for the chart.
84
+ * - Values below `~0.1` may clip the collapsed narrative text (~46 px).
85
+ * - Has no effect when {@link WidgetNarrativeOptions.displayLocation | displayLocation} is `'alone'`
86
+ * (the chart is already hidden in that mode).
87
+ */
88
+ heightFraction?: number;
89
+ };
90
+ /**
91
+ * {@link WidgetNarrativeOptions} with all optional fields filled using {@link getCompleteWidgetNarrativeOptions}.
92
+ *
93
+ * @alpha
94
+ */
95
+ export type CompleteWidgetNarrativeOptions = {
96
+ enabled: boolean;
97
+ verbosity: 'low' | 'high';
98
+ displayLocation: WidgetNarrativeDisplayLocation;
99
+ autoShow: boolean;
100
+ includeTrendAndForecast: boolean;
101
+ feedback: {
102
+ enabled: boolean;
103
+ };
104
+ /** Resolved from {@link WidgetNarrativeOptions.heightFraction}. `undefined` means no constraint. */
105
+ heightFraction: number | undefined;
106
+ };
32
107
  /**
33
- * @deprecated Use {@link WidgetNarrativeOptions}. Same shape; kept for legacy naming.
34
- * @internal
108
+ * Returns {@link WidgetNarrativeOptions} with defaults applied for runtime.
109
+ *
110
+ * @param narrative - Optional narrative configuration to apply defaults to
111
+ * @returns Complete narrative configuration with defaults applied
112
+ * @alpha
35
113
  */
36
- export type WidgetNarrativeNlgOptions = WidgetNarrativeOptions;
114
+ export declare function getCompleteWidgetNarrativeOptions(narrative?: WidgetNarrativeOptions): CompleteWidgetNarrativeOptions;
@@ -4,49 +4,66 @@ import type { PivotTableWidgetProps } from '../../../domains/widgets/components/
4
4
  import type { WidgetProps, WithCommonWidgetProps } from '../../../domains/widgets/components/widget/types';
5
5
  import type { NarrativeRequest } from '../../../infra/api/narrative/narrative-api-types.js';
6
6
  import type { NarrativeQueryParams } from './build-narrative-request.js';
7
+ import { type CompleteWidgetNarrativeOptions } from './widget-narrative-options.js';
7
8
  /**
8
9
  * Converts ChartWidgetProps to {@link NarrativeQueryParams} by extracting dimensions and measures
9
10
  * from the chart data options.
10
11
  *
11
- * @param props - ChartWidgetProps to convert
12
+ * @param props - ChartWidgetProps to convert. `aiOptions.narrative` supplies {@link WidgetNarrativeOptions}. Defaults are calculated via {@link getCompleteWidgetNarrativeOptions})
12
13
  * @param defaultDataSource - Optional default data source to use if props.dataSource is undefined
13
- * @param verbosity - Optional verbosity for narrative text
14
- * @param ignoreTrendAndForecast - When `true`, omits trend/forecast companion measures from the narrative JAQL
15
14
  * @returns Params ready for {@link prepareNarrativeRequest}
16
15
  * @throws If neither `props.dataSource` nor `defaultDataSource` is set
17
16
  * @internal
18
17
  */
19
- export declare function convertChartWidgetPropsToNarrativeParams(props: ChartWidgetProps, defaultDataSource?: DataSource, verbosity?: 'Low' | 'High', ignoreTrendAndForecast?: boolean): NarrativeQueryParams;
18
+ export declare function convertChartWidgetPropsToNarrativeParams(props: ChartWidgetProps, defaultDataSource?: DataSource): NarrativeQueryParams;
20
19
  /**
21
20
  * Builds a narrative API request from pivot widget props using the same JAQL as pivot query
22
21
  * execution ({@link getPivotJaqlQueryPayload}).
23
22
  *
24
- * @param props - Pivot widget props (`widgetType: 'pivot'`)
23
+ * @param props - Pivot widget props (`widgetType: 'pivot'`); `aiOptions.narrative` supplies
24
+ * {@link WidgetNarrativeOptions} via {@link getWidgetNarrativeOptionsFromWidgetProps}
25
25
  * @param defaultDataSource - Used when `props.dataSource` is undefined
26
- * @param verbosity - Optional verbosity for narrative text
27
- * @param ignoreTrendAndForecast - When `true`, omits trend/forecast from pivot value columns in the narrative JAQL
28
26
  * @returns Request ready for `getNarrative`
29
27
  * @throws If data source cannot be resolved, or pivot query description is invalid
30
28
  * @internal
31
29
  */
32
- export declare function convertPivotWidgetPropsToNarrativeRequest(props: WithCommonWidgetProps<PivotTableWidgetProps, 'pivot'>, defaultDataSource?: DataSource, verbosity?: 'Low' | 'High', ignoreTrendAndForecast?: boolean): NarrativeRequest;
30
+ export declare function convertPivotWidgetPropsToNarrativeRequest(props: WithCommonWidgetProps<PivotTableWidgetProps, 'pivot'>, defaultDataSource?: DataSource): NarrativeRequest;
33
31
  /**
34
- * @deprecated Use {@link convertChartWidgetPropsToNarrativeParams}. Same function; kept for legacy `getNlgInsightsFromWidget`.
32
+ * @deprecated Use {@link convertChartWidgetPropsToNarrativeParams} for {@link NarrativeQueryParams},
33
+ * or {@link convertWidgetPropsToNarrativeParams} for a ready {@link NarrativeRequest}.
35
34
  */
36
35
  export declare const convertChartWidgetPropsToUseGetNlgInsightsParams: typeof convertChartWidgetPropsToNarrativeParams;
37
36
  /**
38
- * Error message for imperative callers (e.g. {@link getNlgInsightsFromWidget}) when chart or pivot
39
- * props omit `dataSource` and no `defaultDataSource` is passed.
37
+ * Builds a {@link NarrativeRequest} from chart or pivot widget props (including `id` / `widgetType`).
40
38
  *
39
+ * @param props - Chart or pivot {@link WidgetProps}
40
+ * @param defaultDataSource - Used when `props.dataSource` is undefined
41
+ * @returns Request ready for {@link getNarrative}
42
+ * @throws If widget type is not chart or pivot, data source cannot be resolved, or conversion fails
43
+ * @internal
44
+ */
45
+ export declare function convertWidgetPropsToNarrativeParams(props: WithCommonWidgetProps<ChartWidgetProps, 'chart'> | WithCommonWidgetProps<PivotTableWidgetProps, 'pivot'>, defaultDataSource?: DataSource): NarrativeRequest;
46
+ /**
47
+ * Completes widget narrative options from chart/pivot `WidgetProps` for NLG (`aiOptions.narrative`).
48
+ *
49
+ * @param props - Widget props (chart, pivot, or other)
50
+ * @returns Complete narrative defaults for non-chart/pivot types
41
51
  * @internal
42
52
  */
43
- export declare const MISSING_DATASOURCE_NLG_ERROR = "dataSource is required. Provide it on the widget props or as defaultDataSource parameter.";
53
+ export declare function getCompleteWidgetNarrativeOptionsFromWidgetProps(props: WidgetProps): CompleteWidgetNarrativeOptions;
54
+ /**
55
+ * Error message for imperative callers (e.g. {@link getNlgInsightsFromWidget}) when chart or pivot widget
56
+ * props omit `dataSource`, no defaultDataSource can be resolved from app context, and no defaultDataSource is provided.
57
+ *
58
+ * @internal
59
+ */
60
+ export declare const MISSING_DATASOURCE_NLG_ERROR = "dataSource is required. Provide it on the widget props, defaultDataSource parameter or via SisenseContextProvider.";
44
61
  export type WidgetNarrativeRequestPair = {
45
62
  supported: boolean;
46
63
  narrativeRequest: NarrativeRequest | undefined;
47
64
  /**
48
- * Same request with trend/forecast stripped. `undefined` when `ignoreTrendAndForecast` is
49
- * already `true` (primary already stripped), when the widget type is unsupported, or when
65
+ * Same request with trend/forecast stripped. `undefined` when `includeTrendAndForecast` is
66
+ * already `false` (primary already stripped), when the widget type is unsupported, or when
50
67
  * the fallback conversion itself fails.
51
68
  */
52
69
  narrativeFallbackRequest: NarrativeRequest | undefined;
@@ -61,26 +78,12 @@ export type WidgetNarrativeRequestPair = {
61
78
  * stripped — both from the same widget props in a single call.
62
79
  *
63
80
  * @param props - Chart or pivot widget props
64
- * @param defaultDataSource - Used when `props.dataSource` is undefined
65
- * @param verbosity - Optional verbosity for narrative text
66
- * @param ignoreTrendAndForecast - When `true`, the primary request already omits trend/forecast
67
- * and no fallback is needed
81
+ * @param defaultDataSource - Used when `props.dataSource` is undefined.
68
82
  * @returns `{ supported, narrativeRequest, narrativeFallbackRequest }`. `supported` is `false`
69
83
  * when the widget type is unsupported, when no data source can be resolved for chart/pivot, or
70
84
  * when the primary conversion fails.
71
- * @example Chart or pivot widget props
72
- * ```ts
73
- * const { supported, narrativeRequest, narrativeFallbackRequest } =
74
- * buildWidgetNarrativeRequests(
75
- * widgetProps, // `WithCommonWidgetProps<ChartWidgetProps, 'chart'>` or pivot equivalent
76
- * defaultDataSource,
77
- * 'High',
78
- * false,
79
- * );
80
- * ```
81
- * On success, `supported` is `true` and `narrativeRequest` / `narrativeFallbackRequest` hold the
82
- * primary and trend-stripped NLG payloads; otherwise `supported` is `false` and requests are
83
- * `undefined` (and `missingDataSource` may be set when no source could be resolved).
85
+ * @remarks {@link WidgetNarrativeOptions} are derived from `props.aiOptions?.narrative`
86
+ * via {@link getWidgetNarrativeOptionsFromWidgetProps} and {@link getCompleteWidgetNarrativeOptions}.
84
87
  * @internal
85
88
  */
86
- export declare function buildWidgetNarrativeRequests(props: WidgetProps, defaultDataSource?: DataSource, verbosity?: 'Low' | 'High', ignoreTrendAndForecast?: boolean): WidgetNarrativeRequestPair;
89
+ export declare function buildWidgetNarrativeRequests(props: WidgetProps, defaultDataSource?: DataSource): WidgetNarrativeRequestPair;