@imposium-hub/components 2.3.11-0 → 2.4.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 (288) hide show
  1. package/dist/cjs/Util.d.ts +0 -1
  2. package/dist/cjs/Util.js +1 -8
  3. package/dist/cjs/Util.js.map +1 -1
  4. package/dist/cjs/components/Tooltip.d.ts +2 -2
  5. package/dist/cjs/components/Tooltip.js +7 -4
  6. package/dist/cjs/components/Tooltip.js.map +1 -1
  7. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  8. package/dist/cjs/components/anchor-field/AnchorField.d.ts +1 -1
  9. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -2
  10. package/dist/cjs/components/app-wrapper/AppWrapper.js +96 -84
  11. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  12. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  13. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +243 -0
  14. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  15. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  16. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +255 -0
  17. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  18. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  19. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +243 -0
  20. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  21. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  22. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +251 -0
  23. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  24. package/dist/cjs/components/assets/AssetField.js +2 -2
  25. package/dist/cjs/components/assets/AssetField.js.map +1 -1
  26. package/dist/cjs/components/assets/AssetsTableDurationCell.js +4 -1
  27. package/dist/cjs/components/assets/AssetsTableDurationCell.js.map +1 -1
  28. package/dist/cjs/components/assets/AssetsTableGlobalCell.js +1 -1
  29. package/dist/cjs/components/assets/AssetsTableGlobalCell.js.map +1 -1
  30. package/dist/cjs/components/assets/AssetsTableNameCell.js +3 -4
  31. package/dist/cjs/components/assets/AssetsTableNameCell.js.map +1 -1
  32. package/dist/cjs/components/assets/AssetsTableRateCell.js +3 -9
  33. package/dist/cjs/components/assets/AssetsTableRateCell.js.map +1 -1
  34. package/dist/cjs/components/assets/AssetsTableTypeFilter.js +2 -2
  35. package/dist/cjs/components/assets/AssetsTableTypeFilter.js.map +1 -1
  36. package/dist/cjs/components/assets/AssetsUploadMenu.js +34 -157
  37. package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
  38. package/dist/cjs/components/auth-gate/AuthGate.js +9 -5
  39. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -1
  40. package/dist/cjs/components/button-group-field/ButtonGroupField.d.ts +1 -1
  41. package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +1 -1
  42. package/dist/cjs/components/color-field/ColorField.d.ts +1 -1
  43. package/dist/cjs/components/color-field/ColorField.js +2 -2
  44. package/dist/cjs/components/color-field/ColorField.js.map +1 -1
  45. package/dist/cjs/components/context-menu/ContextMenu.js +4 -8
  46. package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -1
  47. package/dist/cjs/components/data-table/DataTable.js +2 -2
  48. package/dist/cjs/components/data-table/DataTable.js.map +1 -1
  49. package/dist/cjs/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  50. package/dist/cjs/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  51. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  52. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  53. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  54. package/dist/cjs/components/header/Header.d.ts +5 -1
  55. package/dist/cjs/components/header/Header.js +51 -46
  56. package/dist/cjs/components/header/Header.js.map +1 -1
  57. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  58. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  59. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  60. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  61. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  62. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  63. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  64. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  65. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  66. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  67. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  68. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  69. package/dist/cjs/components/list-field/ListField.d.ts +1 -1
  70. package/dist/cjs/components/number-field/NumberField.d.ts +1 -1
  71. package/dist/cjs/components/publish-wizard/PublishWizard.js +119 -63
  72. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  73. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js +5 -28
  74. package/dist/cjs/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  75. package/dist/cjs/components/select-field/SelectField.d.ts +1 -1
  76. package/dist/cjs/components/select-field/SelectField.js +0 -4
  77. package/dist/cjs/components/select-field/SelectField.js.map +1 -1
  78. package/dist/cjs/components/slider-field/SliderField.d.ts +1 -1
  79. package/dist/cjs/components/smpte-field/SMPTEField.d.ts +1 -1
  80. package/dist/cjs/components/story-previewer/StoryPreviewer.js +2 -7
  81. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  82. package/dist/cjs/components/text-area-field/TextAreaField.d.ts +1 -1
  83. package/dist/cjs/components/text-field/TextField.d.ts +1 -1
  84. package/dist/cjs/constants/copy.d.ts +5 -2
  85. package/dist/cjs/constants/copy.js +8 -5
  86. package/dist/cjs/constants/copy.js.map +1 -1
  87. package/dist/cjs/constants/icons.d.ts +1 -0
  88. package/dist/cjs/constants/icons.js +3 -1
  89. package/dist/cjs/constants/icons.js.map +1 -1
  90. package/dist/cjs/index.d.ts +3 -5
  91. package/dist/cjs/index.js +4 -8
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/redux/actions/access.d.ts +1 -3
  94. package/dist/cjs/redux/actions/access.js +10 -43
  95. package/dist/cjs/redux/actions/access.js.map +1 -1
  96. package/dist/cjs/redux/actions/asset-uploads.d.ts +11 -6
  97. package/dist/cjs/redux/actions/asset-uploads.js +182 -262
  98. package/dist/cjs/redux/actions/asset-uploads.js.map +1 -1
  99. package/dist/cjs/redux/actions/publish.js +4 -3
  100. package/dist/cjs/redux/actions/publish.js.map +1 -1
  101. package/dist/cjs/redux/reducers/access.js +7 -30
  102. package/dist/cjs/redux/reducers/access.js.map +1 -1
  103. package/dist/cjs/redux/reducers/asset-uploads.js +24 -10
  104. package/dist/cjs/redux/reducers/asset-uploads.js.map +1 -1
  105. package/dist/cjs/services/API.d.ts +2 -2
  106. package/dist/cjs/services/API.js +1 -2
  107. package/dist/cjs/services/API.js.map +1 -1
  108. package/dist/cjs/services/Auth0.js +1 -0
  109. package/dist/cjs/services/Auth0.js.map +1 -1
  110. package/dist/cjs/services/Session.d.ts +9 -8
  111. package/dist/cjs/services/Session.js +31 -127
  112. package/dist/cjs/services/Session.js.map +1 -1
  113. package/dist/cjs/utils/assets.d.ts +2 -1
  114. package/dist/cjs/utils/assets.js.map +1 -1
  115. package/dist/esm/Util.d.ts +0 -1
  116. package/dist/esm/Util.js +0 -6
  117. package/dist/esm/Util.js.map +1 -1
  118. package/dist/esm/components/Tooltip.d.ts +2 -2
  119. package/dist/esm/components/Tooltip.js +4 -4
  120. package/dist/esm/components/Tooltip.js.map +1 -1
  121. package/dist/esm/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  122. package/dist/esm/components/anchor-field/AnchorField.d.ts +1 -1
  123. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -2
  124. package/dist/esm/components/app-wrapper/AppWrapper.js +94 -84
  125. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  126. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  127. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  128. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  129. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  130. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  131. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  132. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  133. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  134. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  135. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  136. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  137. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  138. package/dist/esm/components/assets/AssetField.js +2 -2
  139. package/dist/esm/components/assets/AssetField.js.map +1 -1
  140. package/dist/esm/components/assets/AssetsTableDurationCell.js +5 -2
  141. package/dist/esm/components/assets/AssetsTableDurationCell.js.map +1 -1
  142. package/dist/esm/components/assets/AssetsTableGlobalCell.js +1 -1
  143. package/dist/esm/components/assets/AssetsTableGlobalCell.js.map +1 -1
  144. package/dist/esm/components/assets/AssetsTableNameCell.js +3 -4
  145. package/dist/esm/components/assets/AssetsTableNameCell.js.map +1 -1
  146. package/dist/esm/components/assets/AssetsTableRateCell.js +3 -9
  147. package/dist/esm/components/assets/AssetsTableRateCell.js.map +1 -1
  148. package/dist/esm/components/assets/AssetsTableTypeFilter.js +2 -2
  149. package/dist/esm/components/assets/AssetsTableTypeFilter.js.map +1 -1
  150. package/dist/esm/components/assets/AssetsUploadMenu.js +34 -138
  151. package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
  152. package/dist/esm/components/auth-gate/AuthGate.js +10 -6
  153. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -1
  154. package/dist/esm/components/button-group-field/ButtonGroupField.d.ts +1 -1
  155. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +1 -1
  156. package/dist/esm/components/color-field/ColorField.d.ts +1 -1
  157. package/dist/esm/components/color-field/ColorField.js +2 -2
  158. package/dist/esm/components/color-field/ColorField.js.map +1 -1
  159. package/dist/esm/components/context-menu/ContextMenu.js +3 -7
  160. package/dist/esm/components/context-menu/ContextMenu.js.map +1 -1
  161. package/dist/esm/components/data-table/DataTable.js +2 -2
  162. package/dist/esm/components/data-table/DataTable.js.map +1 -1
  163. package/dist/esm/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  164. package/dist/esm/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  165. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  166. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  167. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  168. package/dist/esm/components/header/Header.d.ts +5 -1
  169. package/dist/esm/components/header/Header.js +51 -41
  170. package/dist/esm/components/header/Header.js.map +1 -1
  171. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  172. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  173. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  174. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  175. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  176. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  177. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  178. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  179. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  180. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  181. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  182. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  183. package/dist/esm/components/list-field/ListField.d.ts +1 -1
  184. package/dist/esm/components/number-field/NumberField.d.ts +1 -1
  185. package/dist/esm/components/publish-wizard/PublishWizard.js +119 -64
  186. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  187. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js +5 -28
  188. package/dist/esm/components/publish-wizard/publish/EmailWorkflow.js.map +1 -1
  189. package/dist/esm/components/select-field/SelectField.d.ts +1 -1
  190. package/dist/esm/components/select-field/SelectField.js +0 -3
  191. package/dist/esm/components/select-field/SelectField.js.map +1 -1
  192. package/dist/esm/components/slider-field/SliderField.d.ts +1 -1
  193. package/dist/esm/components/smpte-field/SMPTEField.d.ts +1 -1
  194. package/dist/esm/components/story-previewer/StoryPreviewer.js +2 -7
  195. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  196. package/dist/esm/components/text-area-field/TextAreaField.d.ts +1 -1
  197. package/dist/esm/components/text-field/TextField.d.ts +1 -1
  198. package/dist/esm/constants/copy.d.ts +5 -2
  199. package/dist/esm/constants/copy.js +8 -5
  200. package/dist/esm/constants/copy.js.map +1 -1
  201. package/dist/esm/constants/icons.d.ts +1 -0
  202. package/dist/esm/constants/icons.js +2 -0
  203. package/dist/esm/constants/icons.js.map +1 -1
  204. package/dist/esm/index.d.ts +3 -5
  205. package/dist/esm/index.js +3 -5
  206. package/dist/esm/index.js.map +1 -1
  207. package/dist/esm/redux/actions/access.d.ts +1 -3
  208. package/dist/esm/redux/actions/access.js +8 -37
  209. package/dist/esm/redux/actions/access.js.map +1 -1
  210. package/dist/esm/redux/actions/asset-uploads.d.ts +11 -6
  211. package/dist/esm/redux/actions/asset-uploads.js +167 -224
  212. package/dist/esm/redux/actions/asset-uploads.js.map +1 -1
  213. package/dist/esm/redux/actions/publish.js +4 -3
  214. package/dist/esm/redux/actions/publish.js.map +1 -1
  215. package/dist/esm/redux/reducers/access.js +5 -8
  216. package/dist/esm/redux/reducers/access.js.map +1 -1
  217. package/dist/esm/redux/reducers/asset-uploads.js +47 -15
  218. package/dist/esm/redux/reducers/asset-uploads.js.map +1 -1
  219. package/dist/esm/services/API.d.ts +2 -2
  220. package/dist/esm/services/API.js +1 -2
  221. package/dist/esm/services/API.js.map +1 -1
  222. package/dist/esm/services/Auth0.js +1 -0
  223. package/dist/esm/services/Auth0.js.map +1 -1
  224. package/dist/esm/services/Session.d.ts +9 -8
  225. package/dist/esm/services/Session.js +29 -102
  226. package/dist/esm/services/Session.js.map +1 -1
  227. package/dist/esm/utils/assets.d.ts +2 -1
  228. package/dist/esm/utils/assets.js.map +1 -1
  229. package/dist/styles.css +25 -151
  230. package/dist/styles.less +100 -280
  231. package/less/components/assets.less +63 -237
  232. package/less/components/button.less +1 -7
  233. package/less/components/data-table.less +11 -17
  234. package/less/components/header.less +13 -0
  235. package/less/components/publish-wizard.less +13 -20
  236. package/less/components/story-previewer.less +0 -1
  237. package/package.json +6 -6
  238. package/src/Util.ts +0 -10
  239. package/src/components/Tooltip.tsx +9 -9
  240. package/src/components/advanced-number-field/AdvancedNumberField.tsx +1 -1
  241. package/src/components/anchor-field/AnchorField.tsx +1 -1
  242. package/src/components/app-wrapper/AppWrapper.tsx +102 -125
  243. package/src/components/assets/AssetField.tsx +8 -3
  244. package/src/components/assets/AssetsTableDurationCell.tsx +5 -2
  245. package/src/components/assets/AssetsTableNameCell.tsx +5 -3
  246. package/src/components/assets/AssetsTableRateCell.tsx +4 -11
  247. package/src/components/assets/AssetsTableTypeFilter.tsx +8 -7
  248. package/src/components/assets/AssetsUploadMenu.tsx +98 -271
  249. package/src/components/auth-gate/AuthGate.tsx +15 -8
  250. package/src/components/button-group-field/ButtonGroupField.tsx +1 -1
  251. package/src/components/checkbox-field/CheckboxField.tsx +1 -1
  252. package/src/components/color-field/ColorField.tsx +3 -3
  253. package/src/components/context-menu/ContextMenu.tsx +11 -16
  254. package/src/components/data-table/DataTable.tsx +2 -2
  255. package/src/components/header/Header.tsx +113 -76
  256. package/src/components/list-field/ListField.tsx +1 -1
  257. package/src/components/number-field/NumberField.tsx +1 -1
  258. package/src/components/publish-wizard/PublishWizard.tsx +180 -102
  259. package/src/components/publish-wizard/publish/EmailWorkflow.tsx +10 -42
  260. package/src/components/select-field/SelectField.tsx +1 -4
  261. package/src/components/slider-field/SliderField.tsx +1 -1
  262. package/src/components/smpte-field/SMPTEField.tsx +1 -1
  263. package/src/components/story-previewer/StoryPreviewer.tsx +6 -10
  264. package/src/components/text-area-field/TextAreaField.tsx +1 -1
  265. package/src/components/text-field/TextField.tsx +1 -1
  266. package/src/constants/copy.ts +9 -5
  267. package/src/constants/icons.tsx +3 -0
  268. package/src/index.ts +11 -11
  269. package/src/redux/actions/access.ts +5 -67
  270. package/src/redux/actions/asset-uploads.ts +206 -307
  271. package/src/redux/actions/publish.ts +6 -3
  272. package/src/redux/reducers/access.ts +5 -8
  273. package/src/redux/reducers/asset-uploads.ts +47 -17
  274. package/src/services/API.ts +2 -7
  275. package/src/services/Auth0.ts +1 -0
  276. package/src/services/Session.ts +34 -120
  277. package/src/utils/assets.ts +2 -1
  278. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.d.ts +0 -12
  279. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.js +0 -75
  280. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.js.map +0 -1
  281. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.d.ts +0 -12
  282. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.js +0 -24
  283. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.js.map +0 -1
  284. package/src/components/assets/AssetsTableGlobalCell.tsx +0 -15
  285. package/src/components/copy-prop-id-button/CopyPropIdButton.tsx +0 -44
  286. /package/dist/cjs/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  287. /package/dist/esm/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  288. /package/src/components/dropdown/{Dropdown.stories.tsx → dropdown.stories.tsx} +0 -0
@@ -5,10 +5,12 @@ import HRule from '../h-rule/HRule';
5
5
  import {
6
6
  ICON_DOWNLOAD,
7
7
  ICON_EMAIL,
8
+ ICON_EXCLAIMATION_TRIANGLE,
8
9
  ICON_GLOBE,
9
10
  ICON_HUBSPOT,
10
11
  ICON_IMAGE,
11
- ICON_PROJECT_DIAGRAM
12
+ ICON_PROJECT_DIAGRAM,
13
+ ICON_UP_RIGHT_FROM_SQUARE
12
14
  } from '../../constants/icons';
13
15
  import { IImposiumAPI } from '../../services/API';
14
16
  import * as copy from '../../constants/copy';
@@ -23,8 +25,11 @@ import { publishVersion } from '../../redux/actions/publish';
23
25
  import { connect } from 'react-redux';
24
26
 
25
27
  interface IPublishWizardProps {
28
+ fromCrM?: boolean;
29
+ creativeManagerBaseUrl?: string;
26
30
  story: any;
27
31
  project: any;
32
+ updateEditorConfig(c): void;
28
33
  editor: any;
29
34
  updateScene(d): void;
30
35
  editStory(s): void;
@@ -33,7 +38,6 @@ interface IPublishWizardProps {
33
38
  exportExperiences: () => void;
34
39
  publishVersion: (api: IImposiumAPI, sId: string) => any;
35
40
  batchesList: any;
36
- publishing: boolean;
37
41
  onClose(): any;
38
42
  api: IImposiumAPI;
39
43
  handleError(e): void;
@@ -66,7 +70,6 @@ interface IPublishWizardProps {
66
70
  renderBatch: (batchId: string, postRenderActions?: any) => any;
67
71
  publishData: any;
68
72
  onDeleteBatch?: (batchId: string) => any;
69
- onBackBtn?: () => void;
70
73
  }
71
74
 
72
75
  export interface ICredential {
@@ -91,6 +94,7 @@ interface IPublishWizardState {
91
94
  error: boolean;
92
95
  next: boolean;
93
96
  nextStep: boolean;
97
+ publishError: string;
94
98
  }
95
99
 
96
100
  interface IBigButtonProps {
@@ -134,12 +138,27 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
134
138
  done: false,
135
139
  error: false,
136
140
  next: false,
137
- nextStep: false
141
+ nextStep: false,
142
+ publishError: null
138
143
  };
139
144
  this.emailWorkflow = React.createRef();
140
145
  this.hiddenFileInputRef = React.createRef();
141
146
  }
142
147
 
148
+ public componentDidUpdate(prevProps, prevState) {
149
+ // If we just finished publushing, and we're on the first screen still go to the second screen
150
+ if (
151
+ prevProps.publishData.publishing &&
152
+ !this.props.publishData.publishing &&
153
+ this.state.screenIndex === 0 &&
154
+ !this.state.publishError
155
+ ) {
156
+ this.setState({
157
+ screenIndex: 1
158
+ });
159
+ }
160
+ }
161
+
143
162
  public componentDidMount() {
144
163
  const { story, api, handleError, activeComposition } = this.props;
145
164
  // Pull in all of the access creds for the composition dropdown
@@ -275,12 +294,25 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
275
294
  const {
276
295
  story: { id },
277
296
  api,
278
- handleError
297
+ handleError,
298
+ fromCrM
279
299
  } = this.props;
280
- this.props.publishVersion(api, id).catch((e) => {
281
- handleError(e);
282
- });
283
- this.setState({ screenIndex: 1 });
300
+
301
+ if (fromCrM) {
302
+ this.props
303
+ .publishVersion(api, id)
304
+ .then(() => {
305
+ this.setState({ screenIndex: 1 });
306
+ })
307
+ .catch((e) => {
308
+ this.setState({ publishError: e });
309
+ });
310
+ } else {
311
+ this.props.publishVersion(api, id).catch((e) => {
312
+ handleError(e);
313
+ });
314
+ this.setState({ screenIndex: 1 });
315
+ }
284
316
  }
285
317
 
286
318
  private onCloseHandler = () => {
@@ -296,7 +328,7 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
296
328
 
297
329
  private renderLowerButtons() {
298
330
  const { screenIndex, done, error, next } = this.state;
299
- const { publishing } = this.props;
331
+ const { publishing } = this.props.publishData;
300
332
 
301
333
  const lowerButtons = [];
302
334
 
@@ -350,20 +382,13 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
350
382
  size={'large'}
351
383
  key='btn-back'
352
384
  onClick={() =>
353
- this.setState(
354
- {
355
- screenIndex: backIndex,
356
- next: false,
357
- nextStep: false,
358
- error: false,
359
- done: false
360
- },
361
- () => {
362
- if (this.props.onBackBtn) {
363
- this.props.onBackBtn();
364
- }
365
- }
366
- )
385
+ this.setState({
386
+ screenIndex: backIndex,
387
+ next: false,
388
+ nextStep: false,
389
+ error: false,
390
+ done: false
391
+ })
367
392
  }
368
393
  color='primary'>
369
394
  {copy.publish.btnBack}
@@ -390,11 +415,19 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
390
415
  }
391
416
 
392
417
  private renderPublish() {
418
+ const { publishing } = this.props.publishData;
419
+ const { publishError } = this.state;
420
+ const error = publishError ? (
421
+ <p className='publish-error'>
422
+ <span className='icon'>{ICON_EXCLAIMATION_TRIANGLE}</span>&nbsp;&nbsp;{publishError}
423
+ </p>
424
+ ) : null;
393
425
  return (
394
426
  <div>
395
427
  <h2>{copy.publish.publishStepTitle}</h2>
396
428
  <HRule />
397
- <p>{copy.publish.publishStepDesc}</p>
429
+ <p>{publishing ? copy.publish.publishInProgress : copy.publish.publishStepDesc}</p>
430
+ {error}
398
431
  </div>
399
432
  );
400
433
  }
@@ -405,7 +438,7 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
405
438
  const { compositions, afterEffects, selectedComposition, credentials, accessKey } =
406
439
  this.state;
407
440
 
408
- const { publishDataset } = this.props;
441
+ const { publishDataset, fromCrM, story, creativeManagerBaseUrl } = this.props;
409
442
 
410
443
  for (const comp of compositions) {
411
444
  compOpts.push({
@@ -428,56 +461,75 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
428
461
  });
429
462
  }
430
463
 
431
- let distributionOptions = [
432
- {
433
- label: (
434
- <span>
435
- {ICON_GLOBE}&nbsp;{copy.publish.btnWebsite}
436
- </span>
437
- ),
438
- onClick: (e) => this.onSelectOption(2)
439
- },
440
- {
441
- label: (
442
- <span>
443
- {ICON_EMAIL}&nbsp;{copy.publish.btnEmail}
444
- </span>
445
- ),
446
- onClick: (e) => this.onSelectOption(3)
447
- },
448
- {
449
- label: (
450
- <span>
451
- {ICON_HUBSPOT}&nbsp;{copy.publish.btnHubspot}
452
- </span>
453
- ),
454
- onClick: (e) => this.onSelectOption(5)
455
- },
456
- {
457
- label: (
458
- <span>
459
- {ICON_PROJECT_DIAGRAM}&nbsp;{copy.publish.btnAPI}
460
- </span>
461
- ),
462
- onClick: (e) => this.onSelectOption(6)
463
- },
464
- {
465
- label: (
466
- <span>
467
- {ICON_DOWNLOAD}&nbsp;{copy.publish.btnExport}
468
- </span>
469
- ),
470
- onClick: (e) => this.onSelectOption(7)
471
- },
472
- {
473
- label: (
474
- <span>
475
- {ICON_IMAGE}&nbsp;{copy.publish.btnCRM}
476
- </span>
477
- ),
478
- onClick: (e) => this.onSelectOption(8)
479
- }
480
- ];
464
+ let distributionOptions = !fromCrM
465
+ ? [
466
+ {
467
+ label: (
468
+ <span>
469
+ {ICON_GLOBE}&nbsp;{copy.publish.btnWebsite}
470
+ </span>
471
+ ),
472
+ onClick: (e) => this.onSelectOption(2)
473
+ },
474
+ {
475
+ label: (
476
+ <span>
477
+ {ICON_EMAIL}&nbsp;{copy.publish.btnEmail}
478
+ </span>
479
+ ),
480
+ onClick: (e) => this.onSelectOption(3)
481
+ },
482
+ {
483
+ label: (
484
+ <span>
485
+ {ICON_HUBSPOT}&nbsp;{copy.publish.btnHubspot}
486
+ </span>
487
+ ),
488
+ onClick: (e) => this.onSelectOption(5)
489
+ },
490
+ {
491
+ label: (
492
+ <span>
493
+ {ICON_PROJECT_DIAGRAM}&nbsp;{copy.publish.btnAPI}
494
+ </span>
495
+ ),
496
+ onClick: (e) => this.onSelectOption(6)
497
+ },
498
+ {
499
+ label: (
500
+ <span>
501
+ {ICON_DOWNLOAD}&nbsp;{copy.publish.btnExport}
502
+ </span>
503
+ ),
504
+ onClick: (e) => this.onSelectOption(7)
505
+ },
506
+ {
507
+ label: (
508
+ <span>
509
+ {ICON_IMAGE}&nbsp;{copy.publish.btnCRM}
510
+ </span>
511
+ ),
512
+ onClick: (e) => this.onSelectOption(8)
513
+ }
514
+ ]
515
+ : [
516
+ {
517
+ label: (
518
+ <span>
519
+ {ICON_DOWNLOAD}&nbsp;{copy.publish.btnRunTestBatch}
520
+ </span>
521
+ ),
522
+ onClick: (e) => this.onSelectOption(7)
523
+ },
524
+ {
525
+ label: (
526
+ <span>
527
+ {ICON_UP_RIGHT_FROM_SQUARE}&nbsp;{copy.publish.btnCrM}
528
+ </span>
529
+ ),
530
+ link: `${creativeManagerBaseUrl}/library/${story.creativeLibraryId}/creative/${story.creativeLibraryId}/versions/`
531
+ }
532
+ ];
481
533
 
482
534
  if (publishDataset) {
483
535
  const indexes = [0, 2, 3];
@@ -489,41 +541,67 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
489
541
  }, []);
490
542
  }
491
543
 
544
+ const compDropdown = !fromCrM ? (
545
+ <SelectField
546
+ label={copy.project.compName}
547
+ value={selectedComposition}
548
+ onChange={this.onCompositionChange}
549
+ options={compOpts}
550
+ tooltip={copy.project.tooltipCompId}
551
+ />
552
+ ) : null;
553
+
554
+ const accessKeyDropdown = !fromCrM ? (
555
+ <SelectField
556
+ label={copy.publish.accessKey}
557
+ value={accessKey}
558
+ onChange={this.onCredentialsChange}
559
+ options={credOpts}
560
+ tooltip={copy.publish.tooltipAccessKey}
561
+ />
562
+ ) : null;
563
+
492
564
  return (
493
565
  <div>
494
- <h2>{copy.publish.distributeStepTitle}</h2>
566
+ <h2>
567
+ {!fromCrM
568
+ ? copy.publish.distributeStepTitle
569
+ : copy.publish.distributeStepTitleFromCrM}
570
+ </h2>
495
571
  <HRule />
496
- <p>{copy.publish.distributeStepDesc}</p>
572
+ <p>
573
+ {!fromCrM
574
+ ? copy.publish.distributeStepDesc
575
+ : copy.publish.distributeStepDescFromCrM}
576
+ </p>
497
577
  <HRule />
498
- {!this.state.selectedComposition && (
578
+ {!this.state.selectedComposition && !fromCrM && (
499
579
  <p className={'text-danger'}>{copy.publish.noCompErrorDesc}</p>
500
580
  )}
501
581
  <div style={{ marginTop: '10px' }}>
502
- <SelectField
503
- label={copy.project.compName}
504
- value={selectedComposition}
505
- onChange={this.onCompositionChange}
506
- options={compOpts}
507
- tooltip={copy.project.tooltipCompId}
508
- />
509
- <SelectField
510
- label={copy.publish.accessKey}
511
- value={accessKey}
512
- onChange={this.onCredentialsChange}
513
- options={credOpts}
514
- tooltip={copy.publish.tooltipAccessKey}
515
- />
582
+ {compDropdown}
583
+ {accessKeyDropdown}
516
584
 
517
585
  <div className='link-wrapper'>
518
- {distributionOptions?.map((option, index) => {
519
- return (
520
- <BigButton
521
- key={index}
522
- disabled={!selectedComposition}
523
- label={option.label}
524
- onClick={option.onClick}
525
- />
526
- );
586
+ {distributionOptions?.map((option: any, index) => {
587
+ if (option.link) {
588
+ return (
589
+ <BigLink
590
+ key={index}
591
+ label={option.label}
592
+ link={option.link}
593
+ />
594
+ );
595
+ } else {
596
+ return (
597
+ <BigButton
598
+ key={index}
599
+ disabled={!selectedComposition}
600
+ label={option.label}
601
+ onClick={option.onClick}
602
+ />
603
+ );
604
+ }
527
605
  })}
528
606
  </div>
529
607
  </div>
@@ -488,7 +488,12 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
488
488
  }
489
489
 
490
490
  public renderLabel() {
491
- const { isExport, batchJobs, publishDataset } = this.props;
491
+ const {
492
+ isExport,
493
+ batchJobs,
494
+ publishDataset,
495
+ batchesList: { error }
496
+ } = this.props;
492
497
  const { renderedBatch, selectedBatchId, uploading, uploadComplete } = this.state;
493
498
 
494
499
  if (
@@ -507,6 +512,10 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
507
512
  );
508
513
  }
509
514
 
515
+ if (batchJobs.failed && error[selectedBatchId]) {
516
+ return <>{error[selectedBatchId].error}</>;
517
+ }
518
+
510
519
  if (uploading) {
511
520
  const uploadingCopy = isExport
512
521
  ? copy.publish.importingData
@@ -661,14 +670,9 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
661
670
  batchError,
662
671
  creativeManagerOverrides
663
672
  } = this.state;
664
-
665
673
  const {
666
674
  isExport,
667
675
  batchJobs: { missing, renders, failed },
668
- batchesList: {
669
- error,
670
- selected: { name }
671
- },
672
676
  isCrM,
673
677
  publishDataset
674
678
  } = this.props;
@@ -772,49 +776,13 @@ class EmailWorkflow extends React.PureComponent<IEmailWorkflowProps, IEmailWorkf
772
776
  const title = publishDataset
773
777
  ? copy.publish.datasetTitle.replace('[dataset_name]', this.props.activeDataset?.name)
774
778
  : copy.publish.emailTitle;
775
-
776
779
  const desc = publishDataset ? '' : copy.publish.emailDesc;
777
780
 
778
- const showBatchError = () => {
779
- if (failed && error && error[selectedBatchId]) {
780
- let errorMsg: JSX.Element = <></>;
781
- let errorExpMsg: JSX.Element = <></>;
782
- if (error[selectedBatchId]) {
783
- const { experience } = error[selectedBatchId];
784
- errorMsg = <span className='error-title'>{error[selectedBatchId].error}</span>;
785
- errorExpMsg = experience?.error ? <div>{experience.error}</div> : <></>;
786
- }
787
-
788
- return (
789
- <div className='batch-job-error'>
790
- <h2>{`Batch "${name}" stopped due to errors.`}</h2>
791
- <table>
792
- <thead></thead>
793
- <tbody>
794
- <tr>
795
- <td>Batch ID:</td>
796
- <td>{selectedBatchId}</td>
797
- </tr>
798
- <tr>
799
- <td>First Error:</td>
800
- <td>
801
- {errorMsg}
802
- <br />
803
- {errorExpMsg}
804
- </td>
805
- </tr>
806
- </tbody>
807
- </table>
808
- </div>
809
- );
810
- }
811
- };
812
781
  const uploadCSV = (
813
782
  <div>
814
783
  <h2>{title}</h2>
815
784
  <HRule />
816
785
  <p>{desc}</p>
817
- {showBatchError()}
818
786
  <input
819
787
  type='file'
820
788
  style={{ display: 'none' }}
@@ -7,7 +7,7 @@ import { copying } from '../../constants/copy';
7
7
 
8
8
  interface ISelectFieldProps {
9
9
  buttons?: any;
10
- label?: any;
10
+ label?: string;
11
11
  selectRef?: any;
12
12
  options: any;
13
13
  disable?: boolean;
@@ -61,9 +61,6 @@ class SelectField extends React.PureComponent<ISelectFieldProps> {
61
61
  }
62
62
 
63
63
  this.props.onChange(val);
64
- if (this.props.selectRef?.current) {
65
- this.props.selectRef.current.blur();
66
- }
67
64
  }
68
65
 
69
66
  public render() {
@@ -3,7 +3,7 @@ import FieldWrapper from '../field-wrapper/FieldWrapper';
3
3
  import { IToolTipConfig } from '../Tooltip';
4
4
 
5
5
  interface ISliderFieldProps {
6
- label?: any;
6
+ label?: string;
7
7
  value: number;
8
8
  width?: string | number;
9
9
  min: number;
@@ -5,7 +5,7 @@ import { TIMECODE } from '../../constants/timecode';
5
5
  import { getSMPTE } from '../../Util';
6
6
 
7
7
  interface ISMPTEFieldProps {
8
- label?: any;
8
+ label?: string;
9
9
  placeholder?: string;
10
10
  readOnly?: boolean;
11
11
  tooltip?: IToolTipConfig | string;
@@ -509,9 +509,9 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
509
509
  api.cancelExperiencePolling().then(
510
510
  () => {
511
511
  onError(
512
- copy.runExpError.replace(
513
- '[error]',
514
- e.error
512
+ copy.runExpIdError.replace(
513
+ '[expId]',
514
+ experienceId
515
515
  )
516
516
  );
517
517
 
@@ -572,13 +572,9 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
572
572
  .catch((e) => {
573
573
  this.resetState();
574
574
  if (onError) {
575
- if (e.error) {
576
- onError(copy.runExpError.replace('[error]', e.error));
577
- } else {
578
- onError(
579
- copy.runExpIdError.replace('[expId]', experienceId)
580
- );
581
- }
575
+ onError(
576
+ copy.runExpIdError.replace('[expId]', experienceId)
577
+ );
582
578
  }
583
579
  });
584
580
  }
@@ -9,7 +9,7 @@ interface ITextAreaFieldProps {
9
9
  buttons?: any;
10
10
  controlled?: boolean;
11
11
  disabled?: boolean;
12
- label?: any;
12
+ label?: string;
13
13
  placeholder?: string;
14
14
  readOnly?: boolean;
15
15
  value: string;
@@ -23,7 +23,7 @@ interface ITextFieldProps {
23
23
  disabled?: boolean;
24
24
  submittable?: boolean;
25
25
  focusOnMount?: boolean;
26
- label?: any;
26
+ label?: string;
27
27
  placeholder?: string;
28
28
  readOnly?: boolean;
29
29
  value?: string;
@@ -1,7 +1,6 @@
1
1
  export const assets = {
2
2
  tooltipFilter: 'Filter by Asset type',
3
3
  previewNotAvailable: 'Preview Not Available for this Asset Type',
4
- dropAsset: 'Drop file(s) here.',
5
4
  iconTypes: {
6
5
  filter: 'Filter By Type',
7
6
  lut: 'LUT',
@@ -18,15 +17,15 @@ export const assets = {
18
17
  after_effects: 'After Effects'
19
18
  },
20
19
  uploads: {
21
- noUploads: 'No files selected, drag and drop files here to begin.',
20
+ noUploads: 'There are currently no assets uploading...',
22
21
  preparePhase: 'Preparing asset...',
23
22
  autoTagFilname: 'Tag by file name',
24
23
  autoTagDelimiter: 'Tag by Delimiter',
25
24
  delimiterOptions: 'Delimiter Options',
26
25
  manualTagging: 'Tag Manually',
27
- assignToProjectInput: 'Make Global',
26
+ assignToProjectInput: 'Assign to Project',
28
27
  assignToProjectInfo:
29
- 'If selected, any assets uploaded will be available to use with all projects on the current organization.',
28
+ 'If selected, any assets uploaded will only be available to use with the currently selected project.',
30
29
  uploadButton: 'Upload',
31
30
  cancelButton: 'Cancel'
32
31
  },
@@ -77,7 +76,6 @@ export const previewer = {
77
76
  };
78
77
 
79
78
  export const compositions = {
80
- tooltipPropId: 'Copy Property ID',
81
79
  name: 'Name',
82
80
  width: 'Width',
83
81
  height: 'Height',
@@ -117,6 +115,9 @@ export const compositions = {
117
115
  };
118
116
 
119
117
  export const publish = {
118
+ publishInProgress: 'Publish to Creative Manager in progress',
119
+ btnRunTestBatch: 'Run Test Batch',
120
+ btnCrM: 'Creative Manager',
120
121
  creativeLibraryId: 'Creative Library ID',
121
122
  creativeId: 'Creative ID',
122
123
  email: 'Notification Email',
@@ -137,8 +138,11 @@ export const publish = {
137
138
 
138
139
  // distribute
139
140
  distributeStepTitle: 'STEP 2: How do you want your users to view their video?',
141
+ distributeStepTitleFromCrM: 'STEP 2: Run a test batch or return to Creative Manager?',
140
142
  distributeStepDesc:
141
143
  'Select which Composition you want to deliver, access credentials you want to use, and distribution channel.',
144
+ distributeStepDescFromCrM:
145
+ 'You can run a test batch to preview a sample data set, or return to Creative Manager where you can publish the final version set.',
142
146
  compositionError: 'Please Select Composition',
143
147
 
144
148
  // webpage
@@ -37,6 +37,7 @@ import { faFont } from '@fortawesome/free-solid-svg-icons/faFont';
37
37
  import { faAlignLeft } from '@fortawesome/free-solid-svg-icons/faAlignLeft';
38
38
  import { faAlignRight } from '@fortawesome/free-solid-svg-icons/faAlignRight';
39
39
  import { faAlignCenter } from '@fortawesome/free-solid-svg-icons/faAlignCenter';
40
+ import { faUpRightFromSquare } from '@fortawesome/free-solid-svg-icons/faUpRightFromSquare';
40
41
  import { faBars } from '@fortawesome/free-solid-svg-icons/faBars';
41
42
  import { faArrowToTop } from '@fortawesome/pro-light-svg-icons/faArrowToTop';
42
43
  import { faArrowToBottom } from '@fortawesome/pro-light-svg-icons/faArrowToBottom';
@@ -212,3 +213,5 @@ export const ICON_CENTER_ANCHOR = <FontAwesomeIcon icon={faCircleSmall} />;
212
213
  export const ICON_CLAPPERBOARD_PLAY = <FontAwesomeIcon icon={faClapperboardPlay} />;
213
214
 
214
215
  export const ICON_CODE = <FontAwesomeIcon icon={faCode} />;
216
+
217
+ export const ICON_UP_RIGHT_FROM_SQUARE = <FontAwesomeIcon icon={faUpRightFromSquare} />;