@imposium-hub/components 2.14.11 → 2.15.0-0

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 (303) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -6
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js +4 -8
  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/assets/AssetsUploadMenu.js +5 -5
  23. package/dist/cjs/components/auth-gate/AuthGate.d.ts +2 -0
  24. package/dist/cjs/components/auth-gate/AuthGate.js +105 -0
  25. package/dist/cjs/components/auth-gate/AuthGate.js.map +1 -0
  26. package/dist/cjs/components/change-report/ChangeReportTree.d.ts +10 -0
  27. package/dist/cjs/components/change-report/ChangeReportTree.js +95 -0
  28. package/dist/cjs/components/change-report/ChangeReportTree.js.map +1 -0
  29. package/dist/cjs/components/context-menu/AnimateComponent.d.ts +0 -1
  30. package/dist/cjs/components/context-menu/AnimateComponent.js.map +1 -1
  31. package/dist/cjs/components/context-menu/ContextMenu.d.ts +0 -1
  32. package/dist/cjs/components/context-menu/ContextMenu.js +6 -6
  33. package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -1
  34. package/dist/cjs/components/context-menu/ContextMenuItem.d.ts +0 -1
  35. package/dist/cjs/components/context-menu/ContextMenuItem.js.map +1 -1
  36. package/dist/cjs/components/context-menu/ContextMenuTrigger.d.ts +0 -1
  37. package/dist/cjs/components/context-menu/ContextMenuTrigger.js.map +1 -1
  38. package/dist/cjs/components/context-menu/SubMenu.d.ts +0 -1
  39. package/dist/cjs/components/context-menu/SubMenu.js.map +1 -1
  40. package/dist/cjs/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  41. package/dist/cjs/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  42. package/dist/cjs/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
  43. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js +132 -0
  44. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js.map +1 -0
  45. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  46. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +104 -0
  47. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  48. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  49. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +91 -0
  50. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  51. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +7 -0
  52. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js +48 -0
  53. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +1 -0
  54. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +33 -0
  55. package/dist/cjs/components/header/Header_BACKUP_73021.js +393 -0
  56. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +1 -0
  57. package/dist/cjs/components/header/Header_BASE_73021.d.ts +29 -0
  58. package/dist/cjs/components/header/Header_BASE_73021.js +376 -0
  59. package/dist/cjs/components/header/Header_BASE_73021.js.map +1 -0
  60. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +33 -0
  61. package/dist/cjs/components/header/Header_LOCAL_73021.js +382 -0
  62. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +1 -0
  63. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +30 -0
  64. package/dist/cjs/components/header/Header_REMOTE_73021.js +386 -0
  65. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +1 -0
  66. package/dist/cjs/components/header/StoryDropdown.d.ts +6 -0
  67. package/dist/cjs/components/header/StoryDropdown.js +111 -0
  68. package/dist/cjs/components/header/StoryDropdown.js.map +1 -0
  69. package/dist/cjs/components/number-field/NumberField.d.ts +2 -3
  70. package/dist/cjs/components/number-field/NumberField.js +19 -23
  71. package/dist/cjs/components/number-field/NumberField.js.map +1 -1
  72. package/dist/cjs/components/portal/Portal.d.ts +0 -1
  73. package/dist/cjs/components/portal/Portal.js.map +1 -1
  74. package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +5 -4
  75. package/dist/cjs/components/publish-wizard/PublishWizard.js +104 -38
  76. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  77. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +11 -0
  78. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +213 -0
  79. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +1 -0
  80. package/dist/cjs/components/service-icon/ServiceIcon.test.d.ts +0 -0
  81. package/dist/cjs/components/service-icon/ServiceIcon.test.js +1 -0
  82. package/dist/cjs/components/service-icon/ServiceIcon.test.js.map +1 -0
  83. package/dist/cjs/components/story-previewer/StoryPreviewer.js +2 -15
  84. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  85. package/dist/cjs/components/tabs/Tabs.d.ts +4 -12
  86. package/dist/cjs/components/tabs/Tabs.js +3 -21
  87. package/dist/cjs/components/tabs/Tabs.js.map +1 -1
  88. package/dist/cjs/components/tabs/Tabs.stories.d.ts +3 -1
  89. package/dist/cjs/components/tag/Tag.test.d.ts +0 -0
  90. package/dist/cjs/components/tag/Tag.test.js +1 -0
  91. package/dist/cjs/components/tag/Tag.test.js.map +1 -0
  92. package/dist/cjs/constants/copy.d.ts +9 -0
  93. package/dist/cjs/constants/copy.js +13 -2
  94. package/dist/cjs/constants/copy.js.map +1 -1
  95. package/dist/cjs/constants/snippets.d.ts +18 -0
  96. package/dist/cjs/constants/snippets.js +3 -0
  97. package/dist/cjs/constants/snippets.js.map +1 -0
  98. package/dist/cjs/index.d.ts +4 -2
  99. package/dist/cjs/index.js +4 -36
  100. package/dist/cjs/index.js.map +1 -1
  101. package/dist/cjs/redux/actions/auth.d.ts +9 -0
  102. package/dist/cjs/redux/actions/auth.js +30 -0
  103. package/dist/cjs/redux/actions/auth.js.map +1 -0
  104. package/dist/cjs/redux/reducers/auth.d.ts +3 -0
  105. package/dist/cjs/redux/reducers/auth.js +67 -0
  106. package/dist/cjs/redux/reducers/auth.js.map +1 -0
  107. package/dist/cjs/services/API.d.ts +2 -0
  108. package/dist/cjs/services/API.js +6 -0
  109. package/dist/cjs/services/API.js.map +1 -1
  110. package/dist/cjs/services/Auth0.d.ts +18 -0
  111. package/dist/cjs/services/Auth0.js +102 -0
  112. package/dist/cjs/services/Auth0.js.map +1 -0
  113. package/dist/cjs/services/Session.d.ts +26 -0
  114. package/dist/cjs/services/Session.js +155 -0
  115. package/dist/cjs/services/Session.js.map +1 -0
  116. package/dist/cjs/utils/routing.d.ts +2 -4
  117. package/dist/cjs/utils/routing.js +4 -8
  118. package/dist/cjs/utils/routing.js.map +1 -1
  119. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -6
  120. package/dist/esm/components/app-wrapper/AppWrapper.js +5 -9
  121. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  122. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +26 -0
  123. package/dist/esm/components/app-wrapper/AppWrapperV2.js +142 -0
  124. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +1 -0
  125. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +19 -0
  126. package/dist/esm/components/app-wrapper/AppWrapperV3.js +88 -0
  127. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +1 -0
  128. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +27 -0
  129. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +194 -0
  130. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +1 -0
  131. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +28 -0
  132. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +208 -0
  133. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +1 -0
  134. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +27 -0
  135. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +194 -0
  136. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +1 -0
  137. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +28 -0
  138. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +204 -0
  139. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +1 -0
  140. package/dist/esm/components/assets/AssetsUploadMenu.js +5 -5
  141. package/dist/esm/components/auth-gate/AuthGate.d.ts +2 -0
  142. package/dist/esm/components/auth-gate/AuthGate.js +59 -0
  143. package/dist/esm/components/auth-gate/AuthGate.js.map +1 -0
  144. package/dist/esm/components/change-report/ChangeReportTree.d.ts +10 -0
  145. package/dist/esm/components/change-report/ChangeReportTree.js +42 -0
  146. package/dist/esm/components/change-report/ChangeReportTree.js.map +1 -0
  147. package/dist/esm/components/context-menu/AnimateComponent.d.ts +0 -1
  148. package/dist/esm/components/context-menu/AnimateComponent.js.map +1 -1
  149. package/dist/esm/components/context-menu/ContextMenu.d.ts +0 -1
  150. package/dist/esm/components/context-menu/ContextMenu.js +1 -2
  151. package/dist/esm/components/context-menu/ContextMenu.js.map +1 -1
  152. package/dist/esm/components/context-menu/ContextMenuItem.d.ts +0 -1
  153. package/dist/esm/components/context-menu/ContextMenuItem.js.map +1 -1
  154. package/dist/esm/components/context-menu/ContextMenuTrigger.d.ts +0 -1
  155. package/dist/esm/components/context-menu/ContextMenuTrigger.js.map +1 -1
  156. package/dist/esm/components/context-menu/SubMenu.d.ts +0 -1
  157. package/dist/esm/components/context-menu/SubMenu.js.map +1 -1
  158. package/dist/esm/components/dropdown/{Dropdown.stories.js → dropdown.stories.js} +1 -1
  159. package/dist/esm/components/dropdown/{Dropdown.stories.js.map → dropdown.stories.js.map} +1 -1
  160. package/dist/esm/components/edit-guide-modal/EditGuideModal.d.ts +8 -0
  161. package/dist/esm/components/edit-guide-modal/EditGuideModal.js +65 -0
  162. package/dist/esm/components/edit-guide-modal/EditGuideModal.js.map +1 -0
  163. package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  164. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +72 -0
  165. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  166. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +15 -0
  167. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +35 -0
  168. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +1 -0
  169. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +7 -0
  170. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js +10 -0
  171. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +1 -0
  172. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +33 -0
  173. package/dist/esm/components/header/Header_BACKUP_73021.js +336 -0
  174. package/dist/esm/components/header/Header_BACKUP_73021.js.map +1 -0
  175. package/dist/esm/components/header/Header_BASE_73021.d.ts +29 -0
  176. package/dist/esm/components/header/Header_BASE_73021.js +322 -0
  177. package/dist/esm/components/header/Header_BASE_73021.js.map +1 -0
  178. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +33 -0
  179. package/dist/esm/components/header/Header_LOCAL_73021.js +328 -0
  180. package/dist/esm/components/header/Header_LOCAL_73021.js.map +1 -0
  181. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +30 -0
  182. package/dist/esm/components/header/Header_REMOTE_73021.js +329 -0
  183. package/dist/esm/components/header/Header_REMOTE_73021.js.map +1 -0
  184. package/dist/esm/components/header/StoryDropdown.d.ts +6 -0
  185. package/dist/esm/components/header/StoryDropdown.js +82 -0
  186. package/dist/esm/components/header/StoryDropdown.js.map +1 -0
  187. package/dist/esm/components/number-field/NumberField.d.ts +2 -3
  188. package/dist/esm/components/number-field/NumberField.js +19 -18
  189. package/dist/esm/components/number-field/NumberField.js.map +1 -1
  190. package/dist/esm/components/portal/Portal.d.ts +0 -1
  191. package/dist/esm/components/portal/Portal.js.map +1 -1
  192. package/dist/esm/components/publish-wizard/PublishWizard.d.ts +5 -4
  193. package/dist/esm/components/publish-wizard/PublishWizard.js +92 -38
  194. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  195. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +11 -0
  196. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +141 -0
  197. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +1 -0
  198. package/dist/esm/components/service-icon/ServiceIcon.test.d.ts +0 -0
  199. package/dist/esm/components/service-icon/ServiceIcon.test.js +1 -0
  200. package/dist/esm/components/service-icon/ServiceIcon.test.js.map +1 -0
  201. package/dist/esm/components/story-previewer/StoryPreviewer.js +2 -14
  202. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  203. package/dist/esm/components/tabs/Tabs.d.ts +4 -12
  204. package/dist/esm/components/tabs/Tabs.js +4 -11
  205. package/dist/esm/components/tabs/Tabs.js.map +1 -1
  206. package/dist/esm/components/tabs/Tabs.stories.d.ts +3 -1
  207. package/dist/esm/components/tag/Tag.test.d.ts +0 -0
  208. package/dist/esm/components/tag/Tag.test.js +1 -0
  209. package/dist/esm/components/tag/Tag.test.js.map +1 -0
  210. package/dist/esm/constants/copy.d.ts +9 -0
  211. package/dist/esm/constants/copy.js +13 -2
  212. package/dist/esm/constants/copy.js.map +1 -1
  213. package/dist/esm/constants/snippets.d.ts +18 -0
  214. package/dist/esm/constants/snippets.js +2 -0
  215. package/dist/esm/constants/snippets.js.map +1 -0
  216. package/dist/esm/index.d.ts +4 -2
  217. package/dist/esm/index.js +3 -2
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/redux/actions/auth.d.ts +9 -0
  220. package/dist/esm/redux/actions/auth.js +25 -0
  221. package/dist/esm/redux/actions/auth.js.map +1 -0
  222. package/dist/esm/redux/reducers/auth.d.ts +3 -0
  223. package/dist/esm/redux/reducers/auth.js +27 -0
  224. package/dist/esm/redux/reducers/auth.js.map +1 -0
  225. package/dist/esm/services/API.d.ts +2 -0
  226. package/dist/esm/services/API.js +6 -0
  227. package/dist/esm/services/API.js.map +1 -1
  228. package/dist/esm/services/Auth0.d.ts +18 -0
  229. package/dist/esm/services/Auth0.js +68 -0
  230. package/dist/esm/services/Auth0.js.map +1 -0
  231. package/dist/esm/services/Session.d.ts +26 -0
  232. package/dist/esm/services/Session.js +107 -0
  233. package/dist/esm/services/Session.js.map +1 -0
  234. package/dist/esm/utils/routing.d.ts +2 -4
  235. package/dist/esm/utils/routing.js +3 -6
  236. package/dist/esm/utils/routing.js.map +1 -1
  237. package/dist/styles.css +130 -3
  238. package/dist/styles.less +215 -64
  239. package/less/components/assets.less +5 -6
  240. package/less/components/auth-gate.less +1 -1
  241. package/less/components/change-report.less +115 -0
  242. package/less/components/data-table.less +2 -2
  243. package/less/components/determinate-loader.less +2 -2
  244. package/less/components/font-preview.less +1 -1
  245. package/less/components/form-field.less +5 -5
  246. package/less/components/header.less +30 -30
  247. package/less/components/modal.less +2 -2
  248. package/less/components/player.less +2 -2
  249. package/less/components/publish-wizard.less +36 -0
  250. package/less/components/section.less +2 -2
  251. package/less/components/static-composition-editor.less +4 -4
  252. package/less/components/story-previewer.less +4 -4
  253. package/less/components/tabs.less +3 -3
  254. package/less/entry.less +1 -0
  255. package/package.json +13 -24
  256. package/src/components/app-wrapper/AppWrapper.tsx +10 -18
  257. package/src/components/assets/AssetsUploadMenu.tsx +5 -5
  258. package/src/components/change-report/ChangeReportTree.tsx +125 -0
  259. package/src/components/context-menu/AnimateComponent.tsx +0 -1
  260. package/src/components/context-menu/ContextMenu.tsx +13 -15
  261. package/src/components/context-menu/ContextMenuItem.tsx +0 -1
  262. package/src/components/context-menu/ContextMenuTrigger.tsx +0 -1
  263. package/src/components/context-menu/SubMenu.tsx +0 -1
  264. package/src/components/number-field/NumberField.tsx +24 -33
  265. package/src/components/portal/Portal.tsx +0 -1
  266. package/src/components/publish-wizard/PublishWizard.tsx +145 -46
  267. package/src/components/service-icon/ServiceIcon.test.tsx +0 -0
  268. package/src/components/story-previewer/StoryPreviewer.tsx +8 -21
  269. package/src/components/tabs/Tabs.tsx +8 -25
  270. package/src/components/tag/Tag.test.tsx +0 -0
  271. package/src/constants/copy.ts +16 -2
  272. package/src/constants/snippets.ts +25 -0
  273. package/src/index.ts +7 -2
  274. package/src/services/API.ts +8 -0
  275. package/src/utils/routing.ts +6 -10
  276. package/tsconfig.json +1 -1
  277. package/src/components/advanced-number-field/AdvancedNumberField.test.tsx +0 -724
  278. package/src/components/anchor-field/AnchorField.test.tsx +0 -130
  279. package/src/components/asset-details/AssetDetails.test.tsx +0 -494
  280. package/src/components/assets/AssetField.test.tsx +0 -449
  281. package/src/components/assets/AssetsTableAssetIdCell.test.tsx +0 -142
  282. package/src/components/assets/AssetsTableAssetIdFilter.test.tsx +0 -95
  283. package/src/components/assets/AssetsTableComplexTagCell.test.tsx +0 -161
  284. package/src/components/assets/AssetsTableDateCell.test.tsx +0 -106
  285. package/src/components/assets/AssetsTableDropzone.test.tsx +0 -132
  286. package/src/components/assets/AssetsTableDurationCell.test.tsx +0 -119
  287. package/src/components/assets/AssetsTableGlobalCell.test.tsx +0 -46
  288. package/src/components/assets/AssetsTableNameCell.test.tsx +0 -166
  289. package/src/components/assets/AssetsTableNameFilter.test.tsx +0 -95
  290. package/src/components/assets/AssetsTablePreviewCell.test.tsx +0 -191
  291. package/src/components/assets/AssetsTableRateCell.test.tsx +0 -87
  292. package/src/components/assets/AssetsTableSelectCell.test.tsx +0 -156
  293. package/src/components/assets/AssetsTableSelectFilter.test.tsx +0 -119
  294. package/src/components/assets/AssetsTableStatusCell.test.tsx +0 -60
  295. package/src/components/number-field/NumberField.test.tsx +0 -383
  296. package/src/components/text-field/TextField.test.tsx +0 -988
  297. package/src/test/setup.ts +0 -91
  298. package/src/test/utils.tsx +0 -44
  299. package/tsconfig.eslint.json +0 -8
  300. package/vitest.config.ts +0 -31
  301. /package/dist/cjs/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  302. /package/dist/esm/components/dropdown/{Dropdown.stories.d.ts → dropdown.stories.d.ts} +0 -0
  303. /package/src/components/dropdown/{Dropdown.stories.tsx → dropdown.stories.tsx} +0 -0
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-0",
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",
@@ -70,13 +66,13 @@
70
66
  "axios": "^1.9.0",
71
67
  "hotkeys-js": "^3.6.12",
72
68
  "localforage": "^1.7.3",
73
- "react": "^18.0.0",
69
+ "react": "^17.0.1",
74
70
  "react-dnd": "^16.0.1",
75
71
  "react-dnd-html5-backend": "^16.0.1",
76
- "react-dom": "^18.0.0",
72
+ "react-dom": "^17.0.2",
77
73
  "react-dropzone": "^10.1.6",
78
74
  "react-redux": "^5.0.7",
79
- "react-resize-detector": "^12.0.0",
75
+ "react-resize-detector": "^6.7.1",
80
76
  "react-router": "^3.2.6",
81
77
  "react-spinners": "^0.6.1",
82
78
  "react-table": "^7.7.0",
@@ -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
- "@types/react": "^18.0.0",
104
+ "@types/react": "^17.0.37",
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,20 +114,19 @@
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",
127
120
  "np": "^10.2.0",
128
121
  "onchange": "^7.1.0",
129
122
  "prettier": "^2.6.2",
130
- "react": "^18.0.0",
123
+ "react": "^17.0.1",
131
124
  "react-dnd": "^16.0.1",
132
125
  "react-dnd-html5-backend": "^16.0.1",
133
- "react-dom": "^18.0.0",
126
+ "react-dom": "^17.0.2",
134
127
  "react-dropzone": "^10.1.6",
135
128
  "react-redux": "^5.0.7",
136
- "react-resize-detector": "^12.0.0",
129
+ "react-resize-detector": "^6.7.1",
137
130
  "react-router": "^3.2.6",
138
131
  "react-spinners": "^0.6.1",
139
132
  "react-table": "^7.7.0",
@@ -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": {
@@ -5,18 +5,13 @@ import { ConfirmModal } from '../confirm-modal/ConfirmModal';
5
5
  import { IImposiumAPI } from '../../services/API';
6
6
  import { ICrmApi } from '../../services/CrmApi';
7
7
  import { useAuth0 } from '@auth0/auth0-react';
8
- import { configureHistory, replaceRoute } from '../../utils/routing';
8
+ import { replaceRoute } from '../../utils/routing';
9
9
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
10
  import { faExclamationTriangle } from '@fortawesome/pro-light-svg-icons';
11
11
  import { initPendo } from '../../utils/pendo';
12
12
  import { TOKEN_TYPE, FlagsProvider } from '@innovid/feature-flags-react';
13
13
  import { useMemo } from 'react';
14
14
 
15
- export interface ICompatibleHistory {
16
- push: (route: string) => void;
17
- replace: (route: string) => void;
18
- }
19
-
20
15
  export interface IAppWrapperProps {
21
16
  appLabel: string;
22
17
  environment: string;
@@ -37,8 +32,6 @@ export interface IAppWrapperProps {
37
32
  hideDocs?: boolean;
38
33
  hideOrgPicker?: boolean;
39
34
  growthBookId?: string;
40
- history: ICompatibleHistory;
41
- children?: React.ReactNode;
42
35
  }
43
36
 
44
37
  export const APP_WRAPPER_ERROR_STATES = {
@@ -69,16 +62,13 @@ export const AppWrapper: React.FC<IAppWrapperProps> = (props) => {
69
62
  environment,
70
63
  appLabel,
71
64
  allowNoStories,
72
- growthBookId,
73
- history
65
+ growthBookId
74
66
  } = props;
75
67
  const { isAuthenticated, isLoading, getAccessTokenSilently, loginWithRedirect, logout, user } =
76
68
  useAuth0();
77
69
  const [errorState, setErrorState] = React.useState(null);
78
70
  const [auth0Token, setAuth0Token] = React.useState(null);
79
71
 
80
- configureHistory(history);
81
-
82
72
  React.useEffect(() => {
83
73
  void getAccessTokenSilently().then((token) => {
84
74
  if (token) {
@@ -189,10 +179,7 @@ export const AppWrapper: React.FC<IAppWrapperProps> = (props) => {
189
179
  onAuthenticated(organization_id, story_id);
190
180
 
191
181
  if (!hideStoryPicker) {
192
- const route = story_id
193
- ? `/${organization_id}/${story_id}`
194
- : `/${organization_id}`;
195
- replaceRoute(route);
182
+ replaceRoute(`/${organization_id}/${story_id}`);
196
183
  } else {
197
184
  replaceRoute(`/${organization_id}`);
198
185
  }
@@ -288,7 +275,7 @@ export const AppWrapper: React.FC<IAppWrapperProps> = (props) => {
288
275
  // If we're not loading, and we're not authenticated, call login, and cache story + org ID from URL if it's there
289
276
  } else if (!isLoading && !isAuthenticated) {
290
277
  void loginWithRedirect({
291
- appState: { returnTo: window.location.pathname + window.location.search }
278
+ appState: { returnTo: window.location.href }
292
279
  });
293
280
  }
294
281
  };
@@ -381,9 +368,14 @@ export const ERROR_DESCRIPTIONS = {
381
368
  export interface AppWrappeErrorProps {
382
369
  error: string;
383
370
  email: string;
371
+ onCreateStory?: () => void;
384
372
  }
385
373
 
386
- export const AppWrapperErrors: React.FC<AppWrappeErrorProps> = ({ error, email }) => {
374
+ export const AppWrapperErrors: React.FC<AppWrappeErrorProps> = ({
375
+ error,
376
+ email,
377
+ onCreateStory
378
+ }) => {
387
379
  return (
388
380
  <div className='no-access'>
389
381
  <FontAwesomeIcon
@@ -230,7 +230,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
230
230
 
231
231
  const delimiterSelector = tagByDelimiter && (
232
232
  <SelectField
233
- width='10%'
233
+ width='35%'
234
234
  options={DELIMITER_OPTIONS}
235
235
  value={delimiter}
236
236
  onChange={(c) => {
@@ -304,7 +304,7 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
304
304
  ref={this.menuRef}>
305
305
  <div className='uploads-controls'>
306
306
  <CheckboxField
307
- width='10%'
307
+ width='50%'
308
308
  label={copy.uploads.autoTagDelimiter}
309
309
  value={tagByDelimiter}
310
310
  onChange={() =>
@@ -313,20 +313,20 @@ class AssetsUploadMenu extends React.PureComponent<IAssetsUploadMenuProps, IAsse
313
313
  />
314
314
  {delimiterSelector}
315
315
  <CheckboxField
316
- width='10%'
316
+ width='50%'
317
317
  label={copy.uploads.manualTagging}
318
318
  value={tagManually}
319
319
  onChange={() => this.uploadsSetting({ tagManually: !tagManually })}
320
320
  />
321
321
  <CheckboxField
322
- width='10%'
322
+ width='50%'
323
323
  label={copy.uploads.autoTagFilname}
324
324
  value={tagByFileName}
325
325
  onChange={() => this.uploadsSetting({ tagByFileName: !tagByFileName })}
326
326
  />
327
327
  {!fromCrM && (
328
328
  <CheckboxField
329
- width='10%'
329
+ width='50%'
330
330
  label={copy.uploads.assignToProjectInput}
331
331
  info={copy.uploads.assignToProjectInfo}
332
332
  value={!assignToStory}
@@ -0,0 +1,125 @@
1
+ import * as React from 'react';
2
+ import { IChangeReportNode, IChangeReportSection } from '../../constants/snippets';
3
+ import * as copy from '../../constants/copy';
4
+
5
+ interface IChangeReportTreeProps {
6
+ sections: IChangeReportSection[] | null;
7
+ defaultExpanded?: boolean;
8
+ emptyMessage?: string;
9
+ loadingMessage?: string;
10
+ }
11
+
12
+ interface IChangeReportNodeProps {
13
+ node: IChangeReportNode;
14
+ defaultExpanded: boolean;
15
+ depth: number;
16
+ }
17
+
18
+ const STATUS_LABELS: Record<IChangeReportNode['status'], string> = {
19
+ added: copy.publish.statusAdded,
20
+ removed: copy.publish.statusRemoved,
21
+ modified: copy.publish.statusModified
22
+ };
23
+
24
+ const ChangeReportNode: React.FC<IChangeReportNodeProps> = ({ node, defaultExpanded, depth }) => {
25
+ const [expanded, setExpanded] = React.useState(defaultExpanded);
26
+
27
+ const hasChildren = node.children && node.children.length > 0;
28
+ const hasValues = node.oldValue !== undefined || node.newValue !== undefined;
29
+
30
+ const oldDisplay =
31
+ node.oldValue === null || node.oldValue === '' || node.oldValue === undefined
32
+ ? '*empty*'
33
+ : node.oldValue;
34
+ const newDisplay =
35
+ node.newValue === null || node.newValue === '' || node.newValue === undefined
36
+ ? '*empty*'
37
+ : node.newValue;
38
+
39
+ return (
40
+ <div
41
+ className='change-report-node'
42
+ style={{ paddingLeft: depth * 16 }}>
43
+ <div className='change-report-node-row'>
44
+ {hasChildren && (
45
+ <span
46
+ className={`change-report-toggle ${
47
+ expanded ? 'change-report-toggle--expanded' : ''
48
+ }`}
49
+ onClick={() => setExpanded(!expanded)}>
50
+
51
+ </span>
52
+ )}
53
+ {!hasChildren && <span className='change-report-toggle-placeholder' />}
54
+ <span className={`change-report-status change-report-status--${node.status}`}>
55
+ {STATUS_LABELS[node.status]}
56
+ </span>
57
+ <span className='change-report-label'>{node.label}</span>
58
+ {hasValues && (
59
+ <span className='change-report-values'>
60
+ <span className='change-report-value change-report-value--old'>
61
+ {oldDisplay}
62
+ </span>
63
+ <span className='change-report-value-arrow'>&rarr;</span>
64
+ <span className='change-report-value change-report-value--new'>
65
+ {newDisplay}
66
+ </span>
67
+ </span>
68
+ )}
69
+ </div>
70
+ {hasChildren && expanded && (
71
+ <div className='change-report-children'>
72
+ {node.children.map((child, i) => (
73
+ <ChangeReportNode
74
+ key={i}
75
+ node={child}
76
+ defaultExpanded={defaultExpanded}
77
+ depth={depth + 1}
78
+ />
79
+ ))}
80
+ </div>
81
+ )}
82
+ </div>
83
+ );
84
+ };
85
+
86
+ const ChangeReportTree: React.FC<IChangeReportTreeProps> = ({
87
+ sections,
88
+ defaultExpanded = true,
89
+ emptyMessage = copy.publish.noChangesMessage,
90
+ loadingMessage = copy.publish.loadingChangesMessage
91
+ }) => {
92
+ if (sections === null) {
93
+ return (
94
+ <div className='change-report-tree change-report-tree--loading'>{loadingMessage}</div>
95
+ );
96
+ }
97
+
98
+ if (sections.length === 0) {
99
+ return <div className='change-report-tree change-report-tree--empty'>{emptyMessage}</div>;
100
+ }
101
+
102
+ return (
103
+ <div className='change-report-tree'>
104
+ {sections.map((section, i) => (
105
+ <div
106
+ key={i}
107
+ className='change-report-section'>
108
+ <div className='change-report-section-heading'>{section.section}</div>
109
+ <div className='change-report-section-nodes'>
110
+ {section.nodes.map((node, j) => (
111
+ <ChangeReportNode
112
+ key={j}
113
+ node={node}
114
+ defaultExpanded={defaultExpanded}
115
+ depth={0}
116
+ />
117
+ ))}
118
+ </div>
119
+ </div>
120
+ ))}
121
+ </div>
122
+ );
123
+ };
124
+
125
+ export default ChangeReportTree;
@@ -5,7 +5,6 @@ interface IAnimateComponentProps {
5
5
  isVisible: boolean;
6
6
  timeout: number;
7
7
  className: string;
8
- children?: React.ReactNode;
9
8
  }
10
9
 
11
10
  const AnimateComponent: React.FC<IAnimateComponentProps> = ({
@@ -14,23 +14,20 @@ interface IContextMenuProps {
14
14
  preventHideOnScroll?: boolean;
15
15
  preventHideOnResize?: boolean;
16
16
  animation?: string;
17
- children: React.ReactNode;
18
17
  }
19
18
 
20
- const ContextMenu: React.FC<IContextMenuProps> = (props: IContextMenuProps) => {
21
- const {
22
- id,
23
- children,
24
- appendTo,
25
- hideOnLeave,
26
- onMouseLeave,
27
- onHide,
28
- onShow,
29
- preventHideOnScroll,
30
- preventHideOnResize,
31
- animation
32
- } = props;
33
-
19
+ const ContextMenu: React.FC<IContextMenuProps> = ({
20
+ id,
21
+ children,
22
+ appendTo,
23
+ hideOnLeave,
24
+ onMouseLeave,
25
+ onHide,
26
+ onShow,
27
+ preventHideOnScroll,
28
+ preventHideOnResize,
29
+ animation
30
+ }) => {
34
31
  const contextMenuEl = useRef(null);
35
32
  const [isVisible, setVisible] = useState(false);
36
33
  const [top, setTop] = useState('');
@@ -175,6 +172,7 @@ const ContextMenu: React.FC<IContextMenuProps> = (props: IContextMenuProps) => {
175
172
  };
176
173
 
177
174
  export default ContextMenu;
175
+
178
176
  ContextMenu.defaultProps = {
179
177
  appendTo: null,
180
178
  hideOnLeave: false,
@@ -5,7 +5,6 @@ interface IContextMenuItemProps {
5
5
  onClick?(e: React.MouseEvent): void;
6
6
  disabled?: boolean;
7
7
  preventClose?: boolean;
8
- children?: React.ReactNode;
9
8
  }
10
9
 
11
10
  const ContextMenuItem: React.FC<IContextMenuItemProps> = ({
@@ -5,7 +5,6 @@ interface IContextMenuTriggerProps {
5
5
  id: string;
6
6
  disableWhileShiftPressed?: boolean;
7
7
  disable?: boolean;
8
- children?: React.ReactNode;
9
8
  }
10
9
 
11
10
  const ContextMenuTrigger: React.FC<IContextMenuTriggerProps> = ({
@@ -3,7 +3,6 @@ import ContextMenuItem from './ContextMenuItem';
3
3
 
4
4
  interface ISubmenuProps {
5
5
  title: string;
6
- children?: React.ReactNode;
7
6
  }
8
7
 
9
8
  const Submenu: React.FC<ISubmenuProps> = ({ children, title }) => {
@@ -2,20 +2,12 @@ import * as React from 'react';
2
2
  import FieldWrapper from '../field-wrapper/FieldWrapper';
3
3
  import { IToolTipConfig } from '../Tooltip';
4
4
 
5
- export const validateNumInput = (val: number, min?: number, max?: number) => {
6
- if ((min !== undefined && val < min) || (max !== undefined && val > max)) {
7
- return false;
8
- } else {
9
- return true;
10
- }
11
- };
12
-
13
5
  interface INumberFieldProps {
14
6
  buttons?: any;
15
7
  label?: any;
16
8
  placeholder?: string;
17
9
  readOnly?: boolean;
18
- value: number | null;
10
+ value: number;
19
11
  tooltip?: IToolTipConfig | string;
20
12
  width?: string | number;
21
13
  onChange?(e): void;
@@ -60,47 +52,46 @@ class NumberField extends React.PureComponent<INumberFieldProps, INumberFieldSta
60
52
  if (this.props.focusOnMount && this.inputRef.current) {
61
53
  this.inputRef.current.focus();
62
54
  }
63
- this.setState(
64
- {
65
- value: this.props.value
66
- },
67
- () => {
68
- this.validateValue(this.props.value);
69
- }
70
- );
55
+ this.setState({
56
+ error: false,
57
+ value: this.props.value
58
+ });
71
59
  }
72
60
 
73
61
  public componentDidUpdate(prevProps): void {
74
62
  if (prevProps.value !== this.props.value) {
75
- this.setState(
76
- {
77
- value: this.props.value
78
- },
79
- () => {
80
- this.validateValue(this.props.value);
81
- }
82
- );
63
+ this.setState({
64
+ error: false,
65
+ value: this.props.value
66
+ });
83
67
  }
84
68
  }
85
69
 
86
- private validateValue(val) {
70
+ private validate(e) {
87
71
  const { max, min } = this.props;
88
- const error = validateNumInput(val, min, max);
89
- this.setState({ error: !error });
72
+ const val = e.target.value;
73
+ this.setState({ value: val });
74
+ if (min || max) {
75
+ if (val < min || val > max) {
76
+ this.setState({ error: true });
77
+ } else {
78
+ this.setState({ error: false });
79
+ this.onChange(e);
80
+ }
81
+ } else {
82
+ this.onChange(e);
83
+ }
90
84
  }
91
85
 
92
86
  private onChange(e) {
93
87
  let val = e.target.value;
94
-
95
- this.validateValue(val);
96
-
97
88
  if (val === '' || val === null) {
98
89
  val = this.props.min;
99
90
  } else {
100
91
  val = parseFloat(val);
101
92
  }
102
93
 
103
- this.setState({ value: val }, () => this.props.onChange(val));
94
+ this.props.onChange(val);
104
95
  }
105
96
 
106
97
  private onKeyDownHandler(e) {
@@ -210,7 +201,7 @@ class NumberField extends React.PureComponent<INumberFieldProps, INumberFieldSta
210
201
  onKeyDown={(e) => this.onKeyDownHandler(e)}
211
202
  onFocus={() => this.onSelectFocus()}
212
203
  onBlur={(e) => this.onSelectBlur(e)}
213
- onChange={(e) => this.onChange(e)}
204
+ onChange={(e) => this.validate(e)}
214
205
  />
215
206
  </FieldWrapper>
216
207
  );
@@ -8,7 +8,6 @@ import { createPortal } from 'react-dom';
8
8
 
9
9
  interface IPortalProps {
10
10
  id: string;
11
- children?: React.ReactNode;
12
11
  }
13
12
 
14
13
  const Portal: React.FC<IPortalProps> = ({ children, id }): ReactPortal => {