@thoughtspot/visual-embed-sdk 1.47.2 → 1.48.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 (190) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts.map +1 -1
  3. package/cjs/src/auth.js +11 -1
  4. package/cjs/src/auth.js.map +1 -1
  5. package/cjs/src/auth.spec.js +38 -0
  6. package/cjs/src/auth.spec.js.map +1 -1
  7. package/cjs/src/authToken.d.ts +2 -0
  8. package/cjs/src/authToken.d.ts.map +1 -1
  9. package/cjs/src/authToken.js +7 -5
  10. package/cjs/src/authToken.js.map +1 -1
  11. package/cjs/src/embed/app.d.ts +7 -2
  12. package/cjs/src/embed/app.d.ts.map +1 -1
  13. package/cjs/src/embed/app.js +4 -1
  14. package/cjs/src/embed/app.js.map +1 -1
  15. package/cjs/src/embed/app.spec.js +121 -0
  16. package/cjs/src/embed/app.spec.js.map +1 -1
  17. package/cjs/src/embed/conversation.d.ts +2 -1
  18. package/cjs/src/embed/conversation.d.ts.map +1 -1
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +1 -1
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js +4 -1
  23. package/cjs/src/embed/liveboard.js.map +1 -1
  24. package/cjs/src/embed/liveboard.spec.js +32 -0
  25. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  26. package/cjs/src/embed/search.d.ts +24 -1
  27. package/cjs/src/embed/search.d.ts.map +1 -1
  28. package/cjs/src/embed/search.js +15 -2
  29. package/cjs/src/embed/search.js.map +1 -1
  30. package/cjs/src/embed/search.spec.js +99 -0
  31. package/cjs/src/embed/search.spec.js.map +1 -1
  32. package/cjs/src/embed/spotter-utils.d.ts +3 -0
  33. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  34. package/cjs/src/embed/spotter-utils.js +11 -3
  35. package/cjs/src/embed/spotter-utils.js.map +1 -1
  36. package/cjs/src/embed/spotter-utils.spec.js +51 -0
  37. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  38. package/cjs/src/embed/ts-embed.d.ts +1 -0
  39. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  40. package/cjs/src/embed/ts-embed.js +17 -5
  41. package/cjs/src/embed/ts-embed.js.map +1 -1
  42. package/cjs/src/embed/ts-embed.spec.js +168 -0
  43. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  44. package/cjs/src/index.d.ts +2 -2
  45. package/cjs/src/index.d.ts.map +1 -1
  46. package/cjs/src/index.js +8 -1
  47. package/cjs/src/index.js.map +1 -1
  48. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  49. package/cjs/src/mixpanel-service.js +2 -0
  50. package/cjs/src/mixpanel-service.js.map +1 -1
  51. package/cjs/src/mixpanel-service.spec.js +2 -0
  52. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  53. package/cjs/src/test/test-utils.d.ts +1 -0
  54. package/cjs/src/test/test-utils.d.ts.map +1 -1
  55. package/cjs/src/test/test-utils.js +26 -1
  56. package/cjs/src/test/test-utils.js.map +1 -1
  57. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  58. package/cjs/src/tokenizedFetch.js +12 -9
  59. package/cjs/src/tokenizedFetch.js.map +1 -1
  60. package/cjs/src/tokenizedFetch.spec.d.ts +2 -0
  61. package/cjs/src/tokenizedFetch.spec.d.ts.map +1 -0
  62. package/cjs/src/tokenizedFetch.spec.js +68 -0
  63. package/cjs/src/tokenizedFetch.spec.js.map +1 -0
  64. package/cjs/src/types.d.ts +466 -13
  65. package/cjs/src/types.d.ts.map +1 -1
  66. package/cjs/src/types.js +149 -5
  67. package/cjs/src/types.js.map +1 -1
  68. package/dist/{index-CFZ7RDZ9.js → index-Ck-r09gt.js} +1 -1
  69. package/dist/src/auth.d.ts.map +1 -1
  70. package/dist/src/authToken.d.ts +2 -0
  71. package/dist/src/authToken.d.ts.map +1 -1
  72. package/dist/src/embed/app.d.ts +7 -2
  73. package/dist/src/embed/app.d.ts.map +1 -1
  74. package/dist/src/embed/conversation.d.ts +2 -1
  75. package/dist/src/embed/conversation.d.ts.map +1 -1
  76. package/dist/src/embed/liveboard.d.ts +1 -1
  77. package/dist/src/embed/liveboard.d.ts.map +1 -1
  78. package/dist/src/embed/search.d.ts +24 -1
  79. package/dist/src/embed/search.d.ts.map +1 -1
  80. package/dist/src/embed/spotter-utils.d.ts +3 -0
  81. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  82. package/dist/src/embed/ts-embed.d.ts +1 -0
  83. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  84. package/dist/src/index.d.ts +2 -2
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/mixpanel-service.d.ts.map +1 -1
  87. package/dist/src/test/test-utils.d.ts +1 -0
  88. package/dist/src/test/test-utils.d.ts.map +1 -1
  89. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  90. package/dist/src/tokenizedFetch.spec.d.ts +2 -0
  91. package/dist/src/tokenizedFetch.spec.d.ts.map +1 -0
  92. package/dist/src/types.d.ts +466 -13
  93. package/dist/src/types.d.ts.map +1 -1
  94. package/dist/tsembed-react.es.js +226 -29
  95. package/dist/tsembed-react.js +225 -28
  96. package/dist/tsembed.es.js +227 -30
  97. package/dist/tsembed.js +225 -28
  98. package/dist/visual-embed-sdk-react-full.d.ts +469 -15
  99. package/dist/visual-embed-sdk-react.d.ts +469 -15
  100. package/dist/visual-embed-sdk.d.ts +497 -15
  101. package/lib/package.json +1 -1
  102. package/lib/src/auth.d.ts.map +1 -1
  103. package/lib/src/auth.js +12 -2
  104. package/lib/src/auth.js.map +1 -1
  105. package/lib/src/auth.spec.js +38 -0
  106. package/lib/src/auth.spec.js.map +1 -1
  107. package/lib/src/authToken.d.ts +2 -0
  108. package/lib/src/authToken.d.ts.map +1 -1
  109. package/lib/src/authToken.js +2 -2
  110. package/lib/src/authToken.js.map +1 -1
  111. package/lib/src/embed/app.d.ts +7 -2
  112. package/lib/src/embed/app.d.ts.map +1 -1
  113. package/lib/src/embed/app.js +4 -1
  114. package/lib/src/embed/app.js.map +1 -1
  115. package/lib/src/embed/app.spec.js +122 -1
  116. package/lib/src/embed/app.spec.js.map +1 -1
  117. package/lib/src/embed/conversation.d.ts +2 -1
  118. package/lib/src/embed/conversation.d.ts.map +1 -1
  119. package/lib/src/embed/conversation.js.map +1 -1
  120. package/lib/src/embed/liveboard.d.ts +1 -1
  121. package/lib/src/embed/liveboard.d.ts.map +1 -1
  122. package/lib/src/embed/liveboard.js +4 -1
  123. package/lib/src/embed/liveboard.js.map +1 -1
  124. package/lib/src/embed/liveboard.spec.js +32 -0
  125. package/lib/src/embed/liveboard.spec.js.map +1 -1
  126. package/lib/src/embed/search.d.ts +24 -1
  127. package/lib/src/embed/search.d.ts.map +1 -1
  128. package/lib/src/embed/search.js +15 -2
  129. package/lib/src/embed/search.js.map +1 -1
  130. package/lib/src/embed/search.spec.js +100 -1
  131. package/lib/src/embed/search.spec.js.map +1 -1
  132. package/lib/src/embed/spotter-utils.d.ts +3 -0
  133. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  134. package/lib/src/embed/spotter-utils.js +11 -3
  135. package/lib/src/embed/spotter-utils.js.map +1 -1
  136. package/lib/src/embed/spotter-utils.spec.js +51 -0
  137. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  138. package/lib/src/embed/ts-embed.d.ts +1 -0
  139. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  140. package/lib/src/embed/ts-embed.js +16 -4
  141. package/lib/src/embed/ts-embed.js.map +1 -1
  142. package/lib/src/embed/ts-embed.spec.js +168 -0
  143. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  144. package/lib/src/index.d.ts +2 -2
  145. package/lib/src/index.d.ts.map +1 -1
  146. package/lib/src/index.js +2 -2
  147. package/lib/src/index.js.map +1 -1
  148. package/lib/src/mixpanel-service.d.ts.map +1 -1
  149. package/lib/src/mixpanel-service.js +2 -0
  150. package/lib/src/mixpanel-service.js.map +1 -1
  151. package/lib/src/mixpanel-service.spec.js +2 -0
  152. package/lib/src/mixpanel-service.spec.js.map +1 -1
  153. package/lib/src/test/test-utils.d.ts +1 -0
  154. package/lib/src/test/test-utils.d.ts.map +1 -1
  155. package/lib/src/test/test-utils.js +25 -1
  156. package/lib/src/test/test-utils.js.map +1 -1
  157. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  158. package/lib/src/tokenizedFetch.js +13 -10
  159. package/lib/src/tokenizedFetch.js.map +1 -1
  160. package/lib/src/tokenizedFetch.spec.d.ts +2 -0
  161. package/lib/src/tokenizedFetch.spec.d.ts.map +1 -0
  162. package/lib/src/tokenizedFetch.spec.js +65 -0
  163. package/lib/src/tokenizedFetch.spec.js.map +1 -0
  164. package/lib/src/types.d.ts +466 -13
  165. package/lib/src/types.d.ts.map +1 -1
  166. package/lib/src/types.js +148 -4
  167. package/lib/src/types.js.map +1 -1
  168. package/lib/src/visual-embed-sdk.d.ts +497 -15
  169. package/package.json +1 -1
  170. package/src/auth.spec.ts +55 -1
  171. package/src/auth.ts +11 -2
  172. package/src/authToken.ts +2 -2
  173. package/src/embed/app.spec.ts +154 -0
  174. package/src/embed/app.ts +13 -2
  175. package/src/embed/conversation.ts +2 -1
  176. package/src/embed/liveboard.spec.ts +46 -0
  177. package/src/embed/liveboard.ts +9 -4
  178. package/src/embed/search.spec.ts +118 -0
  179. package/src/embed/search.ts +43 -1
  180. package/src/embed/spotter-utils.spec.ts +52 -0
  181. package/src/embed/spotter-utils.ts +19 -3
  182. package/src/embed/ts-embed.spec.ts +220 -0
  183. package/src/embed/ts-embed.ts +15 -4
  184. package/src/index.ts +16 -0
  185. package/src/mixpanel-service.spec.ts +2 -0
  186. package/src/mixpanel-service.ts +2 -0
  187. package/src/test/test-utils.ts +33 -1
  188. package/src/tokenizedFetch.spec.ts +81 -0
  189. package/src/tokenizedFetch.ts +14 -11
  190. package/src/types.ts +496 -13
@@ -888,9 +888,10 @@ export interface BaseViewConfig extends ApiInterceptFlags {
888
888
  styleSheet__unstable?: string;
889
889
  /**
890
890
  * The list of actions to disable from the primary menu, more menu
891
- * (...), and the contextual menu. These actions will be disabled
892
- * for the user.
893
- * Use this to disable actions.
891
+ * (...), and the contextual menu. Disabled actions are grayed out
892
+ * and still visible to the user, but cannot be clicked.
893
+ * Use this when you want to disable an action (keep it visible but non-interactive).
894
+ * To completely remove an action from the UI, use {@link hiddenActions} instead.
894
895
  *
895
896
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
896
897
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -921,9 +922,10 @@ export interface BaseViewConfig extends ApiInterceptFlags {
921
922
  */
922
923
  disabledActionReason?: string;
923
924
  /**
924
- * The list of actions to hide from the embedded view.
925
- * These actions will be hidden from the user.
926
- * Use this to hide an action.
925
+ * The list of actions to completely remove from the embedded view.
926
+ * Hidden actions are not visible to the user at all (fully removed from the UI).
927
+ * Use this when you want to remove an action entirely.
928
+ * To keep an action visible but non-interactive (grayed out), use {@link disabledActions} instead.
927
929
  *
928
930
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
929
931
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -942,9 +944,8 @@ export interface BaseViewConfig extends ApiInterceptFlags {
942
944
  * The list of actions to display from the primary menu, more menu
943
945
  * (...), and the contextual menu. These will be only actions that
944
946
  * are visible to the user.
945
- * Use this to hide all actions except the ones you want to show.
946
- *
947
- * Use either this or hiddenActions.
947
+ * Use this as an allowlist only the actions listed here will be shown.
948
+ * All other actions will be hidden. Use either this or {@link hiddenActions}, not both.
948
949
  *
949
950
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
950
951
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -1398,6 +1399,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1398
1399
  /**
1399
1400
  * Refresh the auth token when the token is near expiry.
1400
1401
  * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
1402
+ * @default true
1401
1403
  * @example
1402
1404
  * ```js
1403
1405
  * const embed = new AppEmbed('#tsEmbed', {
@@ -1949,6 +1951,22 @@ export interface LiveboardAppEmbedViewConfig {
1949
1951
  * ```
1950
1952
  */
1951
1953
  isLiveboardMasterpiecesEnabled?: boolean;
1954
+ /**
1955
+ * Enable or disable Muze chart phase 1 GA
1956
+ *
1957
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1958
+ * @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
1959
+ * @default false
1960
+ * @example
1961
+ * ```js
1962
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1963
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1964
+ * ... // other embed view config
1965
+ * newChartsLibrary: true,
1966
+ * })
1967
+ * ```
1968
+ */
1969
+ newChartsLibrary?: boolean;
1952
1970
  }
1953
1971
  export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {
1954
1972
  }
@@ -5773,6 +5791,7 @@ export declare enum Param {
5773
5791
  ShowLiveboardTitle = "showLiveboardTitle",
5774
5792
  ShowMaskedFilterChip = "showMaskedFilterChip",
5775
5793
  IsLiveboardMasterpiecesEnabled = "isLiveboardMasterpiecesEnabled",
5794
+ EnableNewChartLibrary = "muzeChartPhase1EnabledGA",
5776
5795
  HiddenTabs = "hideTabs",
5777
5796
  VisibleTabs = "visibleTabs",
5778
5797
  HideTabPanel = "hideTabPanel",
@@ -5853,10 +5872,14 @@ export declare enum Param {
5853
5872
  /**
5854
5873
  * ThoughtSpot application pages include actions and menu commands
5855
5874
  * for various user-initiated operations. These actions are represented
5856
- * as enumeration members in the SDK. To show, hide, or disable
5857
- * specific actions in the embedded view, define the Action
5858
- * enumeration members in the `disabledActions`, `visibleActions`,
5859
- * or `hiddenActions` array.
5875
+ * as enumeration members in the SDK. To control actions in the embedded view:
5876
+ * - disabledActions the action is grayed out and still visible, but non-interactive (user can see but not click).
5877
+ * - hiddenActions the action is completely removed from the UI (user cannot see it at all).
5878
+ * - visibleActions — allowlist, only these actions are shown; all others are hidden.
5879
+ *
5880
+ * Use disabledActions to disable (gray out) an action.
5881
+ * Use hiddenActions to hide (fully remove) an action.
5882
+ * Use visibleActions to show only specific actions.
5860
5883
  * @example
5861
5884
  * ```js
5862
5885
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -6703,6 +6726,26 @@ export declare enum Action {
6703
6726
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.5.1.sw
6704
6727
  */
6705
6728
  AxisMenuRemove = "axisMenuRemove",
6729
+ /**
6730
+ * The **Compare with** action in the chart axis customization menu.
6731
+ * Allows comparing data across dimensions or measures.
6732
+ * @example
6733
+ * ```js
6734
+ * disabledActions: [Action.AxisMenuCompare]
6735
+ * ```
6736
+ * @version SDK: 1.50.0 | ThoughtSpot: 26.7.0.cl
6737
+ */
6738
+ AxisMenuCompare = "axisMenuCompare",
6739
+ /**
6740
+ * The **Merge with** action in the chart axis customization menu.
6741
+ * Allows merging data across dimensions or measures.
6742
+ * @example
6743
+ * ```js
6744
+ * disabledActions: [Action.AxisMenuMerge]
6745
+ * ```
6746
+ * @version SDK: 1.50.0 | ThoughtSpot: 26.7.0.cl
6747
+ */
6748
+ AxisMenuMerge = "axisMenuMerge",
6706
6749
  /**
6707
6750
  * @hidden
6708
6751
  */
@@ -7928,6 +7971,9 @@ export interface DefaultAppInitData {
7928
7971
  customActions: CustomAction[];
7929
7972
  interceptTimeout: number | undefined;
7930
7973
  interceptUrls: (string | InterceptedApiType)[];
7974
+ embedExpiryInAuthToken: boolean;
7975
+ shouldBypassPayloadValidation?: boolean;
7976
+ useHostEventsV2?: boolean;
7931
7977
  }
7932
7978
  /**
7933
7979
  * Enum for the type of API intercepted
@@ -8045,4 +8091,411 @@ export interface ContextObject {
8045
8091
  objectIds: ObjectIds;
8046
8092
  };
8047
8093
  }
8094
+ export interface FontProperties {
8095
+ color?: string;
8096
+ bold?: boolean;
8097
+ italic?: boolean;
8098
+ strikeThrough?: boolean;
8099
+ underline?: boolean;
8100
+ }
8101
+ export interface SolidBackgroundAttrs {
8102
+ color?: string;
8103
+ }
8104
+ export interface GradientBackgroundAttrs {
8105
+ backgroundFormatMidpoint?: number;
8106
+ colors?: string[];
8107
+ backgroundFormatRange?: number[];
8108
+ isAutoScaled?: boolean;
8109
+ }
8110
+ /**
8111
+ * Data label filter operators
8112
+ * @group Visual Overrides
8113
+ */
8114
+ export declare enum DataLabelFilterOperator {
8115
+ /** Greater than */
8116
+ GreaterThan = "GREATER_THAN",
8117
+ /** Less than */
8118
+ LessThan = "LESS_THAN",
8119
+ /** Greater than or equal to */
8120
+ GreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO",
8121
+ /** Less than or equal to */
8122
+ LessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO",
8123
+ /** Equal to */
8124
+ EqualTo = "EQUAL_TO",
8125
+ /** Not equal to */
8126
+ NotEqualTo = "NOT_EQUAL_TO"
8127
+ }
8128
+ /**
8129
+ * Conditional formatting operators
8130
+ * @group Visual Overrides
8131
+ */
8132
+ export declare enum ConditionalFormattingOperator {
8133
+ /** Is equal to */
8134
+ Is = "IS",
8135
+ /** Is not equal to */
8136
+ IsNot = "IS_NOT",
8137
+ /** Contains */
8138
+ Contains = "CONTAINS",
8139
+ /** Does not contain */
8140
+ DoesNotContain = "DOES_NOT_CONTAIN",
8141
+ /** Starts with */
8142
+ StartsWith = "STARTS_WITH",
8143
+ /** Ends with */
8144
+ EndsWith = "ENDS_WITH",
8145
+ /** Greater than */
8146
+ GreaterThan = "GREATER_THAN",
8147
+ /** Less than */
8148
+ LessThan = "LESS_THAN",
8149
+ /** Greater than or equal to */
8150
+ GreaterThanEqualTo = "GREATER_THAN_EQUAL_TO",
8151
+ /** Less than or equal to */
8152
+ LessThanEqualTo = "LESS_THAN_EQUAL_TO",
8153
+ /** Equal to */
8154
+ EqualTo = "EQUAL_TO",
8155
+ /** Not equal to */
8156
+ NotEqualTo = "NOT_EQUAL_TO",
8157
+ /** Is between */
8158
+ IsBetween = "IS_BETWEEN",
8159
+ /** Is null */
8160
+ IsNull = "IS_NULL",
8161
+ /** Is not null */
8162
+ IsNotNull = "IS_NOT_NULL"
8163
+ }
8164
+ /**
8165
+ * Background format types for conditional formatting
8166
+ * @group Visual Overrides
8167
+ */
8168
+ export declare enum BackgroundFormatType {
8169
+ /** Solid color background */
8170
+ Solid = "SOLID",
8171
+ /** Gradient background */
8172
+ Gradient = "GRADIENT"
8173
+ }
8174
+ /**
8175
+ * Comparison types for conditional formatting
8176
+ * @group Visual Overrides
8177
+ */
8178
+ export declare enum ConditionalFormattingComparisonType {
8179
+ /** Value-based comparison */
8180
+ ValueBased = "VALUE_BASED",
8181
+ /** Column-based comparison */
8182
+ ColumnBased = "COLUMN_BASED",
8183
+ /** Parameter-based comparison */
8184
+ ParameterBased = "PARAMETER_BASED"
8185
+ }
8186
+ /**
8187
+ * A single conditional formatting rule row
8188
+ * @group Visual Overrides
8189
+ */
8190
+ export interface ConditionalFormattingRow {
8191
+ /** Comparison operator */
8192
+ operator: ConditionalFormattingOperator | string;
8193
+ /** Value to compare against */
8194
+ value?: string;
8195
+ /** Range values for range-based comparisons */
8196
+ rangeValues?: {
8197
+ min: number;
8198
+ max: number;
8199
+ };
8200
+ /** Plot the formatting as a band/area */
8201
+ plotAsBand?: boolean;
8202
+ /** Highlight this row if the condition is met */
8203
+ isHighlightRow?: boolean;
8204
+ /** Type of comparison: value-based, column-based, or parameter-based */
8205
+ comparisonType?: ConditionalFormattingComparisonType | string;
8206
+ /** Column ID to apply the formatting to (left-hand side) */
8207
+ lhsColumnId?: string;
8208
+ /** Column name to compare against (right-hand side) */
8209
+ columnToCompare?: string;
8210
+ /** Parameter ID to compare against */
8211
+ comparisonParameterId?: string;
8212
+ /** Font properties to apply (color, bold, italic, etc.) */
8213
+ fontProperties?: FontProperties;
8214
+ /** Background format type: solid color or gradient */
8215
+ backgroundFormatType?: BackgroundFormatType | string;
8216
+ /** Solid background color attributes */
8217
+ solidBackgroundAttrs?: SolidBackgroundAttrs;
8218
+ /** Gradient background attributes */
8219
+ gradientBackgroundAttrs?: GradientBackgroundAttrs;
8220
+ }
8221
+ /**
8222
+ * Conditional formatting configuration
8223
+ * @group Visual Overrides
8224
+ */
8225
+ export interface ConditionalFormatting {
8226
+ /** Array of conditional formatting rules */
8227
+ rows?: ConditionalFormattingRow[];
8228
+ }
8229
+ /**
8230
+ * Color palette for charts
8231
+ * @group Visual Overrides
8232
+ */
8233
+ export interface ColorPalette {
8234
+ /** Array of color values (hex codes or color names) */
8235
+ colors?: string[];
8236
+ }
8237
+ /**
8238
+ * Legend position options
8239
+ * @group Visual Overrides
8240
+ */
8241
+ export declare enum LegendPosition {
8242
+ /** Position legend at the top */
8243
+ Top = "top",
8244
+ /** Position legend at the bottom */
8245
+ Bottom = "bottom",
8246
+ /** Position legend on the left */
8247
+ Left = "left",
8248
+ /** Position legend on the right */
8249
+ Right = "right"
8250
+ }
8251
+ /**
8252
+ * Table theme options
8253
+ * @group Visual Overrides
8254
+ */
8255
+ export declare enum TableTheme {
8256
+ /** Outline theme */
8257
+ Outline = "OUTLINE",
8258
+ /** Row theme */
8259
+ Row = "ROW",
8260
+ /** Zebra theme */
8261
+ Zebra = "ZEBRA"
8262
+ }
8263
+ /**
8264
+ * Table content density options
8265
+ * @group Visual Overrides
8266
+ */
8267
+ export declare enum TableContentDensity {
8268
+ /** Regular density */
8269
+ Regular = "REGULAR",
8270
+ /** Compact density */
8271
+ Compact = "COMPACT"
8272
+ }
8273
+ /**
8274
+ * Chart legend configuration
8275
+ * @group Visual Overrides
8276
+ */
8277
+ export interface ChartLegend {
8278
+ /** Show or hide the legend */
8279
+ show?: boolean;
8280
+ /** Position of the legend */
8281
+ position?: LegendPosition | string;
8282
+ /** Color palette to use for legend colors */
8283
+ colorPalette?: ColorPalette;
8284
+ }
8285
+ /**
8286
+ * Filter for data labels
8287
+ * @group Visual Overrides
8288
+ */
8289
+ export interface DataLabelFilter {
8290
+ /** Filter threshold value */
8291
+ value?: number;
8292
+ /** Filter operator */
8293
+ operator?: DataLabelFilterOperator | string;
8294
+ }
8295
+ /**
8296
+ * Data label configuration for a specific column
8297
+ * @group Visual Overrides
8298
+ */
8299
+ export interface ColumnDataLabel {
8300
+ /** Column name to apply data label overrides to */
8301
+ name: string;
8302
+ /** Show or hide data labels for this column */
8303
+ visible?: boolean;
8304
+ /** Filter to apply to data labels */
8305
+ filter?: DataLabelFilter | null;
8306
+ }
8307
+ /**
8308
+ * Chart data label configuration
8309
+ * @group Visual Overrides
8310
+ */
8311
+ export interface ChartDataLabel {
8312
+ /** Show labels for all data points */
8313
+ allLabels?: boolean;
8314
+ /** Show labels for stacked values */
8315
+ stackLabels?: boolean;
8316
+ /** Per-column data label configurations */
8317
+ columnDataLabel?: ColumnDataLabel[];
8318
+ }
8319
+ /**
8320
+ * Chart summaries and totals configuration
8321
+ * @group Visual Overrides
8322
+ */
8323
+ export interface ChartSummaries {
8324
+ /** Show row totals */
8325
+ showRowTotals?: boolean;
8326
+ /** Show column totals */
8327
+ showColumnTotals?: boolean;
8328
+ /** Show row grand totals */
8329
+ showRowGrandTotals?: boolean;
8330
+ /** Show column grand totals */
8331
+ showColumnGrandTotals?: boolean;
8332
+ }
8333
+ /**
8334
+ * Gridline configuration
8335
+ * @group Visual Overrides
8336
+ */
8337
+ export interface GridLine {
8338
+ /** Show vertical gridlines */
8339
+ x?: boolean;
8340
+ /** Show horizontal gridlines */
8341
+ y?: boolean;
8342
+ }
8343
+ /**
8344
+ * Chart display configuration
8345
+ * @group Visual Overrides
8346
+ */
8347
+ export interface ChartDisplay {
8348
+ /** Summary and totals configuration */
8349
+ summaries?: ChartSummaries;
8350
+ /** Show regression line on chart */
8351
+ regressionLine?: boolean;
8352
+ /** Gridline visibility configuration */
8353
+ gridLine?: GridLine;
8354
+ }
8355
+ /**
8356
+ * Y-axis range configuration
8357
+ * @group Visual Overrides
8358
+ */
8359
+ export interface YAxisRange {
8360
+ /** Minimum value for Y-axis */
8361
+ min?: number;
8362
+ /** Maximum value for Y-axis */
8363
+ max?: number;
8364
+ }
8365
+ /**
8366
+ * Chart axis configuration
8367
+ * @group Visual Overrides
8368
+ */
8369
+ export interface ChartAxis {
8370
+ /** Column names to link to this axis */
8371
+ linkedColumns?: string[];
8372
+ /** Show the axis name */
8373
+ showName?: boolean;
8374
+ /** Show the axis label values */
8375
+ showLabelValue?: boolean;
8376
+ /** Y-axis range configuration */
8377
+ yAxisRange?: YAxisRange;
8378
+ }
8379
+ /**
8380
+ * Chart column override configuration
8381
+ * @group Visual Overrides
8382
+ */
8383
+ export interface ChartColumn {
8384
+ /** Column name to apply overrides to */
8385
+ name: string;
8386
+ /** Color for the column (hex code) */
8387
+ color?: string;
8388
+ /** Conditional formatting rules to apply to the column */
8389
+ conditionalFormatting?: ConditionalFormatting;
8390
+ }
8391
+ /**
8392
+ * Chart visualization overrides
8393
+ * @group Visual Overrides
8394
+ */
8395
+ export interface ChartOverrides {
8396
+ /** Legend configuration */
8397
+ legend?: ChartLegend;
8398
+ /** Data label configuration */
8399
+ dataLabel?: ChartDataLabel;
8400
+ /** Display properties (summaries, regression line, gridlines) */
8401
+ display?: ChartDisplay;
8402
+ /** Per-axis configurations */
8403
+ axis?: ChartAxis[];
8404
+ /** Per-column configurations */
8405
+ columns?: ChartColumn[];
8406
+ /** Update mask paths for partial updates */
8407
+ updateMaskPaths?: string[];
8408
+ }
8409
+ /**
8410
+ * Table column override configuration
8411
+ * @group Visual Overrides
8412
+ */
8413
+ export interface TableColumn {
8414
+ /**
8415
+ * Name of the column to apply overrides to
8416
+ */
8417
+ name: string;
8418
+ /**
8419
+ * Enable or disable text wrapping for the column
8420
+ */
8421
+ wrapText?: boolean;
8422
+ /**
8423
+ * Show or hide the column
8424
+ */
8425
+ show?: boolean;
8426
+ /**
8427
+ * Conditional formatting rules to apply to the column
8428
+ */
8429
+ conditionalFormatting?: ConditionalFormatting;
8430
+ }
8431
+ /**
8432
+ * Table display configuration
8433
+ * @group Visual Overrides
8434
+ */
8435
+ export interface TableDisplay {
8436
+ /** Table theme */
8437
+ tableTheme?: TableTheme | string;
8438
+ /** Table content density */
8439
+ tableContentDensity?: TableContentDensity | string;
8440
+ }
8441
+ /**
8442
+ * Column summary visibility configuration
8443
+ * @group Visual Overrides
8444
+ */
8445
+ export interface ColumnSummaryVisibility {
8446
+ /** Column ID to control summary visibility for */
8447
+ columnId: string;
8448
+ /** Show or hide summary for this column */
8449
+ visible: boolean;
8450
+ }
8451
+ /**
8452
+ * Display summary configuration
8453
+ * @group Visual Overrides
8454
+ */
8455
+ export interface DisplaySummaryConfig {
8456
+ /** Show all column summaries by default */
8457
+ showAllSummaries?: boolean;
8458
+ /** Per-column summary visibility overrides */
8459
+ columnVisibility?: ColumnSummaryVisibility[];
8460
+ }
8461
+ /**
8462
+ * Table visualization overrides
8463
+ * @group Visual Overrides
8464
+ */
8465
+ export interface TableOverrides {
8466
+ /** Per-column configurations (properties, conditional formatting) */
8467
+ columns?: TableColumn[];
8468
+ /** Table display properties (theme, density) */
8469
+ display?: TableDisplay;
8470
+ /** Summary/headline column visibility configuration */
8471
+ displaySummaryConfig?: DisplaySummaryConfig;
8472
+ /** Update mask paths for partial updates */
8473
+ updateMaskPaths?: string[];
8474
+ }
8475
+ /**
8476
+ * Visualization overrides to customize chart and table rendering
8477
+ * within embedded ThoughtSpot components.
8478
+ *
8479
+ * @group Visual Overrides
8480
+ * @example
8481
+ * ```js
8482
+ * const embed = new AppEmbed('#tsEmbed', {
8483
+ * visualOverrides: {
8484
+ * chart: {
8485
+ * legend: { show: true, position: 'bottom' },
8486
+ * columns: [{ name: 'Revenue', color: '#1f77b4' }],
8487
+ * },
8488
+ * table: {
8489
+ * display: { tableTheme: 'ZEBRA', tableContentDensity: 'COMPACT' },
8490
+ * },
8491
+ * },
8492
+ * });
8493
+ * ```
8494
+ */
8495
+ export interface VisualizationOverrides {
8496
+ /** Chart visualization overrides */
8497
+ chart?: ChartOverrides;
8498
+ /** Table visualization overrides */
8499
+ table?: TableOverrides;
8500
+ }
8048
8501
  //# sourceMappingURL=types.d.ts.map