@imposium-hub/components 2.9.0-11 → 2.9.0-12

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 (110) hide show
  1. package/dist/cjs/components/assets/AssetsTablePreviewCell.d.ts +1 -0
  2. package/dist/cjs/components/assets/AssetsTablePreviewCell.js +7 -4
  3. package/dist/cjs/components/assets/AssetsTablePreviewCell.js.map +1 -1
  4. package/dist/esm/components/assets/AssetsTablePreviewCell.d.ts +1 -0
  5. package/dist/esm/components/assets/AssetsTablePreviewCell.js +8 -5
  6. package/dist/esm/components/assets/AssetsTablePreviewCell.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/assets/AssetsTablePreviewCell.tsx +10 -14
  9. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  10. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +0 -266
  11. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +0 -1
  12. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  13. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +0 -195
  14. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +0 -1
  15. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  16. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -243
  17. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  18. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  19. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +0 -255
  20. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  21. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  22. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -243
  23. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  24. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  25. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -251
  26. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  27. package/dist/cjs/components/auth-gate/AuthGate.d.ts +0 -2
  28. package/dist/cjs/components/auth-gate/AuthGate.js +0 -105
  29. package/dist/cjs/components/auth-gate/AuthGate.js.map +0 -1
  30. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  31. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  32. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  33. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +0 -33
  34. package/dist/cjs/components/header/Header_BACKUP_73021.js +0 -393
  35. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +0 -1
  36. package/dist/cjs/components/header/Header_BASE_73021.d.ts +0 -29
  37. package/dist/cjs/components/header/Header_BASE_73021.js +0 -376
  38. package/dist/cjs/components/header/Header_BASE_73021.js.map +0 -1
  39. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +0 -33
  40. package/dist/cjs/components/header/Header_LOCAL_73021.js +0 -382
  41. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +0 -1
  42. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +0 -30
  43. package/dist/cjs/components/header/Header_REMOTE_73021.js +0 -386
  44. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +0 -1
  45. package/dist/cjs/components/header/StoryDropdown.d.ts +0 -6
  46. package/dist/cjs/components/header/StoryDropdown.js +0 -111
  47. package/dist/cjs/components/header/StoryDropdown.js.map +0 -1
  48. package/dist/cjs/redux/actions/auth.d.ts +0 -9
  49. package/dist/cjs/redux/actions/auth.js +0 -30
  50. package/dist/cjs/redux/actions/auth.js.map +0 -1
  51. package/dist/cjs/redux/reducers/auth.d.ts +0 -3
  52. package/dist/cjs/redux/reducers/auth.js +0 -67
  53. package/dist/cjs/redux/reducers/auth.js.map +0 -1
  54. package/dist/cjs/services/Auth0.d.ts +0 -18
  55. package/dist/cjs/services/Auth0.js +0 -102
  56. package/dist/cjs/services/Auth0.js.map +0 -1
  57. package/dist/cjs/services/Session.d.ts +0 -26
  58. package/dist/cjs/services/Session.js +0 -155
  59. package/dist/cjs/services/Session.js.map +0 -1
  60. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  61. package/dist/esm/components/app-wrapper/AppWrapperV2.js +0 -142
  62. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +0 -1
  63. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  64. package/dist/esm/components/app-wrapper/AppWrapperV3.js +0 -88
  65. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +0 -1
  66. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  67. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -194
  68. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  69. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  70. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +0 -208
  71. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  72. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  73. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -194
  74. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  75. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  76. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -204
  77. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  78. package/dist/esm/components/auth-gate/AuthGate.d.ts +0 -2
  79. package/dist/esm/components/auth-gate/AuthGate.js +0 -59
  80. package/dist/esm/components/auth-gate/AuthGate.js.map +0 -1
  81. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  82. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  83. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  84. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +0 -33
  85. package/dist/esm/components/header/Header_BACKUP_73021.js +0 -336
  86. package/dist/esm/components/header/Header_BACKUP_73021.js.map +0 -1
  87. package/dist/esm/components/header/Header_BASE_73021.d.ts +0 -29
  88. package/dist/esm/components/header/Header_BASE_73021.js +0 -322
  89. package/dist/esm/components/header/Header_BASE_73021.js.map +0 -1
  90. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +0 -33
  91. package/dist/esm/components/header/Header_LOCAL_73021.js +0 -328
  92. package/dist/esm/components/header/Header_LOCAL_73021.js.map +0 -1
  93. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +0 -30
  94. package/dist/esm/components/header/Header_REMOTE_73021.js +0 -329
  95. package/dist/esm/components/header/Header_REMOTE_73021.js.map +0 -1
  96. package/dist/esm/components/header/StoryDropdown.d.ts +0 -6
  97. package/dist/esm/components/header/StoryDropdown.js +0 -82
  98. package/dist/esm/components/header/StoryDropdown.js.map +0 -1
  99. package/dist/esm/redux/actions/auth.d.ts +0 -9
  100. package/dist/esm/redux/actions/auth.js +0 -25
  101. package/dist/esm/redux/actions/auth.js.map +0 -1
  102. package/dist/esm/redux/reducers/auth.d.ts +0 -3
  103. package/dist/esm/redux/reducers/auth.js +0 -27
  104. package/dist/esm/redux/reducers/auth.js.map +0 -1
  105. package/dist/esm/services/Auth0.d.ts +0 -18
  106. package/dist/esm/services/Auth0.js +0 -68
  107. package/dist/esm/services/Auth0.js.map +0 -1
  108. package/dist/esm/services/Session.d.ts +0 -26
  109. package/dist/esm/services/Session.js +0 -107
  110. package/dist/esm/services/Session.js.map +0 -1
@@ -1,26 +0,0 @@
1
- import { IIdentity } from './Auth0';
2
- export interface IHubSession {
3
- sub: string;
4
- organization_id: string;
5
- story_id: string;
6
- }
7
- export default class SessionService {
8
- private static readonly LOGIN_STORY_ID_CACHE;
9
- private static readonly LOGIN_ORG_ID_CACHE;
10
- private static readonly SESSION_COOKIE_NAME;
11
- private static readonly FRESH_COOKIE;
12
- static getAccessData: (idToken: string, baseUrl?: string, getTotalRenders?: boolean, accountId?: string) => Promise<any[]>;
13
- static getSession: () => IHubSession;
14
- static removeSession: () => void;
15
- static buildFreshSession: (freshIdentity: IIdentity, orgId?: string, storyId?: string) => void;
16
- static storeSession: (values: any, auth0Expiry: number) => void;
17
- static cacheOrgId: (organizationId: string) => void;
18
- static clearCachedOrgId: () => void;
19
- static getCachedOrgId: () => string;
20
- static cacheStoryId: (storyId: string) => void;
21
- static clearCachedStoryId: () => void;
22
- static getCachedStoryId: () => string;
23
- static updateSession: (values: any, auth0Expiry: number) => void;
24
- private static scrapeDomain;
25
- private static determineAccessUrl;
26
- }
@@ -1,107 +0,0 @@
1
- import * as Cookies from 'js-cookie';
2
- import axios from 'axios';
3
- export default class SessionService {
4
- static LOGIN_STORY_ID_CACHE = 'imp_hub_last_story_id';
5
- static LOGIN_ORG_ID_CACHE = 'imp_hub_last_org_id';
6
- static SESSION_COOKIE_NAME = 'auth_state';
7
- static FRESH_COOKIE = {
8
- sub: '',
9
- organization_id: '',
10
- story_id: ''
11
- };
12
- /*
13
- Get list of accessible services with themes from Imposium API
14
- */
15
- static getAccessData = (idToken, baseUrl, getTotalRenders = false, accountId) => {
16
- return new Promise((resolve, reject) => {
17
- let accessUrl = baseUrl ? `${baseUrl}/access` : SessionService.determineAccessUrl();
18
- const headers = { Authorization: `Bearer ${idToken}` };
19
- if (getTotalRenders) {
20
- accessUrl += '?include_total_renders=true';
21
- }
22
- if (accountId && accountId !== 'undefined') {
23
- headers['X-Imposium-Account-Id'] = accountId;
24
- }
25
- axios
26
- .get(accessUrl, { headers })
27
- .then((res) => {
28
- resolve(res.data ? res.data : []);
29
- })
30
- .catch((e) => {
31
- reject(e);
32
- });
33
- });
34
- };
35
- static getSession = () => Cookies.getJSON(SessionService.SESSION_COOKIE_NAME);
36
- static removeSession = () => {
37
- const domain = SessionService.scrapeDomain();
38
- Cookies.remove(SessionService.SESSION_COOKIE_NAME, { domain });
39
- SessionService.clearCachedOrgId();
40
- SessionService.clearCachedStoryId();
41
- };
42
- static buildFreshSession = (freshIdentity, orgId = null, storyId = null) => {
43
- const { idTokenPayload: { sub, exp } } = freshIdentity;
44
- const freshSession = {
45
- sub
46
- };
47
- if (orgId) {
48
- freshSession.organization_id = orgId;
49
- }
50
- if (storyId) {
51
- freshSession.story_id = storyId;
52
- }
53
- SessionService.storeSession(freshSession, exp);
54
- };
55
- static storeSession = (values, auth0Expiry) => {
56
- const cookieData = { ...SessionService.FRESH_COOKIE, ...values };
57
- const domain = SessionService.scrapeDomain();
58
- const expiry = new Date(auth0Expiry * 1000);
59
- Cookies.set(SessionService.SESSION_COOKIE_NAME, cookieData, { domain, expires: expiry });
60
- };
61
- static cacheOrgId = (organizationId) => {
62
- localStorage.setItem(SessionService.LOGIN_ORG_ID_CACHE, organizationId);
63
- };
64
- static clearCachedOrgId = () => {
65
- localStorage.removeItem(SessionService.LOGIN_ORG_ID_CACHE);
66
- };
67
- static getCachedOrgId = () => {
68
- return localStorage.getItem(SessionService.LOGIN_ORG_ID_CACHE);
69
- };
70
- static cacheStoryId = (storyId) => {
71
- localStorage.setItem(SessionService.LOGIN_STORY_ID_CACHE, storyId);
72
- };
73
- static clearCachedStoryId = () => {
74
- localStorage.removeItem(SessionService.LOGIN_STORY_ID_CACHE);
75
- };
76
- static getCachedStoryId = () => {
77
- return localStorage.getItem(SessionService.LOGIN_STORY_ID_CACHE);
78
- };
79
- static updateSession = (values, auth0Expiry) => {
80
- const prevCookieData = SessionService.getSession();
81
- const nextCookieData = { ...prevCookieData, ...values };
82
- SessionService.storeSession(nextCookieData, auth0Expiry);
83
- };
84
- /*
85
- Determine which domain to assign cookie to
86
- */
87
- static scrapeDomain = () => {
88
- const domainParts = window.location.host.split('.').reverse();
89
- return domainParts.length > 2 ? `.${domainParts[1]}.${domainParts[0].split(':')[0]}` : null;
90
- };
91
- /*
92
- Figure out which access endpoint to hit based on env
93
- */
94
- static determineAccessUrl = () => {
95
- const { location: { hostname, host } } = window;
96
- if (hostname === 'localhost') {
97
- return 'https://api/access';
98
- }
99
- else if (host.includes('.staging.')) {
100
- return 'https://api.staging.imposium.com/access';
101
- }
102
- else {
103
- return 'https://api.imposium.com/access';
104
- }
105
- };
106
- }
107
- //# sourceMappingURL=Session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}