@thoughtspot/visual-embed-sdk 1.52.1 → 1.52.2-beta

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 (241) hide show
  1. package/cjs/package.json +11 -4
  2. package/cjs/src/contracts/host-event-contracts.d.ts +49 -11
  3. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +4 -3
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +1 -1
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +10 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/auto-frame-renderer.js +1 -1
  11. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  12. package/cjs/src/embed/auto-frame-renderer.spec.js +24 -13
  13. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  14. package/cjs/src/embed/bodyless-conversation.js +1 -1
  15. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  16. package/cjs/src/embed/conversation.d.ts +1 -0
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +4 -4
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +35 -24
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/embedConfig.spec.js +2 -1
  23. package/cjs/src/embed/embedConfig.spec.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  25. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  26. package/cjs/src/embed/hostEventClient/host-event-client.js +16 -10
  27. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +14 -8
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/utils.d.ts +9 -0
  31. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/utils.js +49 -3
  33. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
  35. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  36. package/cjs/src/embed/liveboard.d.ts +4 -3
  37. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  38. package/cjs/src/embed/liveboard.js +18 -13
  39. package/cjs/src/embed/liveboard.js.map +1 -1
  40. package/cjs/src/embed/liveboard.spec.js +2 -1
  41. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  42. package/cjs/src/embed/search-bar.js +1 -1
  43. package/cjs/src/embed/search-bar.js.map +1 -1
  44. package/cjs/src/embed/search.js +1 -1
  45. package/cjs/src/embed/search.js.map +1 -1
  46. package/cjs/src/embed/search.spec.js +20 -0
  47. package/cjs/src/embed/search.spec.js.map +1 -1
  48. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  49. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  50. package/cjs/src/embed/spotter-utils.js +14 -1
  51. package/cjs/src/embed/spotter-utils.js.map +1 -1
  52. package/cjs/src/embed/spotter-utils.spec.js +26 -0
  53. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  54. package/cjs/src/embed/ts-embed.d.ts +3 -0
  55. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  56. package/cjs/src/embed/ts-embed.js +108 -29
  57. package/cjs/src/embed/ts-embed.js.map +1 -1
  58. package/cjs/src/embed/ts-embed.spec.js +163 -23
  59. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  60. package/cjs/src/errors.js +1 -1
  61. package/cjs/src/errors.js.map +1 -1
  62. package/cjs/src/index.d.ts +2 -1
  63. package/cjs/src/index.d.ts.map +1 -1
  64. package/cjs/src/index.js +3 -1
  65. package/cjs/src/index.js.map +1 -1
  66. package/cjs/src/react/all-types-export.d.ts +1 -1
  67. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  68. package/cjs/src/react/all-types-export.js +2 -1
  69. package/cjs/src/react/all-types-export.js.map +1 -1
  70. package/cjs/src/types.d.ts +45 -22
  71. package/cjs/src/types.d.ts.map +1 -1
  72. package/cjs/src/types.js +44 -21
  73. package/cjs/src/types.js.map +1 -1
  74. package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  75. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  76. package/cjs/src/utils/custom-actions.spec.js +4 -2
  77. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  78. package/cjs/src/utils/filterConverter.d.ts +106 -0
  79. package/cjs/src/utils/filterConverter.d.ts.map +1 -0
  80. package/cjs/src/utils/filterConverter.js +215 -0
  81. package/cjs/src/utils/filterConverter.js.map +1 -0
  82. package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
  83. package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
  84. package/cjs/src/utils/filterConverter.spec.js +709 -0
  85. package/cjs/src/utils/filterConverter.spec.js.map +1 -0
  86. package/cjs/src/utils/processData.spec.js +2 -1
  87. package/cjs/src/utils/processData.spec.js.map +1 -1
  88. package/dist/{index-C1pmYb5H.js → index-CcBYlGo9.js} +1 -1
  89. package/dist/src/contracts/host-event-contracts.d.ts +49 -11
  90. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -1
  91. package/dist/src/embed/app.d.ts +4 -3
  92. package/dist/src/embed/app.d.ts.map +1 -1
  93. package/dist/src/embed/conversation.d.ts +1 -0
  94. package/dist/src/embed/conversation.d.ts.map +1 -1
  95. package/dist/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  96. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  97. package/dist/src/embed/hostEventClient/utils.d.ts +9 -0
  98. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  99. package/dist/src/embed/liveboard.d.ts +4 -3
  100. package/dist/src/embed/liveboard.d.ts.map +1 -1
  101. package/dist/src/embed/spotter-utils.d.ts +8 -1
  102. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  103. package/dist/src/embed/ts-embed.d.ts +3 -0
  104. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  105. package/dist/src/index.d.ts +2 -1
  106. package/dist/src/index.d.ts.map +1 -1
  107. package/dist/src/react/all-types-export.d.ts +1 -1
  108. package/dist/src/react/all-types-export.d.ts.map +1 -1
  109. package/dist/src/types.d.ts +45 -22
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/dist/src/utils/filterConverter.d.ts +106 -0
  112. package/dist/src/utils/filterConverter.d.ts.map +1 -0
  113. package/dist/src/utils/filterConverter.spec.d.ts +2 -0
  114. package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
  115. package/dist/tsembed-react.es.js +257 -87
  116. package/dist/tsembed-react.js +256 -86
  117. package/dist/tsembed.es.js +466 -89
  118. package/dist/tsembed.js +465 -87
  119. package/dist/visual-embed-sdk-react-full.d.ts +202 -40
  120. package/dist/visual-embed-sdk-react.d.ts +108 -40
  121. package/dist/visual-embed-sdk.d.ts +202 -40
  122. package/lib/package.json +11 -4
  123. package/lib/src/contracts/host-event-contracts.d.ts +49 -11
  124. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -1
  125. package/lib/src/embed/app.d.ts +4 -3
  126. package/lib/src/embed/app.d.ts.map +1 -1
  127. package/lib/src/embed/app.js +1 -1
  128. package/lib/src/embed/app.js.map +1 -1
  129. package/lib/src/embed/app.spec.js +10 -0
  130. package/lib/src/embed/app.spec.js.map +1 -1
  131. package/lib/src/embed/auto-frame-renderer.js +1 -1
  132. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  133. package/lib/src/embed/auto-frame-renderer.spec.js +24 -13
  134. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  135. package/lib/src/embed/bodyless-conversation.js +1 -1
  136. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  137. package/lib/src/embed/conversation.d.ts +1 -0
  138. package/lib/src/embed/conversation.d.ts.map +1 -1
  139. package/lib/src/embed/conversation.js +5 -5
  140. package/lib/src/embed/conversation.js.map +1 -1
  141. package/lib/src/embed/conversation.spec.js +35 -24
  142. package/lib/src/embed/conversation.spec.js.map +1 -1
  143. package/lib/src/embed/embedConfig.spec.js +2 -1
  144. package/lib/src/embed/embedConfig.spec.js.map +1 -1
  145. package/lib/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  146. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  147. package/lib/src/embed/hostEventClient/host-event-client.js +17 -11
  148. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  149. package/lib/src/embed/hostEventClient/host-event-client.spec.js +14 -8
  150. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  151. package/lib/src/embed/hostEventClient/utils.d.ts +9 -0
  152. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  153. package/lib/src/embed/hostEventClient/utils.js +47 -2
  154. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  155. package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
  156. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  157. package/lib/src/embed/liveboard.d.ts +4 -3
  158. package/lib/src/embed/liveboard.d.ts.map +1 -1
  159. package/lib/src/embed/liveboard.js +18 -13
  160. package/lib/src/embed/liveboard.js.map +1 -1
  161. package/lib/src/embed/liveboard.spec.js +2 -1
  162. package/lib/src/embed/liveboard.spec.js.map +1 -1
  163. package/lib/src/embed/search-bar.js +1 -1
  164. package/lib/src/embed/search-bar.js.map +1 -1
  165. package/lib/src/embed/search.js +1 -1
  166. package/lib/src/embed/search.js.map +1 -1
  167. package/lib/src/embed/search.spec.js +20 -0
  168. package/lib/src/embed/search.spec.js.map +1 -1
  169. package/lib/src/embed/spotter-utils.d.ts +8 -1
  170. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  171. package/lib/src/embed/spotter-utils.js +12 -0
  172. package/lib/src/embed/spotter-utils.js.map +1 -1
  173. package/lib/src/embed/spotter-utils.spec.js +27 -1
  174. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  175. package/lib/src/embed/ts-embed.d.ts +3 -0
  176. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  177. package/lib/src/embed/ts-embed.js +108 -29
  178. package/lib/src/embed/ts-embed.js.map +1 -1
  179. package/lib/src/embed/ts-embed.spec.js +164 -24
  180. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  181. package/lib/src/errors.js +1 -1
  182. package/lib/src/errors.js.map +1 -1
  183. package/lib/src/index.d.ts +2 -1
  184. package/lib/src/index.d.ts.map +1 -1
  185. package/lib/src/index.js +2 -1
  186. package/lib/src/index.js.map +1 -1
  187. package/lib/src/react/all-types-export.d.ts +1 -1
  188. package/lib/src/react/all-types-export.d.ts.map +1 -1
  189. package/lib/src/react/all-types-export.js +1 -1
  190. package/lib/src/react/all-types-export.js.map +1 -1
  191. package/lib/src/types.d.ts +45 -22
  192. package/lib/src/types.d.ts.map +1 -1
  193. package/lib/src/types.js +44 -21
  194. package/lib/src/types.js.map +1 -1
  195. package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  196. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  197. package/lib/src/utils/custom-actions.spec.js +4 -2
  198. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  199. package/lib/src/utils/filterConverter.d.ts +106 -0
  200. package/lib/src/utils/filterConverter.d.ts.map +1 -0
  201. package/lib/src/utils/filterConverter.js +210 -0
  202. package/lib/src/utils/filterConverter.js.map +1 -0
  203. package/lib/src/utils/filterConverter.spec.d.ts +2 -0
  204. package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
  205. package/lib/src/utils/filterConverter.spec.js +707 -0
  206. package/lib/src/utils/filterConverter.spec.js.map +1 -0
  207. package/lib/src/utils/processData.spec.js +2 -1
  208. package/lib/src/utils/processData.spec.js.map +1 -1
  209. package/lib/src/visual-embed-sdk.d.ts +202 -40
  210. package/package.json +11 -4
  211. package/src/contracts/host-event-contracts.ts +55 -11
  212. package/src/embed/app.spec.ts +15 -0
  213. package/src/embed/app.ts +5 -4
  214. package/src/embed/auto-frame-renderer.spec.ts +24 -13
  215. package/src/embed/auto-frame-renderer.ts +1 -1
  216. package/src/embed/bodyless-conversation.ts +1 -1
  217. package/src/embed/conversation.spec.ts +38 -27
  218. package/src/embed/conversation.ts +5 -5
  219. package/src/embed/embedConfig.spec.ts +2 -1
  220. package/src/embed/hostEventClient/host-event-client.spec.ts +14 -8
  221. package/src/embed/hostEventClient/host-event-client.ts +18 -10
  222. package/src/embed/hostEventClient/utils.spec.ts +176 -1
  223. package/src/embed/hostEventClient/utils.ts +51 -2
  224. package/src/embed/liveboard.spec.ts +4 -3
  225. package/src/embed/liveboard.ts +22 -16
  226. package/src/embed/search-bar.tsx +1 -1
  227. package/src/embed/search.spec.ts +23 -0
  228. package/src/embed/search.ts +1 -1
  229. package/src/embed/spotter-utils.spec.ts +29 -0
  230. package/src/embed/spotter-utils.ts +16 -0
  231. package/src/embed/ts-embed.spec.ts +204 -23
  232. package/src/embed/ts-embed.ts +114 -28
  233. package/src/errors.ts +1 -1
  234. package/src/index.ts +10 -0
  235. package/src/react/all-types-export.ts +4 -0
  236. package/src/types.ts +44 -21
  237. package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
  238. package/src/utils/custom-actions.spec.ts +4 -2
  239. package/src/utils/filterConverter.spec.ts +801 -0
  240. package/src/utils/filterConverter.ts +304 -0
  241. package/src/utils/processData.spec.ts +2 -1
@@ -7287,6 +7287,12 @@ export declare enum HostEvent {
7287
7287
  * ```js
7288
7288
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
7289
7289
  * console.log('data', data);
7290
+ * // {
7291
+ * // liveboardFilters: [ ... ],
7292
+ * // runtimeFilters: [
7293
+ * // { columnName: "Region", operator: "IN", values: ["West"] }
7294
+ * // ]
7295
+ * // }
7290
7296
  * ```
7291
7297
  * @example
7292
7298
  * ```js
@@ -7311,9 +7317,9 @@ export declare enum HostEvent {
7311
7317
  *
7312
7318
  * Each filter object must include the following attributes:
7313
7319
  *
7314
- * `column` - Name of the column to filter on.
7320
+ * `columnName` - Name of the column to filter on.
7315
7321
  *
7316
- * `oper` - Filter operator, for example, EQ, IN, CONTAINS.
7322
+ * `operator` - Filter operator, for example, EQ, IN, CONTAINS.
7317
7323
  * For information about the supported filter operators,
7318
7324
  * see link:https://developers.thoughtspot.com/docs/runtime-filters#rtOperator[Developer Documentation].
7319
7325
  *
@@ -7340,8 +7346,8 @@ export declare enum HostEvent {
7340
7346
  *
7341
7347
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7342
7348
  * filter: {
7343
- * column: "item type",
7344
- * oper: "IN",
7349
+ * columnName: "item type",
7350
+ * operator: "IN",
7345
7351
  * values: ["bags","shirts"]
7346
7352
  * }
7347
7353
  * });
@@ -7351,8 +7357,8 @@ export declare enum HostEvent {
7351
7357
  *
7352
7358
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7353
7359
  * filter: {
7354
- * column: "date",
7355
- * oper: "EQ",
7360
+ * columnName: "date",
7361
+ * operator: "EQ",
7356
7362
  * values: ["JULY","2023"],
7357
7363
  * type: "MONTH_YEAR"
7358
7364
  * }
@@ -7363,18 +7369,18 @@ export declare enum HostEvent {
7363
7369
  * ```js
7364
7370
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7365
7371
  * filters: [{
7366
- * column: "Item Type",
7367
- * oper: 'IN',
7372
+ * columnName: "Item Type",
7373
+ * operator: 'IN',
7368
7374
  * values: ["bags","shirts"]
7369
7375
  * },
7370
7376
  * {
7371
- * column: "Region",
7372
- * oper: 'IN',
7377
+ * columnName: "Region",
7378
+ * operator: 'IN',
7373
7379
  * values: ["West","Midwest"]
7374
7380
  * },
7375
7381
  * {
7376
- * column: "Date",
7377
- * oper: 'EQ',
7382
+ * columnName: "Date",
7383
+ * operator: 'EQ',
7378
7384
  * values: ["2023-07-31"],
7379
7385
  * type: "EXACT_DATE"
7380
7386
  * }]
@@ -7388,13 +7394,13 @@ export declare enum HostEvent {
7388
7394
  * ```js
7389
7395
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7390
7396
  * filters: [{
7391
- * column: "(Sample) Retail - Apparel::city",
7392
- * oper: 'IN',
7397
+ * columnName: "(Sample) Retail - Apparel::city",
7398
+ * operator: 'IN',
7393
7399
  * values: ["atlanta"]
7394
7400
  * },
7395
7401
  * {
7396
- * column: "(Sample) Retail - Apparel::Region",
7397
- * oper: 'IN',
7402
+ * columnName: "(Sample) Retail - Apparel::Region",
7403
+ * operator: 'IN',
7398
7404
  * values: ["West","Midwest"]
7399
7405
  * }]
7400
7406
  * });
@@ -7405,8 +7411,8 @@ export declare enum HostEvent {
7405
7411
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
7406
7412
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7407
7413
  * filter: {
7408
- * column: "item type",
7409
- * oper: "IN",
7414
+ * columnName: "item type",
7415
+ * operator: "IN",
7410
7416
  * values: ["shoes", "boots"]
7411
7417
  * }
7412
7418
  * }, ContextType.Liveboard);
@@ -7416,8 +7422,8 @@ export declare enum HostEvent {
7416
7422
  * // Scope the filter to a specific Liveboard tab
7417
7423
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7418
7424
  * filter: {
7419
- * column: "item type",
7420
- * oper: "IN",
7425
+ * columnName: "item type",
7426
+ * operator: "IN",
7421
7427
  * values: ["bags", "shirts"],
7422
7428
  * applicability: {
7423
7429
  * level: "TAB",
@@ -7426,6 +7432,12 @@ export declare enum HostEvent {
7426
7432
  * }
7427
7433
  * });
7428
7434
  * ```
7435
+ * Use `columnName` and `operator` - the same spelling as
7436
+ * {@link RuntimeFilter}. The older `column` and `oper` spellings are
7437
+ * deprecated; they are still accepted, but pass only one spelling of each
7438
+ * field, never both. To reapply the filter state captured from
7439
+ * {@link EmbedEvent.FilterChanged}, use `convertFilterChangedToUpdateFiltersPayload`
7440
+ * to convert its payload into the shape expected here.
7429
7441
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
7430
7442
  */
7431
7443
  UpdateFilters = "updateFilters",
@@ -10467,7 +10479,19 @@ export declare enum Action {
10467
10479
  * }
10468
10480
  * ```
10469
10481
  */
10470
- DeleteCollection = "deleteCollection"
10482
+ DeleteCollection = "deleteCollection",
10483
+ /**
10484
+ * Controls the visibility of the "Customize homepage" button on the
10485
+ * embedded home page.
10486
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
10487
+ * @example
10488
+ * ```js
10489
+ * {
10490
+ * hiddenActions: [Action.CustomizeHomepage],
10491
+ * }
10492
+ * ```
10493
+ */
10494
+ CustomizeHomepage = "customizeHomepage"
10471
10495
  }
10472
10496
  export declare enum PrefetchFeatures {
10473
10497
  FullApp = "FullApp",
@@ -11882,23 +11906,61 @@ export interface UpdateCrossFilterRequest {
11882
11906
  conditions: CrossFilterCondition[];
11883
11907
  }
11884
11908
  /**
11885
- * A single filter entry for {@link HostEvent.UpdateFilters}. Supports both
11886
- * the current (columnName/operator) and legacy (column/oper) field names.
11909
+ * The column to filter on. Supply `columnName`. A filter with no column is
11910
+ * rejected at runtime, and passing both spellings silently discards the
11911
+ * `column` one.
11912
+ *
11913
+ * When several columns share a name, qualify it as
11914
+ * `WORKSHEET_NAME::COLUMN_NAME`, for example
11915
+ * `"(Sample) Retail - Apparel::city"`.
11887
11916
  */
11888
- export interface HostFilterUpdate {
11889
- columnName?: string;
11917
+ export type HostFilterUpdateColumn = {
11918
+ /**
11919
+ * Name of the column to filter on, optionally qualified as
11920
+ * `WORKSHEET_NAME::COLUMN_NAME`.
11921
+ */
11922
+ columnName: string;
11923
+ column?: never;
11924
+ } | {
11925
+ /**
11926
+ * @deprecated Use `columnName`, which matches {@link RuntimeFilter} and
11927
+ * the rest of the SDK. Still accepted, but not alongside `columnName`.
11928
+ */
11929
+ column: string;
11930
+ columnName?: never;
11931
+ };
11932
+ /**
11933
+ * The filter operator. Supply `operator`. A filter with no operator is
11934
+ * rejected at runtime, and passing both spellings silently discards the
11935
+ * `oper` one.
11936
+ */
11937
+ export type HostFilterUpdateOperator = {
11938
+ /** Filter operator, for example EQ, IN, CONTAINS. */
11939
+ operator: string;
11940
+ oper?: never;
11941
+ } | {
11942
+ /**
11943
+ * @deprecated Use `operator`, which matches {@link RuntimeFilter} and
11944
+ * the rest of the SDK. Still accepted, but not alongside `operator`.
11945
+ */
11946
+ oper: string;
11947
+ operator?: never;
11948
+ };
11949
+ /**
11950
+ * A single filter entry for {@link HostEvent.UpdateFilters}.
11951
+ *
11952
+ * Use `columnName` and `operator` - the spelling used by
11953
+ * {@link RuntimeFilter} and by the payload
11954
+ * `convertFilterChangedToUpdateFiltersPayload` produces.
11955
+ */
11956
+ export type HostFilterUpdate = HostFilterUpdateColumn & HostFilterUpdateOperator & {
11890
11957
  columnId?: string;
11891
- operator?: string;
11892
- values: Array<string | number | boolean>;
11958
+ values: Array<string | number | boolean | bigint>;
11893
11959
  type?: string;
11894
11960
  datePeriod?: string;
11895
11961
  negate?: boolean;
11896
- /** Legacy field name for columnName. */
11897
- column?: string;
11898
- /** Legacy field name for operator. */
11899
- oper?: string;
11900
11962
  applicability?: Applicability;
11901
- }
11963
+ };
11902
11964
  /**
11903
11965
  * Request payload for {@link HostEvent.UpdateFilters} (singular or plural
11904
11966
  * form).
@@ -12157,8 +12219,8 @@ declare class HostEventClient {
12157
12219
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
12158
12220
  /**
12159
12221
  * Dispatches a host event using the appropriate channel:
12160
- * 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
12161
- * 2. Otherwise fall back to the legacy host event channel.
12222
+ * 1. If the embedded app supports UI passthrough for this event, use it (custom
12223
+ * handler or getter). 2. Otherwise fall back to the legacy host event channel.
12162
12224
  *
12163
12225
  * @param hostEvent - The host event to trigger
12164
12226
  * @param payload - Optional payload for the event
@@ -12448,6 +12510,7 @@ declare class TsEmbed {
12448
12510
  protected getV1EmbedBasePath(queryString: string): string;
12449
12511
  protected getEmbedParams(): string;
12450
12512
  protected getEmbedParamsObject(): Record<any, any>;
12513
+ protected getUrlQueryParamsObject(): Record<any, any>;
12451
12514
  protected getRootIframeSrc(): string;
12452
12515
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
12453
12516
  /**
@@ -12744,6 +12807,8 @@ declare class TsEmbed {
12744
12807
  */
12745
12808
  prerenderGeneric(): Promise<any>;
12746
12809
  protected preRenderParamsApplied: Promise<void>;
12810
+ protected isConfigExcludedFromUrl(): boolean;
12811
+ protected triggerUpdateEmbedParams(): Promise<void>;
12747
12812
  protected beforePrerenderVisible(): void;
12748
12813
  /**
12749
12814
  * Displays the pre-rendered component inside the host element.
@@ -14078,6 +14143,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
14078
14143
  spotterShareConversationConfig?: SpotterShareConversationConfig;
14079
14144
  visualOverridesParams?: VisualizationOverrides | null;
14080
14145
  starterPrompts?: StarterPromptsConfig;
14146
+ spotterAnalystConfig?: SpotterAnalystConfig;
14081
14147
  };
14082
14148
  }
14083
14149
  declare class SpotterEmbed extends TsEmbed {
@@ -14799,9 +14865,10 @@ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig
14799
14865
  */
14800
14866
  isPNGInScheduledEmailsEnabled?: boolean;
14801
14867
  /**
14802
- * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
14803
- * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
14804
- * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
14868
+ * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
14869
+ * rendered on a single page following the exact UI layout, instead of splitting
14870
+ * visualizations across multiple A4 pages. This feature is GA from SDK version
14871
+ * 1.51.0 and ThoughtSpot version 26.8.0.cl.
14805
14872
  *
14806
14873
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
14807
14874
  * @type {boolean}
@@ -15485,9 +15552,10 @@ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfi
15485
15552
  */
15486
15553
  isPNGInScheduledEmailsEnabled?: boolean;
15487
15554
  /**
15488
- * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
15489
- * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
15490
- * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
15555
+ * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
15556
+ * rendered on a single page following the exact UI layout, instead of splitting
15557
+ * visualizations across multiple A4 pages. This feature is GA from SDK version
15558
+ * 1.51.0 and ThoughtSpot version 26.8.0.cl.
15491
15559
  *
15492
15560
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
15493
15561
  * @type {boolean}
@@ -15911,6 +15979,100 @@ declare const getEmbedConfig: () => EmbedConfig;
15911
15979
  * @param eventProps
15912
15980
  */
15913
15981
  export declare function uploadMixpanelEvent(eventId: string, eventProps?: {}): void;
15982
+ export interface FilterChangedFilterContentValue {
15983
+ key?: string | number | boolean | null;
15984
+ }
15985
+ export interface FilterChangedFilterContent {
15986
+ filterType?: string;
15987
+ negate?: boolean;
15988
+ value?: FilterChangedFilterContentValue[];
15989
+ }
15990
+ export interface FilterChangedDateFilterValue {
15991
+ type?: string;
15992
+ op?: string;
15993
+ epoch?: string | number | null;
15994
+ dateRange?: {
15995
+ lowEpoch?: string | number | null;
15996
+ highEpoch?: string | number | null;
15997
+ };
15998
+ monthName?: string;
15999
+ quarterName?: string;
16000
+ yearName?: string;
16001
+ number?: number | null;
16002
+ datePeriod?: string;
16003
+ includeCurrentPeriod?: boolean | null;
16004
+ }
16005
+ export interface FilterChangedDateFilterContent {
16006
+ negate?: boolean;
16007
+ dateFilter?: FilterChangedDateFilterValue;
16008
+ }
16009
+ export interface FilterChangedFilter {
16010
+ filterContent?: FilterChangedFilterContent[];
16011
+ dateFilterContent?: FilterChangedDateFilterContent[];
16012
+ }
16013
+ export interface FilterChangedFilterGroup {
16014
+ columnInfo?: {
16015
+ name?: string;
16016
+ };
16017
+ filters?: FilterChangedFilter[];
16018
+ /**
16019
+ * Scope of the filter - `LIVEBOARD`, `TAB` or `GROUP`. Present from
16020
+ * SDK 1.53.0 / ThoughtSpot 26.10.0.cl. Omitted means Liveboard level.
16021
+ */
16022
+ applicability?: Applicability;
16023
+ }
16024
+ /**
16025
+ * Shape of the payload received via `LiveboardEmbed.on(EmbedEvent.FilterChanged, ...)`.
16026
+ */
16027
+ export interface FilterChangedPayload {
16028
+ liveboardFilters?: FilterChangedFilterGroup[];
16029
+ runtimeFilters?: RuntimeFilter[];
16030
+ }
16031
+ export interface UpdateFiltersFilterParam {
16032
+ columnName: string;
16033
+ operator: string;
16034
+ values: (string | number | boolean | bigint)[];
16035
+ type?: string;
16036
+ datePeriod?: string;
16037
+ negate?: boolean;
16038
+ includeCurrentPeriod?: boolean;
16039
+ applicability?: Applicability;
16040
+ }
16041
+ /**
16042
+ * Shape expected by `liveboardEmbed.trigger(HostEvent.UpdateFilters, ...)`.
16043
+ */
16044
+ export interface UpdateFiltersPayload {
16045
+ filters: UpdateFiltersFilterParam[];
16046
+ }
16047
+ /**
16048
+ * Converts the payload emitted by {@link EmbedEvent.FilterChanged} into the
16049
+ * payload shape expected by {@link HostEvent.UpdateFilters}, so the same
16050
+ * filter state can be captured and re-applied later, for example on a
16051
+ * subsequent page load.
16052
+ *
16053
+ * Both the Liveboard filters and the runtime filters present in the
16054
+ * `FilterChanged` payload are included in the returned `filters` array.
16055
+ *
16056
+ * Note: a column with multiple date-filter conditions (e.g. an OR of two
16057
+ * date ranges) is not guaranteed to round-trip losslessly - `HostEvent.UpdateFilters`
16058
+ * treats date filters as replace-not-merge per column, so only the last
16059
+ * converted entry for such a column will apply.
16060
+ * @param filterChangedPayload The filter state carried by the
16061
+ * `EmbedEvent.FilterChanged` callback, which is `payload.data` - the
16062
+ * callback argument is the event envelope, and the filters sit under its
16063
+ * `data` key.
16064
+ * @example
16065
+ * ```js
16066
+ * let savedFilters;
16067
+ * liveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
16068
+ * savedFilters = convertFilterChangedToUpdateFiltersPayload(payload.data);
16069
+ * });
16070
+ *
16071
+ * // later, e.g. after a fresh page load
16072
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, savedFilters);
16073
+ * ```
16074
+ */
16075
+ export declare function convertFilterChangedToUpdateFiltersPayload(filterChangedPayload: FilterChangedPayload): UpdateFiltersPayload;
15914
16076
  /**
15915
16077
  * Resets the auth token and a new token will be fetched on the next request.
15916
16078
  * @example
@@ -7301,6 +7301,12 @@ export declare enum HostEvent {
7301
7301
  * ```js
7302
7302
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
7303
7303
  * console.log('data', data);
7304
+ * // {
7305
+ * // liveboardFilters: [ ... ],
7306
+ * // runtimeFilters: [
7307
+ * // { columnName: "Region", operator: "IN", values: ["West"] }
7308
+ * // ]
7309
+ * // }
7304
7310
  * ```
7305
7311
  * @example
7306
7312
  * ```js
@@ -7325,9 +7331,9 @@ export declare enum HostEvent {
7325
7331
  *
7326
7332
  * Each filter object must include the following attributes:
7327
7333
  *
7328
- * `column` - Name of the column to filter on.
7334
+ * `columnName` - Name of the column to filter on.
7329
7335
  *
7330
- * `oper` - Filter operator, for example, EQ, IN, CONTAINS.
7336
+ * `operator` - Filter operator, for example, EQ, IN, CONTAINS.
7331
7337
  * For information about the supported filter operators,
7332
7338
  * see link:https://developers.thoughtspot.com/docs/runtime-filters#rtOperator[Developer Documentation].
7333
7339
  *
@@ -7354,8 +7360,8 @@ export declare enum HostEvent {
7354
7360
  *
7355
7361
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7356
7362
  * filter: {
7357
- * column: "item type",
7358
- * oper: "IN",
7363
+ * columnName: "item type",
7364
+ * operator: "IN",
7359
7365
  * values: ["bags","shirts"]
7360
7366
  * }
7361
7367
  * });
@@ -7365,8 +7371,8 @@ export declare enum HostEvent {
7365
7371
  *
7366
7372
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7367
7373
  * filter: {
7368
- * column: "date",
7369
- * oper: "EQ",
7374
+ * columnName: "date",
7375
+ * operator: "EQ",
7370
7376
  * values: ["JULY","2023"],
7371
7377
  * type: "MONTH_YEAR"
7372
7378
  * }
@@ -7377,18 +7383,18 @@ export declare enum HostEvent {
7377
7383
  * ```js
7378
7384
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7379
7385
  * filters: [{
7380
- * column: "Item Type",
7381
- * oper: 'IN',
7386
+ * columnName: "Item Type",
7387
+ * operator: 'IN',
7382
7388
  * values: ["bags","shirts"]
7383
7389
  * },
7384
7390
  * {
7385
- * column: "Region",
7386
- * oper: 'IN',
7391
+ * columnName: "Region",
7392
+ * operator: 'IN',
7387
7393
  * values: ["West","Midwest"]
7388
7394
  * },
7389
7395
  * {
7390
- * column: "Date",
7391
- * oper: 'EQ',
7396
+ * columnName: "Date",
7397
+ * operator: 'EQ',
7392
7398
  * values: ["2023-07-31"],
7393
7399
  * type: "EXACT_DATE"
7394
7400
  * }]
@@ -7402,13 +7408,13 @@ export declare enum HostEvent {
7402
7408
  * ```js
7403
7409
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7404
7410
  * filters: [{
7405
- * column: "(Sample) Retail - Apparel::city",
7406
- * oper: 'IN',
7411
+ * columnName: "(Sample) Retail - Apparel::city",
7412
+ * operator: 'IN',
7407
7413
  * values: ["atlanta"]
7408
7414
  * },
7409
7415
  * {
7410
- * column: "(Sample) Retail - Apparel::Region",
7411
- * oper: 'IN',
7416
+ * columnName: "(Sample) Retail - Apparel::Region",
7417
+ * operator: 'IN',
7412
7418
  * values: ["West","Midwest"]
7413
7419
  * }]
7414
7420
  * });
@@ -7419,8 +7425,8 @@ export declare enum HostEvent {
7419
7425
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
7420
7426
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7421
7427
  * filter: {
7422
- * column: "item type",
7423
- * oper: "IN",
7428
+ * columnName: "item type",
7429
+ * operator: "IN",
7424
7430
  * values: ["shoes", "boots"]
7425
7431
  * }
7426
7432
  * }, ContextType.Liveboard);
@@ -7430,8 +7436,8 @@ export declare enum HostEvent {
7430
7436
  * // Scope the filter to a specific Liveboard tab
7431
7437
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7432
7438
  * filter: {
7433
- * column: "item type",
7434
- * oper: "IN",
7439
+ * columnName: "item type",
7440
+ * operator: "IN",
7435
7441
  * values: ["bags", "shirts"],
7436
7442
  * applicability: {
7437
7443
  * level: "TAB",
@@ -7440,6 +7446,12 @@ export declare enum HostEvent {
7440
7446
  * }
7441
7447
  * });
7442
7448
  * ```
7449
+ * Use `columnName` and `operator` - the same spelling as
7450
+ * {@link RuntimeFilter}. The older `column` and `oper` spellings are
7451
+ * deprecated; they are still accepted, but pass only one spelling of each
7452
+ * field, never both. To reapply the filter state captured from
7453
+ * {@link EmbedEvent.FilterChanged}, use `convertFilterChangedToUpdateFiltersPayload`
7454
+ * to convert its payload into the shape expected here.
7443
7455
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
7444
7456
  */
7445
7457
  UpdateFilters = "updateFilters",
@@ -10463,7 +10475,19 @@ export declare enum Action {
10463
10475
  * }
10464
10476
  * ```
10465
10477
  */
10466
- DeleteCollection = "deleteCollection"
10478
+ DeleteCollection = "deleteCollection",
10479
+ /**
10480
+ * Controls the visibility of the "Customize homepage" button on the
10481
+ * embedded home page.
10482
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
10483
+ * @example
10484
+ * ```js
10485
+ * {
10486
+ * hiddenActions: [Action.CustomizeHomepage],
10487
+ * }
10488
+ * ```
10489
+ */
10490
+ CustomizeHomepage = "customizeHomepage"
10467
10491
  }
10468
10492
  declare enum ContextMenuTriggerOptions {
10469
10493
  LEFT_CLICK = "left-click",
@@ -11783,23 +11807,61 @@ export interface UpdateCrossFilterRequest {
11783
11807
  conditions: CrossFilterCondition[];
11784
11808
  }
11785
11809
  /**
11786
- * A single filter entry for {@link HostEvent.UpdateFilters}. Supports both
11787
- * the current (columnName/operator) and legacy (column/oper) field names.
11810
+ * The column to filter on. Supply `columnName`. A filter with no column is
11811
+ * rejected at runtime, and passing both spellings silently discards the
11812
+ * `column` one.
11813
+ *
11814
+ * When several columns share a name, qualify it as
11815
+ * `WORKSHEET_NAME::COLUMN_NAME`, for example
11816
+ * `"(Sample) Retail - Apparel::city"`.
11788
11817
  */
11789
- export interface HostFilterUpdate {
11790
- columnName?: string;
11818
+ export type HostFilterUpdateColumn = {
11819
+ /**
11820
+ * Name of the column to filter on, optionally qualified as
11821
+ * `WORKSHEET_NAME::COLUMN_NAME`.
11822
+ */
11823
+ columnName: string;
11824
+ column?: never;
11825
+ } | {
11826
+ /**
11827
+ * @deprecated Use `columnName`, which matches {@link RuntimeFilter} and
11828
+ * the rest of the SDK. Still accepted, but not alongside `columnName`.
11829
+ */
11830
+ column: string;
11831
+ columnName?: never;
11832
+ };
11833
+ /**
11834
+ * The filter operator. Supply `operator`. A filter with no operator is
11835
+ * rejected at runtime, and passing both spellings silently discards the
11836
+ * `oper` one.
11837
+ */
11838
+ export type HostFilterUpdateOperator = {
11839
+ /** Filter operator, for example EQ, IN, CONTAINS. */
11840
+ operator: string;
11841
+ oper?: never;
11842
+ } | {
11843
+ /**
11844
+ * @deprecated Use `operator`, which matches {@link RuntimeFilter} and
11845
+ * the rest of the SDK. Still accepted, but not alongside `operator`.
11846
+ */
11847
+ oper: string;
11848
+ operator?: never;
11849
+ };
11850
+ /**
11851
+ * A single filter entry for {@link HostEvent.UpdateFilters}.
11852
+ *
11853
+ * Use `columnName` and `operator` - the spelling used by
11854
+ * {@link RuntimeFilter} and by the payload
11855
+ * `convertFilterChangedToUpdateFiltersPayload` produces.
11856
+ */
11857
+ export type HostFilterUpdate = HostFilterUpdateColumn & HostFilterUpdateOperator & {
11791
11858
  columnId?: string;
11792
- operator?: string;
11793
- values: Array<string | number | boolean>;
11859
+ values: Array<string | number | boolean | bigint>;
11794
11860
  type?: string;
11795
11861
  datePeriod?: string;
11796
11862
  negate?: boolean;
11797
- /** Legacy field name for columnName. */
11798
- column?: string;
11799
- /** Legacy field name for operator. */
11800
- oper?: string;
11801
11863
  applicability?: Applicability;
11802
- }
11864
+ };
11803
11865
  /**
11804
11866
  * Request payload for {@link HostEvent.UpdateFilters} (singular or plural
11805
11867
  * form).
@@ -12058,8 +12120,8 @@ declare class HostEventClient {
12058
12120
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
12059
12121
  /**
12060
12122
  * Dispatches a host event using the appropriate channel:
12061
- * 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
12062
- * 2. Otherwise fall back to the legacy host event channel.
12123
+ * 1. If the embedded app supports UI passthrough for this event, use it (custom
12124
+ * handler or getter). 2. Otherwise fall back to the legacy host event channel.
12063
12125
  *
12064
12126
  * @param hostEvent - The host event to trigger
12065
12127
  * @param payload - Optional payload for the event
@@ -12349,6 +12411,7 @@ declare class TsEmbed {
12349
12411
  protected getV1EmbedBasePath(queryString: string): string;
12350
12412
  protected getEmbedParams(): string;
12351
12413
  protected getEmbedParamsObject(): Record<any, any>;
12414
+ protected getUrlQueryParamsObject(): Record<any, any>;
12352
12415
  protected getRootIframeSrc(): string;
12353
12416
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
12354
12417
  /**
@@ -12645,6 +12708,8 @@ declare class TsEmbed {
12645
12708
  */
12646
12709
  prerenderGeneric(): Promise<any>;
12647
12710
  protected preRenderParamsApplied: Promise<void>;
12711
+ protected isConfigExcludedFromUrl(): boolean;
12712
+ protected triggerUpdateEmbedParams(): Promise<void>;
12648
12713
  protected beforePrerenderVisible(): void;
12649
12714
  /**
12650
12715
  * Displays the pre-rendered component inside the host element.
@@ -13979,6 +14044,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
13979
14044
  spotterShareConversationConfig?: SpotterShareConversationConfig;
13980
14045
  visualOverridesParams?: VisualizationOverrides | null;
13981
14046
  starterPrompts?: StarterPromptsConfig;
14047
+ spotterAnalystConfig?: SpotterAnalystConfig;
13982
14048
  };
13983
14049
  }
13984
14050
  declare class SpotterEmbed extends TsEmbed {
@@ -14696,9 +14762,10 @@ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig
14696
14762
  */
14697
14763
  isPNGInScheduledEmailsEnabled?: boolean;
14698
14764
  /**
14699
- * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
14700
- * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
14701
- * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
14765
+ * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
14766
+ * rendered on a single page following the exact UI layout, instead of splitting
14767
+ * visualizations across multiple A4 pages. This feature is GA from SDK version
14768
+ * 1.51.0 and ThoughtSpot version 26.8.0.cl.
14702
14769
  *
14703
14770
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
14704
14771
  * @type {boolean}
@@ -15382,9 +15449,10 @@ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfi
15382
15449
  */
15383
15450
  isPNGInScheduledEmailsEnabled?: boolean;
15384
15451
  /**
15385
- * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
15386
- * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
15387
- * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
15452
+ * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
15453
+ * rendered on a single page following the exact UI layout, instead of splitting
15454
+ * visualizations across multiple A4 pages. This feature is GA from SDK version
15455
+ * 1.51.0 and ThoughtSpot version 26.8.0.cl.
15388
15456
  *
15389
15457
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
15390
15458
  * @type {boolean}