@sisense/sdk-ui 2.27.0 → 2.29.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 (229) hide show
  1. package/dist/ai.cjs +1 -1
  2. package/dist/ai.js +5 -5
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +1693 -1339
  5. package/dist/analytics-composer.cjs +73 -73
  6. package/dist/analytics-composer.js +23 -17
  7. package/dist/apply-styled-options-to-query-CaP4IMrQ.js +6379 -0
  8. package/dist/apply-styled-options-to-query-D5D8pRl2.cjs +1 -0
  9. package/dist/{index-D7mHzfx0.js → index-C77YCBVd.js} +4 -1
  10. package/dist/{index-BX9p-XrU.cjs → index-C9G8giSk.cjs} +1 -1
  11. package/dist/index.cjs +406 -406
  12. package/dist/index.js +23197 -22359
  13. package/dist/index.umd.js +719 -720
  14. package/dist/packages/sdk-ui/src/domains/dashboarding/components/editable-layout/const.d.ts +1 -1
  15. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/dashboard-model-translator.d.ts +2 -2
  16. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-model.d.ts +9 -2
  17. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-models.d.ts +2 -2
  18. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/translate-dashboard-utils.d.ts +2 -2
  19. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/persist-dashboard-model-middleware.d.ts +12 -3
  20. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.d.ts +29 -1
  21. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-excel-download.d.ts +23 -0
  22. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-updates-persistence.d.ts +27 -0
  23. package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/deep-merge.d.ts +17 -0
  24. package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/types.d.ts +15 -0
  25. package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/update-types.d.ts +51 -0
  26. package/dist/packages/sdk-ui/src/domains/dashboarding/types.d.ts +13 -0
  27. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-jaql-excel-export.d.ts +48 -0
  28. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-xlsx-export-payload.d.ts +33 -0
  29. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-query-state-reducer.d.ts +2 -0
  30. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/use-excel-query-params-changed.d.ts +8 -0
  31. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/use-execute-excel-query.d.ts +8 -0
  32. package/dist/packages/sdk-ui/src/domains/query-execution/index.d.ts +2 -1
  33. package/dist/packages/sdk-ui/src/domains/query-execution/types.d.ts +97 -2
  34. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/components/scattermap/utils/map.d.ts +2 -2
  35. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/data.d.ts +0 -1
  36. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/utils/with-calendar-heatmap-data-coloring.d.ts +2 -2
  37. 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 -1
  38. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/types.d.ts +2 -2
  39. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/data-cell-formatters/data-cell-color-formatter.d.ts +2 -2
  40. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/helpers/prepare-pivot-styling-props.d.ts +2 -2
  41. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/hooks/use-render-pivot.d.ts +2 -2
  42. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/helpers/get-cell-styles.d.ts +2 -2
  43. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/types.d.ts +3 -3
  44. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/styles/get-custom-pagination-styles.d.ts +2 -2
  45. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/filter-and-aggregate-chart-data.d.ts +2 -2
  46. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/types.d.ts +27 -23
  47. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/utils.d.ts +4 -4
  48. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/boxplot-chart-options.d.ts +2 -2
  49. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/cartesian-chart-options.d.ts +2 -2
  50. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/axis/axis-builders.d.ts +2 -2
  51. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/axis/axis-settings.d.ts +2 -2
  52. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/axis/axis-transformers.d.ts +2 -2
  53. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/series-processor.d.ts +2 -2
  54. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/category-chart-options/category-chart-options.d.ts +2 -2
  55. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/category-chart-options/funnel-chart-options.d.ts +2 -2
  56. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/category-chart-options/pie-chart-options.d.ts +2 -2
  57. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/category-chart-options/sunburst-chart-options.d.ts +2 -2
  58. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/category-chart-options/treemap-chart-options.d.ts +2 -2
  59. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/chart-options-service.d.ts +2 -2
  60. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/common-highcharts-option-service.d.ts +3 -3
  61. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/range-chart-options.d.ts +2 -2
  62. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/scatter-chart-options.d.ts +2 -2
  63. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/theme-option-service.d.ts +3 -3
  64. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/funnel-series.d.ts +2 -2
  65. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/pie-plot-options.d.ts +2 -2
  66. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/pie-series.d.ts +4 -4
  67. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/scatter-series.d.ts +2 -2
  68. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +2 -2
  69. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-options.d.ts +3 -3
  70. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-series.d.ts +2 -2
  71. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/treemap/treemap-labels.d.ts +2 -2
  72. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/treemap/treemap-options.d.ts +2 -2
  73. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/treemap/treemap-series.d.ts +2 -2
  74. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/filter-to-readable-label.d.ts +14 -0
  75. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/index.d.ts +1 -0
  76. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-definition.d.ts +5 -0
  77. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-pill.d.ts +5 -0
  78. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/truncate-pill-label.d.ts +10 -0
  79. package/dist/packages/sdk-ui/src/domains/widgets/change-events.d.ts +6 -0
  80. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/types.d.ts +9 -0
  81. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-excel-download.d.ts +18 -0
  82. package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/types.d.ts +20 -0
  83. package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/use-custom-widget-excel-download.d.ts +16 -0
  84. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/pivot-table-widget.d.ts +15 -1
  85. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/types.d.ts +9 -2
  86. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/use-pivot-widget-excel-download.d.ts +18 -0
  87. package/dist/packages/sdk-ui/src/domains/widgets/components/widget/types.d.ts +13 -0
  88. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/to-widget-dto-style.d.ts +43 -4
  89. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +6 -0
  90. package/dist/packages/sdk-ui/src/domains/widgets/helpers/download-blob-as-file.d.ts +14 -0
  91. package/dist/packages/sdk-ui/src/domains/widgets/helpers/excel-export-map-dimensions-measures.d.ts +18 -0
  92. package/dist/packages/sdk-ui/src/domains/widgets/helpers/index.d.ts +2 -0
  93. package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-excel-query-file-loader.d.ts +13 -0
  94. package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-track-widget-init.d.ts +44 -0
  95. package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-with-excel-download-menu-item.d.ts +21 -0
  96. package/dist/packages/sdk-ui/src/domains/widgets/hooks/widget-entity-id.d.ts +30 -0
  97. package/dist/packages/sdk-ui/src/domains/widgets/hooks/widget-tracking-adapters.d.ts +41 -0
  98. package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-style-utils.d.ts +31 -2
  99. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/get-widget-model.d.ts +2 -2
  100. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model-translator/to-widget-dto-panels.d.ts +29 -1
  101. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model-translator/widget-model-translator.d.ts +3 -3
  102. package/dist/packages/sdk-ui/src/infra/api/rest-api.d.ts +9 -1
  103. package/dist/packages/sdk-ui/src/infra/app/settings/settings.d.ts +24 -11
  104. package/dist/packages/sdk-ui/src/infra/app/settings/types/features.d.ts +1 -9
  105. package/dist/packages/sdk-ui/src/infra/app/types.d.ts +14 -0
  106. package/dist/packages/sdk-ui/src/infra/contexts/sisense-context/sisense-context-provider.d.ts +1 -1
  107. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/custom-theme-provider.d.ts +2 -2
  108. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/default-theme-settings.d.ts +2 -2
  109. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/index.d.ts +1 -0
  110. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/theme-context.d.ts +3 -3
  111. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/types.d.ts +2 -2
  112. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/use-theme-settings.d.ts +2 -2
  113. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/use-theme.d.ts +14 -0
  114. package/dist/packages/sdk-ui/src/infra/formatting/format-data-set.d.ts +21 -0
  115. package/dist/packages/sdk-ui/src/infra/formatting/format-date.d.ts +67 -0
  116. package/dist/packages/sdk-ui/src/infra/formatting/format-number.d.ts +24 -0
  117. package/dist/packages/sdk-ui/src/infra/formatting/index.d.ts +5 -0
  118. package/dist/packages/sdk-ui/src/infra/modules/build-module-graph.d.ts +31 -0
  119. package/dist/packages/sdk-ui/src/infra/modules/build-module-registry.d.ts +31 -0
  120. package/dist/packages/sdk-ui/src/infra/modules/core-module-providers-tree.d.ts +11 -0
  121. package/dist/packages/sdk-ui/src/infra/modules/core-module.d.ts +26 -0
  122. package/dist/packages/sdk-ui/src/infra/modules/index.d.ts +3 -0
  123. package/dist/packages/sdk-ui/src/infra/modules/module-provider.d.ts +17 -0
  124. package/dist/packages/sdk-ui/src/infra/modules/modules-context.d.ts +20 -0
  125. package/dist/packages/sdk-ui/src/infra/modules/types.d.ts +79 -0
  126. package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/types.d.ts +52 -2
  127. package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/widget-plugin-registry.d.ts +3 -3
  128. package/dist/packages/sdk-ui/src/infra/themes/legacy-design-settings.d.ts +4 -4
  129. package/dist/packages/sdk-ui/src/infra/themes/theme-loader.d.ts +4 -4
  130. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/de-de.d.ts +3 -0
  131. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/en-us.d.ts +3 -0
  132. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-ar.d.ts +3 -0
  133. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-es.d.ts +3 -0
  134. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/fr-fr.d.ts +3 -0
  135. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/it-it.d.ts +3 -0
  136. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ja-jp.d.ts +3 -0
  137. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ko-kr.d.ts +3 -0
  138. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/nl-nl.d.ts +3 -0
  139. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/pt-br.d.ts +3 -0
  140. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ru-ru.d.ts +3 -0
  141. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/tr-tr.d.ts +3 -0
  142. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/zh-cn.d.ts +3 -0
  143. package/dist/packages/sdk-ui/src/infra/translation/resources/en.d.ts +3 -0
  144. package/dist/packages/sdk-ui/src/infra/translation/resources/index.d.ts +6 -0
  145. package/dist/packages/sdk-ui/src/modules/ai/ai-disclaimer.d.ts +2 -2
  146. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/get-dimension-name.d.ts +9 -0
  147. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/translate-dimensions-to-json.d.ts +4 -3
  148. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/filters/get-filter-name.d.ts +10 -0
  149. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/filters/translate-filters-to-json.d.ts +3 -3
  150. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/get-query-element-summary.d.ts +23 -0
  151. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/measures/get-measure-name.d.ts +10 -0
  152. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/measures/translate-measures-to-json.d.ts +4 -3
  153. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/dashboard/translate-dashboard-from-json.d.ts +17 -0
  154. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/dashboard/translate-dashboard-to-json.d.ts +15 -0
  155. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/index.d.ts +7 -1
  156. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-from-json.d.ts +1 -1
  157. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-to-json.d.ts +4 -3
  158. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/adapters.d.ts +3 -5
  159. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/index.d.ts +1 -1
  160. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/custom-formula/process-custom-formula.d.ts +2 -1
  161. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/factory-function-processors.d.ts +0 -1
  162. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/filter-processors.d.ts +8 -4
  163. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/error-path.d.ts +37 -0
  164. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/translation-helpers.d.ts +36 -3
  165. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/types.d.ts +197 -7
  166. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/index.d.ts +6 -0
  167. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/to-widget-props.d.ts +27 -0
  168. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/translate-custom-widget-filters-from-json.d.ts +12 -0
  169. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/translate-envelope-widget-from-json.d.ts +19 -0
  170. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/validate-widget-json.d.ts +8 -0
  171. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/widget-id.d.ts +17 -0
  172. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/translate-widget-from-json.d.ts +19 -0
  173. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/translate-widget-to-json.d.ts +18 -0
  174. package/dist/packages/sdk-ui/src/modules/analytics-composer/types.d.ts +7 -23
  175. package/dist/packages/sdk-ui/src/modules/analytics-composer/widget/chart-options/get-widget-options.d.ts +12 -0
  176. package/dist/packages/sdk-ui/src/props.d.ts +20 -2
  177. package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +3 -0
  178. package/dist/packages/sdk-ui/src/public-api/internal.d.ts +1 -1
  179. package/dist/packages/sdk-ui/src/public-api/public.d.ts +5 -2
  180. package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +2 -2
  181. package/dist/packages/sdk-ui/src/shared/components/loading-indicator.d.ts +2 -2
  182. package/dist/packages/sdk-ui/src/shared/components/loading-overlay.d.ts +1 -0
  183. package/dist/packages/sdk-ui/src/shared/hooks/use-element-height.d.ts +19 -0
  184. package/dist/packages/sdk-ui/src/shared/hooks/use-synced-state.d.ts +23 -2
  185. package/dist/packages/sdk-ui/src/shared/utils/filter-relations.d.ts +8 -0
  186. package/dist/packages/sdk-ui/src/shared/utils/gradient.d.ts +5 -0
  187. package/dist/packages/sdk-ui/src/types.d.ts +217 -1
  188. package/dist/translations/de-de.cjs +1 -1
  189. package/dist/translations/de-de.js +5 -2
  190. package/dist/translations/en-us.cjs +1 -1
  191. package/dist/translations/en-us.js +1 -1
  192. package/dist/translations/es-ar.cjs +1 -1
  193. package/dist/translations/es-ar.js +5 -2
  194. package/dist/translations/es-es.cjs +1 -1
  195. package/dist/translations/es-es.js +5 -2
  196. package/dist/translations/fr-fr.cjs +1 -1
  197. package/dist/translations/fr-fr.js +5 -2
  198. package/dist/translations/it-it.cjs +1 -1
  199. package/dist/translations/it-it.js +5 -2
  200. package/dist/translations/ja-jp.cjs +1 -1
  201. package/dist/translations/ja-jp.js +5 -2
  202. package/dist/translations/ko-kr.cjs +1 -1
  203. package/dist/translations/ko-kr.js +5 -2
  204. package/dist/translations/nl-nl.cjs +1 -1
  205. package/dist/translations/nl-nl.js +5 -2
  206. package/dist/translations/pt-br.cjs +1 -1
  207. package/dist/translations/pt-br.js +5 -2
  208. package/dist/translations/ru-ru.cjs +1 -1
  209. package/dist/translations/ru-ru.js +5 -2
  210. package/dist/translations/tr-tr.cjs +1 -1
  211. package/dist/translations/tr-tr.js +5 -2
  212. package/dist/translations/zh-cn.cjs +1 -1
  213. package/dist/translations/zh-cn.js +5 -2
  214. package/dist/types-7YG0uOzO.js +74 -0
  215. package/dist/{types-Cq47e5cy.cjs → types-DlYJ_DZ0.cjs} +1 -1
  216. package/dist/{use-hover-D_mBUhp9.cjs → use-hover-CANskYrn.cjs} +129 -130
  217. package/dist/{use-hover-CkmV6eu9.js → use-hover-Dju4Dcv3.js} +13079 -12635
  218. package/dist/{utils-Db3U6oHa.js → utils-BKRpWUGm.js} +1063 -1060
  219. package/dist/{utils-DM5vp1gw.cjs → utils-C4PIba42.cjs} +10 -10
  220. package/dist/{widget-composer-CZ0_bPXK.cjs → widget-composer-BXEyx308.cjs} +7 -7
  221. package/dist/{widget-composer-BiGVKN49.js → widget-composer-DRDw1oBF.js} +258 -206
  222. package/package.json +11 -8
  223. package/dist/apply-styled-options-to-query-BzMAmDnD.js +0 -5979
  224. package/dist/apply-styled-options-to-query-k10gkPCG.cjs +0 -1
  225. package/dist/dimensions-C3WSSE5j.js +0 -204
  226. package/dist/dimensions-huCJK0y6.cjs +0 -1
  227. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-scroll-persistence.d.ts +0 -16
  228. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/with-navigator-scroll-save.d.ts +0 -10
  229. package/dist/types-CzqDZ83C.js +0 -74
@@ -1,5 +1,5 @@
1
1
  import { SeriesPieOptions } from '@sisense/sisense-charts';
2
- import { CompleteThemeSettings, Convolution, SeriesWithAlerts } from '../../../../../types';
2
+ import { CompleteThemeSettingsInternal, Convolution, SeriesWithAlerts } from '../../../../../types';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../chart-data-options/types';
4
4
  import { CategoricalChartData } from '../../chart-data/types';
5
5
  import { SeriesType } from '../chart-options-service';
@@ -20,7 +20,7 @@ export declare const getPieSeries: ({ chartData, dataOptions, seriesCapacity, co
20
20
  dataOptions: CategoricalChartDataOptionsInternal;
21
21
  seriesCapacity: number;
22
22
  convolution?: Convolution | undefined;
23
- themeSettings?: CompleteThemeSettings | undefined;
23
+ themeSettings?: CompleteThemeSettingsInternal | undefined;
24
24
  }) => SeriesType[];
25
25
  /**
26
26
  * Returns only the convolution series (breakdown of "Others" slice).
@@ -31,7 +31,7 @@ export declare const getPieConvolutionSeries: ({ chartData, dataOptions, seriesC
31
31
  dataOptions: CategoricalChartDataOptionsInternal;
32
32
  seriesCapacity: number;
33
33
  convolution?: Convolution | undefined;
34
- themeSettings?: CompleteThemeSettings | undefined;
34
+ themeSettings?: CompleteThemeSettingsInternal | undefined;
35
35
  }) => SeriesPieOptions[];
36
36
  /**
37
37
  * Convert categorical chart data into renderable highcharts pie series.
@@ -42,5 +42,5 @@ export declare const getPieConvolutionSeries: ({ chartData, dataOptions, seriesC
42
42
  * @param themeSettings - Theme configuration for colors and styling
43
43
  * @returns Formatted pie chart data with series, alerts, and convolution series
44
44
  */
45
- export declare const formatCategoricalChartData: (chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: PieChartDesignOptions, themeSettings?: CompleteThemeSettings) => FormattedPieChartData;
45
+ export declare const formatCategoricalChartData: (chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: PieChartDesignOptions, themeSettings?: CompleteThemeSettingsInternal) => FormattedPieChartData;
46
46
  export {};
@@ -1,4 +1,4 @@
1
- import { CompleteThemeSettings, SeriesWithAlerts } from '../../../../../types';
1
+ import { CompleteThemeSettingsInternal, SeriesWithAlerts } from '../../../../../types';
2
2
  import { ScatterChartDataOptionsInternal } from '../../chart-data-options/types';
3
3
  import { ComparableData } from '../../chart-data-processor/table-processor';
4
4
  import { ScatterAxisCategoriesMap, ScatterDataTable } from '../../chart-data/types';
@@ -22,4 +22,4 @@ export interface AxisComputedProperties {
22
22
  selected?: boolean;
23
23
  }
24
24
  export declare const handleNumberValue: (cell: ComparableData) => number | null;
25
- export declare const buildScatterSeries: (data: ScatterDataTable, categoriesMap: ScatterAxisCategoriesMap, dataOptions?: ScatterChartDataOptionsInternal, designOptions?: ChartDesignOptions, themeSettings?: CompleteThemeSettings, seriesCapacity?: number) => SeriesWithAlerts<SeriesType[]>;
25
+ export declare const buildScatterSeries: (data: ScatterDataTable, categoriesMap: ScatterAxisCategoriesMap, dataOptions?: ScatterChartDataOptionsInternal, designOptions?: ChartDesignOptions, themeSettings?: CompleteThemeSettingsInternal, seriesCapacity?: number) => SeriesWithAlerts<SeriesType[]>;
@@ -1,9 +1,9 @@
1
1
  import { PointLabelObject } from '@sisense/sisense-charts';
2
- import { CompleteThemeSettings } from '../../../../../../types';
2
+ import { CompleteThemeSettingsInternal } from '../../../../../../types';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { CategoricalChartData } from '../../../chart-data/types';
5
5
  import { SunburstChartDesignOptions } from '../design-options';
6
- export declare function prepareSunburstLevels(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, themeSettings?: CompleteThemeSettings): ({
6
+ export declare function prepareSunburstLevels(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, themeSettings?: CompleteThemeSettingsInternal): ({
7
7
  level: number;
8
8
  color: string;
9
9
  dataLabels: {
@@ -1,5 +1,5 @@
1
1
  import { TFunction } from '@sisense/sdk-common';
2
- import { CompleteThemeSettings } from '../../../../../../types';
2
+ import { CompleteThemeSettingsInternal } from '../../../../../../types';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { CategoricalChartData } from '../../../chart-data/types';
5
5
  import { HighchartsOptionsInternal } from '../../chart-options-service';
@@ -7,7 +7,7 @@ import { SunburstChartDesignOptions } from '../design-options';
7
7
  /**
8
8
  * Prepares the series configuration for sunburst chart
9
9
  */
10
- export declare function prepareSunburstSeries(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, themeSettings?: CompleteThemeSettings): ({
10
+ export declare function prepareSunburstSeries(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, themeSettings?: CompleteThemeSettingsInternal): ({
11
11
  name: string;
12
12
  showInLegend: boolean;
13
13
  color: string;
@@ -108,4 +108,4 @@ export declare function prepareSunburstSeries(chartData: CategoricalChartData, d
108
108
  * Prepares the tooltip configuration for sunburst chart
109
109
  */
110
110
  export declare function prepareSunburstTooltip(dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, translate: TFunction): import("../tooltip-utils").TooltipSettings;
111
- export declare function prepareSunburstOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
111
+ export declare function prepareSunburstOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: SunburstChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettingsInternal): HighchartsOptionsInternal;
@@ -1,8 +1,8 @@
1
- import { CompleteThemeSettings } from '../../../../../../types';
1
+ import { CompleteThemeSettingsInternal } from '../../../../../../types';
2
2
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
3
3
  import { CategoricalChartData } from '../../../chart-data/types';
4
4
  export declare const SUNBURST_ROOT_PARENT_ID = "SUNBURST_ROOT_PARENT_ID";
5
- export declare function prepareSunburstDataItems(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, themeSettings?: CompleteThemeSettings): ({
5
+ export declare function prepareSunburstDataItems(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, themeSettings?: CompleteThemeSettingsInternal): ({
6
6
  id: string;
7
7
  name: string;
8
8
  custom: {
@@ -1,6 +1,6 @@
1
1
  import Highcharts, { PointLabelObject } from '@sisense/sisense-charts';
2
- import { CompleteThemeSettings, TreemapSeriesLabels } from '../../../../../../types';
2
+ import { CompleteThemeSettingsInternal, TreemapSeriesLabels } from '../../../../../../types';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { TreemapChartDesignOptions } from '../design-options';
5
- export declare function prepareTreemapLevels(dataOptions: CategoricalChartDataOptionsInternal, chartDesignOptions: TreemapChartDesignOptions, themeSettings?: CompleteThemeSettings): Highcharts.PlotTreegraphLevelsOptions[];
5
+ export declare function prepareTreemapLevels(dataOptions: CategoricalChartDataOptionsInternal, chartDesignOptions: TreemapChartDesignOptions, themeSettings?: CompleteThemeSettingsInternal): Highcharts.PlotTreegraphLevelsOptions[];
6
6
  export declare function prepareTreemapLabelFormatter(level: number, seriesLabels: TreemapSeriesLabels): (this: PointLabelObject) => string;
@@ -1,7 +1,7 @@
1
1
  import { TFunction } from '@sisense/sdk-common';
2
- import { CompleteThemeSettings } from '../../../../../../types';
2
+ import { CompleteThemeSettingsInternal } from '../../../../../../types';
3
3
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
4
4
  import { CategoricalChartData } from '../../../chart-data/types';
5
5
  import { HighchartsOptionsInternal } from '../../chart-options-service';
6
6
  import { TreemapChartDesignOptions } from '../design-options';
7
- export declare function prepareTreemapOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettings): HighchartsOptionsInternal;
7
+ export declare function prepareTreemapOptions(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, designOptions: TreemapChartDesignOptions, translate: TFunction, themeSettings?: CompleteThemeSettingsInternal): HighchartsOptionsInternal;
@@ -1,5 +1,5 @@
1
- import { CompleteThemeSettings } from '../../../../../../types';
1
+ import { CompleteThemeSettingsInternal } from '../../../../../../types';
2
2
  import { CategoricalChartDataOptionsInternal } from '../../../chart-data-options/types';
3
3
  import { CategoricalChartData } from '../../../chart-data/types';
4
4
  import { SeriesPointStructure } from '../translations-to-highcharts';
5
- export declare function prepareTreemapDataItems(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, themeSettings?: CompleteThemeSettings): SeriesPointStructure[];
5
+ export declare function prepareTreemapDataItems(chartData: CategoricalChartData, dataOptions: CategoricalChartDataOptionsInternal, themeSettings?: CompleteThemeSettingsInternal): SeriesPointStructure[];
@@ -0,0 +1,14 @@
1
+ import type { Filter } from '@sisense/sdk-data';
2
+ /**
3
+ * Builds a human-readable one-line label for a {@link Filter}, covering common
4
+ * `filterType` variants (`members`, `exclude`, `text`, `numeric`, `dateRange`, etc.).
5
+ *
6
+ * Discrimination uses the `filterType` string rather than `instanceof` so the helper
7
+ * stays robust when multiple `@sisense/sdk-data` copies exist in a workspace.
8
+ *
9
+ * @param filter - Filter instance to describe
10
+ * @param attributeName - Optional display name override (e.g. i18n date-level label)
11
+ * @returns Readable pill label; falls back to the attribute name when composition fails
12
+ * @sisenseInternal
13
+ */
14
+ export declare function toReadableFilterLabel(filter: Filter, attributeName?: string): string;
@@ -3,6 +3,7 @@ export type { QueryDefinitionProps } from './query-definition';
3
3
  export { QueryPill } from './query-pill';
4
4
  export type { QueryPillProps } from './query-pill';
5
5
  export { baseQueryParamsToViewModel } from './query-params-to-view-model';
6
+ export { toReadableFilterLabel } from './filter-to-readable-label';
6
7
  export { getQueryPillTooltipModel } from './compose-code-to-readable';
7
8
  export type { TooltipModel } from './compose-code-to-readable';
8
9
  export type { QueryPillCategory, QueryPillItem, ConnectorItem, QueryDefinitionViewModel, } from './types';
@@ -16,6 +16,11 @@ export interface QueryDefinitionProps {
16
16
  * root is only one row tall and must not be used as boundary (breaks vertical placement).
17
17
  */
18
18
  tooltipBoundaryElement?: HTMLElement | null;
19
+ /**
20
+ * Maximum number of characters shown in each pill label before truncation (default `25`).
21
+ * Pass `0` to show the full label.
22
+ */
23
+ maxPillLength?: number;
19
24
  }
20
25
  /**
21
26
  * Read-only query definition as colored pills above the widget.
@@ -9,6 +9,11 @@ export interface QueryPillProps {
9
9
  item: QueryPillItem;
10
10
  showTooltip?: boolean;
11
11
  tooltipBoundaryElement?: HTMLElement | null;
12
+ /**
13
+ * Maximum number of characters shown in the pill label before truncation.
14
+ * When `0` or omitted, the full label is shown.
15
+ */
16
+ maxLength?: number;
12
17
  }
13
18
  /**
14
19
  * Read-only query-definition pill; JSON tooltip is a portal bubble with a real triangle.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Truncates a pill label when it exceeds `maxLength`. When `maxLength` is zero or negative,
3
+ * the label is returned unchanged.
4
+ *
5
+ * @param label - Full pill label
6
+ * @param maxLength - Maximum number of characters before truncation; `0` disables truncation
7
+ * @returns Truncated label with an ellipsis suffix when shortened
8
+ * @internal
9
+ */
10
+ export declare function truncatePillLabel(label: string, maxLength: number): string;
@@ -69,5 +69,11 @@ export type PivotTableWidgetChangeEvent = PivotTableWidgetDrilldownSelectionsCha
69
69
  * }
70
70
  * }}
71
71
  * ```
72
+ *
73
+ * Persistable state changes (e.g. scroll position, future title/customOptions)
74
+ * flow through {@link WidgetPropsUpdate} and `DashboardPersistenceManager.updateWidget`,
75
+ * NOT through this channel. Use `WidgetChangeEvent` for transient/interactive
76
+ * events; use `WidgetPropsUpdate` for "if this is lost on reload, the user
77
+ * notices."
72
78
  */
73
79
  export type WidgetChangeEvent = ChartWidgetChangeEvent | PivotTableWidgetChangeEvent;
@@ -97,6 +97,15 @@ export interface ChartWidgetProps extends ChartEventProps {
97
97
  * @category Widget
98
98
  */
99
99
  highlightSelectionDisabled?: boolean;
100
+ /**
101
+ * Widget identifier
102
+ *
103
+ * The optional property which is only meaningful for some internal features (for example Excel export).
104
+ *
105
+ * @category Widget
106
+ * @internal
107
+ */
108
+ id?: string;
100
109
  /**
101
110
  * Callback to receive widget change events.
102
111
  *
@@ -0,0 +1,18 @@
1
+ import type { WidgetHeaderConfig } from '../../../../domains/widgets/shared/widget-header/types.js';
2
+ import type { ChartWidgetProps } from './types.js';
3
+ export type UseChartWidgetExcelDownloadParams = Pick<ChartWidgetProps, 'title' | 'dataOptions' | 'chartType' | 'config' | 'dataSource' | 'id'> & {
4
+ baseHeaderConfig: WidgetHeaderConfig;
5
+ };
6
+ export type UseChartWidgetExcelDownloadResult = {
7
+ headerConfig: WidgetHeaderConfig;
8
+ };
9
+ /**
10
+ * Enhances a chart widget header with Excel download menu items (placeholder).
11
+ * Excel menu is shown only when the widget/dashboard allows download **and**
12
+ * the Sisense server feature **`exportingXlsxV2`** is active (`api/globals` → `features`).
13
+ * **Repeat rows** sets `mergeRows: false`; **Merge rows** sets `mergeRows: true`).
14
+ *
15
+ * @param props - Chart data/config plus `baseHeaderConfig`. `id` is optional; when present it is forwarded as `widgetId` without validation.
16
+ * @returns Header config for {@link WidgetContainer}
17
+ */
18
+ export declare function useChartWidgetExcelDownload(props: UseChartWidgetExcelDownloadParams): UseChartWidgetExcelDownloadResult;
@@ -1,4 +1,5 @@
1
1
  import { DataSource, Filter, FilterRelations } from '@sisense/sdk-data';
2
+ import type { VisualizationStateUpdate } from '../../../../infra/plugins/widget-plugins/types';
2
3
  import { CustomWidgetEventProps, CustomWidgetStyleOptions, GenericDataOptions } from '../../../../types';
3
4
  import { WidgetConfig } from '../widget/types';
4
5
  /**
@@ -56,6 +57,15 @@ export interface CustomWidgetProps extends CustomWidgetEventProps {
56
57
  * @category Widget
57
58
  */
58
59
  title?: string;
60
+ /**
61
+ * Widget identifier
62
+ *
63
+ * The optional property which is only meaningful for some internal features (for example Excel export).
64
+ *
65
+ * @category Widget
66
+ * @internal
67
+ */
68
+ id?: string;
59
69
  /**
60
70
  * Description of the widget
61
71
  *
@@ -68,4 +78,14 @@ export interface CustomWidgetProps extends CustomWidgetEventProps {
68
78
  * @category Widget
69
79
  */
70
80
  customOptions?: Record<string, any>;
81
+ /**
82
+ * Emit a partial state update to be persisted through the dashboard
83
+ * persistence layer. Injected by the dashboard composition layer
84
+ * (`useWidgetUpdatesPersistence`) and forwarded to the plugin visualization
85
+ * component as {@link CustomVisualizationProps.onChange}.
86
+ *
87
+ * @category Widget
88
+ * @internal
89
+ */
90
+ onChange?: (update: VisualizationStateUpdate) => void;
71
91
  }
@@ -0,0 +1,16 @@
1
+ import type { WidgetHeaderConfig } from '../../../../domains/widgets/shared/widget-header/types.js';
2
+ import type { CustomWidgetProps } from './types.js';
3
+ export type UseCustomWidgetExcelDownloadParams = Pick<CustomWidgetProps, 'title' | 'dataOptions' | 'filters' | 'highlights' | 'config' | 'dataSource' | 'customWidgetType' | 'id'> & {
4
+ baseHeaderConfig: WidgetHeaderConfig;
5
+ };
6
+ export type UseCustomWidgetExcelDownloadResult = {
7
+ headerConfig: WidgetHeaderConfig;
8
+ };
9
+ /**
10
+ * Enhances a custom widget header with Excel download menu items when the server feature
11
+ * **`exportingXlsxV2`** is active. **Repeat rows** sets `mergeRows: false`; **Merge rows** sets `mergeRows: true`.
12
+ *
13
+ * @param props - Custom widget data plus `baseHeaderConfig` (typically from {@link useCustomWidgetCsvDownload}).
14
+ * @returns Header config for {@link WidgetContainer}
15
+ */
16
+ export declare function useCustomWidgetExcelDownload(props: UseCustomWidgetExcelDownloadParams): UseCustomWidgetExcelDownloadResult;
@@ -1,5 +1,20 @@
1
1
  import { type FunctionComponent } from 'react';
2
2
  import { PivotTableWidgetProps } from './types';
3
+ /**
4
+ * Computes the outer widget height in auto-height mode.
5
+ *
6
+ * The inner pivot reports only its own table height. The widget reserves additional vertical
7
+ * space above the pivot — the container chrome (header + `spaceAround` padding, SNS-127785) and
8
+ * the optional top slot (e.g. drilldown breadcrumbs, SNS-128141). Callers must sum all such
9
+ * non-pivot reserved space into `reservedHeight` so that pagination at the bottom of the pivot
10
+ * remains reachable.
11
+ *
12
+ * @param pivotTableHeight - The measured content height of the pivot table.
13
+ * @param reservedHeight - The total non-pivot vertical space the widget reserves (chrome + topSlot).
14
+ * @returns The total widget height in pixels, or `undefined` when the content height is unknown.
15
+ * @internal
16
+ */
17
+ export declare function calcPivotTableWidgetHeight(pivotTableHeight: number | undefined, reservedHeight: number): number | undefined;
3
18
  /**
4
19
  * React component extending `PivotTable` to support widget style options.
5
20
  *
@@ -33,7 +48,6 @@ import { PivotTableWidgetProps } from './types';
33
48
  * />
34
49
  * ```
35
50
  * <img src="media://pivot-widget-example.png" width="800px" />
36
- *
37
51
  * @param props - Pivot Table Widget properties
38
52
  * @returns Widget component representing a pivot table
39
53
  * @group Dashboards
@@ -70,6 +70,15 @@ export interface PivotTableWidgetProps {
70
70
  * @category Widget
71
71
  */
72
72
  title?: string;
73
+ /**
74
+ * Widget identifier
75
+ *
76
+ * The optional property which is only meaningful for some internal features (for example Excel export).
77
+ *
78
+ * @category Widget
79
+ * @internal
80
+ */
81
+ id?: string;
73
82
  /**
74
83
  * Description of the widget
75
84
  *
@@ -112,7 +121,6 @@ export interface PivotTableWidgetProps {
112
121
  * }
113
122
  * };
114
123
  * ```
115
- *
116
124
  * @internal
117
125
  */
118
126
  onDataCellFormat?: CustomDataCellFormatter;
@@ -134,7 +142,6 @@ export interface PivotTableWidgetProps {
134
142
  * }
135
143
  * };
136
144
  * ```
137
- *
138
145
  * @internal
139
146
  */
140
147
  onHeaderCellFormat?: CustomHeaderCellFormatter;
@@ -0,0 +1,18 @@
1
+ import type { WidgetHeaderConfig } from '../../../../domains/widgets/shared/widget-header/types.js';
2
+ import type { PivotTableWidgetProps } from './types.js';
3
+ export type UsePivotWidgetExcelDownloadParams = Pick<PivotTableWidgetProps, 'title' | 'dataOptions' | 'config' | 'dataSource' | 'filters' | 'highlights' | 'id'> & {
4
+ baseHeaderConfig: WidgetHeaderConfig;
5
+ };
6
+ export type UsePivotWidgetExcelDownloadResult = {
7
+ headerConfig: WidgetHeaderConfig;
8
+ };
9
+ /**
10
+ * Enhances a pivot table widget header with Excel download menu items.
11
+ * Excel menu is shown only when the widget/dashboard allows download **and**
12
+ * the Sisense server feature **`exportingXlsxV2`** is active (`api/globals` → `features`).
13
+ * **Repeat rows** sets `mergeRows: false`; **Merge rows** sets `mergeRows: true`).
14
+ *
15
+ * @param props - Pivot data/config plus `baseHeaderConfig`. `id` is optional; when present it is forwarded as `widgetId` without validation.
16
+ * @returns Header config for {@link WidgetContainer}
17
+ */
18
+ export declare function usePivotWidgetExcelDownload(props: UsePivotWidgetExcelDownloadParams): UsePivotWidgetExcelDownloadResult;
@@ -32,6 +32,19 @@ export type WidgetConfig = {
32
32
  */
33
33
  enabled?: boolean;
34
34
  };
35
+ /**
36
+ * Configuration for downloading an Excel file.
37
+ *
38
+ * @sisenseInternal
39
+ */
40
+ downloadExcel?: {
41
+ /**
42
+ * Determines whether the possibility to download Excel is enabled.
43
+ *
44
+ * If not specified, the default value is `false`.
45
+ */
46
+ enabled?: boolean;
47
+ };
35
48
  };
36
49
  };
37
50
  /**
@@ -1,7 +1,8 @@
1
1
  import type { PivotGrandTotals } from '@sisense/sdk-data';
2
+ import type { BoxWhiskerType } from '../../../../../domains/visualizations/core/chart-data-options/types.js';
2
3
  import { AppSettings } from '../../../../../infra/app/settings/settings.js';
3
- import type { AreamapType, AreaStyleOptions, AxisLabel, CompleteThemeSettings, DataLimits, FunnelStyleOptions, IndicatorStyleOptions, LegendOptions, LineStyleOptions, LineWidth, Markers, Navigator, PieStyleOptions, PivotTableWidgetStyleOptions, PolarStyleOptions, ScattermapStyleOptions, ScatterStyleOptions, SeriesLabels, StackableStyleOptions, SunburstStyleOptions, TableStyleOptions, TreemapStyleOptions, WidgetStyleOptions } from '../../../../../types.js';
4
- import type { AxisStyle, CartesianWidgetStyle, FunnelWidgetStyle, PivotWidgetStyle, PolarWidgetStyle, ScattermapWidgetStyle, ScatterWidgetStyle, SunburstWidgetStyle, TableWidgetStyle, TreemapWidgetStyle, WidgetDesign, WidgetStyle, WidgetSubtype } from '../types.js';
4
+ import type { AreamapType, AreaStyleOptions, AxisLabel, BoxplotStyleOptions, CalendarHeatmapStyleOptions, CompleteThemeSettingsInternal, DataLimits, FunnelStyleOptions, IndicatorStyleOptions, LegendOptions, LineStyleOptions, LineWidth, Markers, Navigator, PieStyleOptions, PivotTableWidgetStyleOptions, PolarStyleOptions, ScattermapStyleOptions, ScatterStyleOptions, SeriesLabels, StackableStyleOptions, SunburstStyleOptions, TableStyleOptions, TreemapStyleOptions, WidgetStyleOptions } from '../../../../../types.js';
5
+ import type { AxisStyle, BoxplotWidgetStyle, CalendarHeatmapWidgetStyle, CartesianWidgetStyle, FunnelWidgetStyle, PivotWidgetStyle, PolarWidgetStyle, ScattermapWidgetStyle, ScatterWidgetStyle, SunburstWidgetStyle, TableWidgetStyle, TreemapWidgetStyle, WidgetDesign, WidgetStyle, WidgetSubtype } from '../types.js';
5
6
  /**
6
7
  * Maps SDK legend options to Fusion DTO legend style.
7
8
  *
@@ -69,7 +70,7 @@ export declare function hasWidgetContainerStyleFields(styleOptions: WidgetStyleO
69
70
  *
70
71
  * @internal
71
72
  */
72
- export declare function toWidgetDesign(styleOptions: WidgetStyleOptions, widgetTheme: CompleteThemeSettings['widget']): WidgetDesign | undefined;
73
+ export declare function toWidgetDesign(styleOptions: WidgetStyleOptions, widgetTheme: CompleteThemeSettingsInternal['widget']): WidgetDesign | undefined;
73
74
  /**
74
75
  * Attaches `style.widgetDesign` built from widget container fields in `styleOptions`.
75
76
  * When the feature flag is off, or when `styleOptions` carries no container fields, the
@@ -81,7 +82,7 @@ export declare function toWidgetDesign(styleOptions: WidgetStyleOptions, widgetT
81
82
  * @param appSettings - The application settings to be used for the widget design
82
83
  * @returns The widget style with the widget design
83
84
  */
84
- export declare function withWidgetDesign(baseStyle: WidgetStyle, styleOptions: WidgetStyleOptions, themeSettings: CompleteThemeSettings, appSettings?: AppSettings): WidgetStyle;
85
+ export declare function withWidgetDesign(baseStyle: WidgetStyle, styleOptions: WidgetStyleOptions, themeSettings: CompleteThemeSettingsInternal, appSettings?: AppSettings): WidgetStyle;
85
86
  /**
86
87
  * Maps SDK pie chart style options to Fusion PieWidgetStyle (DTO).
87
88
  * Inverse of {@link extractPieChartStyleOptions}.
@@ -211,6 +212,44 @@ export declare function toScattermapWidgetStyle(styleOptions: ScattermapStyleOpt
211
212
  * @internal
212
213
  */
213
214
  export declare function toAreamapSubtype(mapType?: AreamapType): 'areamap/world' | 'areamap/usa';
215
+ /**
216
+ * Converts boxplot style options to Fusion BoxplotWidgetStyle DTO.
217
+ * Inverse of `extractBoxplotChartStyleOptions`.
218
+ *
219
+ * The whisker algorithm (`boxType`) and `outliersEnabled` flag live on
220
+ * {@link BoxplotChartDataOptions} in the WidgetModel rather than on `styleOptions`,
221
+ * so they are passed in separately. `boxType` defaults to `'iqr'` — the same default
222
+ * the boxplot translator falls back to when no whisker flag is selected.
223
+ *
224
+ * @param styleOptions - Boxplot style options from WidgetModel.styleOptions
225
+ * @param boxType - Whisker algorithm from WidgetModel.dataOptions.boxType
226
+ * @param outliersEnabled - Whether to render boxplot outliers
227
+ * @returns Fusion BoxplotWidgetStyle for the widget DTO
228
+ * @internal
229
+ */
230
+ export declare function toBoxplotWidgetStyle(styleOptions: BoxplotStyleOptions, boxType?: BoxWhiskerType, outliersEnabled?: boolean): BoxplotWidgetStyle;
231
+ /**
232
+ * Converts calendar-heatmap style options to Fusion CalendarHeatmapWidgetStyle DTO.
233
+ * Inverse of {@link extractCalendarHeatmapChartStyleOptions}.
234
+ *
235
+ * Only the fields the inverse extractor reads are round-trippable. Cosmetic fields
236
+ * that the extractor synthesizes from {@link CALENDAR_HEATMAP_DEFAULTS}
237
+ * (`monthLabels.enabled`, `weekends.cellColor`, `weekends.hideValues`,
238
+ * `pagination.enabled`) are not written back because the Fusion DTO has no fields
239
+ * for them.
240
+ *
241
+ * The CSDK `subtype` (`'calendar-heatmap/split' | 'calendar-heatmap/continuous'`)
242
+ * is NOT the DTO `subtype` — the DTO uses `'heatmap'` and encodes view as the
243
+ * `'view/weekly'` / `'view/monthly'` style flags.
244
+ *
245
+ * `pagination.startMonth` is emitted as `{year, month}` because Fusion's startMonth
246
+ * object form is the canonical write shape; the string form is read-only legacy input.
247
+ *
248
+ * @param styleOptions - Calendar heatmap style options from WidgetModel.styleOptions
249
+ * @returns Fusion CalendarHeatmapWidgetStyle for the widget DTO
250
+ * @internal
251
+ */
252
+ export declare function toCalendarHeatmapWidgetStyle(styleOptions: CalendarHeatmapStyleOptions): CalendarHeatmapWidgetStyle;
214
253
  /**
215
254
  * Converts table style options to Fusion TableWidgetStyle DTO.
216
255
  * Used when serializing a table widget back to WidgetDto.
@@ -77,6 +77,12 @@ export interface WidgetDto {
77
77
  supportsHierarchies?: boolean;
78
78
  imageColumns?: number[];
79
79
  };
80
+ /**
81
+ * Custom-widget-specific runtime options bag, persisted across reloads for
82
+ * custom (plugin) widgets. Round-trips opaquely between the Fusion DTO and the
83
+ * CSDK widget model's `customOptions`.
84
+ */
85
+ customOptions?: Record<string, unknown>;
80
86
  source?: any;
81
87
  owner?: string;
82
88
  userId?: string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Triggers a browser file download from a Blob.
3
+ *
4
+ * @param blob - Blob to download
5
+ * @param filename - Suggested file name
6
+ */
7
+ export declare function downloadBlobAsFile(blob: Blob, filename: string): void;
8
+ /**
9
+ * Normalizes a file name by removing invalid characters and keeping the extension.
10
+ *
11
+ * @param rawFileName - Raw file name
12
+ * @returns Normalized file name
13
+ */
14
+ export declare function normalizeFileName(rawFileName: string): string;
@@ -0,0 +1,18 @@
1
+ import { type Attribute, type Measure } from '@sisense/sdk-data';
2
+ /**
3
+ * Returns attributes prepared for Excel JAQL export: dimensional level attributes without an
4
+ * explicit display format receive a level-appropriate default so the backend renders human-readable
5
+ * date strings (e.g. "2009" for Years) instead of raw datetime values.
6
+ * Attributes that already carry a display format are returned unchanged.
7
+ *
8
+ * @param attributes - Raw attributes from chart or pivot translation
9
+ * @returns New array of attributes safe to pass as export dimensions
10
+ */
11
+ export declare function mapAttributesForExcelExport(attributes: readonly Attribute[]): Attribute[];
12
+ /**
13
+ * Returns measures prepared for Excel JAQL export: applies a default number format when none is set.
14
+ *
15
+ * @param measures - Raw measures from chart or pivot translation
16
+ * @returns New array of measures safe to pass as export measures
17
+ */
18
+ export declare function mapMeasuresForExcelExport(measures: readonly Measure[]): Measure[];
@@ -3,6 +3,8 @@
3
3
  * @internal
4
4
  */
5
5
  export declare const widgetHelpers: {
6
+ downloadBlobAsFile(blob: Blob, filename: string): void;
7
+ normalizeFileName(rawFileName: string): string;
6
8
  withMenuItemInHeaderConfig(menuItem: import("../../../shared/types/menu-item").MenuItem): (headerConfig: import("../shared/widget-header/types").WidgetHeaderConfig) => import("../shared/widget-header/types").WidgetHeaderConfig;
7
9
  withHeaderMenuItem(menuItem: import("../../../shared/types/menu-item").MenuItem): (widget: import("../components/widget").WidgetProps) => import("../components/widget").WidgetProps;
8
10
  };
@@ -0,0 +1,13 @@
1
+ import type { ExecuteExcelQueryParams } from '../../../domains/query-execution/types.js';
2
+ export type ExcelExecuteParams = Omit<ExecuteExcelQueryParams, 'enabled' | 'exportRunId'>;
3
+ export type UseExcelQueryLoaderResult = {
4
+ /** Triggers Excel export and browser file download with the given params. */
5
+ execute: (params: ExcelExecuteParams) => void;
6
+ };
7
+ /**
8
+ * Hook that runs an Excel JAQL export on demand and triggers a browser file download.
9
+ * Uses {@link useExecuteExcelQueryInternal} for loading and error state (mirrors {@link useCsvQueryFileLoader}).
10
+ *
11
+ * @returns `execute` callback
12
+ */
13
+ export declare function useExcelQueryFileLoader(): UseExcelQueryLoaderResult;
@@ -0,0 +1,44 @@
1
+ import type { WidgetType } from '../components/widget/types';
2
+ /**
3
+ * Fully resolved options for {@link useTrackWidgetInit}. The caller (a leaf widget) is
4
+ * responsible for deriving each field from its own props so the hook stays free of
5
+ * widget-shape concerns and runtime type casts.
6
+ *
7
+ * @internal
8
+ */
9
+ export type UseTrackWidgetInitOptions = {
10
+ /** Widget type (chart / pivot / text / custom). */
11
+ widgetType: WidgetType;
12
+ /** Resolved widget kind — chart subtype, plugin name, or fixed string for pivot/text. */
13
+ widgetName: string;
14
+ /** Widget title entered by the designer, or `null` if absent. */
15
+ widgetTitle: string | null;
16
+ /** Stable unique widget identifier — the widget id/OID when available, otherwise a content hash. */
17
+ entityId: string;
18
+ /**
19
+ * When `false`, the event is suppressed. Pass the caller's render preconditions here
20
+ * (e.g. `!!(chartType && dataOptions)` for `ChartWidget`) so we do not count mounts
21
+ * whose render body early-returns `null`. The event fires once when this flips to `true`.
22
+ *
23
+ * @default true
24
+ */
25
+ enabled?: boolean;
26
+ };
27
+ /**
28
+ * Fires the `sdkWidgetInit` tracking event exactly once per widget mount.
29
+ *
30
+ * Behavioral note: unlike `useTrackComponentInit`, this hook intentionally
31
+ * IGNORES `TrackingContextProvider`'s skip-nested signal. Widgets rendered inside
32
+ * a tracked parent (e.g. a `<Dashboard>`) must still emit `sdkWidgetInit`, since
33
+ * the event must count every widget render regardless of nesting.
34
+ *
35
+ * The payload includes envelope overrides (`eventType: 'action'`,
36
+ * `featureName: 'composesdk'`, `entityType: 'widget'`) that override the defaults
37
+ * set by `trackProductEvent`, as required by the data-tracking spec.
38
+ *
39
+ * `widgetTitle` is emitted as `null` rather than `undefined` when absent, matching the
40
+ * spec's "null or [empty]" wire convention.
41
+ *
42
+ * @internal
43
+ */
44
+ export declare const useTrackWidgetInit: (options: UseTrackWidgetInitOptions) => void;
@@ -0,0 +1,21 @@
1
+ import type { WidgetHeaderConfig } from '../../../domains/widgets/shared/widget-header/types.js';
2
+ export type UseWithExcelDownloadMenuParams = {
3
+ /** Base header config. */
4
+ baseHeaderConfig: WidgetHeaderConfig;
5
+ /** Whether Excel download menu items are shown. */
6
+ enabled: boolean;
7
+ /** Triggers Excel download; receives `mergeRows` flag (Angular: `buildRequest(..., mergeRows)`). */
8
+ onDownloadExcel: (mergeRows: boolean) => void;
9
+ };
10
+ /**
11
+ * Appends **Download → Excel File → (Repeat rows | Merge rows)** to the widget header menu when enabled.
12
+ *
13
+ * If a **Download** group (`widget-download`) already exists (e.g. after CSV), the **Excel File** branch is appended to its `items` (any prior `excelFileMenuItem` entry is removed first so it is not duplicated).
14
+ * Otherwise a new **Download** group containing only the Excel subtree is appended.
15
+ *
16
+ * @param params.baseHeaderConfig - Base header config.
17
+ * @param params.enabled - When false, returns `baseHeaderConfig` unchanged.
18
+ * @param params.onDownloadExcel - Invoked with `mergeRows` false for "Repeat rows", true for "Merge rows".
19
+ * @returns Header config to pass to {@link WidgetContainer}
20
+ */
21
+ export declare function useWithExcelDownloadMenuItem({ baseHeaderConfig, enabled, onDownloadExcel, }: UseWithExcelDownloadMenuParams): WidgetHeaderConfig;