@thoughtspot/visual-embed-sdk 1.24.0-sage.2 → 1.24.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 (199) hide show
  1. package/README.md +2 -2
  2. package/cjs/package.json +9 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +4 -3
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +38 -0
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +41 -2
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +13 -9
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +56 -0
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +13 -0
  15. package/cjs/src/embed/base.d.ts.map +1 -1
  16. package/cjs/src/embed/base.js +15 -2
  17. package/cjs/src/embed/base.js.map +1 -1
  18. package/cjs/src/embed/liveboard.d.ts +5 -1
  19. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  20. package/cjs/src/embed/liveboard.js +5 -2
  21. package/cjs/src/embed/liveboard.js.map +1 -1
  22. package/cjs/src/embed/liveboard.spec.js +23 -7
  23. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  24. package/cjs/src/embed/sage.d.ts +25 -2
  25. package/cjs/src/embed/sage.d.ts.map +1 -1
  26. package/cjs/src/embed/sage.js +10 -5
  27. package/cjs/src/embed/sage.js.map +1 -1
  28. package/cjs/src/embed/sage.spec.js +26 -0
  29. package/cjs/src/embed/sage.spec.js.map +1 -1
  30. package/cjs/src/embed/search-bar.d.ts +7 -1
  31. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  32. package/cjs/src/embed/search-bar.js +5 -2
  33. package/cjs/src/embed/search-bar.js.map +1 -1
  34. package/cjs/src/embed/search.d.ts +22 -1
  35. package/cjs/src/embed/search.d.ts.map +1 -1
  36. package/cjs/src/embed/search.js +9 -2
  37. package/cjs/src/embed/search.js.map +1 -1
  38. package/cjs/src/embed/search.spec.js +60 -1
  39. package/cjs/src/embed/search.spec.js.map +1 -1
  40. package/cjs/src/embed/ts-embed.d.ts +3 -1
  41. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  42. package/cjs/src/embed/ts-embed.js +28 -8
  43. package/cjs/src/embed/ts-embed.js.map +1 -1
  44. package/cjs/src/embed/ts-embed.spec.js +139 -3
  45. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  46. package/cjs/src/index.d.ts +2 -2
  47. package/cjs/src/index.d.ts.map +1 -1
  48. package/cjs/src/index.js +3 -1
  49. package/cjs/src/index.js.map +1 -1
  50. package/cjs/src/mixpanel-service.d.ts +1 -0
  51. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  52. package/cjs/src/mixpanel-service.js +10 -3
  53. package/cjs/src/mixpanel-service.js.map +1 -1
  54. package/cjs/src/mixpanel-service.spec.js +12 -3
  55. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  56. package/cjs/src/react/index.d.ts +15 -15
  57. package/cjs/src/react/index.d.ts.map +1 -1
  58. package/cjs/src/react/index.js +7 -3
  59. package/cjs/src/react/index.js.map +1 -1
  60. package/cjs/src/react/index.spec.js +13 -1
  61. package/cjs/src/react/index.spec.js.map +1 -1
  62. package/cjs/src/types.d.ts +202 -18
  63. package/cjs/src/types.d.ts.map +1 -1
  64. package/cjs/src/types.js +140 -13
  65. package/cjs/src/types.js.map +1 -1
  66. package/cjs/src/utils.d.ts +7 -1
  67. package/cjs/src/utils.d.ts.map +1 -1
  68. package/cjs/src/utils.js +20 -1
  69. package/cjs/src/utils.js.map +1 -1
  70. package/cjs/src/utils.spec.js +24 -0
  71. package/cjs/src/utils.spec.js.map +1 -1
  72. package/dist/src/auth.d.ts.map +1 -1
  73. package/dist/src/css-variables.d.ts +38 -0
  74. package/dist/src/css-variables.d.ts.map +1 -1
  75. package/dist/src/embed/app.d.ts +41 -2
  76. package/dist/src/embed/app.d.ts.map +1 -1
  77. package/dist/src/embed/base.d.ts +13 -0
  78. package/dist/src/embed/base.d.ts.map +1 -1
  79. package/dist/src/embed/liveboard.d.ts +5 -1
  80. package/dist/src/embed/liveboard.d.ts.map +1 -1
  81. package/dist/src/embed/sage.d.ts +25 -2
  82. package/dist/src/embed/sage.d.ts.map +1 -1
  83. package/dist/src/embed/search-bar.d.ts +7 -1
  84. package/dist/src/embed/search-bar.d.ts.map +1 -1
  85. package/dist/src/embed/search.d.ts +22 -1
  86. package/dist/src/embed/search.d.ts.map +1 -1
  87. package/dist/src/embed/ts-embed.d.ts +3 -1
  88. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  89. package/dist/src/index.d.ts +2 -2
  90. package/dist/src/index.d.ts.map +1 -1
  91. package/dist/src/mixpanel-service.d.ts +1 -0
  92. package/dist/src/mixpanel-service.d.ts.map +1 -1
  93. package/dist/src/react/index.d.ts +15 -15
  94. package/dist/src/react/index.d.ts.map +1 -1
  95. package/dist/src/types.d.ts +202 -18
  96. package/dist/src/types.d.ts.map +1 -1
  97. package/dist/src/utils.d.ts +7 -1
  98. package/dist/src/utils.d.ts.map +1 -1
  99. package/dist/tsembed-react.es.js +329 -17329
  100. package/dist/tsembed-react.js +322 -17328
  101. package/dist/tsembed.es.js +353 -17342
  102. package/dist/tsembed.js +346 -17341
  103. package/dist/visual-embed-sdk-react-full.d.ts +754 -424
  104. package/dist/visual-embed-sdk-react.d.ts +703 -373
  105. package/dist/visual-embed-sdk.d.ts +354 -25
  106. package/lib/package.json +9 -1
  107. package/lib/src/auth.d.ts.map +1 -1
  108. package/lib/src/auth.js +4 -2
  109. package/lib/src/auth.js.map +1 -1
  110. package/lib/src/css-variables.d.ts +38 -0
  111. package/lib/src/css-variables.d.ts.map +1 -1
  112. package/lib/src/embed/app.d.ts +41 -2
  113. package/lib/src/embed/app.d.ts.map +1 -1
  114. package/lib/src/embed/app.js +13 -9
  115. package/lib/src/embed/app.js.map +1 -1
  116. package/lib/src/embed/app.spec.js +56 -0
  117. package/lib/src/embed/app.spec.js.map +1 -1
  118. package/lib/src/embed/base.d.ts +13 -0
  119. package/lib/src/embed/base.d.ts.map +1 -1
  120. package/lib/src/embed/base.js +15 -2
  121. package/lib/src/embed/base.js.map +1 -1
  122. package/lib/src/embed/liveboard.d.ts +5 -1
  123. package/lib/src/embed/liveboard.d.ts.map +1 -1
  124. package/lib/src/embed/liveboard.js +6 -3
  125. package/lib/src/embed/liveboard.js.map +1 -1
  126. package/lib/src/embed/liveboard.spec.js +23 -7
  127. package/lib/src/embed/liveboard.spec.js.map +1 -1
  128. package/lib/src/embed/sage.d.ts +25 -2
  129. package/lib/src/embed/sage.d.ts.map +1 -1
  130. package/lib/src/embed/sage.js +10 -5
  131. package/lib/src/embed/sage.js.map +1 -1
  132. package/lib/src/embed/sage.spec.js +26 -0
  133. package/lib/src/embed/sage.spec.js.map +1 -1
  134. package/lib/src/embed/search-bar.d.ts +7 -1
  135. package/lib/src/embed/search-bar.d.ts.map +1 -1
  136. package/lib/src/embed/search-bar.js +6 -3
  137. package/lib/src/embed/search-bar.js.map +1 -1
  138. package/lib/src/embed/search.d.ts +22 -1
  139. package/lib/src/embed/search.d.ts.map +1 -1
  140. package/lib/src/embed/search.js +10 -3
  141. package/lib/src/embed/search.js.map +1 -1
  142. package/lib/src/embed/search.spec.js +60 -1
  143. package/lib/src/embed/search.spec.js.map +1 -1
  144. package/lib/src/embed/ts-embed.d.ts +3 -1
  145. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  146. package/lib/src/embed/ts-embed.js +29 -9
  147. package/lib/src/embed/ts-embed.js.map +1 -1
  148. package/lib/src/embed/ts-embed.spec.js +140 -4
  149. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  150. package/lib/src/index.d.ts +2 -2
  151. package/lib/src/index.d.ts.map +1 -1
  152. package/lib/src/index.js +2 -2
  153. package/lib/src/index.js.map +1 -1
  154. package/lib/src/mixpanel-service.d.ts +1 -0
  155. package/lib/src/mixpanel-service.d.ts.map +1 -1
  156. package/lib/src/mixpanel-service.js +10 -3
  157. package/lib/src/mixpanel-service.js.map +1 -1
  158. package/lib/src/mixpanel-service.spec.js +12 -3
  159. package/lib/src/mixpanel-service.spec.js.map +1 -1
  160. package/lib/src/react/index.d.ts +15 -15
  161. package/lib/src/react/index.d.ts.map +1 -1
  162. package/lib/src/react/index.js +5 -3
  163. package/lib/src/react/index.js.map +1 -1
  164. package/lib/src/react/index.spec.js +14 -2
  165. package/lib/src/react/index.spec.js.map +1 -1
  166. package/lib/src/types.d.ts +202 -18
  167. package/lib/src/types.d.ts.map +1 -1
  168. package/lib/src/types.js +139 -12
  169. package/lib/src/types.js.map +1 -1
  170. package/lib/src/utils.d.ts +7 -1
  171. package/lib/src/utils.d.ts.map +1 -1
  172. package/lib/src/utils.js +18 -0
  173. package/lib/src/utils.js.map +1 -1
  174. package/lib/src/utils.spec.js +25 -1
  175. package/lib/src/utils.spec.js.map +1 -1
  176. package/lib/src/visual-embed-sdk.d.ts +357 -28
  177. package/package.json +9 -1
  178. package/src/auth.ts +7 -5
  179. package/src/css-variables.ts +47 -0
  180. package/src/embed/app.spec.ts +78 -0
  181. package/src/embed/app.ts +61 -16
  182. package/src/embed/base.ts +18 -5
  183. package/src/embed/liveboard.spec.ts +29 -10
  184. package/src/embed/liveboard.ts +11 -2
  185. package/src/embed/sage.spec.ts +32 -0
  186. package/src/embed/sage.ts +38 -5
  187. package/src/embed/search-bar.tsx +19 -6
  188. package/src/embed/search.spec.ts +76 -1
  189. package/src/embed/search.ts +43 -2
  190. package/src/embed/ts-embed.spec.ts +162 -8
  191. package/src/embed/ts-embed.ts +30 -9
  192. package/src/index.ts +4 -0
  193. package/src/mixpanel-service.spec.ts +12 -3
  194. package/src/mixpanel-service.ts +10 -3
  195. package/src/react/index.spec.tsx +34 -3
  196. package/src/react/index.tsx +37 -26
  197. package/src/types.ts +277 -102
  198. package/src/utils.spec.ts +31 -0
  199. package/src/utils.ts +23 -0
@@ -18,10 +18,10 @@ declare module '@thoughtspot/visual-embed-sdk' {
18
18
  import { SearchEmbed, SearchViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search';
19
19
  import { SearchBarEmbed, SearchBarViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search-bar';
20
20
  import { AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, getSessionInfo } from '@thoughtspot/visual-embed-sdk/auth';
21
- import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, PrefetchFeatures, FrameParams, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, ContextMenuTriggerOptions } from '@thoughtspot/visual-embed-sdk/types';
21
+ import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, PrefetchFeatures, FrameParams, DOMSelector, HomeLeftNavItem, HomepageModule, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, ContextMenuTriggerOptions } from '@thoughtspot/visual-embed-sdk/types';
22
22
  import { CustomCssVariables } from '@thoughtspot/visual-embed-sdk/css-variables';
23
23
  import { SageEmbed, SageViewConfig } from '@thoughtspot/visual-embed-sdk/embed/sage';
24
- export { init, logout, prefetch, executeTML, exportTML, getEmbedConfig as getInitConfig, getSessionInfo, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, };
24
+ export { init, logout, prefetch, executeTML, exportTML, getEmbedConfig as getInitConfig, getSessionInfo, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, };
25
25
  }
26
26
 
27
27
  declare module '@thoughtspot/visual-embed-sdk/embed/app' {
@@ -68,7 +68,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
68
68
  /**
69
69
  * SpotIQ listing page
70
70
  */
71
- SpotIQ = "spotiq"
71
+ SpotIQ = "insights"
72
72
  }
73
73
  /**
74
74
  * The view configuration for full app embedding.
@@ -79,8 +79,19 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
79
79
  /**
80
80
  * If true, the main navigation bar within the ThoughtSpot app
81
81
  * is displayed. By default, the navigation bar is hidden.
82
+ * This flag also control the homepage left nav-bar.
82
83
  */
83
84
  showPrimaryNavbar?: boolean;
85
+ /**
86
+ * Flag to control Homepage Left Nav Bar
87
+ * If showPrimaryNavbar is true, ie navigation bar(Global nav-bar) and Homepage left
88
+ * nav-bar is visible, this flag will only hide the homepage left nav.
89
+ * Precedence of showPrimaryNavbar flag > hideHomepageLeftNav flag.
90
+ *
91
+ * @default false
92
+ * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
93
+ */
94
+ hideHomepageLeftNav?: boolean;
84
95
  /**
85
96
  * If true, help and profile buttons will hide on NavBar. By default,
86
97
  * they are shown.
@@ -99,12 +110,24 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
99
110
  /**
100
111
  * A URL path within the app that is to be embedded.
101
112
  * If both path and pageId attributes are defined, the path definition
102
- * takes precedence.
113
+ * takes precedence. This is the path post the `#/` in the URL of the standalone
114
+ * ThoughtSpot app. Use this to open the embedded view to a specific path.
115
+ *
116
+ * For eg, if you want the component to open to a specific liveboard
117
+ * you could set the path to `pinboard/<liveboardId>/tab/<tabId>`.
118
+ *
119
+ * @example
120
+ * ```
121
+ * <AppEmbed path="pinboard/1234/tab/7464" />
122
+ * ```
103
123
  */
104
124
  path?: string;
105
125
  /**
106
126
  * The application page to set as the start page
107
127
  * in the embedded view.
128
+ *
129
+ * Use this to open to particular page in the app. To open to a specific
130
+ * path within the app, use the `path` attribute which is more flexible.
108
131
  */
109
132
  pageId?: Page;
110
133
  /**
@@ -138,6 +161,21 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
138
161
  * @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
139
162
  */
140
163
  fullHeight?: boolean;
164
+ /**
165
+ * Flag to control Data panel experience
166
+ *
167
+ * @default false
168
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
169
+ * @hidden
170
+ */
171
+ dataPanelV2?: boolean;
172
+ /**
173
+ * Flag to control new Modular Home experience
174
+ *
175
+ * @default false
176
+ * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
177
+ */
178
+ modularHomeExperience?: boolean;
141
179
  }
142
180
  /**
143
181
  * Embeds full ThoughtSpot experience in a host application.
@@ -271,7 +309,20 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
271
309
  * @param fn The function being registered
272
310
  */
273
311
  export const renderInQueue: (fn: (next?: (val?: any) => void) => Promise<any>) => Promise<any>;
312
+ /**
313
+ * Imports TML representation of the metadata objects into ThoughtSpot.
314
+ *
315
+ * @param data
316
+ * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
317
+ */
274
318
  export const executeTML: (data: executeTMLInput) => Promise<any>;
319
+ /**
320
+ * Exports TML representation of the metadata objects from ThoughtSpot in JSON or YAML
321
+ * format.
322
+ *
323
+ * @param data
324
+ * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
325
+ */
275
326
  export const exportTML: (data: exportTMLInput) => Promise<any>;
276
327
  /**
277
328
  *
@@ -290,7 +341,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
290
341
  * @summary Liveboard & visualization embed
291
342
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
292
343
  */
293
- import { DOMSelector, HostEvent, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
344
+ import { RuntimeParameter, DOMSelector, HostEvent, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
294
345
  import { V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
295
346
  /**
296
347
  * The configuration for the embedded Liveboard or visualization page view.
@@ -374,6 +425,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
374
425
  * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
375
426
  */
376
427
  hideTabPanel?: boolean;
428
+ /**
429
+ * The list of parameter override to apply to a Liveboard.
430
+ */
431
+ runtimeParameters?: RuntimeParameter[];
377
432
  }
378
433
  /**
379
434
  * Embed a ThoughtSpot Liveboard or a Thoughtspot visualization. When rendered it already
@@ -430,7 +485,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
430
485
  * @summary Search embed
431
486
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
432
487
  */
433
- import { DOMSelector, Action, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
488
+ import { DOMSelector, Action, ViewConfig, RuntimeParameter } from '@thoughtspot/visual-embed-sdk/types';
434
489
  import { TsEmbed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
435
490
  /**
436
491
  * Configuration for search options
@@ -469,6 +524,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
469
524
  * using raw answer data.
470
525
  */
471
526
  hideResults?: boolean;
527
+ /**
528
+ * If set to true, expands all the data sources panel.
529
+ */
530
+ expandAllDataSource?: boolean;
472
531
  /**
473
532
  * If set to true, the Search Assist feature is enabled.
474
533
  *
@@ -514,6 +573,23 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
514
573
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
515
574
  */
516
575
  hideSearchBar?: boolean;
576
+ /**
577
+ * Flag to control Data panel experience
578
+ *
579
+ * @default false
580
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
581
+ */
582
+ dataPanelV2?: boolean;
583
+ /**
584
+ * Flag to set if last selected dataSource should be used
585
+ *
586
+ * @version: SDK: 1.24.0
587
+ */
588
+ useLastSelectedSources?: boolean;
589
+ /**
590
+ * The list of parameter override to apply to a search answer.
591
+ */
592
+ runtimeParameters?: RuntimeParameter[];
517
593
  }
518
594
  export const HiddenActionItemByDefaultForSearchEmbed: Action[];
519
595
  /**
@@ -542,7 +618,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search-bar' {
542
618
  /**
543
619
  * @group Embed components
544
620
  */
545
- export interface SearchBarViewConfig extends Omit<ViewConfig, 'runtimeFilters' | 'showAlerts'> {
621
+ export interface SearchBarViewConfig extends Omit<ViewConfig, 'runtimeFilters' | 'showAlerts' | 'dataPanelV2'> {
546
622
  /**
547
623
  * The array of data source GUIDs to set on load.
548
624
  * Only a single dataSource supported currently.
@@ -556,6 +632,12 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search-bar' {
556
632
  * @version: SDK: 1.19.0
557
633
  */
558
634
  dataSource?: string;
635
+ /**
636
+ * Flag to set if last selected dataSource should be used
637
+ *
638
+ * @version: SDK: 1.24.0
639
+ */
640
+ useLastSelectedSources?: boolean;
559
641
  /**
560
642
  * Configuration for search options
561
643
  */
@@ -944,6 +1026,17 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
944
1026
  */
945
1027
  Basic = "Basic"
946
1028
  }
1029
+ export enum HomeLeftNavItem {
1030
+ QueryBuilder = "query-builder",
1031
+ Home = "insights-home",
1032
+ Liveboards = "liveboards",
1033
+ Answers = "answers",
1034
+ MonitorSubscription = "monitor-alerts",
1035
+ SpotIQAnalysis = "spotiq-analysis",
1036
+ Tutorials = "tutorials",
1037
+ Documentation = "documentation",
1038
+ Community = "community"
1039
+ }
947
1040
  export type DOMSelector = string | HTMLElement;
948
1041
  /**
949
1042
  * inline customCSS within the {@link CustomisationsInterface}.
@@ -1023,6 +1116,9 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1023
1116
  export interface CustomisationsInterface {
1024
1117
  style?: CustomStyles;
1025
1118
  content?: {
1119
+ /**
1120
+ * @version SDK: 1.26.0 | 9.7.0.cl
1121
+ */
1026
1122
  strings?: Record<string, any>;
1027
1123
  [key: string]: any;
1028
1124
  };
@@ -1246,12 +1342,21 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1246
1342
  blockNonEmbedFullAppAccess?: boolean;
1247
1343
  /**
1248
1344
  * Host config incase embedded app is inside TS app itself
1345
+ *
1346
+ * @hidden
1249
1347
  */
1250
1348
  hostConfig?: {
1251
1349
  hostUserGuid: string;
1252
1350
  hostClusterId: string;
1253
1351
  hostClusterName: string;
1254
1352
  };
1353
+ /**
1354
+ * Pendo API key to enable Pendo tracking to your own subscription, the key
1355
+ * is added as an additional key to the embed, as per this [doc](https://support.pendo.io/hc/en-us/articles/360032201951-Send-data-to-multiple-subscriptions).
1356
+ *
1357
+ * @version SDK: 1.27.0 | ThoughtSpot: 9.8.0.cl
1358
+ */
1359
+ pendoTrackingKey?: string;
1255
1360
  }
1256
1361
  export interface LayoutConfig {
1257
1362
  }
@@ -1359,6 +1464,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1359
1464
  * visualization, or Liveboard.
1360
1465
  */
1361
1466
  runtimeFilters?: RuntimeFilter[];
1467
+ /**
1468
+ * The list of parameter override to apply to a search answer,
1469
+ * visualization, or Liveboard.
1470
+ */
1471
+ runtimeParameters?: RuntimeParameter[];
1362
1472
  /**
1363
1473
  * The locale/language to use for the embedded view.
1364
1474
  *
@@ -1430,21 +1540,21 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1430
1540
  /**
1431
1541
  * Boolean to hide liveboard header
1432
1542
  *
1433
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
1543
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1434
1544
  * @default false
1435
1545
  */
1436
1546
  hideLiveboardHeader?: boolean;
1437
1547
  /**
1438
1548
  * Boolean to show liveboard title
1439
1549
  *
1440
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
1550
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1441
1551
  * @default false
1442
1552
  */
1443
1553
  showLiveboardTitle?: boolean;
1444
1554
  /**
1445
1555
  * Boolean to show liveboard description
1446
1556
  *
1447
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
1557
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1448
1558
  * @default false
1449
1559
  */
1450
1560
  showLiveboardDescription?: boolean;
@@ -1462,9 +1572,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1462
1572
  * 'f547ec54-2a37-4516-a222-2b06719af726']
1463
1573
  * });
1464
1574
  * ```
1465
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
1575
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1466
1576
  */
1467
1577
  hiddenTabs?: string[];
1578
+ /**
1579
+ * Hide the home page modules
1580
+ * eg: hiddenHomepageModules = [HomepageModule.MyLibrary]
1581
+ *
1582
+ * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
1583
+ */
1584
+ hiddenHomepageModules?: HomepageModule[];
1468
1585
  /**
1469
1586
  * The list of tab IDs to show in the embedded.
1470
1587
  * Only this Tabs will be shown in their respective LBs.
@@ -1481,9 +1598,18 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1481
1598
  * 'f547ec54-2a37-4516-a222-2b06719af726']
1482
1599
  * });
1483
1600
  * ```
1484
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
1601
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1485
1602
  */
1486
1603
  visibleTabs?: string[];
1604
+ /**
1605
+ * homepageLeftNavItems : show/hide Homeapage Left Nav Bar Items
1606
+ * There are 8 home nav list items, we will send those item as list
1607
+ * which we want to hide for TSE.
1608
+ * eg: hiddenHomeLeftNavItems = [HomeLeftNavItem.Home] to hide home.
1609
+ *
1610
+ * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
1611
+ */
1612
+ hiddenHomeLeftNavItems?: HomeLeftNavItem[];
1487
1613
  }
1488
1614
  /**
1489
1615
  * MessagePayload: Embed event payload: message type, data and status (start/end)
@@ -1595,6 +1721,35 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1595
1721
  */
1596
1722
  IN = "IN"
1597
1723
  }
1724
+ /**
1725
+ * Home page module that can be hide
1726
+ */
1727
+ export enum HomepageModule {
1728
+ /**
1729
+ * Search bar
1730
+ */
1731
+ Search = "search",
1732
+ /**
1733
+ * kPI watchlist module
1734
+ */
1735
+ Watchlist = "watchlist",
1736
+ /**
1737
+ * favorite objects
1738
+ */
1739
+ Favorite = "favorite",
1740
+ /**
1741
+ * List of answers and liveboards
1742
+ */
1743
+ MyLibrary = "mylibrary",
1744
+ /**
1745
+ * Trending list
1746
+ */
1747
+ Trending = "trending",
1748
+ /**
1749
+ * Learning videos
1750
+ */
1751
+ Learning = "learning"
1752
+ }
1598
1753
  /**
1599
1754
  * A filter that can be applied to ThoughtSpot answers, Liveboards, or
1600
1755
  * visualizations at runtime.
@@ -1615,6 +1770,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1615
1770
  */
1616
1771
  values: (number | boolean | string)[];
1617
1772
  }
1773
+ /**
1774
+ * A filter that can be applied to ThoughtSpot answers, Liveboards, or
1775
+ * visualizations at runtime.
1776
+ */
1777
+ export interface RuntimeParameter {
1778
+ /**
1779
+ * The name of the runtime parameter to filter on (case-sensitive)
1780
+ */
1781
+ name: string;
1782
+ /**
1783
+ * Values
1784
+ */
1785
+ value: number | boolean | string;
1786
+ }
1618
1787
  /**
1619
1788
  * Event types emitted by the embedded ThoughtSpot application.
1620
1789
  *
@@ -2039,23 +2208,74 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2039
2208
  */
2040
2209
  InsertIntoSlide = "insertInToSlide",
2041
2210
  /**
2211
+ * @hidden
2042
2212
  * Emitted when a user changes any filter on a Liveboard.
2043
- *
2044
2213
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
2045
2214
  */
2046
2215
  FilterChanged = "filterChanged",
2047
2216
  /**
2048
2217
  * Emitted when a user click on Go button in Sage Embed
2049
2218
  *
2050
- * @version SDK : 1.27.0 | Thoughtspot: 9.7.0.cl
2219
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2051
2220
  */
2052
2221
  SageEmbedQuery = "sageEmbedQuery",
2053
2222
  /**
2054
2223
  * Emitten when a user select data source in Sage Embed
2055
2224
  *
2056
- * @version SDK : 1.27.0 | Thoughtspot: 9.7.0.cl
2225
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2226
+ */
2227
+ SageWorksheetUpdated = "sageWorksheetUpdated",
2228
+ /**
2229
+ * Emitten when a user updates a connection in Data tab
2230
+ *
2231
+ * @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
2232
+ */
2233
+ UpdateConnection = "updateConnection",
2234
+ /**
2235
+ * Emitted when name, status (private or public) or filter values of a
2236
+ * PersonalisedView is updated.
2237
+ *
2238
+ * @returns viewName: string
2239
+ * @returns viewId: string
2240
+ * @returns liveboardId: string
2241
+ * @returns isPublic: boolean
2242
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2243
+ */
2244
+ UpdatePersonalisedView = "updatePersonalisedView",
2245
+ /**
2246
+ * Emitted when a PersonalisedView is saved.
2247
+ *
2248
+ * @returns viewName: string
2249
+ * @returns viewId: string
2250
+ * @returns liveboardId: string
2251
+ * @returns isPublic: boolean
2252
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2253
+ */
2254
+ SavePersonalisedView = "savePersonalisedView",
2255
+ /**
2256
+ * Emitted when a Liveboard is reset.
2257
+ *
2258
+ * @returns viewName: string
2259
+ * @returns viewId: string
2260
+ * @returns liveboardId: string
2261
+ * @returns isPublic: boolean
2262
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2263
+ */
2264
+ ResetLiveboard = "resetLiveboard",
2265
+ /**
2266
+ * Emitted when a PersonalisedView is deleted.
2267
+ *
2268
+ * @returns views: string[]
2269
+ * @returns liveboardId: string
2270
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
2271
+ */
2272
+ DeletePersonalisedView = "deletePersonalisedView",
2273
+ /**
2274
+ * Emitten when a user creates a new worksheet
2275
+ *
2276
+ * @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
2057
2277
  */
2058
- SageWorksheetUpdated = "sageWorksheetUpdated"
2278
+ CreateWorksheet = "createWorksheet"
2059
2279
  }
2060
2280
  /**
2061
2281
  * Event types that can be triggered by the host application
@@ -2698,16 +2918,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2698
2918
  */
2699
2919
  ResetSearch = "resetSearch",
2700
2920
  /**
2921
+ * @hidden
2701
2922
  * Gets the currents visible and runtime filters applied on a Liveboard
2702
- *
2703
2923
  * @example
2704
2924
  * liveboardEmbed.trigger(HostEvent.GetFilters)
2705
2925
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
2706
2926
  */
2707
2927
  GetFilters = "getFilters",
2708
2928
  /**
2929
+ * @hidden
2709
2930
  * Updates the visible filters on the Liveboard.
2710
- *
2711
2931
  * @param - filter: filter object containing column name and filter operation and values
2712
2932
  * @example
2713
2933
  *
@@ -2719,6 +2939,19 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2719
2939
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
2720
2940
  */
2721
2941
  UpdateFilters = "updateFilters",
2942
+ /**
2943
+ * Get Tab for the current Liveboard.
2944
+ *
2945
+ * @example
2946
+ * ```js
2947
+ * liveboardEmbed.trigger(HostEvent.GetTabs).then((tabDetails) => {
2948
+ * console.log(
2949
+ * tabDetails // TabDetails of current LB
2950
+ * );
2951
+ * })
2952
+ * ```
2953
+ * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
2954
+ */
2722
2955
  GetTabs = "getTabs",
2723
2956
  /**
2724
2957
  * Set the visible Tabs on a Liveboard.
@@ -2731,7 +2964,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2731
2964
  * '430496d6-6903-4601-937e-2c691821af3c',
2732
2965
  * 'f547ec54-2a37-4516-a222-2b06719af726'])
2733
2966
  * ```
2734
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
2967
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
2735
2968
  */
2736
2969
  SetVisibleTabs = "SetPinboardVisibleTabs",
2737
2970
  /**
@@ -2745,7 +2978,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2745
2978
  * '630496d6-6903-4601-937e-2c691821af3c',
2746
2979
  * 'i547ec54-2a37-4516-a222-2b06719af726'])
2747
2980
  * ```
2748
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
2981
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
2749
2982
  */
2750
2983
  SetHiddenTabs = "SetPinboardHiddenTabs",
2751
2984
  /**
@@ -2756,7 +2989,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2756
2989
  * ```js
2757
2990
  * sageEmbed.trigger(HostEvent.UpdateSageQuery, {
2758
2991
  * queryString: 'revenue per year',
2759
- * execute: true,
2992
+ * executeSearch: true,
2760
2993
  * })
2761
2994
  * ```
2762
2995
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
@@ -2816,6 +3049,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2816
3049
  DisableLoginRedirect = "disableLoginRedirect",
2817
3050
  visibleVizs = "pinboardVisibleVizs",
2818
3051
  LiveboardV2Enabled = "isPinboardV2Enabled",
3052
+ DataPanelV2Enabled = "enableDataPanelV2",
2819
3053
  ShowAlerts = "showAlerts",
2820
3054
  Locale = "locale",
2821
3055
  CustomStyle = "customStyle",
@@ -2844,7 +3078,10 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2844
3078
  HideTabPanel = "hideTabPanel",
2845
3079
  HideSampleQuestions = "hideSampleQuestions",
2846
3080
  WorksheetId = "worksheet",
2847
- Query = "query"
3081
+ Query = "query",
3082
+ HideHomepageLeftNav = "hideHomepageLeftNav",
3083
+ ModularHomeExperienceEnabled = "modularHomeExperience",
3084
+ PendoTrackingKey = "additionalPendoKey"
2848
3085
  }
2849
3086
  /**
2850
3087
  * ThoughtSpot application pages include actions and menu commands
@@ -3347,7 +3584,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3347
3584
  * disabledActions: [Action.QueryDetailsButtons]
3348
3585
  * ```
3349
3586
  */
3350
- QueryDetailsButtons = "QueryDetailsButtons",
3587
+ QueryDetailsButtons = "queryDetailsButtons",
3351
3588
  /**
3352
3589
  * The **Delete** action for Answers.
3353
3590
  *
@@ -3629,7 +3866,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3629
3866
  */
3630
3867
  MarkAsVerified = "markAsVerified",
3631
3868
  /**
3632
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
3869
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
3633
3870
  */
3634
3871
  AddTab = "addTab",
3635
3872
  /**
@@ -3651,7 +3888,36 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3651
3888
  /**
3652
3889
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
3653
3890
  */
3654
- ModifySageAnswer = "modifySageAnswer"
3891
+ ModifySageAnswer = "modifySageAnswer",
3892
+ /**
3893
+ * The **Move to Tab** menu action on visualizations in liveboard edit mode.
3894
+ * Allows moving a visualization to a different tab.
3895
+ *
3896
+ * @example
3897
+ * ```js
3898
+ * disabledActions: [Action.MoveToTab]
3899
+ * ```
3900
+ */
3901
+ MoveToTab = "onContainerMove",
3902
+ /**
3903
+ * The **Manage Alertsb** menu action on KPI visualizations.
3904
+ *
3905
+ * @example
3906
+ * ```js
3907
+ * disabledActions: [Action.ManageMonitor]
3908
+ * ```
3909
+ */
3910
+ ManageMonitor = "ManageMonitor",
3911
+ /**
3912
+ * Action ID for Liveboard Personalised Views dropdown
3913
+ *
3914
+ * @example
3915
+ * ```js
3916
+ * disabledActions: [Action.PersonalisedViewsDropdown]
3917
+ * ```
3918
+ * @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
3919
+ */
3920
+ PersonalisedViewsDropdown = "personalisedViewsDropdown"
3655
3921
  }
3656
3922
  export interface SessionInterface {
3657
3923
  sessionId: string;
@@ -3705,6 +3971,12 @@ declare module '@thoughtspot/visual-embed-sdk/css-variables' {
3705
3971
  * Text transformation specification for UI elements in the app.
3706
3972
  */
3707
3973
  '--ts-var-root-text-transform'?: string;
3974
+ /**
3975
+ * application color, it replaces #2770EF which is rd-color(blue,base) and
3976
+ * its similar colors like rd-color(blue,60), rd-color(accent, base) and
3977
+ * rd-color(text, accent) in the app.
3978
+ */
3979
+ '--ts-var-application-color'?: string;
3708
3980
  /**
3709
3981
  * Background color of the top navigation panel.
3710
3982
  */
@@ -3965,6 +4237,10 @@ declare module '@thoughtspot/visual-embed-sdk/css-variables' {
3965
4237
  * Background color for menu items on hover.
3966
4238
  */
3967
4239
  '--ts-var-menu--hover-background'?: string;
4240
+ /**
4241
+ * Text color for selected menu items.
4242
+ */
4243
+ '--ts-var-menu-selected-text-color'?: string;
3968
4244
  /**
3969
4245
  * Background color of the dialogs.
3970
4246
  */
@@ -3985,6 +4261,34 @@ declare module '@thoughtspot/visual-embed-sdk/css-variables' {
3985
4261
  * Background color of the footer area on dialogs.
3986
4262
  */
3987
4263
  '--ts-var-dialog-footer-background'?: string;
4264
+ /**
4265
+ * Background for selected state in list
4266
+ */
4267
+ '--ts-var-list-selected-background'?: string;
4268
+ /**
4269
+ * Background for hover state in list
4270
+ */
4271
+ '--ts-var-list-hover-background'?: string;
4272
+ /**
4273
+ * Background for hover state in segment control.
4274
+ */
4275
+ '--ts-var-segment-control-hover-background'?: string;
4276
+ /**
4277
+ * Text color for slected item in modular home's watchlist.
4278
+ */
4279
+ '--ts-var-home-watchlist-selected-text-color'?: string;
4280
+ /**
4281
+ * Text color for favorite carousel find your favorites card in modular home.
4282
+ */
4283
+ '--ts-var-home-favorite-suggestion-card-text-color'?: string;
4284
+ /**
4285
+ * Icon color for favorite carousel find your favorites card in modular home.
4286
+ */
4287
+ '--ts-var-home-favorite-suggestion-card-icon-color'?: string;
4288
+ /**
4289
+ * Background for favorite carousel find your favorites card in modular home.
4290
+ */
4291
+ '--ts-var-home-favorite-suggestion-card-background'?: string;
3988
4292
  }
3989
4293
  }
3990
4294
 
@@ -3999,6 +4303,22 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
3999
4303
  */
4000
4304
  import { Action, DOMSelector, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
4001
4305
  import { V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
4306
+ /**
4307
+ * Configuration for search options
4308
+ */
4309
+ export interface SearchOptions {
4310
+ /**
4311
+ * The tml string to load the answer
4312
+ */
4313
+ searchQuery: string;
4314
+ /**
4315
+ * Boolean to determine if the search should be executed or not.
4316
+ * if it is executed, put the focus on the results.
4317
+ * if it’s not executed, put the focus in the search bar - at the end of
4318
+ * the tokens
4319
+ */
4320
+ executeSearch?: boolean;
4321
+ }
4002
4322
  /**
4003
4323
  * The configuration attributes for the embedded Natural language search view. Based on
4004
4324
  * GPT and LLM.
@@ -4008,7 +4328,9 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
4008
4328
  */
4009
4329
  export interface SageViewConfig extends ViewConfig {
4010
4330
  /**
4011
- * If set to true, object results are shown.
4331
+ * If set to true, a list of liveboard and answers related
4332
+ * to the natural language search will be shown below the
4333
+ * AI generated answer.
4012
4334
  */
4013
4335
  showObjectResults?: boolean;
4014
4336
  /**
@@ -4020,7 +4342,8 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
4020
4342
  */
4021
4343
  hideWorksheetSelector?: boolean;
4022
4344
  /**
4023
- * If set to true, the object search suggestions are not shown
4345
+ * If set to true, the search suggestions will contain existing
4346
+ * liveboards and answers in addition with the autocomplete
4024
4347
  *
4025
4348
  */
4026
4349
  showObjectSuggestions?: boolean;
@@ -4037,6 +4360,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
4037
4360
  * The data source GUID to set on load.
4038
4361
  */
4039
4362
  dataSource?: string;
4363
+ /**
4364
+ * Configuration for search options
4365
+ */
4366
+ searchOptions?: SearchOptions;
4040
4367
  }
4041
4368
  export const HiddenActionItemByDefaultForSageEmbed: Action[];
4042
4369
  /**
@@ -4191,6 +4518,8 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
4191
4518
  * @param messageType The message type
4192
4519
  * @param callback A callback as a function
4193
4520
  * @param options The message options
4521
+ * @param isSelf
4522
+ * @param isRegisteredBySDK
4194
4523
  * @example
4195
4524
  * ```js
4196
4525
  * tsEmbed.on(EmbedEvent.Error, (data) => {
@@ -4206,7 +4535,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
4206
4535
  * });
4207
4536
  * ```
4208
4537
  */
4209
- on(messageType: EmbedEvent, callback: MessageCallback, options?: MessageOptions): typeof TsEmbed.prototype;
4538
+ on(messageType: EmbedEvent, callback: MessageCallback, options?: MessageOptions, isRegisteredBySDK?: boolean): typeof TsEmbed.prototype;
4210
4539
  /**
4211
4540
  * Removes an event listener for a particular event type.
4212
4541
  *