@sisense/sdk-ui 2.22.0 → 2.23.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 (183) hide show
  1. package/dist/ai.cjs +17 -17
  2. package/dist/ai.js +57 -57
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +2177 -1176
  5. package/dist/analytics-composer.cjs +47 -47
  6. package/dist/analytics-composer.js +135 -131
  7. package/dist/dimensions-2t18RSZC.cjs +1 -0
  8. package/dist/dimensions-C0BmtTH2.js +204 -0
  9. package/dist/execute-query-CHYTupEo.js +5866 -0
  10. package/dist/execute-query-DmAyVFF5.cjs +1 -0
  11. package/dist/{index-kxX21arA.js → index-DCAC0mJe.js} +18 -1
  12. package/dist/{index-NyouhE_A.cjs → index-Dx6wvLd3.cjs} +1 -1
  13. package/dist/index.cjs +335 -322
  14. package/dist/index.js +15230 -15097
  15. package/dist/index.umd.js +687 -634
  16. package/dist/packages/sdk-ui/src/domains/dashboarding/components/editable-layout/const.d.ts +1 -0
  17. package/dist/packages/sdk-ui/src/domains/dashboarding/components/editable-layout/smart-pointer-sensor.d.ts +17 -0
  18. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-model.d.ts +2 -1
  19. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.d.ts +24 -2
  20. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/utils.d.ts +2 -1
  21. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/use-dashboard-persistence.d.ts +2 -1
  22. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/jtd/jtd-types.d.ts +1 -1
  23. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/rename-widget/use-widget-renaming.d.ts +34 -0
  24. package/dist/packages/sdk-ui/src/domains/dashboarding/types.d.ts +23 -1
  25. package/dist/packages/sdk-ui/src/domains/dashboarding/use-dashboard-theme.d.ts +1 -1
  26. package/dist/packages/sdk-ui/src/domains/data-browser/add-filter-popover/add-filter-data-browser.d.ts +2 -1
  27. package/dist/packages/sdk-ui/src/domains/data-browser/data-schema-browser/data-schema-browser.d.ts +2 -1
  28. package/dist/packages/sdk-ui/src/domains/data-browser/dimensions-browser/types.d.ts +9 -1
  29. package/dist/packages/sdk-ui/src/domains/formulas/fetch-formula.d.ts +1 -1
  30. package/dist/packages/sdk-ui/src/domains/query-execution/core/execute-query.d.ts +1 -1
  31. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-query-by-widget-id/use-execute-query-by-widget-id.d.ts +1 -1
  32. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-query-cache/use-query-cache.d.ts +2 -1
  33. package/dist/packages/sdk-ui/src/domains/visualizations/components/boxplot-chart/boxplot-utils.d.ts +1 -1
  34. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/helpers/get-load-data-function.d.ts +1 -1
  35. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/helpers/data-loading.d.ts +1 -1
  36. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/types.d.ts +1 -1
  37. package/dist/packages/sdk-ui/src/domains/widgets/change-events.d.ts +73 -0
  38. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/types.d.ts +12 -2
  39. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/types.d.ts +12 -2
  40. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-dashboard-filters.d.ts +3 -1
  41. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-data-options.d.ts +1 -1
  42. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +1 -1
  43. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/utils.d.ts +3 -2
  44. package/dist/packages/sdk-ui/src/domains/widgets/event-to-delta.d.ts +17 -0
  45. package/dist/packages/sdk-ui/src/domains/widgets/helpers/header-menu-utils.d.ts +14 -4
  46. package/dist/packages/sdk-ui/src/domains/widgets/helpers/index.d.ts +1 -0
  47. package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-title-renaming.d.ts +27 -0
  48. package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-widget-header-management.d.ts +28 -0
  49. package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-container/widget-container.d.ts +3 -1
  50. package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-header/types.d.ts +31 -0
  51. package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-header/widget-header.d.ts +3 -1
  52. package/dist/packages/sdk-ui/src/infra/api/rest-api.d.ts +4 -0
  53. package/dist/packages/sdk-ui/src/infra/api/types/dashboard-dto.d.ts +1 -1
  54. package/dist/packages/sdk-ui/src/infra/app/client-application.d.ts +5 -231
  55. package/dist/packages/sdk-ui/src/infra/app/helpers.d.ts +16 -0
  56. package/dist/packages/sdk-ui/src/infra/app/settings/settings.d.ts +1 -1
  57. package/dist/packages/sdk-ui/src/infra/app/settings/types/deployment-props.d.ts +3 -0
  58. package/dist/packages/sdk-ui/src/infra/app/settings/types/features.d.ts +2 -1
  59. package/dist/packages/sdk-ui/src/infra/app/types.d.ts +236 -0
  60. package/dist/packages/sdk-ui/src/infra/contexts/sisense-context/sisense-context.d.ts +1 -1
  61. package/dist/packages/sdk-ui/src/infra/contexts/theme-provider/theme-context.d.ts +2 -1
  62. package/dist/packages/sdk-ui/src/infra/decorators/component-decorators/with-tracking/with-tracking.d.ts +1 -1
  63. package/dist/packages/sdk-ui/src/infra/decorators/hook-decorators/with-tracking.d.ts +1 -1
  64. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/de-de.d.ts +17 -0
  65. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/en-us.d.ts +17 -0
  66. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-ar.d.ts +17 -0
  67. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-es.d.ts +17 -0
  68. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/fr-fr.d.ts +17 -0
  69. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/it-it.d.ts +17 -0
  70. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ja-jp.d.ts +17 -0
  71. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ko-kr.d.ts +17 -0
  72. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/nl-nl.d.ts +17 -0
  73. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/pt-br.d.ts +17 -0
  74. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ru-ru.d.ts +17 -0
  75. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/tr-tr.d.ts +17 -0
  76. package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/zh-cn.d.ts +17 -0
  77. package/dist/packages/sdk-ui/src/infra/translation/resources/en.d.ts +17 -0
  78. package/dist/packages/sdk-ui/src/infra/translation/resources/index.d.ts +34 -0
  79. package/dist/packages/sdk-ui/src/modules/ai/use-get-nlq-result.d.ts +1 -0
  80. package/dist/packages/sdk-ui/src/modules/ai/use-get-query-recommendations.d.ts +1 -0
  81. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/helpers/axis-type-detection.d.ts +17 -0
  82. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/helpers/chart-type-schemas.d.ts +37 -0
  83. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/helpers/index.d.ts +9 -0
  84. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/helpers/translate-data-options.d.ts +9 -0
  85. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/helpers/validate-chart-json.d.ts +19 -0
  86. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/translate-chart-from-json.d.ts +42 -0
  87. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/chart/translate-chart-to-json.d.ts +41 -0
  88. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/translate-dimensions-from-json.d.ts +11 -0
  89. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/translate-dimensions-to-json.d.ts +22 -0
  90. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-filters-from-json.d.ts → constructs/filters/translate-filters-from-json.d.ts} +2 -2
  91. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-filters-to-json.d.ts → constructs/filters/translate-filters-to-json.d.ts} +1 -1
  92. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-measures-from-json.d.ts → constructs/measures/translate-measures-from-json.d.ts} +4 -4
  93. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/measures/translate-measures-to-json.d.ts +22 -0
  94. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/index.d.ts +8 -3
  95. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/pivot-table/helpers/index.d.ts +7 -0
  96. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/pivot-table/helpers/translate-data-options.d.ts +14 -0
  97. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/pivot-table/helpers/validate-pivot-table-json.d.ts +19 -0
  98. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/pivot-table/translate-pivot-table-from-json.d.ts +12 -0
  99. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/pivot-table/translate-pivot-table-to-json.d.ts +12 -0
  100. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/constants.d.ts +8 -0
  101. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-query-from-json.d.ts → query/translate-query-from-json.d.ts} +3 -3
  102. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-query-to-jaql.d.ts → query/translate-query-to-jaql.d.ts} +1 -1
  103. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{translate-query-to-json.d.ts → query/translate-query-to-json.d.ts} +2 -2
  104. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/adapters.d.ts +19 -0
  105. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/index.d.ts +9 -0
  106. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/translate-axis-from-json.d.ts +24 -0
  107. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/translate-axis-to-json.d.ts +18 -0
  108. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/custom-formula/process-custom-formula.d.ts +1 -1
  109. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/custom-formula/validate-custom-formula.d.ts +13 -0
  110. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/execute-function.d.ts +1 -1
  111. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/factory-function-processors.d.ts +1 -1
  112. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/factory-function-schemas.d.ts +1 -1
  113. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/filter-processors.d.ts +1 -1
  114. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/formula-function-schemas.d.ts +25 -0
  115. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/process-arg.d.ts +1 -1
  116. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{process-function → shared/expression}/process-node.d.ts +1 -1
  117. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/attribute-helpers.d.ts +50 -0
  118. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/fuzzy-match.d.ts +16 -0
  119. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/{parse-compose-code.d.ts → shared/utils/parse-compose-code.d.ts} +1 -1
  120. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/schema-index.d.ts +49 -0
  121. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/translation-helpers.d.ts +31 -0
  122. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/types.d.ts +115 -4
  123. package/dist/packages/sdk-ui/src/modules/analytics-composer/types.d.ts +6 -6
  124. package/dist/packages/sdk-ui/src/props.d.ts +1 -1
  125. package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +1 -1
  126. package/dist/packages/sdk-ui/src/public-api/beta.d.ts +1 -1
  127. package/dist/packages/sdk-ui/src/public-api/internal.d.ts +8 -6
  128. package/dist/packages/sdk-ui/src/public-api/public.d.ts +1 -1
  129. package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +12 -5
  130. package/dist/packages/sdk-ui/src/shared/components/grouped-items-browser/types.d.ts +7 -1
  131. package/dist/packages/sdk-ui/src/shared/components/inline-text-editor/inline-text-editor.d.ts +26 -0
  132. package/dist/packages/sdk-ui/src/shared/components/inline-text-editor/use-blur-on-pointer-down-outside.d.ts +11 -0
  133. package/dist/packages/sdk-ui/src/shared/components/loading-indicator.d.ts +2 -1
  134. package/dist/packages/sdk-ui/src/shared/components/quota-notification/quota-notification.d.ts +2 -2
  135. package/dist/packages/sdk-ui/src/shared/hooks/use-app-settings.d.ts +2 -1
  136. package/dist/packages/sdk-ui/src/shared/hooks/use-quota-notification.d.ts +4 -4
  137. package/dist/packages/sdk-ui/src/shared/hooks/use-should-load.d.ts +1 -1
  138. package/dist/packages/sdk-ui/src/shared/hooks/use-with-change-detection.d.ts +5 -5
  139. package/dist/packages/sdk-ui/src/types.d.ts +3 -3
  140. package/dist/{quota-notification-D6oMJal8.js → quota-notification-CVl0isIV.js} +17901 -16770
  141. package/dist/quota-notification-RAaHp-eO.cjs +713 -0
  142. package/dist/translations/de-de.cjs +1 -1
  143. package/dist/translations/de-de.js +19 -2
  144. package/dist/translations/en-us.cjs +1 -1
  145. package/dist/translations/en-us.js +1 -1
  146. package/dist/translations/es-ar.cjs +1 -1
  147. package/dist/translations/es-ar.js +19 -2
  148. package/dist/translations/es-es.cjs +1 -1
  149. package/dist/translations/es-es.js +19 -2
  150. package/dist/translations/fr-fr.cjs +1 -1
  151. package/dist/translations/fr-fr.js +19 -2
  152. package/dist/translations/it-it.cjs +1 -1
  153. package/dist/translations/it-it.js +19 -2
  154. package/dist/translations/ja-jp.cjs +1 -1
  155. package/dist/translations/ja-jp.js +19 -2
  156. package/dist/translations/ko-kr.cjs +1 -1
  157. package/dist/translations/ko-kr.js +19 -2
  158. package/dist/translations/nl-nl.cjs +1 -1
  159. package/dist/translations/nl-nl.js +19 -2
  160. package/dist/translations/pt-br.cjs +1 -1
  161. package/dist/translations/pt-br.js +19 -2
  162. package/dist/translations/ru-ru.cjs +1 -1
  163. package/dist/translations/ru-ru.js +19 -2
  164. package/dist/translations/tr-tr.cjs +1 -1
  165. package/dist/translations/tr-tr.js +19 -2
  166. package/dist/translations/zh-cn.cjs +1 -1
  167. package/dist/translations/zh-cn.js +19 -2
  168. package/dist/{types-ixSwJkxM.js → types-B96nVbgX.js} +1 -1
  169. package/dist/{types-CoY6F8Ma.cjs → types-DZ4vWh8j.cjs} +1 -1
  170. package/dist/{utils-C8YMrOdw.cjs → utils-CgV-jWWQ.cjs} +33 -33
  171. package/dist/{utils-BP-BglHE.js → utils-ChqSLRbz.js} +3742 -3774
  172. package/dist/{widget-composer-DI4sHaNe.cjs → widget-composer-Blul90Zb.cjs} +1 -1
  173. package/dist/{widget-composer-CUUFoCb9.js → widget-composer-Cf_CN3Ux.js} +8 -8
  174. package/package.json +10 -8
  175. package/dist/dimensions-BiLyFpCg.js +0 -202
  176. package/dist/dimensions-X4_igtmO.cjs +0 -1
  177. package/dist/execute-query-BEeqqDl6.js +0 -5795
  178. package/dist/execute-query-DJDE0zRU.cjs +0 -1
  179. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/common.d.ts +0 -84
  180. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/translate-dimensions-from-json.d.ts +0 -12
  181. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/translate-dimensions-to-json.d.ts +0 -13
  182. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/translate-measures-to-json.d.ts +0 -13
  183. package/dist/quota-notification-z3dv2KoH.cjs +0 -672
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Attribute type predicates for filter validation.
3
+ *
4
+ * @internal
5
+ */
6
+ import { Attribute } from '@sisense/sdk-data';
7
+ /**
8
+ * Validates that an attribute is compatible with text values
9
+ *
10
+ * @param attribute - The attribute to validate
11
+ * @returns True if the attribute is a text type
12
+ */
13
+ export declare function isTextAttribute(attribute: Attribute): boolean;
14
+ /**
15
+ * Validates that an attribute is compatible with numeric values
16
+ *
17
+ * @param attribute - The attribute to validate
18
+ * @returns True if the attribute is a numeric type
19
+ */
20
+ export declare function isNumericAttribute(attribute: Attribute): boolean;
21
+ /**
22
+ * Validates that an attribute is a date/datetime type
23
+ *
24
+ * @param attribute - The attribute to validate
25
+ * @returns True if the attribute is a date/datetime type
26
+ */
27
+ export declare function isDateLevelAttribute(attribute: Attribute): boolean;
28
+ /**
29
+ * Validates that an attribute is compatible with text OR numeric values
30
+ * Used for filters like equals, doesntEqual that accept both text and number
31
+ *
32
+ * @param attribute - The attribute to validate
33
+ * @returns True if the attribute is text or numeric type
34
+ */
35
+ export declare function isTextOrNumericAttribute(attribute: Attribute): boolean;
36
+ /**
37
+ * Validates that an attribute is NOT a date type
38
+ * Used for filters that should not work with date attributes
39
+ *
40
+ * @param attribute - The attribute to validate
41
+ * @returns True if the attribute is not a date type
42
+ */
43
+ export declare function isNonDateLevelAttribute(attribute: Attribute): boolean;
44
+ /**
45
+ * Gets a display string for the attribute type
46
+ *
47
+ * @param attribute - The attribute to get the type display string for
48
+ * @returns A human-readable string representing the attribute type
49
+ */
50
+ export declare function getAttributeTypeDisplayString(attribute: Attribute): string;
@@ -0,0 +1,16 @@
1
+ /** Maximum edit distance for suggesting "Did you mean?" in error messages */
2
+ export declare const SUGGESTION_THRESHOLD = 3;
3
+ /**
4
+ * Finds the candidate with the smallest Levenshtein distance to the input.
5
+ * Used to enhance "not found" errors with "Did you mean 'X'?" when distance <= SUGGESTION_THRESHOLD.
6
+ *
7
+ * @param input - The string that was not found
8
+ * @param candidates - Array of valid candidates to match against
9
+ * @param getLabel - Function to extract the label string from each candidate
10
+ * @returns The best match and its distance, or undefined if candidates is empty
11
+ * @internal
12
+ */
13
+ export declare function findBestMatch<T>(input: string, candidates: readonly T[], getLabel: (c: T) => string): {
14
+ best: T;
15
+ distance: number;
16
+ } | undefined;
@@ -1,4 +1,4 @@
1
- import { FunctionCall } from './types.js';
1
+ import { FunctionCall } from '../../types.js';
2
2
  /**
3
3
  * Parses a composeCode string to FunctionCall format.
4
4
  *
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Schema index for efficient table/column lookups and dimensional name parsing.
3
+ *
4
+ * @internal
5
+ */
6
+ import { DateDimension, JaqlDataSourceForDto } from '@sisense/sdk-data';
7
+ import type { NormalizedColumn, NormalizedTable } from '../../../types.js';
8
+ /**
9
+ * Schema index for efficient table/column lookups and greedy matching
10
+ * @internal
11
+ */
12
+ export interface SchemaIndex {
13
+ /** Tables sorted by name length (descending) for greedy matching */
14
+ sortedTables: NormalizedTable[];
15
+ /** Columns sorted by name length (descending) per table for greedy matching */
16
+ tableColumnMap: Map<string, NormalizedColumn[]>;
17
+ /** O(1) table lookup by exact name */
18
+ tableMap: Map<string, NormalizedTable>;
19
+ /** O(1) column lookup: table name → (column name → column) */
20
+ columnMap: Map<string, Map<string, NormalizedColumn>>;
21
+ }
22
+ /**
23
+ * Creates a schema index with pre-sorted arrays and Maps for efficient lookups
24
+ *
25
+ * @param tables - Array of normalized tables
26
+ * @returns SchemaIndex with sorted arrays and Maps
27
+ * @internal
28
+ */
29
+ export declare function createSchemaIndex(tables: NormalizedTable[]): SchemaIndex;
30
+ /**
31
+ * Parses a dimensional name using schema-aware greedy matching to handle dots in table/column names
32
+ *
33
+ * @param dimensionalName - The dimensional name (e.g., "DM.Brand.io.Brand" or "DM.Commerce.Date.Years")
34
+ * @param schemaIndex - The schema index for efficient matching
35
+ * @returns Parsed result with matched table, column, and optional level
36
+ * @internal
37
+ */
38
+ export declare function parseDimensionalName(dimensionalName: string, schemaIndex: SchemaIndex): {
39
+ table: NormalizedTable;
40
+ column: NormalizedColumn;
41
+ level?: string;
42
+ };
43
+ /** Options for {@link createAttributeFromName} when translating custom formula context. */
44
+ export interface CreateAttributeFromNameOptions {
45
+ /** When the dimensional name has no date level, use this level for datetime columns (e.g. from time-diff function). */
46
+ inferredDateLevel?: string;
47
+ }
48
+ export declare function createAttributeFromName(attributeName: string, dataSource: JaqlDataSourceForDto, schemaIndex: SchemaIndex, options?: CreateAttributeFromNameOptions): import("@sisense/sdk-data").Attribute | import("@sisense/sdk-data").LevelAttribute;
49
+ export declare function createDateDimensionFromName(dateDimensionName: string, dataSource: JaqlDataSourceForDto, schemaIndex: SchemaIndex): DateDimension;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Translation result and JSON helpers.
3
+ *
4
+ * @internal
5
+ */
6
+ import { JSONValue } from '@sisense/sdk-data';
7
+ import type { NlqTranslationError, NlqTranslationResult } from '../../../types.js';
8
+ /**
9
+ * Recursively strips [[delimiters]] from all strings in a JSON structure.
10
+ * Transforms "DM.[[Commerce Sales]].[[Order Date]]" → "DM.Commerce Sales.Order Date"
11
+ *
12
+ * @param value - The JSON value to process
13
+ * @returns The value with all [[delimiters]] stripped from strings
14
+ * @internal
15
+ */
16
+ export declare function stripDelimitersFromJson<T extends JSONValue>(value: T): T;
17
+ export declare function getSuccessData<T>(result: NlqTranslationResult<T>): T;
18
+ export declare function getErrors<T>(result: NlqTranslationResult<T>): string[];
19
+ /**
20
+ * Helper function to collect structured errors from translation operations.
21
+ *
22
+ * Executes a translation function and collects any errors into the provided errors array.
23
+ * Returns the translated data if successful, or null if errors occurred.
24
+ *
25
+ * @param translateFn - Function that returns a NlqTranslationResult
26
+ * @param errors - Array to collect errors into
27
+ * @param mapError - Optional mapper to transform errors before pushing (e.g., add axis context for chart dataOptions)
28
+ * @returns The translated data if successful, or null if errors occurred
29
+ * @internal
30
+ */
31
+ export declare function collectTranslationErrors<T>(translateFn: () => NlqTranslationResult<T>, errors: NlqTranslationError[], mapError?: (e: NlqTranslationError) => NlqTranslationError): T | null;
@@ -1,7 +1,8 @@
1
- import { Filter, FilterRelations, JaqlDataSourceForDto, JSONArray, JSONValue, Measure } from '@sisense/sdk-data';
1
+ import { Attribute, Filter, FilterRelations, JaqlDataSourceForDto, JSONArray, Measure, PivotGrandTotals } from '@sisense/sdk-data';
2
2
  import { CategoryStyle, SeriesStyle, ValueStyle } from '../../../public-api/index.js';
3
- import { NlqTranslationInput } from '../types.js';
4
- import type { SchemaIndex } from './common.js';
3
+ import type { PivotTableStyleOptions } from '../../../types.js';
4
+ import { DataSchemaContext, NlqTranslationInput } from '../types.js';
5
+ import type { SchemaIndex } from './shared/utils/schema-index.js';
5
6
  /**
6
7
  * Internal context type that uses schemaIndex for efficient lookups
7
8
  * @internal
@@ -11,6 +12,8 @@ export interface InternalDataSchemaContext {
11
12
  dataSource: JaqlDataSourceForDto;
12
13
  /** Schema index for efficient table/column lookups */
13
14
  schemaIndex: SchemaIndex;
15
+ /** Chart type for axis-specific translation (e.g., pivot columns, boxplot value) */
16
+ chartType?: string;
14
17
  }
15
18
  export declare const DIMENSIONAL_NAME_PREFIX = "DM.";
16
19
  export type ArgType = 'string' | 'string[]' | 'number' | 'number[]' | 'boolean' | 'Attribute' | 'Attribute[]' | 'Measure' | 'BaseMeasure' | 'Measure[]' | 'Filter' | 'Filter[]' | 'FilterRelationsNode' | 'DateDimension' | 'LevelAttribute' | 'Measure | number' | 'Date | string' | 'string | number' | 'BaseFilterConfig' | 'MembersFilterConfig' | 'CustomFormulaContext' | 'any';
@@ -52,12 +55,35 @@ export type ArgInput = NlqTranslationInput<Arg, ArgContext>;
52
55
  * Custom processor function signature.
53
56
  */
54
57
  export type CustomFunctionProcessor = (processedArgs: ProcessedArg[], context: FunctionContext) => void;
55
- export declare function isFunctionCall(value: JSONValue): value is FunctionCall;
58
+ /**
59
+ * Type guard: value is a non-null object (Record<string, unknown>).
60
+ * @internal
61
+ */
62
+ export declare function isRecordStringUnknown(value: unknown): value is Record<string, unknown>;
63
+ export declare function isFunctionCall(value: unknown): value is FunctionCall;
56
64
  export declare function isFunctionCallArray(value: JSONArray): value is FunctionCall[];
57
65
  export declare function isFilterElement(arg: QueryElement): arg is Filter;
58
66
  export declare function isFilterRelationsElement(arg: QueryElement): arg is FilterRelations;
59
67
  export declare function isMeasureElement(arg: QueryElement): arg is Measure;
60
68
  export declare function isStringArray(value: JSONArray): value is string[];
69
+ /**
70
+ * Enriched dimension translation result. Style uses CategoryStyle (same as StyledColumn).
71
+ *
72
+ * @internal
73
+ */
74
+ export type DimensionTranslationItem = {
75
+ attribute: Attribute;
76
+ style?: CategoryStyle;
77
+ };
78
+ /**
79
+ * Enriched measure translation result. Style uses ValueStyle & SeriesStyle (same as StyledMeasureColumn).
80
+ *
81
+ * @internal
82
+ */
83
+ export type MeasureTranslationItem = {
84
+ measure: Measure;
85
+ style?: ValueStyle & SeriesStyle;
86
+ };
61
87
  /**
62
88
  * JSON-facing type for a styled dimension/attribute.
63
89
  * Reusable for query JSON and future chart JSON (translateChartFromJSON).
@@ -102,3 +128,88 @@ export declare function isStyledColumnJSON(value: unknown): value is StyledColum
102
128
  * @internal
103
129
  */
104
130
  export declare function isStyledMeasureColumnJSON(value: unknown): value is StyledMeasureColumnJSON;
131
+ /**
132
+ * JSON representation of chart data options.
133
+ * Maps axis names to arrays of dimension or measure items.
134
+ * Supports all chart types (cartesian, categorical, scatter, etc.).
135
+ *
136
+ * @internal
137
+ */
138
+ export interface DataOptionsJSON {
139
+ category?: DimensionItemJSON[];
140
+ /** Array for cartesian/categorical; single for calendar-heatmap */
141
+ value?: MeasureItemJSON[] | MeasureItemJSON;
142
+ breakBy?: DimensionItemJSON[];
143
+ x?: DimensionItemJSON | MeasureItemJSON;
144
+ y?: DimensionItemJSON | MeasureItemJSON;
145
+ breakByPoint?: DimensionItemJSON;
146
+ breakByColor?: DimensionItemJSON | MeasureItemJSON;
147
+ size?: MeasureItemJSON;
148
+ boxType?: MeasureItemJSON;
149
+ outliers?: MeasureItemJSON[];
150
+ geo?: DimensionItemJSON[];
151
+ colorBy?: MeasureItemJSON;
152
+ details?: DimensionItemJSON;
153
+ color?: MeasureItemJSON[];
154
+ date?: DimensionItemJSON;
155
+ columns?: (DimensionItemJSON | MeasureItemJSON)[];
156
+ rows?: DimensionItemJSON[];
157
+ values?: MeasureItemJSON[];
158
+ secondary?: MeasureItemJSON[];
159
+ min?: MeasureItemJSON[];
160
+ max?: MeasureItemJSON[];
161
+ }
162
+ /**
163
+ * JSON representation of a chart configuration from NLQ API.
164
+ * Matches the structure returned by NLQ v3 for chart recommendations.
165
+ * Reusable for chart JSON translation (translateChartFromJSON/translateChartToJSON).
166
+ *
167
+ * @internal
168
+ */
169
+ export interface ChartJSON {
170
+ /** Chart type (e.g., 'column', 'line', 'bar', 'pie', 'scatter') */
171
+ chartType: string;
172
+ /** Data options mapping chart axes to dimensions/measures */
173
+ dataOptions: DataOptionsJSON;
174
+ /** Optional style options for chart appearance (colors, legend, axes, etc.) */
175
+ styleOptions?: Record<string, unknown>;
176
+ /** Optional filters to apply to the chart data */
177
+ filters?: FunctionCall[];
178
+ /** Optional highlights (filter criteria) to apply to the chart */
179
+ highlights?: FunctionCall[];
180
+ }
181
+ /**
182
+ * Input type for chart translation (JSON → CSDK).
183
+ * Combines chartJSON with data schema context.
184
+ *
185
+ * @internal
186
+ */
187
+ export type ChartInput = NlqTranslationInput<ChartJSON, DataSchemaContext>;
188
+ /**
189
+ * JSON representation of pivot table data options.
190
+ *
191
+ * @internal
192
+ */
193
+ export interface PivotTableDataOptionsJSON {
194
+ rows?: DimensionItemJSON[];
195
+ columns?: DimensionItemJSON[];
196
+ values?: MeasureItemJSON[];
197
+ grandTotals?: PivotGrandTotals;
198
+ }
199
+ /**
200
+ * JSON representation of pivot table config from NLQ API.
201
+ *
202
+ * @internal
203
+ */
204
+ export interface PivotTableJSON {
205
+ dataOptions: PivotTableDataOptionsJSON;
206
+ styleOptions?: PivotTableStyleOptions;
207
+ filters?: FunctionCall[];
208
+ highlights?: FunctionCall[];
209
+ }
210
+ /**
211
+ * Input type for pivot table translation (JSON → CSDK).
212
+ *
213
+ * @internal
214
+ */
215
+ export type PivotTableInput = NlqTranslationInput<PivotTableJSON, DataSchemaContext>;
@@ -1,4 +1,4 @@
1
- import { JaqlDataSourceForDto, JSONArray, JSONValue, MetadataItem } from '@sisense/sdk-data';
1
+ import { JaqlDataSourceForDto, JSONArray, MetadataItem } from '@sisense/sdk-data';
2
2
  import type { DashboardByIdConfig } from '../../domains/dashboarding';
3
3
  import { DashboardProps } from '../../domains/dashboarding/types.js';
4
4
  import { ExecutePivotQueryParams, ExecuteQueryParams } from '../../domains/query-execution/index.js';
@@ -353,12 +353,12 @@ export type QueryInput = NlqTranslationInput<NlqResponseJSON, DataSchemaContext>
353
353
  * @internal
354
354
  */
355
355
  export type NlqTranslationErrorContext = {
356
- /** The category of the query element that failed (dimensions, measures, filters, highlights) */
357
- category: 'dimensions' | 'measures' | 'filters' | 'highlights';
358
- /** The index of the element within its category array */
359
- index: number;
356
+ /** The category of the query/chart element that failed (dimensions, measures, filters, highlights, dataOptions, chartType, styleOptions) */
357
+ category: 'dimensions' | 'measures' | 'filters' | 'highlights' | 'dataOptions' | 'chartType' | 'styleOptions';
358
+ /** The index of the element within its category array, or axis key for dataOptions (e.g. "category", "value") */
359
+ index: number | string;
360
360
  /** The complete original input that caused the error */
361
- input: JSONValue;
361
+ input: unknown;
362
362
  };
363
363
  /**
364
364
  * Structured error information for translation failures.
@@ -8,7 +8,7 @@ import { AreamapChartDataOptions, BoxplotChartCustomDataOptions, BoxplotChartDat
8
8
  import { HighchartsOptions } from './domains/visualizations/core/chart-options-processor/chart-options-service';
9
9
  import type { ChartWidgetProps } from './domains/widgets/components/chart-widget/types';
10
10
  import { FiltersMergeStrategy } from './domains/widgets/components/widget-by-id/types';
11
- import { AppConfig } from './infra/app/client-application';
11
+ import { type AppConfig } from './infra/app/types';
12
12
  import type { Plugin } from './infra/contexts/plugin-provider/types';
13
13
  import { AreamapDataPoint, AreamapStyleOptions, AreaRangeStyleOptions, AreaStyleOptions, BoxplotDataPoint, BoxplotStyleOptions, CalendarHeatmapDataPoint, CalendarHeatmapStyleOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ChartDataOptions, ChartDataPoints, ChartStyleOptions, ChartType, CustomDrilldownResult, DataPoint, DrilldownOptions, DrilldownSelection, FunnelStyleOptions, IndicatorDataPoint, IndicatorRenderOptions, IndicatorStyleOptions, LineStyleOptions, MenuAlignment, MenuItemSection, MenuPosition, PieStyleOptions, PivotTableDataPoint, PivotTableDrilldownOptions, PivotTableStyleOptions, PolarStyleOptions, RegularChartStyleOptions, RegularChartType, ScatterDataPoint, ScattermapDataPoint, ScattermapStyleOptions, ScatterStyleOptions, StackableStyleOptions, StreamgraphStyleOptions, SunburstStyleOptions, TableStyleOptions, TabularChartStyleOptions, TextWidgetDataPoint, ThemeConfig, ThemeOid, ThemeSettings, TreemapStyleOptions, WidgetByIdStyleOptions } from './types';
14
14
  export type { TabberButtonsWidgetProps } from './domains/widgets/components/tabber-buttons-widget/types';
@@ -4,4 +4,4 @@
4
4
  * Alpha APIs are highly experimental and subject to change.
5
5
  * Not recommended for production use.
6
6
  */
7
- export { useQueryCache } from '../domains/query-execution/hooks/use-query-cache/use-query-cache';
7
+ export { useDashboardTheme } from '../domains/dashboarding/use-dashboard-theme.js';
@@ -4,4 +4,4 @@
4
4
  * Beta APIs are under evaluation and may change in future releases.
5
5
  * Not recommended for production use.
6
6
  */
7
- export {};
7
+ export { useQueryCache } from '../domains/query-execution/hooks/use-query-cache/use-query-cache';
@@ -4,11 +4,12 @@
4
4
  * Such APIs are for CSDK cross-packages usage only.
5
5
  * These APIs may change without notice and are not part of the public contract.
6
6
  */
7
- export { type ClientApplication, createClientApplication } from '../infra/app/client-application';
7
+ export { type ClientApplication } from '../infra/app/types';
8
+ export { createClientApplication } from '../infra/app/client-application';
8
9
  export { queryStateReducer } from '../domains/query-execution/hooks/shared/query-state-reducer';
9
10
  export { useExecuteCsvQueryInternal, useExecutePivotQueryInternal, executeQueryByWidgetId, } from '../domains/query-execution';
10
11
  export { executeCsvQuery, executePivotQuery, executeQuery, } from '../domains/query-execution/core/execute-query';
11
- export { useDashboardModel, getDashboardModel, getDashboardModels, translateToDashboardResponse, translateToDashboardsResponse, translateFiltersAndRelationsToDto, } from '../domains/dashboarding/dashboard-model';
12
+ export { useDashboardModel, getDashboardModel, getDashboardModels, translateToDashboardResponse, translateToDashboardsResponse, } from '../domains/dashboarding/dashboard-model';
12
13
  export { getWidgetModel } from '../domains/widgets/widget-model';
13
14
  export { getHierarchyModels } from '../domains/drilldown/hierarchy-model';
14
15
  export { getThemeSettingsByOid } from '../infra/themes/theme-loader';
@@ -18,13 +19,14 @@ export { getSelectionTitleMenuItem, getDrilldownMenuItems, } from '../domains/dr
18
19
  export { processDrilldownSelections } from '../domains/drilldown/hooks/use-drilldown-core';
19
20
  export { CommonWidget, type CommonWidgetProps } from '../domains/widgets/components/common-widget';
20
21
  export { TableWidget, type TableWidgetProps } from '../domains/widgets/components/table-widget';
21
- export * from '../infra/contexts/custom-widgets-provider/custom-widgets-provider-adapter';
22
+ export { CustomWidgetsProviderAdapter, type CustomWidgetsContextAdapter, type CustomWidgetsProviderAdapterProps, } from '../infra/contexts/custom-widgets-provider/custom-widgets-provider-adapter';
22
23
  export { useGetSharedFormulaInternal } from '../domains/formulas/use-get-shared-formula';
23
24
  export { translateColumnToAttribute } from '../domains/visualizations/core/chart-data-options/utils';
24
25
  export { isSameAttribute } from '../shared/utils/filters';
25
- export { isChartWidgetProps, isPivotTableWidgetProps, isTextWidgetProps, isCustomWidgetProps, } from '../domains/widgets/components/widget-by-id/utils';
26
+ export { isTextWidgetProps, isCustomWidgetProps, } from '../domains/widgets/components/widget-by-id/utils';
26
27
  export { getChartType } from '../domains/widgets/components/widget-by-id/utils';
27
28
  export type { SoftUnion } from '../shared/utils/utility-types';
28
29
  export type { BeforeMenuOpenHandler } from '../infra/contexts/menu-provider/types';
29
- export * from '../shared/hooks/data-load-state-reducer';
30
- export * from '../domains/widgets/helpers';
30
+ export { type DataState, type DataLoadingState, type DataErrorState, type DataSuccessState, dataLoadStateReducer, } from '../shared/hooks/data-load-state-reducer';
31
+ export { trackHook } from '../infra/decorators/hook-decorators/with-tracking';
32
+ export { widgetHelpers } from '../domains/widgets/helpers';
@@ -50,7 +50,7 @@ export { TabberButtonsWidget } from '../domains/widgets/components/tabber-button
50
50
  export { DrilldownBreadcrumbs } from '../domains/drilldown/components/drilldown-breadcrumbs';
51
51
  export * from '../infra/contexts/custom-widgets-provider/types';
52
52
  export { useCustomWidgets } from '../infra/contexts/custom-widgets-provider';
53
- export { useGetDashboardModel, useGetDashboardModels, useDashboardModel, type DashboardModel, type GetDashboardModelParams, type GetDashboardModelsParams, type DashboardModelState, type DashboardModelLoadingState, type DashboardModelSuccessState, type DashboardModelErrorState, type DashboardModelsState, type DashboardModelsLoadingState, type DashboardModelsSuccessState, type DashboardModelsErrorState, type GetDashboardModelOptions, type GetDashboardModelsOptions, type WidgetsPanelColumnLayout, type WidgetsPanelLayout, type WidgetsPanelColumn, type WidgetsPanelRow, type WidgetsPanelCell, type WidgetId, type DashboardId, type WidgetsOptions, type SpecificWidgetOptions, type CommonFiltersOptions, type CommonFiltersApplyMode, type FiltersIgnoringRules, UseDashboardModelActionType, } from '../domains/dashboarding/dashboard-model';
53
+ export { useGetDashboardModel, useGetDashboardModels, useDashboardModel, type DashboardModel, type GetDashboardModelParams, type GetDashboardModelsParams, type DashboardModelState, type DashboardModelLoadingState, type DashboardModelSuccessState, type DashboardModelErrorState, type DashboardModelsState, type DashboardModelsLoadingState, type DashboardModelsSuccessState, type DashboardModelsErrorState, type GetDashboardModelOptions, type GetDashboardModelsOptions, type WidgetsPanelColumnLayout, type WidgetsPanelLayout, type WidgetsPanelColumn, type WidgetsPanelRow, type WidgetsPanelCell, type WidgetId, type DashboardId, type WidgetsOptions, type SpecificWidgetOptions, type CommonFiltersOptions, type CommonFiltersApplyMode, type FiltersIgnoringRules, } from '../domains/dashboarding/dashboard-model';
54
54
  export { useGetWidgetModel, type WidgetModel, type WidgetDataOptions, type WidgetModelState, type WidgetModelLoadingState, type WidgetModelErrorState, type WidgetModelSuccessState, type GetWidgetModelParams, } from '../domains/widgets/widget-model';
55
55
  export { useGetHierarchyModels, type HierarchyModel, type Hierarchy, type HierarchyId, type GetHierarchyModelsParams, type HierarchyModelsState, type HierarchyModelsLoadingState, type HierarchyModelsErrorState, type HierarchyModelsSuccessState, } from '../domains/drilldown/hierarchy-model';
56
56
  export * from '../domains/filters';
@@ -5,17 +5,24 @@
5
5
  * These APIs may change for in-company needs and are not part of the public contract.
6
6
  */
7
7
  export { useDashboardPersistence } from '../domains/dashboarding/dashboard-model';
8
- export * from '../infra/decorators/component-decorators/with-tracking';
9
- /** List of unclear exports which should be verified */
8
+ export { translateFiltersAndRelationsToDto } from '../domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/utils.js';
9
+ export { UseDashboardModelActionType } from '../domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.js';
10
+ export { type DashboardDto } from '../infra/api/types/dashboard-dto';
11
+ export { type WidgetDto } from '../domains/widgets/components/widget-by-id/types';
12
+ export { getDashboardModel } from '../domains/dashboarding/dashboard-model/get-dashboard-model.js';
13
+ export { withTracking } from '../infra/decorators/component-decorators/with-tracking';
10
14
  export { createDataOptionsFromPanels } from '../domains/widgets/components/widget-by-id/translate-widget-data-options';
11
15
  export { extractCombinedFilters } from '../domains/widgets/components/widget-by-id/translate-dashboard-filters';
12
- export { trackHook } from '../infra/decorators/hook-decorators';
13
16
  export { useThemeContext } from '../infra/contexts/theme-provider';
14
- export { type DashboardDto } from '../infra/api/types/dashboard-dto';
15
- export { type WidgetDto } from '../domains/widgets/components/widget-by-id/types';
16
17
  export { useAppSettings } from '../shared/hooks/use-app-settings';
17
18
  export type { AppSettings } from '../infra/app/settings/settings';
18
19
  export { QuotaNotification } from '../shared/components/quota-notification/quota-notification.js';
19
20
  export type { QuotaNotificationProps } from '../shared/components/quota-notification/quota-notification.js';
20
21
  export { useQuotaNotification } from '../shared/hooks/use-quota-notification.js';
21
22
  export type { QuotaNotificationOptions, QuotaApiResponse, QuotaState, } from '../shared/hooks/use-quota-notification.js';
23
+ export { LoadingIndicator } from '../shared/components/loading-indicator.js';
24
+ export { DataSchemaBrowser } from '../domains/data-browser/data-schema-browser/data-schema-browser.js';
25
+ export type { NlqChartWidgetStyleOptions } from '../types';
26
+ export type { RenderTitleHandler } from '../types';
27
+ export { isChartWidgetProps } from '../domains/widgets/components/widget-by-id/utils.js';
28
+ export { isPivotTableWidgetProps } from '../domains/widgets/components/widget-by-id/utils.js';
@@ -36,10 +36,16 @@ export type GroupSecondaryActionConfig = {
36
36
  };
37
37
  export type ItemActionConfig = {
38
38
  onClick(this: void, item: Item): void;
39
+ getLabel?: (this: void, item: Item) => string;
39
40
  };
40
41
  export type ItemSecondaryActionConfig = {
41
42
  SecondaryActionButtonIcon: React.ComponentType<{
42
43
  item: Item;
43
44
  }>;
44
- onClick(this: void, item: Item): void;
45
+ /**
46
+ * When true, the row keeps hover/focus style after the secondary action is clicked (e.g. while a menu is open).
47
+ * The row is cleared when the consumer calls the `onSubmit` callback passed to `onClick`.
48
+ */
49
+ keepFocusedOnClick?: boolean;
50
+ onClick(this: void, item: Item, event: React.MouseEvent, onSubmit: () => void): void;
45
51
  };
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Props for the InlineTextEditor component.
4
+ */
5
+ export interface InlineTextEditorProps {
6
+ /** Current text value */
7
+ value: string;
8
+ /** Whether the editor is in editing mode */
9
+ isEditing: boolean;
10
+ /** Called when text is committed (on blur / Enter) */
11
+ onCommit: (newValue: string) => void;
12
+ /** Called to request entering/leaving edit mode */
13
+ onEditingChange: (editing: boolean) => void;
14
+ /** Called when editing is cancelled (on Escape). May be undefined if onEditingChange handles it. */
15
+ onCancel?: () => void;
16
+ /** Placeholder text when value is empty */
17
+ placeholder?: string;
18
+ }
19
+ /**
20
+ * Inline text editor for editable titles.
21
+ * Renders as plain text when not editing; switches to an input when in edit mode.
22
+ * Supports double-click to enter edit mode, Enter/blur to commit, Escape to cancel.
23
+ *
24
+ * @internal
25
+ */
26
+ export declare function InlineTextEditor({ value, isEditing, onCommit, onEditingChange, onCancel, placeholder, }: InlineTextEditorProps): React.ReactElement;
@@ -0,0 +1,11 @@
1
+ import { type RefObject } from 'react';
2
+ /**
3
+ * Blurs the given element when a pointerdown occurs outside it.
4
+ * Used to commit inline editors when the user clicks on elements that call
5
+ * preventDefault() on mousedown (e.g. chart libraries), so the browser never fires blur.
6
+ *
7
+ * @param elementRef - Ref to the element that should lose focus on outside pointerdown
8
+ * @param isActive - When true, the document listener is attached; when false, it is removed
9
+ * @internal
10
+ */
11
+ export declare function useBlurOnPointerDownOutside(elementRef: RefObject<HTMLElement | null>, isActive: boolean): void;
@@ -8,7 +8,8 @@ import { CompleteThemeSettings } from '../../types.js';
8
8
  * @returns A loading indicator with optional cancel.
9
9
  *
10
10
  * @deprecated Use LoadingOverlay instead.
11
- * @internal
11
+ *
12
+ * @sisenseInternal
12
13
  */
13
14
  export declare const LoadingIndicator: ({ themeSettings, onCancel, }: {
14
15
  themeSettings?: CompleteThemeSettings | undefined;
@@ -2,7 +2,7 @@ import { type QuotaNotificationOptions } from '../../hooks/use-quota-notificatio
2
2
  /**
3
3
  * Props for QuotaNotification component
4
4
  *
5
- * @internal
5
+ * @sisenseInternal
6
6
  */
7
7
  export interface QuotaNotificationProps extends QuotaNotificationOptions {
8
8
  /**
@@ -27,6 +27,6 @@ export interface QuotaNotificationProps extends QuotaNotificationOptions {
27
27
  *
28
28
  * @param props - QuotaNotification props
29
29
  * @returns QuotaNotification component or null
30
- * @internal
30
+ * @sisenseInternal
31
31
  */
32
32
  export declare function QuotaNotification({ className, warningDismissed: controlledWarningDismissed, onDismissWarning, enabled, warningThreshold, exceededThreshold, }?: QuotaNotificationProps): import("react/jsx-runtime").JSX.Element | null;
@@ -6,6 +6,7 @@ import type { AppSettings } from '../../infra/app/settings/settings';
6
6
  * when customizing components wrapped inside SisenseContextProvider.
7
7
  *
8
8
  * @returns AppSettings when app is initialized, undefined otherwise
9
- * @internal
9
+ *
10
+ * @sisenseInternal
10
11
  */
11
12
  export declare const useAppSettings: () => AppSettings | undefined;
@@ -3,7 +3,7 @@ export declare const DEFAULT_EXCEEDED_THRESHOLD = 100;
3
3
  /**
4
4
  * Response from the quota/credit balance API
5
5
  *
6
- * @internal
6
+ * @sisenseInternal
7
7
  */
8
8
  export interface QuotaApiResponse {
9
9
  balance: number;
@@ -14,7 +14,7 @@ export interface QuotaApiResponse {
14
14
  /**
15
15
  * Calculated quota state from API response
16
16
  *
17
- * @internal
17
+ * @sisenseInternal
18
18
  */
19
19
  export interface QuotaState {
20
20
  initialBalance: number;
@@ -26,7 +26,7 @@ export interface QuotaState {
26
26
  /**
27
27
  * Options for useQuotaNotification
28
28
  *
29
- * @internal
29
+ * @sisenseInternal
30
30
  */
31
31
  export interface QuotaNotificationOptions {
32
32
  /** Whether to fetch. When false, skips API calls and polling. Defaults to feature-flag value. */
@@ -44,7 +44,7 @@ export interface QuotaNotificationOptions {
44
44
  *
45
45
  * @param options - Quota notification options. When enabled is false, skips fetching and polling.
46
46
  * @returns Quota state, enabled flag, loading status, and error
47
- * @internal
47
+ * @sisenseInternal
48
48
  */
49
49
  export declare const useQuotaNotification: (options?: QuotaNotificationOptions) => {
50
50
  enabled: boolean;
@@ -1,4 +1,4 @@
1
- import { ClientApplication } from '../../infra/app/client-application.js';
1
+ import { ClientApplication } from '../../infra/app/types.js';
2
2
  /**
3
3
  * Hook that generates a function for testing whether or not load
4
4
  * should be performed for this render
@@ -1,8 +1,8 @@
1
1
  import { AnyObject } from '../../shared/utils/utility-types';
2
2
  export declare const defaultMerger: <P extends AnyObject>(existingValue: P, delta: Partial<P>) => P & Partial<P>;
3
- type UseWithChangeDetectionParams<P extends AnyObject> = {
3
+ type UseWithChangeDetectionParams<P extends AnyObject, E extends object = Partial<P>> = {
4
4
  target: P | P[];
5
- onChange: (delta: Partial<P>, index?: number) => void;
5
+ onChange: (event: E, index?: number) => void;
6
6
  };
7
7
  /**
8
8
  * A hook that extends a target object (or array of objects) with change detection functionality.
@@ -12,9 +12,9 @@ type UseWithChangeDetectionParams<P extends AnyObject> = {
12
12
  *
13
13
  * @internal
14
14
  */
15
- export declare function useWithChangeDetection<P extends AnyObject>(params: UseWithChangeDetectionParams<P>): (P & {
16
- onChange: (delta: Partial<P>) => void;
15
+ export declare function useWithChangeDetection<P extends AnyObject, E extends object = Partial<P>>(params: UseWithChangeDetectionParams<P, E>): (P & {
16
+ onChange: (event: E) => void;
17
17
  }) | (P & {
18
- onChange: (delta: Partial<P>) => void;
18
+ onChange: (event: E) => void;
19
19
  })[];
20
20
  export {};
@@ -17,7 +17,7 @@ import { DataPointsEventHandler } from './props';
17
17
  import { GradientColor } from './shared/utils/gradient';
18
18
  import { SoftUnion } from './shared/utils/utility-types';
19
19
  export type { SortDirection, PivotRowsSort } from '@sisense/sdk-data';
20
- export type { AppConfig } from './infra/app/client-application';
20
+ export type { AppConfig } from './infra/app/types';
21
21
  export type { DateConfig } from './domains/query-execution/core/date-formats';
22
22
  export type { CalendarDayOfWeek } from './domains/visualizations/components/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/utils';
23
23
  export type { CartesianChartDataOptions, CategoricalChartDataOptions, ChartDataOptions, ScatterChartDataOptions, IndicatorChartDataOptions, CalendarHeatmapChartDataOptions, StyledColumn, StyledMeasureColumn, } from './domains/visualizations/core/chart-data-options/types';
@@ -2028,7 +2028,7 @@ export interface WidgetContainerStyleOptions {
2028
2028
  /**
2029
2029
  * Configuration options that define functional style of the various elements of the Nlq Chart Widget
2030
2030
  *
2031
- * @internal
2031
+ * @sisenseInternal
2032
2032
  */
2033
2033
  export type NlqChartWidgetStyleOptions = {
2034
2034
  header?: {
@@ -2037,7 +2037,7 @@ export type NlqChartWidgetStyleOptions = {
2037
2037
  };
2038
2038
  /** @internal */
2039
2039
  export type RenderToolbarHandler = (onRefresh: () => void, defaultToolbar: JSX.Element) => JSX.Element | null;
2040
- /** @internal */
2040
+ /** @sisenseInternal */
2041
2041
  export type RenderTitleHandler = (defaultHeaderTitle: ReactNode) => ReactNode;
2042
2042
  /** @internal */
2043
2043
  export type TextWidgetRenderToolbarHandler = (defaultToolbar: ReactNode) => ReactNode;