@imposium-hub/components 2.14.11 → 2.15.0-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 (234) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js +1 -1
  3. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  4. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  5. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +266 -0
  6. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +1 -0
  7. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  8. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +195 -0
  9. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +1 -0
  10. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  11. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  19. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  20. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  21. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  22. package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
  23. package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
  24. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
  25. package/dist/cjs/components/change-report/ChangeReportTree.d.ts +10 -0
  26. package/dist/cjs/components/change-report/ChangeReportTree.js +95 -0
  27. package/dist/cjs/components/change-report/ChangeReportTree.js.map +1 -0
  28. package/dist/cjs/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  29. package/dist/cjs/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  30. package/dist/cjs/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
  31. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js +132 -0
  32. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js.map +1 -0
  33. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  34. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +104 -0
  35. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  36. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  37. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  38. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  39. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +7 -0
  40. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js +48 -0
  41. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +1 -0
  42. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  43. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  44. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  45. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  46. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  47. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  48. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  49. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  50. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  51. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  52. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  53. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  54. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  55. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  56. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  57. package/dist/cjs/components/number-field/NumberField.d.ts +2 -2
  58. package/dist/cjs/components/number-field/NumberField.js +4 -7
  59. package/dist/cjs/components/number-field/NumberField.js.map +1 -1
  60. package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +4 -3
  61. package/dist/cjs/components/publish-wizard/PublishWizard.js +104 -38
  62. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  63. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +11 -0
  64. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +213 -0
  65. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +1 -0
  66. package/dist/cjs/components/service-icon/ServiceIcon.test.d.ts +0 -0
  67. package/dist/cjs/components/service-icon/ServiceIcon.test.js +1 -0
  68. package/dist/cjs/components/service-icon/ServiceIcon.test.js.map +1 -0
  69. package/dist/cjs/components/tag/Tag.test.d.ts +0 -0
  70. package/dist/cjs/components/tag/Tag.test.js +1 -0
  71. package/dist/cjs/components/tag/Tag.test.js.map +1 -0
  72. package/dist/cjs/constants/copy.d.ts +9 -0
  73. package/dist/cjs/constants/copy.js +13 -2
  74. package/dist/cjs/constants/copy.js.map +1 -1
  75. package/dist/cjs/constants/snippets.d.ts +18 -0
  76. package/dist/cjs/constants/snippets.js +3 -0
  77. package/dist/cjs/constants/snippets.js.map +1 -0
  78. package/dist/cjs/index.d.ts +3 -1
  79. package/dist/cjs/index.js +3 -1
  80. package/dist/cjs/index.js.map +1 -1
  81. package/dist/cjs/redux/actions/auth.d.ts +9 -0
  82. package/dist/cjs/redux/actions/auth.js +30 -0
  83. package/dist/cjs/redux/actions/auth.js.map +1 -0
  84. package/dist/cjs/redux/reducers/auth.d.ts +3 -0
  85. package/dist/cjs/redux/reducers/auth.js +67 -0
  86. package/dist/cjs/redux/reducers/auth.js.map +1 -0
  87. package/dist/cjs/services/API.d.ts +2 -0
  88. package/dist/cjs/services/API.js +6 -0
  89. package/dist/cjs/services/API.js.map +1 -1
  90. package/dist/cjs/services/Auth0.d.ts +18 -0
  91. package/dist/cjs/services/Auth0.js +102 -0
  92. package/dist/cjs/services/Auth0.js.map +1 -0
  93. package/dist/cjs/services/Session.d.ts +26 -0
  94. package/dist/cjs/services/Session.js +155 -0
  95. package/dist/cjs/services/Session.js.map +1 -0
  96. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -0
  97. package/dist/esm/components/app-wrapper/AppWrapper.js +1 -1
  98. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  99. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  100. package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
  101. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
  102. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  103. package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
  104. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
  105. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  106. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  107. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  108. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  109. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  110. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  111. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  112. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  113. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  114. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  115. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  116. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  117. package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
  118. package/dist/esm/components/auth-gate/AuthGate.js +59 -0
  119. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
  120. package/dist/esm/components/change-report/ChangeReportTree.d.ts +10 -0
  121. package/dist/esm/components/change-report/ChangeReportTree.js +42 -0
  122. package/dist/esm/components/change-report/ChangeReportTree.js.map +1 -0
  123. package/dist/esm/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  124. package/dist/esm/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  125. package/dist/esm/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
  126. package/dist/esm/components/edit-guide-modal/EditGuideModal.js +65 -0
  127. package/dist/esm/components/edit-guide-modal/EditGuideModal.js.map +1 -0
  128. package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  129. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +72 -0
  130. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  131. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  132. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  133. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  134. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +7 -0
  135. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js +10 -0
  136. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +1 -0
  137. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  138. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  139. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  140. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  141. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  142. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  143. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  144. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  145. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  146. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  147. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  148. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  149. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  150. package/dist/esm/components/header/StoryDropdown.js +82 -0
  151. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  152. package/dist/esm/components/number-field/NumberField.d.ts +2 -2
  153. package/dist/esm/components/number-field/NumberField.js +4 -5
  154. package/dist/esm/components/number-field/NumberField.js.map +1 -1
  155. package/dist/esm/components/publish-wizard/PublishWizard.d.ts +4 -3
  156. package/dist/esm/components/publish-wizard/PublishWizard.js +92 -38
  157. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  158. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +11 -0
  159. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +141 -0
  160. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +1 -0
  161. package/dist/esm/components/service-icon/ServiceIcon.test.d.ts +0 -0
  162. package/dist/esm/components/service-icon/ServiceIcon.test.js +1 -0
  163. package/dist/esm/components/service-icon/ServiceIcon.test.js.map +1 -0
  164. package/dist/esm/components/tag/Tag.test.d.ts +0 -0
  165. package/dist/esm/components/tag/Tag.test.js +1 -0
  166. package/dist/esm/components/tag/Tag.test.js.map +1 -0
  167. package/dist/esm/constants/copy.d.ts +9 -0
  168. package/dist/esm/constants/copy.js +13 -2
  169. package/dist/esm/constants/copy.js.map +1 -1
  170. package/dist/esm/constants/snippets.d.ts +18 -0
  171. package/dist/esm/constants/snippets.js +2 -0
  172. package/dist/esm/constants/snippets.js.map +1 -0
  173. package/dist/esm/index.d.ts +3 -1
  174. package/dist/esm/index.js +2 -1
  175. package/dist/esm/index.js.map +1 -1
  176. package/dist/esm/redux/actions/auth.d.ts +9 -0
  177. package/dist/esm/redux/actions/auth.js +25 -0
  178. package/dist/esm/redux/actions/auth.js.map +1 -0
  179. package/dist/esm/redux/reducers/auth.d.ts +3 -0
  180. package/dist/esm/redux/reducers/auth.js +27 -0
  181. package/dist/esm/redux/reducers/auth.js.map +1 -0
  182. package/dist/esm/services/API.d.ts +2 -0
  183. package/dist/esm/services/API.js +6 -0
  184. package/dist/esm/services/API.js.map +1 -1
  185. package/dist/esm/services/Auth0.d.ts +18 -0
  186. package/dist/esm/services/Auth0.js +68 -0
  187. package/dist/esm/services/Auth0.js.map +1 -0
  188. package/dist/esm/services/Session.d.ts +26 -0
  189. package/dist/esm/services/Session.js +107 -0
  190. package/dist/esm/services/Session.js.map +1 -0
  191. package/dist/styles.css +127 -0
  192. package/dist/styles.less +152 -0
  193. package/less/components/change-report.less +115 -0
  194. package/less/components/publish-wizard.less +36 -0
  195. package/less/entry.less +1 -0
  196. package/package.json +6 -17
  197. package/src/components/app-wrapper/AppWrapper.tsx +6 -1
  198. package/src/components/change-report/ChangeReportTree.tsx +125 -0
  199. package/src/components/number-field/NumberField.tsx +9 -15
  200. package/src/components/publish-wizard/PublishWizard.tsx +144 -45
  201. package/src/components/service-icon/ServiceIcon.test.tsx +0 -0
  202. package/src/components/tag/Tag.test.tsx +0 -0
  203. package/src/constants/copy.ts +16 -2
  204. package/src/constants/snippets.ts +25 -0
  205. package/src/index.ts +7 -1
  206. package/src/services/API.ts +8 -0
  207. package/tsconfig.json +1 -1
  208. package/src/components/advanced-number-field/AdvancedNumberField.test.tsx +0 -724
  209. package/src/components/anchor-field/AnchorField.test.tsx +0 -130
  210. package/src/components/asset-details/AssetDetails.test.tsx +0 -494
  211. package/src/components/assets/AssetField.test.tsx +0 -449
  212. package/src/components/assets/AssetsTableAssetIdCell.test.tsx +0 -142
  213. package/src/components/assets/AssetsTableAssetIdFilter.test.tsx +0 -95
  214. package/src/components/assets/AssetsTableComplexTagCell.test.tsx +0 -161
  215. package/src/components/assets/AssetsTableDateCell.test.tsx +0 -106
  216. package/src/components/assets/AssetsTableDropzone.test.tsx +0 -132
  217. package/src/components/assets/AssetsTableDurationCell.test.tsx +0 -119
  218. package/src/components/assets/AssetsTableGlobalCell.test.tsx +0 -46
  219. package/src/components/assets/AssetsTableNameCell.test.tsx +0 -166
  220. package/src/components/assets/AssetsTableNameFilter.test.tsx +0 -95
  221. package/src/components/assets/AssetsTablePreviewCell.test.tsx +0 -191
  222. package/src/components/assets/AssetsTableRateCell.test.tsx +0 -87
  223. package/src/components/assets/AssetsTableSelectCell.test.tsx +0 -156
  224. package/src/components/assets/AssetsTableSelectFilter.test.tsx +0 -119
  225. package/src/components/assets/AssetsTableStatusCell.test.tsx +0 -60
  226. package/src/components/number-field/NumberField.test.tsx +0 -383
  227. package/src/components/text-field/TextField.test.tsx +0 -988
  228. package/src/test/setup.ts +0 -91
  229. package/src/test/utils.tsx +0 -44
  230. package/tsconfig.eslint.json +0 -8
  231. package/vitest.config.ts +0 -31
  232. /package/dist/cjs/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  233. /package/dist/esm/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  234. /package/src/components/dropdown/{Dropdown.stories.tsx → dropdown.stories.tsx} +0 -0
@@ -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/dist/styles.css CHANGED
@@ -2540,6 +2540,37 @@ body a {
2540
2540
  display: flex;
2541
2541
  flex-wrap: wrap;
2542
2542
  }
2543
+ .publish-wizard .publish-notes-wrapper {
2544
+ display: flex;
2545
+ flex-direction: column;
2546
+ gap: 6px;
2547
+ margin-top: 14px;
2548
+ width: 100%;
2549
+ }
2550
+ .publish-wizard .publish-notes-label {
2551
+ font-size: 14px;
2552
+ color: white;
2553
+ font-weight: 600;
2554
+ }
2555
+ .publish-wizard .publish-notes-textarea {
2556
+ width: 100%;
2557
+ min-height: 72px;
2558
+ box-sizing: border-box;
2559
+ padding: 8px 10px;
2560
+ background: #161616;
2561
+ color: white;
2562
+ border: 1px solid #5f5f5f;
2563
+ border-radius: 3px;
2564
+ font-size: 14px;
2565
+ resize: vertical;
2566
+ }
2567
+ .publish-wizard .publish-notes-textarea::placeholder {
2568
+ color: #5f5f5f;
2569
+ }
2570
+ .publish-wizard .publish-notes-textarea:focus {
2571
+ outline: none;
2572
+ border-color: #2d8ceb;
2573
+ }
2543
2574
  .publish-wizard .big-link {
2544
2575
  display: flex;
2545
2576
  align-items: center;
@@ -2619,6 +2650,102 @@ body a {
2619
2650
  .crm-publish-name.disabled {
2620
2651
  opacity: 0.5;
2621
2652
  }
2653
+ .change-report-tree {
2654
+ background: #161616;
2655
+ border-radius: 4px;
2656
+ padding: 10px;
2657
+ box-sizing: border-box;
2658
+ overflow-y: auto;
2659
+ max-height: 300px;
2660
+ margin-bottom: 12px;
2661
+ color: #dfdfdf;
2662
+ }
2663
+ .change-report-tree--loading,
2664
+ .change-report-tree--empty {
2665
+ color: #B9B8B8;
2666
+ font-style: italic;
2667
+ padding: 10px;
2668
+ }
2669
+ .change-report-section {
2670
+ margin-bottom: 8px;
2671
+ }
2672
+ .change-report-section-heading {
2673
+ text-transform: uppercase;
2674
+ font-size: 11px;
2675
+ font-weight: bold;
2676
+ color: #B9B8B8;
2677
+ letter-spacing: 0.05em;
2678
+ padding: 4px 0 2px;
2679
+ border-bottom: 1px solid #5f5f5f;
2680
+ margin-bottom: 4px;
2681
+ }
2682
+ .change-report-node-row {
2683
+ display: flex;
2684
+ align-items: center;
2685
+ padding: 2px 0;
2686
+ border-radius: 3px;
2687
+ }
2688
+ .change-report-node-row:hover {
2689
+ background: #353535;
2690
+ }
2691
+ .change-report-toggle {
2692
+ display: inline-block;
2693
+ width: 16px;
2694
+ font-size: 10px;
2695
+ color: #B9B8B8;
2696
+ cursor: pointer;
2697
+ transition: transform 0.15s ease;
2698
+ flex-shrink: 0;
2699
+ }
2700
+ .change-report-toggle--expanded {
2701
+ transform: rotate(90deg);
2702
+ }
2703
+ .change-report-toggle-placeholder {
2704
+ display: inline-block;
2705
+ width: 16px;
2706
+ flex-shrink: 0;
2707
+ }
2708
+ .change-report-status {
2709
+ display: inline-block;
2710
+ font-size: 10px;
2711
+ font-weight: bold;
2712
+ border-radius: 3px;
2713
+ padding: 1px 5px;
2714
+ margin-right: 6px;
2715
+ flex-shrink: 0;
2716
+ }
2717
+ .change-report-status--added {
2718
+ background: rgba(86, 176, 94, 0.2);
2719
+ color: #56B05E;
2720
+ }
2721
+ .change-report-status--removed {
2722
+ background: rgba(175, 17, 38, 0.2);
2723
+ color: #AF1126;
2724
+ }
2725
+ .change-report-status--modified {
2726
+ background: rgba(143, 123, 37, 0.25);
2727
+ color: #8F7B25;
2728
+ }
2729
+ .change-report-status--updated {
2730
+ background: rgba(45, 140, 235, 0.2);
2731
+ color: #2d8ceb;
2732
+ }
2733
+ .change-report-label {
2734
+ font-size: 12px;
2735
+ flex-shrink: 0;
2736
+ margin-right: 6px;
2737
+ }
2738
+ .change-report-values {
2739
+ display: flex;
2740
+ align-items: center;
2741
+ gap: 4px;
2742
+ font-size: 11px;
2743
+ color: #B9B8B8;
2744
+ flex-wrap: wrap;
2745
+ }
2746
+ .change-report-value-arrow {
2747
+ color: #5f5f5f;
2748
+ }
2622
2749
  .section {
2623
2750
  position: absolute;
2624
2751
  width: 100%;
package/dist/styles.less CHANGED
@@ -2489,6 +2489,42 @@ body{
2489
2489
  flex-wrap: wrap;
2490
2490
  }
2491
2491
 
2492
+ .publish-notes-wrapper {
2493
+ display: flex;
2494
+ flex-direction: column;
2495
+ gap: 6px;
2496
+ margin-top: 14px;
2497
+ width: 100%;
2498
+ }
2499
+
2500
+ .publish-notes-label {
2501
+ font-size: @sectionFontSize;
2502
+ color: white;
2503
+ font-weight: 600;
2504
+ }
2505
+
2506
+ .publish-notes-textarea {
2507
+ width: 100%;
2508
+ min-height: 72px;
2509
+ box-sizing: border-box;
2510
+ padding: 8px 10px;
2511
+ background: @backgroundDark;
2512
+ color: white;
2513
+ border: 1px solid @backgroundHighlight;
2514
+ border-radius: 3px;
2515
+ font-size: @sectionFontSize;
2516
+ resize: vertical;
2517
+
2518
+ &::placeholder {
2519
+ color: @backgroundHighlight;
2520
+ }
2521
+
2522
+ &:focus {
2523
+ outline: none;
2524
+ border-color: @primary;
2525
+ }
2526
+ }
2527
+
2492
2528
  .big-link{
2493
2529
  display: flex;
2494
2530
  align-items: center;
@@ -2594,6 +2630,122 @@ body{
2594
2630
  }
2595
2631
  }
2596
2632
 
2633
+ .change-report-tree {
2634
+ background: @backgroundDark;
2635
+ border-radius: 4px;
2636
+ padding: 10px;
2637
+ box-sizing: border-box;
2638
+ overflow-y: auto;
2639
+ max-height: 300px;
2640
+ margin-bottom: 12px;
2641
+ color: @textDefault;
2642
+
2643
+ &--loading,
2644
+ &--empty {
2645
+ color: @secondary;
2646
+ font-style: italic;
2647
+ padding: 10px;
2648
+ }
2649
+ }
2650
+
2651
+ .change-report-section {
2652
+ margin-bottom: 8px;
2653
+
2654
+ &-heading {
2655
+ text-transform: uppercase;
2656
+ font-size: 11px;
2657
+ font-weight: bold;
2658
+ color: @secondary;
2659
+ letter-spacing: 0.05em;
2660
+ padding: 4px 0 2px;
2661
+ border-bottom: 1px solid @backgroundHighlight;
2662
+ margin-bottom: 4px;
2663
+ }
2664
+ }
2665
+
2666
+ .change-report-node {
2667
+ &-row {
2668
+ display: flex;
2669
+ align-items: center;
2670
+ padding: 2px 0;
2671
+ border-radius: 3px;
2672
+
2673
+ &:hover {
2674
+ background: @backgroundLight;
2675
+ }
2676
+ }
2677
+ }
2678
+
2679
+ .change-report-toggle {
2680
+ display: inline-block;
2681
+ width: 16px;
2682
+ font-size: 10px;
2683
+ color: @secondary;
2684
+ cursor: pointer;
2685
+ transition: transform 0.15s ease;
2686
+ flex-shrink: 0;
2687
+
2688
+ &--expanded {
2689
+ transform: rotate(90deg);
2690
+ }
2691
+ }
2692
+
2693
+ .change-report-toggle-placeholder {
2694
+ display: inline-block;
2695
+ width: 16px;
2696
+ flex-shrink: 0;
2697
+ }
2698
+
2699
+ .change-report-status {
2700
+ display: inline-block;
2701
+ font-size: 10px;
2702
+ font-weight: bold;
2703
+ border-radius: 3px;
2704
+ padding: 1px 5px;
2705
+ margin-right: 6px;
2706
+ flex-shrink: 0;
2707
+
2708
+ &--added {
2709
+ background: rgba(86, 176, 94, 0.2);
2710
+ color: @info;
2711
+ }
2712
+
2713
+ &--removed {
2714
+ background: rgba(175, 17, 38, 0.2);
2715
+ color: @danger;
2716
+ }
2717
+
2718
+ &--modified {
2719
+ background: rgba(143, 123, 37, 0.25);
2720
+ color: @warning;
2721
+ }
2722
+
2723
+ &--updated {
2724
+ background: rgba(45, 140, 235, 0.2);
2725
+ color: @primary;
2726
+ }
2727
+ }
2728
+
2729
+ .change-report-label {
2730
+ font-size: 12px;
2731
+ flex-shrink: 0;
2732
+ margin-right: 6px;
2733
+ }
2734
+
2735
+ .change-report-values {
2736
+ display: flex;
2737
+ align-items: center;
2738
+ gap: 4px;
2739
+ font-size: 11px;
2740
+ color: @secondary;
2741
+ flex-wrap: wrap;
2742
+ }
2743
+
2744
+ .change-report-value-arrow {
2745
+ color: @backgroundHighlight;
2746
+ }
2747
+
2748
+
2597
2749
  @sectionPadding:7px 5px 5px 5px;
2598
2750
  @sectionHeaderHeight:25px;
2599
2751
  @loaderHeight:6px;
@@ -0,0 +1,115 @@
1
+
2
+ .change-report-tree {
3
+ background: @backgroundDark;
4
+ border-radius: 4px;
5
+ padding: 10px;
6
+ box-sizing: border-box;
7
+ overflow-y: auto;
8
+ max-height: 300px;
9
+ margin-bottom: 12px;
10
+ color: @textDefault;
11
+
12
+ &--loading,
13
+ &--empty {
14
+ color: @secondary;
15
+ font-style: italic;
16
+ padding: 10px;
17
+ }
18
+ }
19
+
20
+ .change-report-section {
21
+ margin-bottom: 8px;
22
+
23
+ &-heading {
24
+ text-transform: uppercase;
25
+ font-size: 11px;
26
+ font-weight: bold;
27
+ color: @secondary;
28
+ letter-spacing: 0.05em;
29
+ padding: 4px 0 2px;
30
+ border-bottom: 1px solid @backgroundHighlight;
31
+ margin-bottom: 4px;
32
+ }
33
+ }
34
+
35
+ .change-report-node {
36
+ &-row {
37
+ display: flex;
38
+ align-items: center;
39
+ padding: 2px 0;
40
+ border-radius: 3px;
41
+
42
+ &:hover {
43
+ background: @backgroundLight;
44
+ }
45
+ }
46
+ }
47
+
48
+ .change-report-toggle {
49
+ display: inline-block;
50
+ width: 16px;
51
+ font-size: 10px;
52
+ color: @secondary;
53
+ cursor: pointer;
54
+ transition: transform 0.15s ease;
55
+ flex-shrink: 0;
56
+
57
+ &--expanded {
58
+ transform: rotate(90deg);
59
+ }
60
+ }
61
+
62
+ .change-report-toggle-placeholder {
63
+ display: inline-block;
64
+ width: 16px;
65
+ flex-shrink: 0;
66
+ }
67
+
68
+ .change-report-status {
69
+ display: inline-block;
70
+ font-size: 10px;
71
+ font-weight: bold;
72
+ border-radius: 3px;
73
+ padding: 1px 5px;
74
+ margin-right: 6px;
75
+ flex-shrink: 0;
76
+
77
+ &--added {
78
+ background: rgba(86, 176, 94, 0.2);
79
+ color: @info;
80
+ }
81
+
82
+ &--removed {
83
+ background: rgba(175, 17, 38, 0.2);
84
+ color: @danger;
85
+ }
86
+
87
+ &--modified {
88
+ background: rgba(143, 123, 37, 0.25);
89
+ color: @warning;
90
+ }
91
+
92
+ &--updated {
93
+ background: rgba(45, 140, 235, 0.2);
94
+ color: @primary;
95
+ }
96
+ }
97
+
98
+ .change-report-label {
99
+ font-size: 12px;
100
+ flex-shrink: 0;
101
+ margin-right: 6px;
102
+ }
103
+
104
+ .change-report-values {
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 4px;
108
+ font-size: 11px;
109
+ color: @secondary;
110
+ flex-wrap: wrap;
111
+ }
112
+
113
+ .change-report-value-arrow {
114
+ color: @backgroundHighlight;
115
+ }
@@ -93,6 +93,42 @@
93
93
  flex-wrap: wrap;
94
94
  }
95
95
 
96
+ .publish-notes-wrapper {
97
+ display: flex;
98
+ flex-direction: column;
99
+ gap: 6px;
100
+ margin-top: 14px;
101
+ width: 100%;
102
+ }
103
+
104
+ .publish-notes-label {
105
+ font-size: @sectionFontSize;
106
+ color: white;
107
+ font-weight: 600;
108
+ }
109
+
110
+ .publish-notes-textarea {
111
+ width: 100%;
112
+ min-height: 72px;
113
+ box-sizing: border-box;
114
+ padding: 8px 10px;
115
+ background: @backgroundDark;
116
+ color: white;
117
+ border: 1px solid @backgroundHighlight;
118
+ border-radius: 3px;
119
+ font-size: @sectionFontSize;
120
+ resize: vertical;
121
+
122
+ &::placeholder {
123
+ color: @backgroundHighlight;
124
+ }
125
+
126
+ &:focus {
127
+ outline: none;
128
+ border-color: @primary;
129
+ }
130
+ }
131
+
96
132
  .big-link{
97
133
  display: flex;
98
134
  align-items: center;
package/less/entry.less CHANGED
@@ -23,6 +23,7 @@
23
23
  @import (inline) "components/preview-not-available.less";
24
24
  @import (inline) "components/publish-status-indicator.less";
25
25
  @import (inline) "components/publish-wizard.less";
26
+ @import (inline) "components/change-report.less";
26
27
  @import (inline) "components/section.less";
27
28
  @import (inline) "components/shortcut-menu.less";
28
29
  @import (inline) "components/spinner.less";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "2.14.11",
3
+ "version": "2.15.0-1",
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",
@@ -22,11 +22,7 @@
22
22
  "release-as": "bash scripts/release-as.sh",
23
23
  "format": "prettier --write \"**/*.{,js,json,jsx,ts,tsx,md}\"",
24
24
  "check-formatting": "prettier --check \"**/*.{,js,json,jsx,ts,tsx,md}\"",
25
- "storybook": "npm run build && start-storybook -p 6066",
26
- "test": "vitest",
27
- "test:run": "vitest run",
28
- "test:coverage": "vitest run --coverage",
29
- "test:watch": "vitest --watch"
25
+ "storybook": "npm run build && start-storybook -p 6066"
30
26
  },
31
27
  "repository": {
32
28
  "type": "git",
@@ -40,15 +36,15 @@
40
36
  "homepage": "https://github.com/NickelMedia/Imposium-Hub-Components#readme",
41
37
  "dependencies": {
42
38
  "@imposium-hub/react-color": "^2.19.4",
43
- "@imposium-hub/react-textarea-autocomplete": "^4.9.13-6",
44
39
  "@innovid/feature-flags-react": "^1.1.0-6",
40
+ "@imposium-hub/react-textarea-autocomplete": "^4.9.13-6",
45
41
  "ansi_up": "^5.1.0",
46
42
  "cogo-toast": "^4.2.3",
47
43
  "export-to-csv": "^0.2.1",
48
44
  "file-saver": "^2.0.5",
49
45
  "imposium-js-sdk": "^3.5.6",
50
46
  "js-cookie": "^2.2.1",
51
- "lodash": "^4.18.1",
47
+ "lodash": "^4.17.21",
52
48
  "moize": "^6.1.0",
53
49
  "moment": "^2.29.1",
54
50
  "react-hotkeys-hook": "^4.4.1",
@@ -103,14 +99,12 @@
103
99
  "@storybook/addon-storysource": "^8.6.14",
104
100
  "@storybook/react": "^8.6.14",
105
101
  "@storybook/testing-library": "^0.2.1",
106
- "@testing-library/react": "^16.3.2",
107
102
  "@types/hoist-non-react-statics": "^3.3.1",
108
103
  "@types/offscreencanvas": "^2019.6.4",
109
104
  "@types/react": "^18.0.0",
110
105
  "@types/resize-observer-browser": "^0.1.5",
111
106
  "@typescript-eslint/eslint-plugin": "^5.26.0",
112
107
  "@typescript-eslint/parser": "^5.26.0",
113
- "@vitest/coverage-v8": "^4.1.3",
114
108
  "axios": "^1.9.0",
115
109
  "concurrently": "^7.1.0",
116
110
  "dpop": "^2.1.1",
@@ -120,7 +114,6 @@
120
114
  "eslint-plugin-prefer-arrow": "^1.2.3",
121
115
  "eslint-plugin-unused-imports": "^2.0.0",
122
116
  "hotkeys-js": "^3.6.12",
123
- "jsdom": "^29.0.2",
124
117
  "less": "^4.1.2",
125
118
  "less-plugin-clean-css": "^1.5.1",
126
119
  "localforage": "^1.7.3",
@@ -142,17 +135,13 @@
142
135
  "sb": "^8.6.14",
143
136
  "smpte-timecode": "^1.2.3",
144
137
  "storybook-dark-mode": "^3.0.3",
145
- "typescript": "^5.3.3",
146
- "vitest": "^4.1.3"
138
+ "typescript": "^5.3.3"
147
139
  },
148
140
  "eslintConfig": {
149
141
  "root": true,
150
142
  "extends": [
151
143
  "@imposium-hub/eslint-config/typescript-react"
152
- ],
153
- "parserOptions": {
154
- "project": "./tsconfig.eslint.json"
155
- }
144
+ ]
156
145
  },
157
146
  "prettier": "@imposium-hub/prettier-config",
158
147
  "overrides": {
@@ -381,9 +381,14 @@ export const ERROR_DESCRIPTIONS = {
381
381
  export interface AppWrappeErrorProps {
382
382
  error: string;
383
383
  email: string;
384
+ onCreateStory?: () => void;
384
385
  }
385
386
 
386
- export const AppWrapperErrors: React.FC<AppWrappeErrorProps> = ({ error, email }) => {
387
+ export const AppWrapperErrors: React.FC<AppWrappeErrorProps> = ({
388
+ error,
389
+ email,
390
+ onCreateStory
391
+ }) => {
387
392
  return (
388
393
  <div className='no-access'>
389
394
  <FontAwesomeIcon