@thoughtspot/visual-embed-sdk 1.36.9-primary-actions → 1.36.9

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 (82) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  3. package/cjs/src/embed/ts-embed.js +1 -4
  4. package/cjs/src/embed/ts-embed.js.map +1 -1
  5. package/cjs/src/types.d.ts +1 -16
  6. package/cjs/src/types.d.ts.map +1 -1
  7. package/cjs/src/types.js +0 -1
  8. package/cjs/src/types.js.map +1 -1
  9. package/dist/{index-BJx3m5_V.js → index-Dg18PU5Z.js} +1 -1
  10. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  11. package/dist/src/types.d.ts +1 -16
  12. package/dist/src/types.d.ts.map +1 -1
  13. package/dist/tsembed-react.es.js +4 -8
  14. package/dist/tsembed-react.js +3 -7
  15. package/dist/tsembed.es.js +4 -8
  16. package/dist/tsembed.js +3 -7
  17. package/dist/visual-embed-sdk-react-full.d.ts +1 -16
  18. package/dist/visual-embed-sdk-react.d.ts +1 -16
  19. package/dist/visual-embed-sdk.d.ts +1 -16
  20. package/lib/package.json +1 -1
  21. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  22. package/lib/src/embed/ts-embed.js +1 -4
  23. package/lib/src/embed/ts-embed.js.map +1 -1
  24. package/lib/src/types.d.ts +1 -16
  25. package/lib/src/types.d.ts.map +1 -1
  26. package/lib/src/types.js +0 -1
  27. package/lib/src/types.js.map +1 -1
  28. package/lib/src/visual-embed-sdk.d.ts +1 -16
  29. package/package.json +1 -1
  30. package/src/embed/ts-embed.ts +0 -4
  31. package/src/types.ts +0 -15
  32. package/cjs/src/pages/embed-test.page.d.ts +0 -8
  33. package/cjs/src/pages/embed-test.page.d.ts.map +0 -1
  34. package/cjs/src/pages/embed-test.page.js +0 -20
  35. package/cjs/src/pages/embed-test.page.js.map +0 -1
  36. package/cjs/src/pages/home.page.d.ts +0 -6
  37. package/cjs/src/pages/home.page.d.ts.map +0 -1
  38. package/cjs/src/pages/home.page.js +0 -12
  39. package/cjs/src/pages/home.page.js.map +0 -1
  40. package/cjs/src/pages/login.page.d.ts +0 -15
  41. package/cjs/src/pages/login.page.d.ts.map +0 -1
  42. package/cjs/src/pages/login.page.js +0 -22
  43. package/cjs/src/pages/login.page.js.map +0 -1
  44. package/cjs/src/tests/auth.test.d.ts +0 -1
  45. package/cjs/src/tests/auth.test.d.ts.map +0 -1
  46. package/cjs/src/tests/auth.test.js +0 -1
  47. package/cjs/src/tests/auth.test.js.map +0 -1
  48. package/cjs/src/tests/e2e/auth.spec.d.ts +0 -2
  49. package/cjs/src/tests/e2e/auth.spec.d.ts.map +0 -1
  50. package/cjs/src/tests/e2e/auth.spec.js +0 -54
  51. package/cjs/src/tests/e2e/auth.spec.js.map +0 -1
  52. package/dist/index-Do_T8J8z.js +0 -7370
  53. package/dist/src/pages/embed-test.page.d.ts +0 -8
  54. package/dist/src/pages/embed-test.page.d.ts.map +0 -1
  55. package/dist/src/pages/home.page.d.ts +0 -6
  56. package/dist/src/pages/home.page.d.ts.map +0 -1
  57. package/dist/src/pages/login.page.d.ts +0 -15
  58. package/dist/src/pages/login.page.d.ts.map +0 -1
  59. package/dist/src/tests/auth.test.d.ts +0 -1
  60. package/dist/src/tests/auth.test.d.ts.map +0 -1
  61. package/dist/src/tests/e2e/auth.spec.d.ts +0 -2
  62. package/dist/src/tests/e2e/auth.spec.d.ts.map +0 -1
  63. package/lib/src/pages/embed-test.page.d.ts +0 -8
  64. package/lib/src/pages/embed-test.page.d.ts.map +0 -1
  65. package/lib/src/pages/embed-test.page.js +0 -16
  66. package/lib/src/pages/embed-test.page.js.map +0 -1
  67. package/lib/src/pages/home.page.d.ts +0 -6
  68. package/lib/src/pages/home.page.d.ts.map +0 -1
  69. package/lib/src/pages/home.page.js +0 -8
  70. package/lib/src/pages/home.page.js.map +0 -1
  71. package/lib/src/pages/login.page.d.ts +0 -15
  72. package/lib/src/pages/login.page.d.ts.map +0 -1
  73. package/lib/src/pages/login.page.js +0 -18
  74. package/lib/src/pages/login.page.js.map +0 -1
  75. package/lib/src/tests/auth.test.d.ts +0 -1
  76. package/lib/src/tests/auth.test.d.ts.map +0 -1
  77. package/lib/src/tests/auth.test.js +0 -1
  78. package/lib/src/tests/auth.test.js.map +0 -1
  79. package/lib/src/tests/e2e/auth.spec.d.ts +0 -2
  80. package/lib/src/tests/e2e/auth.spec.d.ts.map +0 -1
  81. package/lib/src/tests/e2e/auth.spec.js +0 -52
  82. package/lib/src/tests/e2e/auth.spec.js.map +0 -1
@@ -1,8 +0,0 @@
1
- export declare class EmbedTestPage {
2
- private page;
3
- constructor(page: any);
4
- goto(): Promise<void>;
5
- waitForFrameToLoad(): Promise<void>;
6
- switchToTSFrame(): Promise<any>;
7
- }
8
- //# sourceMappingURL=embed-test.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embed-test.page.d.ts","sourceRoot":"","sources":["embed-test.page.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa;IACV,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG;IAEvB,IAAI;IAIJ,kBAAkB;IAIlB,eAAe;CAIxB"}
@@ -1,6 +0,0 @@
1
- export declare class HomePage {
2
- selectors: {
3
- homePage: string;
4
- };
5
- }
6
- //# sourceMappingURL=home.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.page.d.ts","sourceRoot":"","sources":["home.page.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACjB,SAAS;;MAEP;CACL"}
@@ -1,15 +0,0 @@
1
- export declare class LoginPage {
2
- private page;
3
- selectors: {
4
- userAvatar: string;
5
- signOutButtonInProfileMenu: string;
6
- loginPageLogo: string;
7
- };
8
- utils: {
9
- getRandomName: () => string;
10
- getStrongPassword: () => string;
11
- };
12
- constructor(page: any);
13
- loginAsUser(username: string, password: string): Promise<void>;
14
- }
15
- //# sourceMappingURL=login.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.page.d.ts","sourceRoot":"","sources":["login.page.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IAYN,OAAO,CAAC,IAAI;IAXxB,SAAS;;;;MAIP;IAEF,KAAK;;;MAGH;gBAEkB,IAAI,EAAE,GAAG;IAEvB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAGvD"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=auth.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["auth.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.spec.d.ts","sourceRoot":"","sources":["auth.spec.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export declare class EmbedTestPage {
2
- private page;
3
- constructor(page: any);
4
- goto(): Promise<void>;
5
- waitForFrameToLoad(): Promise<void>;
6
- switchToTSFrame(): Promise<any>;
7
- }
8
- //# sourceMappingURL=embed-test.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embed-test.page.d.ts","sourceRoot":"","sources":["../../../src/pages/embed-test.page.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa;IACV,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG;IAEvB,IAAI;IAIJ,kBAAkB;IAIlB,eAAe;CAIxB"}
@@ -1,16 +0,0 @@
1
- export class EmbedTestPage {
2
- constructor(page) {
3
- this.page = page;
4
- }
5
- async goto() {
6
- // Implement navigation logic
7
- }
8
- async waitForFrameToLoad() {
9
- // Implement frame load wait logic
10
- }
11
- async switchToTSFrame() {
12
- // Implement frame switching logic
13
- return this.page;
14
- }
15
- }
16
- //# sourceMappingURL=embed-test.page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embed-test.page.js","sourceRoot":"","sources":["../../../src/pages/embed-test.page.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IACtB,YAAoB,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;IAAG,CAAC;IAEjC,KAAK,CAAC,IAAI;QACN,6BAA6B;IACjC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,kCAAkC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,kCAAkC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -1,6 +0,0 @@
1
- export declare class HomePage {
2
- selectors: {
3
- homePage: string;
4
- };
5
- }
6
- //# sourceMappingURL=home.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.page.d.ts","sourceRoot":"","sources":["../../../src/pages/home.page.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACjB,SAAS;;MAEP;CACL"}
@@ -1,8 +0,0 @@
1
- export class HomePage {
2
- constructor() {
3
- this.selectors = {
4
- homePage: '[data-testid="home-page"]'
5
- };
6
- }
7
- }
8
- //# sourceMappingURL=home.page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.page.js","sourceRoot":"","sources":["../../../src/pages/home.page.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IAArB;QACI,cAAS,GAAG;YACR,QAAQ,EAAE,2BAA2B;SACxC,CAAC;IACN,CAAC;CAAA"}
@@ -1,15 +0,0 @@
1
- export declare class LoginPage {
2
- private page;
3
- selectors: {
4
- userAvatar: string;
5
- signOutButtonInProfileMenu: string;
6
- loginPageLogo: string;
7
- };
8
- utils: {
9
- getRandomName: () => string;
10
- getStrongPassword: () => string;
11
- };
12
- constructor(page: any);
13
- loginAsUser(username: string, password: string): Promise<void>;
14
- }
15
- //# sourceMappingURL=login.page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.page.d.ts","sourceRoot":"","sources":["../../../src/pages/login.page.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IAYN,OAAO,CAAC,IAAI;IAXxB,SAAS;;;;MAIP;IAEF,KAAK;;;MAGH;gBAEkB,IAAI,EAAE,GAAG;IAEvB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAGvD"}
@@ -1,18 +0,0 @@
1
- export class LoginPage {
2
- constructor(page) {
3
- this.page = page;
4
- this.selectors = {
5
- userAvatar: '[data-testid="user-avatar"]',
6
- signOutButtonInProfileMenu: '[data-testid="sign-out-button"]',
7
- loginPageLogo: '[data-testid="login-logo"]'
8
- };
9
- this.utils = {
10
- getRandomName: () => `testUser${Math.random().toString(36).substring(7)}`,
11
- getStrongPassword: () => 'Test@123'
12
- };
13
- }
14
- async loginAsUser(username, password) {
15
- // Implement login logic here
16
- }
17
- }
18
- //# sourceMappingURL=login.page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.page.js","sourceRoot":"","sources":["../../../src/pages/login.page.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IAYlB,YAAoB,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;QAX7B,cAAS,GAAG;YACR,UAAU,EAAE,6BAA6B;YACzC,0BAA0B,EAAE,iCAAiC;YAC7D,aAAa,EAAE,4BAA4B;SAC9C,CAAC;QAEF,UAAK,GAAG;YACJ,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACzE,iBAAiB,EAAE,GAAG,EAAE,CAAC,UAAU;SACtC,CAAC;IAE8B,CAAC;IAEjC,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAChD,6BAA6B;IACjC,CAAC;CACJ"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=auth.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../../src/tests/auth.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=auth.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/tests/auth.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.spec.d.ts","sourceRoot":"","sources":["../../../../src/tests/e2e/auth.spec.ts"],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
1
- import { test, expect } from '@playwright/test';
2
- import { LoginPage } from 'src/pages/login.page';
3
- import { HomePage } from 'src/pages/home.page';
4
- import { EmbedTestPage } from 'src/pages/embed-test.page';
5
- test.describe('Authentication flows', () => {
6
- let loginPage;
7
- let homePage;
8
- let embedTestPage;
9
- test.beforeEach(async ({ page }) => {
10
- loginPage = new LoginPage(page);
11
- homePage = new HomePage();
12
- embedTestPage = new EmbedTestPage(page);
13
- await embedTestPage.goto();
14
- });
15
- test('should handle logout and login sequence correctly', async () => {
16
- // Wait for initial load
17
- await embedTestPage.waitForFrameToLoad();
18
- const frameLoc = await embedTestPage.switchToTSFrame();
19
- // Verify user is logged in
20
- await expect(frameLoc.locator(homePage.selectors.homePage)).toBeVisible();
21
- // Perform logout
22
- await frameLoc.locator(loginPage.selectors.userAvatar).click();
23
- await frameLoc.locator(loginPage.selectors.signOutButtonInProfileMenu).click();
24
- // Verify logout
25
- await expect(frameLoc.locator(loginPage.selectors.loginPageLogo)).toBeVisible();
26
- // Perform login with new credentials
27
- const username = loginPage.utils.getRandomName();
28
- const password = loginPage.utils.getStrongPassword();
29
- await loginPage.loginAsUser(username, password);
30
- // Verify successful login
31
- await expect(frameLoc.locator(homePage.selectors.homePage)).toBeVisible();
32
- await expect(frameLoc.locator(loginPage.selectors.userAvatar)).toBeVisible();
33
- });
34
- test('should handle multiple logout-login cycles', async () => {
35
- await embedTestPage.waitForFrameToLoad();
36
- const frameLoc = await embedTestPage.switchToTSFrame();
37
- // First cycle
38
- await expect(frameLoc.locator(homePage.selectors.homePage)).toBeVisible();
39
- await frameLoc.locator(loginPage.selectors.userAvatar).click();
40
- await frameLoc.locator(loginPage.selectors.signOutButtonInProfileMenu).click();
41
- await expect(frameLoc.locator(loginPage.selectors.loginPageLogo)).toBeVisible();
42
- await loginPage.loginAsUser(loginPage.utils.getRandomName(), loginPage.utils.getStrongPassword());
43
- await expect(frameLoc.locator(homePage.selectors.homePage)).toBeVisible();
44
- // Second cycle
45
- await frameLoc.locator(loginPage.selectors.userAvatar).click();
46
- await frameLoc.locator(loginPage.selectors.signOutButtonInProfileMenu).click();
47
- await expect(frameLoc.locator(loginPage.selectors.loginPageLogo)).toBeVisible();
48
- await loginPage.loginAsUser(loginPage.utils.getRandomName(), loginPage.utils.getStrongPassword());
49
- await expect(frameLoc.locator(homePage.selectors.homePage)).toBeVisible();
50
- });
51
- });
52
- //# sourceMappingURL=auth.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.spec.js","sourceRoot":"","sources":["../../../../src/tests/e2e/auth.spec.ts"],"names":[],"mappings":"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"}