@thoughtspot/visual-embed-sdk 1.39.3 → 1.40.1-alpha.1

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 (93) hide show
  1. package/cjs/src/embed/app.d.ts +56 -0
  2. package/cjs/src/embed/app.d.ts.map +1 -1
  3. package/cjs/src/embed/app.js +47 -8
  4. package/cjs/src/embed/app.js.map +1 -1
  5. package/cjs/src/embed/app.spec.js +322 -7
  6. package/cjs/src/embed/app.spec.js.map +1 -1
  7. package/cjs/src/embed/liveboard.d.ts +58 -1
  8. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  9. package/cjs/src/embed/liveboard.js +59 -8
  10. package/cjs/src/embed/liveboard.js.map +1 -1
  11. package/cjs/src/embed/liveboard.spec.js +206 -0
  12. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  13. package/cjs/src/embed/ts-embed.d.ts +7 -0
  14. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  15. package/cjs/src/embed/ts-embed.js +61 -7
  16. package/cjs/src/embed/ts-embed.js.map +1 -1
  17. package/cjs/src/types.d.ts +37 -6
  18. package/cjs/src/types.d.ts.map +1 -1
  19. package/cjs/src/types.js +35 -4
  20. package/cjs/src/types.js.map +1 -1
  21. package/cjs/src/utils/processTrigger.js +2 -1
  22. package/cjs/src/utils/processTrigger.js.map +1 -1
  23. package/cjs/src/utils.d.ts +6 -0
  24. package/cjs/src/utils.d.ts.map +1 -1
  25. package/cjs/src/utils.js +23 -3
  26. package/cjs/src/utils.js.map +1 -1
  27. package/cjs/src/utils.spec.js +212 -1
  28. package/cjs/src/utils.spec.js.map +1 -1
  29. package/dist/{index-ZrE8YYq8.js → index-CmEQfuE3.js} +1 -1
  30. package/dist/index-D1pyb7RG.js +7371 -0
  31. package/dist/index-DeFzsyFF.js +7371 -0
  32. package/dist/index-Dpf0rd6w.js +7371 -0
  33. package/dist/index-UuEbsISo.js +7447 -0
  34. package/dist/index-e3Uw3YFO.js +7371 -0
  35. package/dist/src/embed/app.d.ts +56 -0
  36. package/dist/src/embed/app.d.ts.map +1 -1
  37. package/dist/src/embed/bodyless-conversation.d.ts +0 -4
  38. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  39. package/dist/src/embed/liveboard.d.ts +56 -0
  40. package/dist/src/embed/liveboard.d.ts.map +1 -1
  41. package/dist/src/react/index.d.ts +0 -2
  42. package/dist/src/react/index.d.ts.map +1 -1
  43. package/dist/src/types.d.ts +16 -198
  44. package/dist/src/types.d.ts.map +1 -1
  45. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  46. package/dist/src/utils.d.ts +6 -0
  47. package/dist/src/utils.d.ts.map +1 -1
  48. package/dist/tsembed-react.es.js +137 -224
  49. package/dist/tsembed-react.js +136 -223
  50. package/dist/tsembed.es.js +137 -224
  51. package/dist/tsembed.js +136 -223
  52. package/dist/visual-embed-sdk-react-full.d.ts +106 -204
  53. package/dist/visual-embed-sdk-react.d.ts +106 -204
  54. package/dist/visual-embed-sdk.d.ts +106 -202
  55. package/lib/src/embed/app.d.ts +56 -0
  56. package/lib/src/embed/app.d.ts.map +1 -1
  57. package/lib/src/embed/app.js +48 -9
  58. package/lib/src/embed/app.js.map +1 -1
  59. package/lib/src/embed/app.spec.js +322 -7
  60. package/lib/src/embed/app.spec.js.map +1 -1
  61. package/lib/src/embed/liveboard.d.ts +58 -1
  62. package/lib/src/embed/liveboard.d.ts.map +1 -1
  63. package/lib/src/embed/liveboard.js +60 -9
  64. package/lib/src/embed/liveboard.js.map +1 -1
  65. package/lib/src/embed/liveboard.spec.js +206 -0
  66. package/lib/src/embed/liveboard.spec.js.map +1 -1
  67. package/lib/src/embed/ts-embed.d.ts +7 -0
  68. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  69. package/lib/src/embed/ts-embed.js +61 -7
  70. package/lib/src/embed/ts-embed.js.map +1 -1
  71. package/lib/src/types.d.ts +37 -6
  72. package/lib/src/types.d.ts.map +1 -1
  73. package/lib/src/types.js +35 -4
  74. package/lib/src/types.js.map +1 -1
  75. package/lib/src/utils/processTrigger.js +2 -1
  76. package/lib/src/utils/processTrigger.js.map +1 -1
  77. package/lib/src/utils.d.ts +6 -0
  78. package/lib/src/utils.d.ts.map +1 -1
  79. package/lib/src/utils.js +21 -2
  80. package/lib/src/utils.js.map +1 -1
  81. package/lib/src/utils.spec.js +213 -2
  82. package/lib/src/utils.spec.js.map +1 -1
  83. package/lib/src/visual-embed-sdk.d.ts +106 -202
  84. package/package.json +1 -2
  85. package/src/embed/app.spec.ts +397 -8
  86. package/src/embed/app.ts +106 -12
  87. package/src/embed/liveboard.spec.ts +254 -1
  88. package/src/embed/liveboard.ts +109 -11
  89. package/src/embed/ts-embed.ts +84 -21
  90. package/src/types.ts +36 -5
  91. package/src/utils/processTrigger.ts +1 -1
  92. package/src/utils.spec.ts +250 -2
  93. package/src/utils.ts +28 -2
@@ -1,4 +1,4 @@
1
- import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, getRuntimeParameters, removeTypename, removeStyleProperties, setStyleProperties, isUndefined, storeValueInWindow, getValueFromWindow, handlePresentEvent, handleExitPresentMode, getTypeFromValue, } from './utils';
1
+ import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, getRuntimeParameters, removeTypename, removeStyleProperties, setStyleProperties, isUndefined, storeValueInWindow, getValueFromWindow, handlePresentEvent, handleExitPresentMode, getTypeFromValue, calculateVisibleElementData, } from './utils';
2
2
  import { RuntimeFilterOp } from './types';
3
3
  import { logger } from './utils/logger';
4
4
  // Mock logger
@@ -230,7 +230,6 @@ describe('unit test for utils', () => {
230
230
  expect(getValueFromWindow('test')).toBe('testValue');
231
231
  });
232
232
  test('Object should be set if not', () => {
233
- // eslint-disable-next-line no-underscore-dangle
234
233
  window._tsEmbedSDK = null;
235
234
  storeValueInWindow('test', 'testValue');
236
235
  expect(getValueFromWindow('test')).toBe('testValue');
@@ -323,4 +322,216 @@ describe('Fullscreen Utility Functions', () => {
323
322
  });
324
323
  });
325
324
  });
325
+ describe('calculateVisibleElementData', () => {
326
+ let mockElement;
327
+ let originalInnerHeight;
328
+ let originalInnerWidth;
329
+ beforeEach(() => {
330
+ // Store original window dimensions
331
+ originalInnerHeight = window.innerHeight;
332
+ originalInnerWidth = window.innerWidth;
333
+ // Mock window dimensions
334
+ Object.defineProperty(window, 'innerHeight', {
335
+ writable: true,
336
+ configurable: true,
337
+ value: 800,
338
+ });
339
+ Object.defineProperty(window, 'innerWidth', {
340
+ writable: true,
341
+ configurable: true,
342
+ value: 1200,
343
+ });
344
+ // Create mock element
345
+ mockElement = document.createElement('div');
346
+ });
347
+ afterEach(() => {
348
+ // Restore original window dimensions
349
+ Object.defineProperty(window, 'innerHeight', {
350
+ value: originalInnerHeight,
351
+ });
352
+ Object.defineProperty(window, 'innerWidth', {
353
+ value: originalInnerWidth,
354
+ });
355
+ });
356
+ it('should calculate data for fully visible element', () => {
357
+ // Mock getBoundingClientRect for element fully within viewport
358
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
359
+ top: 100,
360
+ left: 150,
361
+ bottom: 300,
362
+ right: 400,
363
+ width: 250,
364
+ height: 200,
365
+ });
366
+ const result = calculateVisibleElementData(mockElement);
367
+ expect(result).toEqual({
368
+ top: 0,
369
+ height: 200,
370
+ left: 0,
371
+ width: 250, // Full width visible
372
+ });
373
+ });
374
+ it('should calculate data for element clipped from top', () => {
375
+ // Mock getBoundingClientRect for element partially above viewport
376
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
377
+ top: -50,
378
+ left: 100,
379
+ bottom: 150,
380
+ right: 400,
381
+ width: 300,
382
+ height: 200,
383
+ });
384
+ const result = calculateVisibleElementData(mockElement);
385
+ expect(result).toEqual({
386
+ top: 50,
387
+ height: 150,
388
+ left: 0,
389
+ width: 300, // Full width visible
390
+ });
391
+ });
392
+ it('should calculate data for element clipped from left', () => {
393
+ // Mock getBoundingClientRect for element partially left of viewport
394
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
395
+ top: 100,
396
+ left: -80,
397
+ bottom: 300,
398
+ right: 200,
399
+ width: 280,
400
+ height: 200,
401
+ });
402
+ const result = calculateVisibleElementData(mockElement);
403
+ expect(result).toEqual({
404
+ top: 0,
405
+ height: 200,
406
+ left: 80,
407
+ width: 200, // 200px visible width (0 to 200)
408
+ });
409
+ });
410
+ it('should calculate data for element clipped from bottom', () => {
411
+ // Mock getBoundingClientRect for element extending below viewport
412
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
413
+ top: 600,
414
+ left: 100,
415
+ bottom: 950,
416
+ right: 400,
417
+ width: 300,
418
+ height: 350,
419
+ });
420
+ const result = calculateVisibleElementData(mockElement);
421
+ expect(result).toEqual({
422
+ top: 0,
423
+ height: 200,
424
+ left: 0,
425
+ width: 300, // Full width visible
426
+ });
427
+ });
428
+ it('should calculate data for element clipped from right', () => {
429
+ // Mock getBoundingClientRect for element extending beyond right edge
430
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
431
+ top: 100,
432
+ left: 1000,
433
+ bottom: 300,
434
+ right: 1400,
435
+ width: 400,
436
+ height: 200,
437
+ });
438
+ const result = calculateVisibleElementData(mockElement);
439
+ expect(result).toEqual({
440
+ top: 0,
441
+ height: 200,
442
+ left: 0,
443
+ width: 200, // Only 200px visible width (1000 to 1200)
444
+ });
445
+ });
446
+ it('should calculate data for element clipped from multiple sides', () => {
447
+ // Mock getBoundingClientRect for element clipped from top and left
448
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
449
+ top: -100,
450
+ left: -50,
451
+ bottom: 200,
452
+ right: 300,
453
+ width: 350,
454
+ height: 300,
455
+ });
456
+ const result = calculateVisibleElementData(mockElement);
457
+ expect(result).toEqual({
458
+ top: 100,
459
+ height: 200,
460
+ left: 50,
461
+ width: 300, // 300px visible width (0 to 300)
462
+ });
463
+ });
464
+ it('should handle element completely outside viewport (above)', () => {
465
+ // Mock getBoundingClientRect for element completely above viewport
466
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
467
+ top: -300,
468
+ left: 100,
469
+ bottom: -100,
470
+ right: 400,
471
+ width: 300,
472
+ height: 200,
473
+ });
474
+ const result = calculateVisibleElementData(mockElement);
475
+ expect(result).toEqual({
476
+ top: 300,
477
+ height: 0,
478
+ left: 0,
479
+ width: 300, // Full width would be visible if in viewport
480
+ });
481
+ });
482
+ it('should handle element completely outside viewport (left)', () => {
483
+ // Mock getBoundingClientRect for element completely left of viewport
484
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
485
+ top: 100,
486
+ left: -400,
487
+ bottom: 300,
488
+ right: -100,
489
+ width: 300,
490
+ height: 200,
491
+ });
492
+ const result = calculateVisibleElementData(mockElement);
493
+ expect(result).toEqual({
494
+ top: 0,
495
+ height: 200,
496
+ left: 400,
497
+ width: 0, // No visible width (min(1200, -100) - max(-400, 0) = -100 - 0 = -100, but clamped)
498
+ });
499
+ });
500
+ it('should handle element larger than viewport', () => {
501
+ // Mock getBoundingClientRect for element larger than viewport
502
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
503
+ top: -200,
504
+ left: -300,
505
+ bottom: 1000,
506
+ right: 1500,
507
+ width: 1800,
508
+ height: 1200,
509
+ });
510
+ const result = calculateVisibleElementData(mockElement);
511
+ expect(result).toEqual({
512
+ top: 200,
513
+ height: 800,
514
+ left: 300,
515
+ width: 1200, // Visible width equals window width
516
+ });
517
+ });
518
+ it('should handle element exactly at viewport boundaries', () => {
519
+ // Mock getBoundingClientRect for element at exact viewport boundaries
520
+ jest.spyOn(mockElement, 'getBoundingClientRect').mockReturnValue({
521
+ top: 0,
522
+ left: 0,
523
+ bottom: 800,
524
+ right: 1200,
525
+ width: 1200,
526
+ height: 800,
527
+ });
528
+ const result = calculateVisibleElementData(mockElement);
529
+ expect(result).toEqual({
530
+ top: 0,
531
+ height: 800,
532
+ left: 0,
533
+ width: 1200, // Full viewport width
534
+ });
535
+ });
536
+ });
326
537
  //# sourceMappingURL=utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}