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

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 (108) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +266 -0
  3. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -0
  4. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  5. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +195 -0
  6. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -0
  7. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  8. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  9. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  10. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  11. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  19. package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
  20. package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
  21. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
  22. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  23. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  24. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  25. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  26. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  27. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  28. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  29. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  30. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  31. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  32. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  33. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  34. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  35. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  36. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  37. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  38. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  39. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  40. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +9 -5
  41. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  42. package/dist/cjs/redux/actions/auth.d.ts +9 -0
  43. package/dist/cjs/redux/actions/auth.js +30 -0
  44. package/dist/cjs/redux/actions/auth.js.map +1 -0
  45. package/dist/cjs/redux/reducers/auth.d.ts +3 -0
  46. package/dist/cjs/redux/reducers/auth.js +67 -0
  47. package/dist/cjs/redux/reducers/auth.js.map +1 -0
  48. package/dist/cjs/services/Auth0.d.ts +18 -0
  49. package/dist/cjs/services/Auth0.js +102 -0
  50. package/dist/cjs/services/Auth0.js.map +1 -0
  51. package/dist/cjs/services/Session.d.ts +26 -0
  52. package/dist/cjs/services/Session.js +155 -0
  53. package/dist/cjs/services/Session.js.map +1 -0
  54. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  55. package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
  56. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
  57. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  58. package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
  59. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
  60. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  61. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  62. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  63. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  64. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  65. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  66. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  67. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  68. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  69. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  70. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  71. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  72. package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
  73. package/dist/esm/components/auth-gate/AuthGate.js +59 -0
  74. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
  75. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  76. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  77. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  78. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  79. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  80. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  81. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  82. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  83. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  84. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  85. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  86. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  87. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  88. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  89. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  90. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  91. package/dist/esm/components/header/StoryDropdown.js +82 -0
  92. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  93. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +9 -5
  94. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  95. package/dist/esm/redux/actions/auth.d.ts +9 -0
  96. package/dist/esm/redux/actions/auth.js +25 -0
  97. package/dist/esm/redux/actions/auth.js.map +1 -0
  98. package/dist/esm/redux/reducers/auth.d.ts +3 -0
  99. package/dist/esm/redux/reducers/auth.js +27 -0
  100. package/dist/esm/redux/reducers/auth.js.map +1 -0
  101. package/dist/esm/services/Auth0.d.ts +18 -0
  102. package/dist/esm/services/Auth0.js +68 -0
  103. package/dist/esm/services/Auth0.js.map +1 -0
  104. package/dist/esm/services/Session.d.ts +26 -0
  105. package/dist/esm/services/Session.js +107 -0
  106. package/dist/esm/services/Session.js.map +1 -0
  107. package/package.json +1 -1
  108. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +11 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/redux/actions/auth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAW,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAO,EAAE;IAC1C,IAAI,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAQ,EAAE;IACrC,IAAI,CAAC;QACD,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;CACtB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IIdentity } from '../../services/Auth0';
2
+ declare const auth: (state: IIdentity, action: any) => any;
3
+ export default auth;
@@ -0,0 +1,27 @@
1
+ import actions, { AUTH_CACHE_KEY } from '../actions/auth';
2
+ import AuthService from '../../services/Auth0';
3
+ let initialState = null;
4
+ try {
5
+ const cachedAuth = JSON.parse(localStorage.getItem(AUTH_CACHE_KEY));
6
+ if (cachedAuth) {
7
+ const { idTokenPayload: { exp } } = cachedAuth;
8
+ if (AuthService.checkExpiry(exp)) {
9
+ initialState = cachedAuth;
10
+ }
11
+ }
12
+ }
13
+ catch (e) {
14
+ console.warn('Cached credentials were malformed or missing, redirected to login.');
15
+ }
16
+ const auth = (state = initialState, action) => {
17
+ switch (action.type) {
18
+ case actions.LOGIN:
19
+ return { ...action.auth };
20
+ case actions.CLEAR:
21
+ return null;
22
+ default:
23
+ return state;
24
+ }
25
+ };
26
+ export default auth;
27
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/redux/reducers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,WAA0B,MAAM,sBAAsB,CAAC;AAE9D,IAAI,YAAY,GAAc,IAAI,CAAC;AAEnC,IAAI,CAAC;IACD,MAAM,UAAU,GAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAE/E,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,EACF,cAAc,EAAE,EAAE,GAAG,EAAE,EAC1B,GAAG,UAAU,CAAC;QAEf,IAAI,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,YAAY,GAAG,UAAU,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,YAAY,EAAE,MAAM,EAAE,EAAE;IAC1C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,KAAK;YACd,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,OAAO,CAAC,KAAK;YACd,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface IIdentity {
2
+ accessToken: string;
3
+ expiry: number;
4
+ expiresIn: number;
5
+ idToken: string;
6
+ tokenType: string;
7
+ idTokenPayload: any;
8
+ }
9
+ export default class AuthService {
10
+ private static readonly IMPOSIUM_APP_DEFAULTS;
11
+ private static auth0Client;
12
+ static bindToClient: (clientID: string, domain: string) => void;
13
+ static login: () => void;
14
+ static logout: () => void;
15
+ static checkExpiry: (expiry: number) => boolean;
16
+ static parseIdFromHash: (hash: string) => Promise<IIdentity>;
17
+ static checkSession: () => Promise<IIdentity | Error>;
18
+ }
@@ -0,0 +1,68 @@
1
+ import * as auth0 from 'auth0-js';
2
+ export default class AuthService {
3
+ static IMPOSIUM_APP_DEFAULTS = {
4
+ scope: 'openid',
5
+ audience: 'https://api.4cinsights.io/',
6
+ responseType: 'token id_token',
7
+ redirectUri: `${window.location.origin}/auth`
8
+ };
9
+ // Auth0 JS client
10
+ static auth0Client;
11
+ /*
12
+ Initialize the auth0 web client with client ID for a given app-wrapper
13
+ */
14
+ static bindToClient = (clientID, domain) => {
15
+ AuthService.auth0Client = new auth0.WebAuth({
16
+ clientID,
17
+ domain,
18
+ ...AuthService.IMPOSIUM_APP_DEFAULTS
19
+ });
20
+ };
21
+ /*
22
+ redirect to auth0 for login
23
+ */
24
+ static login = () => {
25
+ AuthService.auth0Client.authorize();
26
+ };
27
+ /*
28
+ Re-direct to auth0 to cancel session & instruct auth0 to redirect back to login
29
+ */
30
+ static logout = () => {
31
+ AuthService.auth0Client.logout({ returnTo: `${window.location.origin}/auth` });
32
+ };
33
+ /*
34
+ Validate auth0 expiry timestamp
35
+ */
36
+ static checkExpiry = (expiry) => expiry > Date.now().valueOf() / 1000;
37
+ /*
38
+ Parse out identity from hash
39
+ */
40
+ static parseIdFromHash = (hash) => {
41
+ return new Promise((resolve, reject) => {
42
+ AuthService.auth0Client.parseHash({ options: hash }, (e, id) => {
43
+ if (!e) {
44
+ resolve(id);
45
+ }
46
+ else {
47
+ reject(e);
48
+ }
49
+ });
50
+ });
51
+ };
52
+ /*
53
+ Defer to auth0 web servers to check if users session is valid
54
+ */
55
+ static checkSession = () => {
56
+ return new Promise((resolve, reject) => {
57
+ AuthService.auth0Client.checkSession({}, (e, id) => {
58
+ if (!e) {
59
+ resolve(id);
60
+ }
61
+ else {
62
+ reject(e);
63
+ }
64
+ });
65
+ });
66
+ };
67
+ }
68
+ //# sourceMappingURL=Auth0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth0.js","sourceRoot":"","sources":["../../../src/services/Auth0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAWlC,MAAM,CAAC,OAAO,OAAO,WAAW;IACpB,MAAM,CAAU,qBAAqB,GAAQ;QACjD,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO;KAChD,CAAC;IAEF,kBAAkB;IACV,MAAM,CAAC,WAAW,CAAgB;IAE1C;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;QACpE,WAAW,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;YACxC,QAAQ;YACR,MAAM;YACN,GAAG,WAAW,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,KAAK,GAAG,GAAS,EAAE;QAC7B,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;QAC9B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9F;;OAEG;IACI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAY,EAAsB,EAAE;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBAC7E,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,YAAY,GAAG,GAA+B,EAAE;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAQ,EAAE,EAAa,EAAE,EAAE;gBACjE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC"}
@@ -0,0 +1,26 @@
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
+ }
@@ -0,0 +1,107 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/services/Session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "2.9.0-10",
3
+ "version": "2.9.0-11",
4
4
  "description": "React & Typescript component / asset library for Imposium front-ends",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -729,7 +729,9 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
729
729
  };
730
730
 
731
731
  if (!publishDataset) {
732
- emailOptions.push(downloadSampleCsv);
732
+ if (!batchError) {
733
+ emailOptions.push(downloadSampleCsv);
734
+ }
733
735
  emailOptions.push(selectCsv);
734
736
  } else {
735
737
  emailOptions.push(uploadDataset);
@@ -793,7 +795,7 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
793
795
 
794
796
  const downloadCSV = (
795
797
  <>
796
- {this.props.error ? (this.props.next ? downloadCSVDiv : '') : downloadCSVDiv}
798
+ {downloadCSVDiv}
797
799
  {this.renderColumnMap()}
798
800
  </>
799
801
  );
@@ -869,6 +871,13 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
869
871
  />
870
872
  );
871
873
  })}
874
+ {batchError && (
875
+ <BigButton
876
+ label={downloadCsvLabel}
877
+ disabled={downloading}
878
+ onClick={() => this.downloadCsv()}
879
+ />
880
+ )}
872
881
  </div>
873
882
  </div>
874
883
  );