@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
@@ -4,7 +4,7 @@ export declare const MIN_ROW_HEIGHT = 60;
4
4
  export declare const MAX_ROW_HEIGHT = 1500;
5
5
  export declare const WIDGET_HEADER_HEIGHT = 32;
6
6
  export declare const MIN_COLUMN_WIDTH = 128;
7
- export declare const MAX_COLUMN_WIDTH = 2048;
7
+ export declare const MAX_COLUMN_WIDTH: number;
8
8
  export declare const Z_INDEX_RESIZE_OVERLAY = 100;
9
9
  export declare const Z_INDEX_RESIZE_LINE = 101;
10
10
  export declare const Z_INDEX_CELL_DROPZONE = 102;
@@ -1,7 +1,7 @@
1
1
  import { DashboardProps } from '../../../domains/dashboarding/index.js';
2
2
  import { DashboardDto } from '../../../infra/api/types/dashboard-dto.js';
3
3
  import { AppSettings } from '../../../infra/app/settings/settings.js';
4
- import { CompleteThemeSettings } from '../../../types.js';
4
+ import { CompleteThemeSettingsInternal } from '../../../types.js';
5
5
  import { DashboardModel } from './dashboard-model.js';
6
6
  /**
7
7
  * Translates {@link DashboardModel} to {@link DashboardProps}.
@@ -20,4 +20,4 @@ export declare function toDashboardProps(dashboardModel: DashboardModel): Dashbo
20
20
  * @param appSettings - Optional application settings
21
21
  * @internal
22
22
  */
23
- export declare function fromDashboardDto(dashboardDto: DashboardDto, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): DashboardModel;
23
+ export declare function fromDashboardDto(dashboardDto: DashboardDto, themeSettings?: CompleteThemeSettingsInternal, appSettings?: AppSettings): DashboardModel;
@@ -1,7 +1,7 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { DashboardModel } from '../../../domains/dashboarding/dashboard-model';
3
3
  import { AppSettings } from '../../../infra/app/settings/settings';
4
- import { CompleteThemeSettings } from '../../../types';
4
+ import { CompleteThemeSettingsInternal } from '../../../types';
5
5
  export interface GetDashboardModelOptions {
6
6
  /**
7
7
  * Boolean flag whether to include widgets in the dashboard model
@@ -30,6 +30,13 @@ export interface GetDashboardModelOptions {
30
30
  * @internal
31
31
  */
32
32
  useLegacyApiVersion?: boolean;
33
+ /**
34
+ * Whether to fetch the dashboard with admin-level access.
35
+ *
36
+ * @default false
37
+ * @sisenseInternal
38
+ */
39
+ adminAccess?: boolean;
33
40
  }
34
41
  /**
35
42
  * Retrieves a dashboard model by its OID.
@@ -44,4 +51,4 @@ export interface GetDashboardModelOptions {
44
51
  * @internal
45
52
  * @sisenseInternal
46
53
  */
47
- export declare function getDashboardModel(http: HttpClient, dashboardOid: string, options?: GetDashboardModelOptions, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): Promise<DashboardModel>;
54
+ export declare function getDashboardModel(http: HttpClient, dashboardOid: string, options?: GetDashboardModelOptions, themeSettings?: CompleteThemeSettingsInternal, appSettings?: AppSettings): Promise<DashboardModel>;
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@sisense/sdk-rest-client';
2
2
  import { AppSettings } from '../../../infra/app/settings/settings';
3
- import { CompleteThemeSettings } from '../../../types';
3
+ import { CompleteThemeSettingsInternal } from '../../../types';
4
4
  export interface GetDashboardModelsOptions {
5
5
  /**
6
6
  * Dashboard title to search by
@@ -14,4 +14,4 @@ export interface GetDashboardModelsOptions {
14
14
  includeWidgets?: boolean;
15
15
  }
16
16
  /** @internal */
17
- export declare function getDashboardModels(http: HttpClient, options?: GetDashboardModelsOptions, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): Promise<import('../../../domains/dashboarding/dashboard-model').DashboardModel[]>;
17
+ export declare function getDashboardModels(http: HttpClient, options?: GetDashboardModelsOptions, themeSettings?: CompleteThemeSettingsInternal, appSettings?: AppSettings): Promise<import('../../../domains/dashboarding/dashboard-model').DashboardModel[]>;
@@ -1,4 +1,4 @@
1
- import { Dimension, Filter, FilterRelations, FilterRelationsModel, FilterRelationsModelNode, Measure } from '@sisense/sdk-data';
1
+ import { Dimension, Filter, FilterRelations, Measure } from '@sisense/sdk-data';
2
2
  import { JtdTarget, JumpToDashboardConfig, JumpToDashboardConfigForPivot, TriggerMethod } from '../../../domains/dashboarding/hooks/jtd/jtd-types';
3
3
  import { TabbersConfig } from '../../../domains/dashboarding/hooks/use-tabber';
4
4
  import { Panel, WidgetDto } from '../../../domains/widgets/components/widget-by-id/types';
@@ -7,7 +7,7 @@ import { type CascadingFilterDto, DashboardDto, type FilterDto, type LayoutDto }
7
7
  import type { SpecificWidgetOptions, WidgetsOptions, WidgetsPanelColumnLayout } from './types';
8
8
  type WidgetJtdDtoSlice = Pick<WidgetDto, 'oid' | 'type' | 'metadata' | 'drillToDashboardConfig'>;
9
9
  export declare const translateLayout: (layout: LayoutDto) => WidgetsPanelColumnLayout;
10
- export declare function extractDashboardFilters(dashboardFilters: Array<FilterDto | CascadingFilterDto>, filterRelationsModel?: FilterRelationsModel | FilterRelationsModelNode): Filter[] | FilterRelations;
10
+ export declare function extractDashboardFilters(dashboardFilters: Array<FilterDto | CascadingFilterDto>, filterRelationsDtoOptions?: DashboardDto['filterRelations']): Filter[] | FilterRelations;
11
11
  export declare const getJtdNavigateType: (widget: WidgetJtdDtoSlice) => TriggerMethod;
12
12
  export declare const convertDimensionsToDimIndexes: (widget: WidgetJtdDtoSlice, dimensionIds: string[]) => string[];
13
13
  /**
@@ -1,7 +1,8 @@
1
1
  import { DataSource } from '@sisense/sdk-data';
2
+ import { DashboardModel } from '../../../../../domains/dashboarding/dashboard-model';
2
3
  import { RestApi } from '../../../../../infra/api/rest-api';
3
4
  import { AppSettings } from '../../../../../infra/app/settings/settings';
4
- import { CompleteThemeSettings } from '../../../../../types';
5
+ import { CompleteThemeSettingsInternal } from '../../../../../types';
5
6
  import { UseDashboardModelInternalAction } from './types.js';
6
7
  export type PersistDashboardModelMiddlewareParams = {
7
8
  /** Dashboard OID, or undefined if not initialized */
@@ -15,13 +16,21 @@ export type PersistDashboardModelMiddlewareParams = {
15
16
  /** Application settings forwarded to {@link toWidgetDto} (controls widget design feature flag) */
16
17
  appSettings: AppSettings;
17
18
  /** Theme settings forwarded to {@link toWidgetDto} (used as defaults for widget design) */
18
- themeSettings: CompleteThemeSettings;
19
+ themeSettings: CompleteThemeSettingsInternal;
19
20
  /**
20
21
  * Dashboard-level data source. Used as a fallback data source for widgets
21
22
  * whose model does not carry one (e.g. text widgets), so the produced DTO
22
23
  * still satisfies the server's datasource schema.
23
24
  */
24
25
  dashboardDataSource?: DataSource;
26
+ /**
27
+ * Pre-reducer dashboard model snapshot. Used by UPDATE_WIDGET to read
28
+ * `widgetsOptions[oid].partialDtoOptions.options` so the Fusion PATCH carries
29
+ * the full options object (Fusion replaces, not merges).
30
+ *
31
+ * @internal
32
+ */
33
+ model?: DashboardModel;
25
34
  };
26
35
  /**
27
36
  * Middleware that persists the dashboard model changes to the Sisense server.
@@ -29,4 +38,4 @@ export type PersistDashboardModelMiddlewareParams = {
29
38
  * @returns Promise resolving to the action (possibly transformed, e.g. for ADD_WIDGET)
30
39
  * @internal
31
40
  */
32
- export declare function persistDashboardModelMiddleware({ dashboardOid, action, restApi, sharedMode, appSettings, themeSettings, dashboardDataSource, }: PersistDashboardModelMiddlewareParams): Promise<UseDashboardModelInternalAction>;
41
+ export declare function persistDashboardModelMiddleware({ dashboardOid, action, restApi, sharedMode, appSettings, themeSettings, dashboardDataSource, model, }: PersistDashboardModelMiddlewareParams): Promise<UseDashboardModelInternalAction>;
@@ -1,5 +1,6 @@
1
1
  import { Filter, FilterRelations } from '@sisense/sdk-data';
2
2
  import { DashboardModel, SpecificWidgetOptions, WidgetsPanelLayout } from '../../../../../domains/dashboarding/dashboard-model';
3
+ import type { WidgetPropsUpdate } from '../../../../../domains/dashboarding/persistence/update-types.js';
3
4
  import type { WidgetDto } from '../../../../../domains/widgets/components/widget-by-id/types';
4
5
  import { WidgetModel } from '../../../../../domains/widgets/widget-model';
5
6
  export type UseDashboardModelState = DashboardModel | null;
@@ -21,6 +22,7 @@ export declare enum UseDashboardModelActionType {
21
22
  FILTERS_UPDATE = "FILTERS.UPDATE",
22
23
  ADD_WIDGET = "WIDGETS.ADD",
23
24
  PATCH_WIDGET = "WIDGETS.PATCH",
25
+ UPDATE_WIDGET = "WIDGETS.UPDATE",
24
26
  WIDGETS_PANEL_LAYOUT_UPDATE = "WIDGETS_PANEL_LAYOUT.UPDATE",
25
27
  WIDGETS_DELETE = "WIDGETS.DELETE"
26
28
  }
@@ -46,6 +48,18 @@ export type WidgetPatch = {
46
48
  max: number;
47
49
  };
48
50
  };
51
+ /**
52
+ * Full opaque widget style to send in the PATCH request. Used for custom
53
+ * (plugin) widgets whose `styleOptions` round-trip through `WidgetDto.style`.
54
+ * Must reconstruct the entire style object (the server replaces it on PATCH).
55
+ */
56
+ style?: WidgetDto['style'];
57
+ /**
58
+ * Full custom-widget options bag to send in the PATCH request.
59
+ * Must include all existing keys alongside the changed ones, because the
60
+ * server replaces the entire object rather than merging.
61
+ */
62
+ customOptions?: Record<string, unknown>;
49
63
  };
50
64
  /**
51
65
  * Internal actions for the dashboard model state used in {@link useDashboardModel}.
@@ -62,12 +76,26 @@ export type UseDashboardModelInternalAction = UseDashboardModelAction | {
62
76
  widgets: string[];
63
77
  };
64
78
  };
79
+ /**
80
+ * Props-shaped widget update action. Carries a partial `WidgetPropsUpdate` that
81
+ * the reducer applies to the in-memory `WidgetModel` and the persist middleware
82
+ * translates to a targeted DTO patch via its per-field mapping table.
83
+ *
84
+ * @internal
85
+ */
86
+ export type UseDashboardModelUpdateWidgetAction = {
87
+ type: UseDashboardModelActionType.UPDATE_WIDGET;
88
+ payload: {
89
+ widgetOid: string;
90
+ update: WidgetPropsUpdate;
91
+ };
92
+ };
65
93
  /**
66
94
  * Actions for the dashboard model state used in {@link useDashboardModel}.
67
95
  *
68
96
  * @internal
69
97
  */
70
- export type UseDashboardModelAction = UseDashboardModelFilterUpdateAction | UseDashboardModelAddWidgetAction | UseDashboardModelPatchWidgetAction | UseDashboardModelLayoutUpdateAction | UseDashboardWidgetsDeleteAction;
98
+ export type UseDashboardModelAction = UseDashboardModelFilterUpdateAction | UseDashboardModelAddWidgetAction | UseDashboardModelPatchWidgetAction | UseDashboardModelUpdateWidgetAction | UseDashboardModelLayoutUpdateAction | UseDashboardWidgetsDeleteAction;
71
99
  /**
72
100
  * Filter update actions for the dashboard model state used in {@link useDashboardModel}.
73
101
  *
@@ -0,0 +1,23 @@
1
+ import type { WidgetProps } from '../../../domains/widgets/components/widget/types.js';
2
+ export type UseWidgetExcelDownloadParams = {
3
+ widgets: WidgetProps[];
4
+ /**
5
+ * Excel download enabled value from `config.widgetsPanel.actions.downloadExcel.enabled`.
6
+ * Per-widget `config.actions.downloadExcel.enabled` overrides when explicitly set.
7
+ */
8
+ enabled: boolean;
9
+ };
10
+ /**
11
+ * Applies dashboard-level Excel download settings to each widget's `config`.
12
+ *
13
+ * Reads `config.widgetsPanel.actions.downloadExcel.enabled` and merges it into
14
+ * `widget.config.actions.downloadExcel` for every widget.
15
+ * Widget-level `config.actions.downloadExcel.enabled` takes precedence when defined, so the dashboard-level config acts as a
16
+ * default rather than replacing explicit widget configuration.
17
+ *
18
+ * @param params - Widgets and panel-level Excel toggle
19
+ * @returns Widgets with resolved `config.actions.downloadExcel.enabled`
20
+ */
21
+ export declare function useWidgetExcelDownload({ widgets, enabled }: UseWidgetExcelDownloadParams): {
22
+ widgets: WidgetProps[];
23
+ };
@@ -0,0 +1,27 @@
1
+ import type { DashboardPersistenceManager } from '../../../domains/dashboarding/persistence/types';
2
+ import type { WidgetProps } from '../../../domains/widgets/components/widget/types';
3
+ type Persistence = Pick<DashboardPersistenceManager, 'updateWidget'> | undefined;
4
+ /**
5
+ * Composition middleware that adds persistable widget-update plumbing to a
6
+ * widget list. For each widget that exposes a known runtime-state callback
7
+ * (currently only `styleOptions.navigator.onScrollerChange` for charts with
8
+ * a navigator), the hook injects a handler that:
9
+ *
10
+ * 1. Applies the update optimistically to local widget state (the parent
11
+ * `useComposedDashboardInternal` re-renders with the new value).
12
+ * 2. Schedules a debounced (500 ms) call to `persistence.updateWidget` with
13
+ * a {@link WidgetPropsUpdate}-shaped payload.
14
+ *
15
+ * When `persistence` is `undefined`, the optimistic apply still runs (so
16
+ * visualizations behave correctly in read-only mode) and the persist call
17
+ * is skipped.
18
+ *
19
+ * Errors during persistence are logged via `console.error`; the hook does
20
+ * not roll back local state.
21
+ *
22
+ * @sisenseInternal
23
+ */
24
+ export declare function useWidgetUpdatesPersistence(widgets: WidgetProps[], setWidgets: (updater: (prev: WidgetProps[]) => WidgetProps[]) => void, persistence?: Persistence): {
25
+ widgets: WidgetProps[];
26
+ };
27
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Deep-merges a partial `update` into `base` for widget-update persistence.
3
+ *
4
+ * Merge semantics (shared by every merge point of the unified widget-update
5
+ * channel — pending-update accumulator, optimistic apply, model reducer and
6
+ * DTO patch):
7
+ * - nested plain objects are merged recursively at any depth;
8
+ * - arrays, primitives and non-plain objects (e.g. `Date`) are replaced
9
+ * wholesale (last-write-wins);
10
+ * - keys cannot be deleted via merge — overwrite with an explicit value
11
+ * (e.g. `null`) instead.
12
+ *
13
+ * Pure: returns a new object, never mutates the inputs.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare function deepMerge<T extends object>(base: T, update: object): T;
@@ -1,5 +1,7 @@
1
1
  import type { SpecificWidgetOptions, WidgetPatch, WidgetsPanelLayout } from '../../../domains/dashboarding/dashboard-model';
2
2
  import type { WidgetProps } from '../../../domains/widgets/components/widget/types';
3
+ import type { WidgetPropsUpdate } from './update-types.js';
4
+ export type { WidgetPropsUpdate, OnWidgetUpdate } from './update-types.js';
3
5
  /**
4
6
  * Interface for persisting dashboard changes from the composition layer (e.g. add widget).
5
7
  *
@@ -49,4 +51,17 @@ export type DashboardPersistenceManager = {
49
51
  * The patch to apply to the widget.
50
52
  */
51
53
  patch: WidgetPatch) => Promise<void>;
54
+ /**
55
+ * Apply a props-shaped partial update to an existing widget. The composition
56
+ * layer's preferred write channel for visualization-originated state
57
+ * (scroll, customOptions, future title/description). Internally routed
58
+ * through the per-field DTO patch table in `persist-dashboard-model-middleware`.
59
+ *
60
+ * Fire-and-forget; errors are logged at the call site. The reducer applies
61
+ * the update to the canonical `WidgetModel` synchronously before the REST
62
+ * call fires.
63
+ *
64
+ * @sisenseInternal
65
+ */
66
+ updateWidget: (widgetOid: string, update: WidgetPropsUpdate) => Promise<void>;
52
67
  };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Narrow, props-shaped slice of widget state that can be persisted through the
3
+ * unified `DashboardPersistenceManager.updateWidget` channel. Intentionally
4
+ * narrow on first landing — extended only when a new field is paired with a
5
+ * row in the persist middleware's per-field DTO patch table AND an
6
+ * update→DTO-patch→re-read roundtrip test.
7
+ *
8
+ * For the persistable-vs-transient distinction, see
9
+ * [unified-widget-updates-persistence.md §6.4](./__dev-docs__/unified-widget-updates-persistence.md).
10
+ * Transient/interactive events (drilldown selections, in-progress title edits)
11
+ * stay on the {@link WidgetChangeEvent} channel.
12
+ *
13
+ * @sisenseInternal
14
+ */
15
+ export type WidgetPropsUpdate = {
16
+ readonly styleOptions?: {
17
+ readonly navigator?: {
18
+ readonly scrollerLocation?: {
19
+ readonly min: number;
20
+ readonly max: number;
21
+ };
22
+ };
23
+ /**
24
+ * For custom (plugin) widgets, `styleOptions` is an opaque deeply-partial
25
+ * bag — arbitrary keys are deep-merged into the widget's opaque DTO
26
+ * `style` (see `deepMerge` for the semantics). Chart widgets only use the
27
+ * typed `navigator` subtree above.
28
+ */
29
+ readonly [key: string]: unknown;
30
+ };
31
+ /**
32
+ * Custom-widget-specific runtime options to persist. Only meaningful for
33
+ * custom (plugin) widgets. The middleware deep-merges this into the widget
34
+ * DTO's `customOptions` bag, preserving any existing keys (at any depth) not
35
+ * present in the update.
36
+ *
37
+ * Only serializable values should be passed — non-serializable values cannot
38
+ * survive the DTO round-trip.
39
+ */
40
+ readonly customOptions?: Readonly<Record<string, unknown>>;
41
+ };
42
+ /**
43
+ * Callback signature used internally by `useWidgetUpdatesPersistence` to emit
44
+ * a persistable update for a specific widget. Not part of the public
45
+ * `WidgetProps` surface — composition layer injects handlers into the
46
+ * visualization's existing callback APIs (e.g.
47
+ * `styleOptions.navigator.onScrollerChange`).
48
+ *
49
+ * @internal
50
+ */
51
+ export type OnWidgetUpdate = (update: WidgetPropsUpdate) => void;
@@ -181,6 +181,19 @@ export interface WidgetsPanelConfig {
181
181
  */
182
182
  enabled?: boolean;
183
183
  };
184
+ /**
185
+ * Configuration for downloading widget data as Excel.
186
+ *
187
+ * @sisenseInternal
188
+ */
189
+ downloadExcel?: {
190
+ /**
191
+ * Determines whether the widgets possibility to download Excel is enabled.
192
+ *
193
+ * If not specified, the default value is `false`.
194
+ */
195
+ enabled?: boolean;
196
+ };
184
197
  };
185
198
  }
186
199
  /**
@@ -0,0 +1,48 @@
1
+ import { type Attribute, type DataSource, type Measure } from '@sisense/sdk-data';
2
+ /** `by` field for JAQL export requests. */
3
+ export declare const EXCEL_EXPORT_JAQL_BY = "export";
4
+ /**
5
+ * Optional pivot row/column hint on {@link Attribute} for XLSX metadata `panel`
6
+ * (set by pivot Excel download; chart dimensions omit it and default to `rows`).
7
+ */
8
+ export type ExcelExportDimensionPanel = 'rows' | 'columns';
9
+ type ExcelExportJaqlWidgetContext = {
10
+ widgetOid: string;
11
+ widgetTitle: string;
12
+ dataSource: DataSource;
13
+ /** Repeat rows (`false`) vs merge rows (`true`) for the export JAQL. */
14
+ mergeRows: boolean;
15
+ };
16
+ type XlsxExportQueryParams = {
17
+ dimensions?: readonly Attribute[];
18
+ measures?: readonly Measure[];
19
+ };
20
+ /**
21
+ * Resolves XLSX metadata `panel` for a dimension.
22
+ * When `mergeRows` is `false` (repeat rows), always returns `rows` so column dimensions are flattened into rows.
23
+ * When `mergeRows` is `true`, uses {@link Attribute} `panel` when set (pivot column axes → `columns`), else `rows`.
24
+ */
25
+ export declare function resolveExcelDimensionMetadataPanel(dimension: Attribute, mergeRows: boolean): ExcelExportDimensionPanel;
26
+ /**
27
+ * Returns export metadata items describing XLSX table panels (rows/measures).
28
+ * `field.index` on each metadata item is sequential across dimensions then measures (0…n−1).
29
+ *
30
+ * @param mergeRows - When `false`, every dimension metadata item uses panel `rows` (see {@link resolveExcelDimensionMetadataPanel}).
31
+ * @returns Metadata entries for JAQL `metadata` used by the XLSX export endpoint.
32
+ */
33
+ export declare function createPanelsMetadataForXlsx(dimensions: XlsxExportQueryParams['dimensions'], measures: XlsxExportQueryParams['measures'], mergeRows: boolean): {
34
+ jaql: {
35
+ column: any;
36
+ title: any;
37
+ dim: any;
38
+ merged: boolean;
39
+ };
40
+ field: {
41
+ id: string;
42
+ index: number;
43
+ };
44
+ format: Record<string, any>;
45
+ panel: "measures" | ExcelExportDimensionPanel;
46
+ }[];
47
+ export declare function buildJaqlForExcelExport(params: XlsxExportQueryParams, context: ExcelExportJaqlWidgetContext): Record<string, unknown>;
48
+ export {};
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Widget chrome sent with the XLSX JAQL export API (chart, pivot, custom widgets).
3
+ *
4
+ * - `widgetId` ← `ChartWidgetProps.id` when set (opaque string; Fusion `oid` when rendered via `Widget` / `toWidgetProps`)
5
+ * - `widgetType` (request body) ← Compose `chartType` (e.g. `bar`, `line`)
6
+ * - `language` ← resolved in {@link useExecuteExcelQueryInternal} from app settings
7
+ */
8
+ export type XlsxExportWidgetContext = {
9
+ widgetId: string;
10
+ /** Compose chart `chartType` or other widget discriminator sent to export API. */
11
+ widgetType: string;
12
+ /** BCP 47 tag (e.g. `en-US`); use `app.settings.translationConfig.language` from {@link useSisenseContext}. */
13
+ language: string;
14
+ };
15
+ /**
16
+ * Request JSON body for `POST api/v1/export/jaql/xlsx`.
17
+ */
18
+ export type XlsxExportRequestPayload = {
19
+ widgetId: string;
20
+ widgetType: string;
21
+ jaql: Record<string, unknown>;
22
+ mergeRows: boolean;
23
+ language: string;
24
+ };
25
+ /**
26
+ * Builds the XLSX JAQL export request body shared by chart, pivot, and custom widgets.
27
+ *
28
+ * @param widget - Widget id, type, and locale for the export body
29
+ * @param jaql - JAQL root for the export body (typically from `buildJaqlForExcelExport`)
30
+ * @param mergeRows - Repeat rows vs merge rows
31
+ * @returns Payload for {@link HttpClient.post}
32
+ */
33
+ export declare function buildXlsxExportPayload(widget: XlsxExportWidgetContext, jaql: Record<string, unknown>, mergeRows: boolean): XlsxExportRequestPayload;
@@ -0,0 +1,2 @@
1
+ import type { ExcelQueryAction, ExcelQueryState } from '../../types.js';
2
+ export declare function downloadExcelQueryStateReducer(state: ExcelQueryState, action: ExcelQueryAction): ExcelQueryState;
@@ -0,0 +1,8 @@
1
+ import type { ExecuteExcelQueryParams } from '../../types.js';
2
+ /**
3
+ * Detects changes relevant to Excel export (query fields and `mergeRows`).
4
+ *
5
+ * @param params - Excel export parameters
6
+ * @returns Whether parameters differ from the previous render
7
+ */
8
+ export declare function useExcelQueryParamsChanged(params: ExecuteExcelQueryParams): boolean;
@@ -0,0 +1,8 @@
1
+ import type { ExcelQueryState, ExecuteExcelQueryParams } from '../../types.js';
2
+ /**
3
+ * Runs JAQL XLSX export without tracking to be used inside other hooks or components in Compose SDK.
4
+ *
5
+ * @param params - Parameters of the export query
6
+ * @internal
7
+ */
8
+ export declare function useExecuteExcelQueryInternal(params: ExecuteExcelQueryParams): ExcelQueryState;
@@ -1,8 +1,9 @@
1
1
  export { ExecuteQuery } from './components/execute-query.js';
2
2
  export { useExecuteQuery } from './hooks/use-execute-query/index.js';
3
3
  export { useExecuteCsvQuery, useExecuteCsvQueryInternal, } from './hooks/use-execute-csv-query/use-execute-csv-query.js';
4
+ export { useExecuteExcelQueryInternal } from './hooks/use-execute-excel-query/use-execute-excel-query.js';
4
5
  export { ExecuteQueryByWidgetId } from './components/execute-query-by-widget-id.js';
5
6
  export { useExecuteQueryByWidgetId, executeQueryByWidgetId, } from './hooks/use-execute-query-by-widget-id/use-execute-query-by-widget-id.js';
6
7
  export { useExecutePivotQuery, useExecutePivotQueryInternal, } from './hooks/use-execute-pivot-query/use-execute-pivot-query.js';
7
8
  export { useQueryCache } from './hooks/use-query-cache/use-query-cache.js';
8
- export type { QueryState, QueryLoadingState, QuerySuccessState, QueryErrorState, CsvQueryState, CsvQueryLoadingState, CsvQuerySuccessState, CsvQueryErrorState, PivotQueryState, PivotQueryLoadingState, PivotQuerySuccessState, PivotQueryErrorState, BaseQueryParams, ExecuteQueryParams, ExecuteQueryResult, ExecuteCsvQueryParams, ExecuteCSVQueryConfig, ExecuteQueryByWidgetIdParams, QueryByWidgetIdState, QueryByWidgetIdQueryParams, ExecutePivotQueryParams, } from './types.js';
9
+ export type { QueryState, QueryLoadingState, QuerySuccessState, QueryErrorState, CsvQueryState, CsvQueryLoadingState, CsvQuerySuccessState, CsvQueryErrorState, ExcelQueryState, ExcelQueryLoadingState, ExcelQuerySuccessState, ExcelQueryErrorState, PivotQueryState, PivotQueryLoadingState, PivotQuerySuccessState, PivotQueryErrorState, BaseQueryParams, ExecuteQueryParams, ExecuteQueryResult, ExecuteCsvQueryParams, ExecuteExcelQueryParams, ExecuteCSVQueryConfig, ExecuteQueryByWidgetIdParams, QueryByWidgetIdState, QueryByWidgetIdQueryParams, ExecutePivotQueryParams, } from './types.js';
@@ -57,6 +57,62 @@ export type CsvQuerySuccessState = {
57
57
  status: 'success';
58
58
  };
59
59
  export type CsvQueryAction = DataLoadAction<Blob | string>;
60
+ /**
61
+ * State of an on-demand Excel (JAQL) export request.
62
+ */
63
+ export type ExcelQueryState = ExcelQueryLoadingState | ExcelQueryErrorState | ExcelQuerySuccessState;
64
+ /**
65
+ * State of an Excel export that is loading.
66
+ */
67
+ export type ExcelQueryLoadingState = {
68
+ /** Whether the export is loading */
69
+ isLoading: true;
70
+ /** Whether the export has failed */
71
+ isError: false;
72
+ /** Whether the export has succeeded */
73
+ isSuccess: false;
74
+ /** The error if any occurred */
75
+ error: undefined;
76
+ /** XLSX blob when the export has succeeded */
77
+ data: Blob | undefined;
78
+ /** Status of the export */
79
+ status: 'loading';
80
+ };
81
+ /**
82
+ * State of an Excel export that has failed.
83
+ */
84
+ export type ExcelQueryErrorState = {
85
+ /** Whether the export is loading */
86
+ isLoading: false;
87
+ /** Whether the export has failed */
88
+ isError: true;
89
+ /** Whether the export has succeeded */
90
+ isSuccess: false;
91
+ /** The error if any occurred */
92
+ error: Error;
93
+ /** Result data when the export has succeeded */
94
+ data: undefined;
95
+ /** Status of the export */
96
+ status: 'error';
97
+ };
98
+ /**
99
+ * State of an Excel export that has succeeded.
100
+ */
101
+ export type ExcelQuerySuccessState = {
102
+ /** Whether the export is loading */
103
+ isLoading: false;
104
+ /** Whether the export has failed */
105
+ isError: false;
106
+ /** Whether the export has succeeded */
107
+ isSuccess: true;
108
+ /** The error if any occurred */
109
+ error: undefined;
110
+ /** XLSX blob */
111
+ data: Blob;
112
+ /** Status of the export */
113
+ status: 'success';
114
+ };
115
+ export type ExcelQueryAction = DataLoadAction<Blob>;
60
116
  /**
61
117
  * State of a query execution.
62
118
  */
@@ -130,7 +186,12 @@ export interface ExecuteQueryByWidgetIdParams {
130
186
  * The provided filters will be merged with the existing widget filters based on `filtersMergeStrategy`
131
187
  */
132
188
  filters?: Filter[];
133
- /** Highlight filters that will highlight results that pass filter criteria */
189
+ /**
190
+ * Highlight filters that will highlight results that pass filter criteria.
191
+ *
192
+ * NOTE that highlight filters in the "Include all" state are silently omitted from the
193
+ * query. To clear a highlight, remove it from the array.
194
+ */
134
195
  highlights?: Filter[];
135
196
  /** {@inheritDoc ExecuteQueryParams.count} */
136
197
  count?: number;
@@ -188,7 +249,12 @@ export interface BaseQueryParams {
188
249
  measures?: Measure[];
189
250
  /** Filters that will slice query results */
190
251
  filters?: Filter[] | FilterRelations;
191
- /** Highlight filters that will highlight results that pass filter criteria */
252
+ /**
253
+ * Highlight filters that will highlight results that pass filter criteria.
254
+ *
255
+ * NOTE that highlight filters in the "Include all" state are silently omitted from the
256
+ * query. To clear a highlight, remove it from the array.
257
+ */
192
258
  highlights?: Filter[];
193
259
  }
194
260
  /**
@@ -266,6 +332,35 @@ export type ExecuteCSVQueryConfig = {
266
332
  export interface ExecuteCsvQueryParams extends ExecuteQueryParams {
267
333
  config?: ExecuteCSVQueryConfig;
268
334
  }
335
+ /**
336
+ * Parameters for {@link useExecuteExcelQueryInternal} (JAQL XLSX export).
337
+ */
338
+ export interface ExecuteExcelQueryParams extends ExecuteQueryParams {
339
+ /** `false` = repeat rows (Angular default); `true` = merge rows. */
340
+ mergeRows: boolean;
341
+ /** Suggested download file name (e.g. from widget title). */
342
+ filename?: string;
343
+ /**
344
+ * Widget id for export (`ChartWidget` / `Widget` `id`). Required when `enabled` runs an export;
345
+ * optional on the type so idle/default param objects can omit it.
346
+ */
347
+ widgetId?: string;
348
+ /**
349
+ * Widget presentation type for export (e.g. Compose `ChartType` from `ChartWidget` `chartType`).
350
+ */
351
+ widgetType?: string;
352
+ /**
353
+ * Widget title for Fusion JAQL `widget` segment (`oid;title`). Optional; defaults to empty string.
354
+ */
355
+ widgetTitle?: string;
356
+ /**
357
+ * Monotonic id assigned by {@link useExcelQueryFileLoader} on each `execute` so each click starts
358
+ * a distinct export even when query fields and `mergeRows` match the previous run.
359
+ *
360
+ * @internal
361
+ */
362
+ exportRunId?: number;
363
+ }
269
364
  /**
270
365
  * State of a pivot query execution.
271
366
  */
@@ -1,6 +1,6 @@
1
1
  import leaflet, { type FitBoundsOptions } from 'leaflet';
2
- import { CompleteThemeSettings } from '../../../../../../../types.js';
2
+ import { CompleteThemeSettingsInternal } from '../../../../../../../types.js';
3
3
  type FitBoundsAnimationOptions = Pick<FitBoundsOptions, 'animate' | 'duration'>;
4
- export declare function prepareFitBoundsAnimationOptions(themeSettings: CompleteThemeSettings): FitBoundsAnimationOptions;
4
+ export declare function prepareFitBoundsAnimationOptions(themeSettings: CompleteThemeSettingsInternal): FitBoundsAnimationOptions;
5
5
  export declare function fitMapToBounds(map: leaflet.Map, markers: leaflet.CircleMarker[], options?: FitBoundsOptions): void;
6
6
  export {};
@@ -20,7 +20,6 @@ export type CalendarHeatmapChartData = {
20
20
  * @param chartDataOptions - Internal data options specifying which columns to use
21
21
  * @param dataTable - Raw data table containing the source data
22
22
  * @returns Formatted calendar heatmap chart data
23
-
24
23
  */
25
24
  export declare function getCalendarHeatmapChartData(chartDataOptions: CalendarHeatmapChartDataOptionsInternal, dataTable: DataTable): CalendarHeatmapChartData;
26
25
  /**
@@ -1,4 +1,4 @@
1
- import { CompleteThemeSettings, DataColorOptions, RangeDataColorOptions } from '../../../../../../../../types';
1
+ import { CompleteThemeSettingsInternal, DataColorOptions, RangeDataColorOptions } from '../../../../../../../../types';
2
2
  import { CalendarHeatmapChartData } from '../data.js';
3
3
  /**
4
4
  * Returns the default color options for calendar heatmap chart
@@ -6,7 +6,7 @@ import { CalendarHeatmapChartData } from '../data.js';
6
6
  * @param themeSettings - Theme settings
7
7
  * @returns Default color options
8
8
  */
9
- export declare function getCalendarHeatmapDefaultColorOptions(themeSettings: CompleteThemeSettings): RangeDataColorOptions;
9
+ export declare function getCalendarHeatmapDefaultColorOptions(themeSettings: CompleteThemeSettingsInternal): RangeDataColorOptions;
10
10
  /**
11
11
  * Creates a decorator function that applies data-driven coloring to calendar heatmap data values.
12
12
  * Uses a decorator pattern where the function accepts color options and returns a data transformer.
@@ -17,7 +17,7 @@ export declare const buildHighchartsOptions: <CT extends HighchartBasedChartType
17
17
  };
18
18
  extraConfig: {
19
19
  translate: import("i18next").TFunction<"translation", undefined>;
20
- themeSettings: import("../../../../../../../types.js").CompleteThemeSettings;
20
+ themeSettings: import("../../../../../../../types.js").CompleteThemeSettingsInternal;
21
21
  dateFormatter: (date: Date, format: string) => string;
22
22
  accessibilityEnabled: boolean;
23
23
  };