box-ui-elements 16.1.0-beta.9 → 17.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 (987) hide show
  1. package/CONTRIBUTING.md +4 -0
  2. package/README.md +7 -1
  3. package/dist/explorer.css +1 -1
  4. package/dist/explorer.js +19 -19
  5. package/dist/openwith.css +1 -1
  6. package/dist/openwith.js +10 -10
  7. package/dist/picker.css +1 -1
  8. package/dist/picker.js +12 -12
  9. package/dist/preview.css +1 -1
  10. package/dist/preview.js +17 -17
  11. package/dist/sharing.css +1 -1
  12. package/dist/sharing.js +16 -55
  13. package/dist/sidebar.css +1 -1
  14. package/dist/sidebar.js +17 -17
  15. package/dist/uploader.css +1 -1
  16. package/dist/uploader.js +12 -12
  17. package/es/api/Feed.js +85 -38
  18. package/es/api/Feed.js.flow +46 -1
  19. package/es/api/Feed.js.map +1 -1
  20. package/es/api/Item.js +16 -10
  21. package/es/api/Item.js.flow +7 -4
  22. package/es/api/Item.js.map +1 -1
  23. package/es/api/ThreadedComments.js +58 -23
  24. package/es/api/ThreadedComments.js.flow +40 -0
  25. package/es/api/ThreadedComments.js.map +1 -1
  26. package/es/common/types/feed.js +1 -1
  27. package/es/common/types/feed.js.flow +34 -0
  28. package/es/common/types/feed.js.map +1 -1
  29. package/es/components/avatar/Avatar.js +22 -5
  30. package/es/components/avatar/Avatar.js.flow +24 -7
  31. package/es/components/avatar/Avatar.js.map +1 -1
  32. package/es/components/avatar/Avatar.scss +42 -0
  33. package/es/components/avatar/Avatar.stories.js +58 -0
  34. package/es/components/avatar/Avatar.stories.js.map +1 -1
  35. package/es/components/avatar/messages.js +9 -0
  36. package/es/components/avatar/messages.js.map +1 -0
  37. package/es/components/badgeable/Badgeable.scss +1 -1
  38. package/es/components/breadcrumb/Breadcrumb.js +1 -1
  39. package/es/components/breadcrumb/Breadcrumb.js.flow +1 -1
  40. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  41. package/es/components/button-group/ButtonGroup.scss +2 -2
  42. package/es/components/checkbox/Checkbox.js +5 -1
  43. package/es/components/checkbox/Checkbox.js.flow +7 -0
  44. package/es/components/checkbox/Checkbox.js.map +1 -1
  45. package/es/components/checkbox/Checkbox.scss +2 -2
  46. package/es/components/close-button/CloseButton.js +2 -2
  47. package/es/components/close-button/CloseButton.js.flow +2 -2
  48. package/es/components/close-button/CloseButton.js.map +1 -1
  49. package/es/components/contact-datalist-item/ContactDatalistItem.scss +1 -1
  50. package/es/components/date-picker/DatePicker.js +2 -2
  51. package/es/components/date-picker/DatePicker.js.map +1 -1
  52. package/es/components/date-picker/DatePicker.scss +1 -1
  53. package/es/components/draft-js-editor/DraftJSEditor.scss +1 -1
  54. package/es/components/dropdown-menu/DropdownMenu.js +5 -3
  55. package/es/components/dropdown-menu/DropdownMenu.js.flow +8 -2
  56. package/es/components/dropdown-menu/DropdownMenu.js.map +1 -1
  57. package/es/components/dropdown-menu/DropdownMenu.scss +6 -4
  58. package/es/components/error-mask/ErrorMask.scss +1 -1
  59. package/es/components/flyout/Flyout.js +9 -0
  60. package/es/components/flyout/Flyout.js.flow +13 -0
  61. package/es/components/flyout/Flyout.js.map +1 -1
  62. package/es/components/flyout/Flyout.scss +1 -1
  63. package/es/components/flyout/Overlay.js +2 -1
  64. package/es/components/flyout/Overlay.js.flow +2 -1
  65. package/es/components/flyout/Overlay.js.map +1 -1
  66. package/es/components/grid-view/GridView.js +3 -1
  67. package/es/components/grid-view/GridView.js.flow +3 -2
  68. package/es/components/grid-view/GridView.js.map +1 -1
  69. package/es/components/grid-view/GridViewSlider.js +5 -2
  70. package/es/components/grid-view/GridViewSlider.js.flow +5 -2
  71. package/es/components/grid-view/GridViewSlider.js.map +1 -1
  72. package/es/components/grid-view/GridViewSlider.scss +0 -10
  73. package/es/components/inline-error/InlineError.stories.js +12 -0
  74. package/es/components/inline-error/InlineError.stories.js.flow +9 -0
  75. package/es/components/inline-error/InlineError.stories.js.map +1 -0
  76. package/es/components/inline-notice/InlineNotice.stories.js +42 -0
  77. package/es/components/inline-notice/InlineNotice.stories.js.flow +59 -0
  78. package/es/components/inline-notice/InlineNotice.stories.js.map +1 -0
  79. package/es/components/label/InfoIconWithTooltip.js +2 -2
  80. package/es/components/label/InfoIconWithTooltip.js.map +1 -1
  81. package/es/components/label/Label.scss +1 -1
  82. package/es/components/media-query/stories/MediaQuery.stories.js +4 -2
  83. package/es/components/media-query/stories/MediaQuery.stories.js.flow +11 -2
  84. package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -1
  85. package/es/components/media-query/types.js.flow +1 -0
  86. package/es/components/media-query/types.js.map +1 -1
  87. package/es/components/media-query/useMediaQuery.js +3 -1
  88. package/es/components/media-query/useMediaQuery.js.flow +3 -0
  89. package/es/components/media-query/useMediaQuery.js.map +1 -1
  90. package/es/components/menu/MenuHeader.scss +1 -1
  91. package/es/components/menu/SubmenuItem.js +3 -1
  92. package/es/components/menu/SubmenuItem.js.map +1 -1
  93. package/es/components/modal/Modal.scss +15 -0
  94. package/es/components/modal/ModalDialog.js +40 -10
  95. package/es/components/modal/ModalDialog.js.flow +44 -5
  96. package/es/components/modal/ModalDialog.js.map +1 -1
  97. package/es/components/nav-sidebar/NavSidebar.scss +1 -1
  98. package/es/components/nav-sidebar/NavSidebar.stories.js +37 -0
  99. package/es/components/nav-sidebar/NavSidebar.stories.js.flow +54 -0
  100. package/es/components/nav-sidebar/NavSidebar.stories.js.map +1 -0
  101. package/es/components/pill-cloud/PillCloud.stories.js +88 -0
  102. package/es/components/pill-cloud/PillCloud.stories.js.flow +48 -0
  103. package/es/components/pill-cloud/PillCloud.stories.js.map +1 -0
  104. package/es/components/pill-selector-dropdown/PillSelector.js +20 -11
  105. package/es/components/pill-selector-dropdown/PillSelector.js.flow +26 -4
  106. package/es/components/pill-selector-dropdown/PillSelector.js.map +1 -1
  107. package/es/components/pill-selector-dropdown/PillSelector.scss +4 -0
  108. package/es/components/pill-selector-dropdown/PillSelectorDropdown.js +1 -0
  109. package/es/components/pill-selector-dropdown/PillSelectorDropdown.js.flow +1 -0
  110. package/es/components/pill-selector-dropdown/PillSelectorDropdown.js.map +1 -1
  111. package/es/components/pill-selector-dropdown/_mixins.scss +1 -1
  112. package/es/components/popper/PopperComponent.js +3 -1
  113. package/es/components/popper/PopperComponent.js.flow +3 -2
  114. package/es/components/popper/PopperComponent.js.map +1 -1
  115. package/es/components/radio/RadioButton.scss +1 -1
  116. package/es/components/search-form/SearchForm.js +21 -11
  117. package/es/components/search-form/SearchForm.js.flow +30 -6
  118. package/es/components/search-form/SearchForm.js.map +1 -1
  119. package/es/components/select-button/SelectButton.js +6 -2
  120. package/es/components/select-button/SelectButton.js.flow +23 -2
  121. package/es/components/select-button/SelectButton.js.map +1 -1
  122. package/es/components/select-field/BaseSelectField.js +6 -2
  123. package/es/components/select-field/BaseSelectField.js.flow +19 -2
  124. package/es/components/select-field/BaseSelectField.js.map +1 -1
  125. package/es/components/select-field/SelectField.scss +8 -1
  126. package/es/components/selector-dropdown/SelectorDropdown.js +11 -3
  127. package/es/components/selector-dropdown/SelectorDropdown.js.flow +22 -5
  128. package/es/components/selector-dropdown/SelectorDropdown.js.map +1 -1
  129. package/es/components/selector-dropdown/SelectorDropdown.scss +2 -2
  130. package/es/components/table/makeSelectable.js +38 -7
  131. package/es/components/table/makeSelectable.js.flow +33 -6
  132. package/es/components/table/makeSelectable.js.map +1 -1
  133. package/es/components/text-area/TextArea.scss +1 -1
  134. package/es/components/text-input/TextInput.scss +1 -1
  135. package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js +3 -2
  136. package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.flow +4 -1
  137. package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.map +1 -1
  138. package/es/components/text-input-with-copy-button/TextInputWithCopyButton.scss +11 -7
  139. package/es/components/thumbnail-card/ThumbnailCard.scss +1 -1
  140. package/es/components/time/ReadableTime.stories.js +46 -0
  141. package/es/components/time/ReadableTime.stories.js.flow +56 -0
  142. package/es/components/time/ReadableTime.stories.js.map +1 -0
  143. package/es/components/toggle/Toggle.js +11 -4
  144. package/es/components/toggle/Toggle.js.flow +16 -5
  145. package/es/components/toggle/Toggle.js.map +1 -1
  146. package/es/components/toggle/Toggle.scss +3 -3
  147. package/es/components/tooltip/CloseButton.js +24 -0
  148. package/es/components/tooltip/CloseButton.js.map +1 -0
  149. package/es/components/tooltip/Tooltip.js +4 -10
  150. package/es/components/tooltip/Tooltip.js.map +1 -1
  151. package/es/constants.js +7 -0
  152. package/es/constants.js.flow +7 -0
  153. package/es/constants.js.map +1 -1
  154. package/es/elements/common/_variables.scss +7 -2
  155. package/es/elements/common/base.scss +14 -0
  156. package/es/elements/common/breadcrumbs/Breadcrumb.scss +1 -1
  157. package/es/elements/common/breadcrumbs/BreadcrumbDropdown.scss +1 -1
  158. package/es/elements/common/breadcrumbs/InlineBreadcrumbs.scss +2 -2
  159. package/es/elements/common/header/Header.js +6 -2
  160. package/es/elements/common/header/Header.js.flow +7 -2
  161. package/es/elements/common/header/Header.js.map +1 -1
  162. package/es/elements/common/header/Logo.js +2 -1
  163. package/es/elements/common/header/Logo.js.flow +5 -1
  164. package/es/elements/common/header/Logo.js.map +1 -1
  165. package/es/elements/common/item/IconCell.js +68 -0
  166. package/es/elements/common/item/IconCell.js.flow +55 -0
  167. package/es/elements/common/item/IconCell.js.map +1 -0
  168. package/es/elements/common/item/ItemDetails.scss +1 -1
  169. package/es/elements/common/item/iconCellRenderer.js +5 -36
  170. package/es/elements/common/item/iconCellRenderer.js.flow +6 -22
  171. package/es/elements/common/item/iconCellRenderer.js.map +1 -1
  172. package/es/elements/common/messages.js +28 -0
  173. package/es/elements/common/messages.js.flow +35 -0
  174. package/es/elements/common/messages.js.map +1 -1
  175. package/es/elements/common/modal.scss +0 -2
  176. package/es/elements/common/share-access-select/ShareAccessSelect.scss +1 -1
  177. package/es/elements/common/sub-header/AddButton.js +4 -1
  178. package/es/elements/common/sub-header/AddButton.js.flow +2 -1
  179. package/es/elements/common/sub-header/AddButton.js.map +1 -1
  180. package/es/elements/common/sub-header/Sort.js +4 -10
  181. package/es/elements/common/sub-header/Sort.js.flow +7 -6
  182. package/es/elements/common/sub-header/Sort.js.map +1 -1
  183. package/es/elements/common/sub-header/SortButton.js +19 -6
  184. package/es/elements/common/sub-header/SortButton.js.flow +23 -10
  185. package/es/elements/common/sub-header/SortButton.js.map +1 -1
  186. package/es/elements/common/sub-header/ViewModeChangeButton.js +3 -3
  187. package/es/elements/common/sub-header/ViewModeChangeButton.js.flow +3 -3
  188. package/es/elements/common/sub-header/ViewModeChangeButton.js.map +1 -1
  189. package/es/elements/content-explorer/Content.js.flow +2 -1
  190. package/es/elements/content-explorer/Content.js.map +1 -1
  191. package/es/elements/content-explorer/ContentExplorer.js +63 -20
  192. package/es/elements/content-explorer/ContentExplorer.js.flow +50 -13
  193. package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
  194. package/es/elements/content-explorer/ItemGrid.js +55 -7
  195. package/es/elements/content-explorer/ItemGrid.js.flow +60 -9
  196. package/es/elements/content-explorer/ItemGrid.js.map +1 -1
  197. package/es/elements/content-explorer/ItemGridThumbnail.js +5 -2
  198. package/es/elements/content-explorer/ItemGridThumbnail.js.flow +5 -2
  199. package/es/elements/content-explorer/ItemGridThumbnail.js.map +1 -1
  200. package/es/elements/content-explorer/ItemList.js +4 -2
  201. package/es/elements/content-explorer/ItemList.js.flow +4 -2
  202. package/es/elements/content-explorer/ItemList.js.map +1 -1
  203. package/es/elements/content-explorer/ItemList.scss +16 -8
  204. package/es/elements/content-explorer/MoreOptions.js +6 -4
  205. package/es/elements/content-explorer/MoreOptions.js.flow +11 -4
  206. package/es/elements/content-explorer/MoreOptions.js.map +1 -1
  207. package/es/elements/content-open-with/ContentOpenWith.scss +1 -1
  208. package/es/elements/content-picker/Footer.js +15 -6
  209. package/es/elements/content-picker/Footer.js.flow +62 -51
  210. package/es/elements/content-picker/Footer.js.map +1 -1
  211. package/es/elements/content-picker/ItemList.scss +1 -1
  212. package/es/elements/content-preview/ContentPreview.js +44 -12
  213. package/es/elements/content-preview/ContentPreview.js.flow +43 -6
  214. package/es/elements/content-preview/ContentPreview.js.map +1 -1
  215. package/es/elements/content-preview/preview-header/PreviewHeader.scss +1 -1
  216. package/es/elements/content-sharing/ContentSharing.js +2 -2
  217. package/es/elements/content-sharing/ContentSharing.js.flow +2 -2
  218. package/es/elements/content-sharing/ContentSharing.js.map +1 -1
  219. package/es/elements/content-sidebar/ActivitySidebar.js +291 -62
  220. package/es/elements/content-sidebar/ActivitySidebar.js.flow +262 -17
  221. package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
  222. package/es/elements/content-sidebar/ActivitySidebar.scss +7 -0
  223. package/es/elements/content-sidebar/ActivitySidebarFilter.js +36 -18
  224. package/es/elements/content-sidebar/ActivitySidebarFilter.js.flow +64 -23
  225. package/es/elements/content-sidebar/ActivitySidebarFilter.js.map +1 -1
  226. package/es/elements/content-sidebar/AddTaskMenu.scss +1 -1
  227. package/es/elements/content-sidebar/SidebarContent.js +2 -2
  228. package/es/elements/content-sidebar/SidebarContent.js.flow +1 -1
  229. package/es/elements/content-sidebar/SidebarContent.js.map +1 -1
  230. package/es/elements/content-sidebar/SidebarContent.scss +3 -3
  231. package/es/elements/content-sidebar/SidebarNav.js +3 -17
  232. package/es/elements/content-sidebar/SidebarNav.js.flow +3 -15
  233. package/es/elements/content-sidebar/SidebarNav.js.map +1 -1
  234. package/es/elements/content-sidebar/SidebarNavSign.js +48 -69
  235. package/es/elements/content-sidebar/SidebarNavSign.js.map +1 -1
  236. package/es/elements/content-sidebar/SidebarNavSign.scss +3 -25
  237. package/es/elements/content-sidebar/SidebarNavSignButton.js +79 -0
  238. package/es/elements/content-sidebar/SidebarNavSignButton.js.map +1 -0
  239. package/es/elements/content-sidebar/SidebarNavSignButton.scss +27 -0
  240. package/es/elements/content-sidebar/activity-feed/Avatar.js +4 -2
  241. package/es/elements/content-sidebar/activity-feed/Avatar.js.flow +5 -2
  242. package/es/elements/content-sidebar/activity-feed/Avatar.js.map +1 -1
  243. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +61 -15
  244. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +73 -28
  245. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.map +1 -1
  246. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +122 -53
  247. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +80 -13
  248. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
  249. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +11 -0
  250. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js +9 -2
  251. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js.map +1 -1
  252. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +28 -0
  253. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +27 -7
  254. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.flow +48 -29
  255. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.map +1 -1
  256. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +69 -6
  257. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +35 -4
  258. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.flow +42 -5
  259. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.map +1 -1
  260. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +15 -0
  261. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +21 -8
  262. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.flow +30 -5
  263. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.map +1 -1
  264. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +4 -7
  265. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +45 -15
  266. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.flow +43 -13
  267. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.map +1 -1
  268. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +26 -3
  269. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +29 -48
  270. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +67 -56
  271. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -1
  272. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +1 -1
  273. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +14 -53
  274. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.flow +16 -51
  275. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.map +1 -1
  276. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js +3 -2
  277. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.flow +5 -4
  278. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.map +1 -1
  279. package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js +2 -0
  280. package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js.flow +7 -0
  281. package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js.map +1 -0
  282. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +29 -17
  283. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.flow +32 -10
  284. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.map +1 -1
  285. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +317 -63
  286. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.flow +249 -55
  287. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.map +1 -1
  288. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +27 -93
  289. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.flow +42 -83
  290. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.map +1 -1
  291. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +15 -6
  292. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +27 -12
  293. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
  294. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.scss +11 -8
  295. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.scss +1 -1
  296. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +3 -1
  297. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.flow +3 -1
  298. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.map +1 -1
  299. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.scss +5 -0
  300. package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js +385 -0
  301. package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.flow +456 -0
  302. package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.map +1 -0
  303. package/es/elements/content-sidebar/activity-feed/comment/BaseComment.scss +30 -0
  304. package/es/elements/content-sidebar/activity-feed/comment/Comment.js +53 -9
  305. package/es/elements/content-sidebar/activity-feed/comment/Comment.js.flow +42 -5
  306. package/es/elements/content-sidebar/activity-feed/comment/Comment.js.map +1 -1
  307. package/es/elements/content-sidebar/activity-feed/comment/Comment.scss +10 -0
  308. package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js +54 -0
  309. package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.flow +72 -0
  310. package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.map +1 -0
  311. package/es/elements/content-sidebar/activity-feed/comment/CreateReply.scss +21 -0
  312. package/es/elements/content-sidebar/activity-feed/comment/Replies.scss +41 -0
  313. package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js +44 -0
  314. package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js.flow +41 -0
  315. package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js.map +1 -0
  316. package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.scss +6 -0
  317. package/es/elements/content-sidebar/activity-feed/comment/messages.js +16 -0
  318. package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +20 -0
  319. package/es/elements/content-sidebar/activity-feed/comment/messages.js.map +1 -1
  320. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +1 -1
  321. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +3 -3
  322. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
  323. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.scss +1 -1
  324. package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +1 -1
  325. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js +1 -1
  326. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.flow +2 -2
  327. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.map +1 -1
  328. package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +1 -1
  329. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js +1 -0
  330. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.flow +1 -0
  331. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.map +1 -1
  332. package/es/elements/content-sidebar/activity-feed/task-new/AssigneeDetails.scss +1 -1
  333. package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +7 -8
  334. package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js.flow +11 -7
  335. package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js.map +1 -1
  336. package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.scss +1 -5
  337. package/es/elements/content-sidebar/activity-feed/task-new/Task.js +2 -5
  338. package/es/elements/content-sidebar/activity-feed/task-new/Task.js.flow +1 -2
  339. package/es/elements/content-sidebar/activity-feed/task-new/Task.js.map +1 -1
  340. package/es/elements/content-sidebar/activity-feed/task-new/Task.scss +1 -8
  341. package/es/elements/content-sidebar/messages.js +22 -2
  342. package/es/elements/content-sidebar/messages.js.flow +29 -4
  343. package/es/elements/content-sidebar/messages.js.map +1 -1
  344. package/es/elements/content-sidebar/skills/timeline/Timeline.scss +1 -1
  345. package/es/elements/content-sidebar/skills/transcript/Transcript.scss +1 -1
  346. package/es/elements/content-sidebar/versions/VersionsGroup.scss +1 -1
  347. package/es/elements/content-sidebar/versions/VersionsItem.scss +3 -3
  348. package/es/elements/content-uploader/Footer.js +9 -3
  349. package/es/elements/content-uploader/Footer.js.flow +23 -3
  350. package/es/elements/content-uploader/Footer.js.map +1 -1
  351. package/es/elements/content-uploader/Footer.scss +0 -1
  352. package/es/elements/content-uploader/ItemAction.js +8 -4
  353. package/es/elements/content-uploader/ItemAction.js.flow +6 -3
  354. package/es/elements/content-uploader/ItemAction.js.map +1 -1
  355. package/es/elements/content-uploader/ItemRemove.js +11 -6
  356. package/es/elements/content-uploader/ItemRemove.js.flow +18 -6
  357. package/es/elements/content-uploader/ItemRemove.js.map +1 -1
  358. package/es/elements/content-uploader/UploadInput.js +21 -9
  359. package/es/elements/content-uploader/UploadInput.js.flow +19 -9
  360. package/es/elements/content-uploader/UploadInput.js.map +1 -1
  361. package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.js +44 -0
  362. package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.js.map +1 -0
  363. package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.scss +19 -0
  364. package/es/features/advanced-content-insights/messages.js +17 -0
  365. package/es/features/advanced-content-insights/messages.js.map +1 -0
  366. package/es/features/classification/classificationColorsMap.js +1 -1
  367. package/es/features/classification/classificationColorsMap.js.flow +1 -1
  368. package/es/features/classification/classificationColorsMap.js.map +1 -1
  369. package/es/features/collaborator-avatars/CollaboratorAvatarItem.js +13 -9
  370. package/es/features/collaborator-avatars/CollaboratorAvatarItem.js.flow +11 -8
  371. package/es/features/collaborator-avatars/CollaboratorAvatarItem.js.map +1 -1
  372. package/es/features/collaborator-avatars/CollaboratorAvatars.scss +1 -1
  373. package/es/features/collaborator-avatars/CollaboratorList.js +4 -5
  374. package/es/features/collaborator-avatars/CollaboratorList.js.flow +3 -4
  375. package/es/features/collaborator-avatars/CollaboratorList.js.map +1 -1
  376. package/es/features/collaborator-avatars/CollaboratorListItem.js +7 -9
  377. package/es/features/collaborator-avatars/CollaboratorListItem.js.flow +7 -13
  378. package/es/features/collaborator-avatars/CollaboratorListItem.js.map +1 -1
  379. package/es/features/collaborator-avatars/CollaboratorListItem.scss +7 -3
  380. package/es/features/collapsible-sidebar/CollapsibleSidebar.js +3 -2
  381. package/es/features/collapsible-sidebar/CollapsibleSidebar.js.flow +5 -2
  382. package/es/features/collapsible-sidebar/CollapsibleSidebar.js.map +1 -1
  383. package/es/features/collapsible-sidebar/CollapsibleSidebar.scss +4 -7
  384. package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js +3 -1
  385. package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js.flow +15 -11
  386. package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js.map +1 -1
  387. package/es/features/content-explorer/content-explorer/ContentExplorer.js +146 -58
  388. package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +97 -20
  389. package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
  390. package/es/features/content-explorer/content-explorer/ContentExplorer.scss +67 -8
  391. package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js +58 -11
  392. package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js.flow +53 -13
  393. package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js.map +1 -1
  394. package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js +68 -0
  395. package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js.flow +82 -0
  396. package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js.map +1 -0
  397. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +13 -2
  398. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.flow +22 -7
  399. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.map +1 -1
  400. package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js +33 -0
  401. package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js.flow +30 -0
  402. package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js.map +1 -0
  403. package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js +16 -10
  404. package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js.flow +34 -20
  405. package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js.map +1 -1
  406. package/es/features/content-explorer/content-explorer/constants.js +7 -0
  407. package/es/features/content-explorer/content-explorer/constants.js.flow +6 -0
  408. package/es/features/content-explorer/content-explorer/constants.js.map +1 -0
  409. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +1 -0
  410. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +13 -0
  411. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
  412. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +42 -0
  413. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +31 -0
  414. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
  415. package/es/features/content-explorer/item-list/ItemList.js +20 -5
  416. package/es/features/content-explorer/item-list/ItemList.js.flow +17 -1
  417. package/es/features/content-explorer/item-list/ItemList.js.map +1 -1
  418. package/es/features/content-explorer/item-list/ItemList.scss +1 -1
  419. package/es/features/content-explorer/item-list/ItemListButton.js +4 -1
  420. package/es/features/content-explorer/item-list/ItemListButton.js.flow +10 -2
  421. package/es/features/content-explorer/item-list/ItemListButton.js.map +1 -1
  422. package/es/features/content-explorer/item-list/ItemListIcon.js +12 -45
  423. package/es/features/content-explorer/item-list/ItemListIcon.js.flow +5 -33
  424. package/es/features/content-explorer/item-list/ItemListIcon.js.map +1 -1
  425. package/es/features/content-explorer/item-list/ItemListName.js +2 -2
  426. package/es/features/content-explorer/item-list/ItemListName.js.flow +3 -2
  427. package/es/features/content-explorer/item-list/ItemListName.js.map +1 -1
  428. package/es/features/content-explorer/messages.js +23 -19
  429. package/es/features/content-explorer/messages.js.flow +41 -24
  430. package/es/features/content-explorer/messages.js.map +1 -1
  431. package/es/features/content-explorer/prop-types.js +2 -2
  432. package/es/features/content-explorer/prop-types.js.flow +2 -2
  433. package/es/features/content-explorer/prop-types.js.map +1 -1
  434. package/es/features/content-insights/_mixins.scss +1 -1
  435. package/es/features/content-insights/charts/bar/Bar.js +21 -2
  436. package/es/features/content-insights/charts/bar/Bar.js.map +1 -1
  437. package/es/features/content-insights/charts/bar/BarChart.js +6 -3
  438. package/es/features/content-insights/charts/bar/BarChart.js.map +1 -1
  439. package/es/features/invite-collaborators-modal/InviteCollaboratorsModal.scss +1 -1
  440. package/es/features/message-center/components/templates/common/styles/MessageFooter.scss +1 -1
  441. package/es/features/metadata-based-view/IconWithTooltip.js +4 -4
  442. package/es/features/metadata-based-view/IconWithTooltip.js.flow +4 -4
  443. package/es/features/metadata-based-view/IconWithTooltip.js.map +1 -1
  444. package/es/features/metadata-based-view/MetadataBasedItemList.scss +1 -1
  445. package/es/features/metadata-instance-editor/CascadePolicy.scss +1 -1
  446. package/es/features/metadata-instance-editor/TemplateDropdown.js +9 -21
  447. package/es/features/metadata-instance-editor/TemplateDropdown.js.flow +4 -10
  448. package/es/features/metadata-instance-editor/TemplateDropdown.js.map +1 -1
  449. package/es/features/metadata-instance-editor/TemplateDropdown.scss +2 -2
  450. package/es/features/metadata-instance-fields/EnumMetadataField.scss +2 -2
  451. package/es/features/metadata-instance-fields/MultiSelectMetadataField.scss +1 -1
  452. package/es/features/metadata-instance-fields/ReadOnlyMetadataField.scss +2 -2
  453. package/es/features/presence/PresenceAvatarList.scss +1 -1
  454. package/es/features/presence/PresenceCollaborator.scss +1 -1
  455. package/es/features/query-bar/styles/Condition.scss +2 -2
  456. package/es/features/quick-search/QuickSearchItem.js +4 -3
  457. package/es/features/quick-search/QuickSearchItem.js.flow +4 -3
  458. package/es/features/quick-search/QuickSearchItem.js.map +1 -1
  459. package/es/features/shared-link-settings-modal/ExpirationSection.js +5 -0
  460. package/es/features/shared-link-settings-modal/ExpirationSection.js.flow +4 -0
  461. package/es/features/shared-link-settings-modal/ExpirationSection.js.map +1 -1
  462. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js +9 -3
  463. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.flow +9 -5
  464. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.map +1 -1
  465. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.scss +3 -3
  466. package/es/features/shared-link-settings-modal/VanityNameSection.js +2 -2
  467. package/es/features/shared-link-settings-modal/VanityNameSection.js.flow +2 -2
  468. package/es/features/shared-link-settings-modal/VanityNameSection.js.map +1 -1
  469. package/es/features/unified-share-modal/InviteePermissionsMenu.js +2 -1
  470. package/es/features/unified-share-modal/InviteePermissionsMenu.js.flow +1 -0
  471. package/es/features/unified-share-modal/InviteePermissionsMenu.js.map +1 -1
  472. package/es/features/unified-share-modal/SharedLinkAccessMenu.js +2 -1
  473. package/es/features/unified-share-modal/SharedLinkAccessMenu.js.flow +1 -0
  474. package/es/features/unified-share-modal/SharedLinkAccessMenu.js.map +1 -1
  475. package/es/features/unified-share-modal/SharedLinkPermissionMenu.js +2 -1
  476. package/es/features/unified-share-modal/SharedLinkPermissionMenu.js.flow +1 -0
  477. package/es/features/unified-share-modal/SharedLinkPermissionMenu.js.map +1 -1
  478. package/es/features/unified-share-modal/SharedLinkSection.js +18 -18
  479. package/es/features/unified-share-modal/SharedLinkSection.js.flow +30 -38
  480. package/es/features/unified-share-modal/SharedLinkSection.js.map +1 -1
  481. package/es/features/unified-share-modal/UnifiedShareForm.js +27 -16
  482. package/es/features/unified-share-modal/UnifiedShareForm.js.flow +38 -25
  483. package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
  484. package/es/features/unified-share-modal/UnifiedShareModal.js +10 -1
  485. package/es/features/unified-share-modal/UnifiedShareModal.js.flow +9 -1
  486. package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
  487. package/es/features/unified-share-modal/UnifiedShareModal.scss +24 -13
  488. package/es/features/unified-share-modal/flowTypes.js.flow +10 -2
  489. package/es/features/unified-share-modal/flowTypes.js.map +1 -1
  490. package/es/features/unified-share-modal/messages.js +12 -4
  491. package/es/features/unified-share-modal/messages.js.flow +17 -5
  492. package/es/features/unified-share-modal/messages.js.map +1 -1
  493. package/es/features/virtualized-table/VirtualizedTable.scss +1 -1
  494. package/es/features/virtualized-table-renderers/_mixins.scss +1 -1
  495. package/es/icons/badges/MetadataDefaultBadge.js +3 -3
  496. package/es/icons/badges/MetadataDefaultBadge.js.flow +3 -3
  497. package/es/icons/badges/MetadataDefaultBadge.js.map +1 -1
  498. package/es/icons/general/IconAnyTask.js +2 -2
  499. package/es/icons/general/IconAnyTask.js.flow +2 -2
  500. package/es/icons/general/IconAnyTask.js.map +1 -1
  501. package/es/icons/general/IconEdit.js +2 -1
  502. package/es/icons/general/IconEdit.js.flow +2 -1
  503. package/es/icons/general/IconEdit.js.map +1 -1
  504. package/es/icons/metadata-view/IconMetadataView.js +2 -1
  505. package/es/icons/metadata-view/IconMetadataView.js.flow +2 -1
  506. package/es/icons/metadata-view/IconMetadataView.js.map +1 -1
  507. package/es/icons/two-toned/IconAnnotation.js +36 -0
  508. package/es/icons/two-toned/IconAnnotation.js.flow +27 -0
  509. package/es/icons/two-toned/IconAnnotation.js.map +1 -0
  510. package/es/icons/two-toned/_IconAnnotation.mixins.scss +9 -0
  511. package/es/src/components/avatar/Avatar.d.ts +18 -2
  512. package/es/src/components/avatar/Avatar.stories.d.ts +7 -2
  513. package/es/src/components/avatar/messages.d.ts +8 -0
  514. package/es/src/components/checkbox/Checkbox.d.ts +4 -1
  515. package/es/src/components/checkbox/Checkbox.stories.d.ts +1 -1
  516. package/es/src/components/tooltip/CloseButton.d.ts +14 -0
  517. package/es/src/components/tooltip/__tests__/CloseButton.test.d.ts +1 -0
  518. package/es/src/elements/content-sidebar/SidebarNavSign.d.ts +2 -24
  519. package/es/src/elements/content-sidebar/SidebarNavSignButton.d.ts +25 -0
  520. package/es/src/elements/content-sidebar/__tests__/SidebarNavSignButton.test.d.ts +1 -0
  521. package/es/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.d.ts +3 -0
  522. package/es/src/features/advanced-content-insights/AdvancedContentInsightsToggle.d.ts +10 -0
  523. package/es/src/features/advanced-content-insights/__tests__/AdvancedContentInsightsToggle.test.d.ts +1 -0
  524. package/es/src/features/advanced-content-insights/messages.d.ts +18 -0
  525. package/es/src/features/content-insights/charts/bar/Bar.d.ts +6 -2
  526. package/es/src/features/content-insights/charts/bar/BarChart.d.ts +7 -2
  527. package/es/src/icons/two-toned/IconAnnotation.d.ts +3 -0
  528. package/es/src/icons/two-toned/__tests__/IconAnnotation.test.d.ts +1 -0
  529. package/es/src/styles/typography.stories.d.ts +8 -0
  530. package/es/src/styles/variables.d.ts +1 -1
  531. package/es/styles/_deprecated.scss +1 -0
  532. package/es/styles/_inputs.scss +2 -3
  533. package/es/styles/common/_buttons.scss +2 -2
  534. package/es/styles/common/_forms.scss +2 -0
  535. package/es/styles/common/_links.scss +1 -1
  536. package/es/styles/constants/_colors.scss +1 -1
  537. package/es/styles/constants/_themes.scss +1 -1
  538. package/es/styles/typography.stories.js +55 -0
  539. package/es/styles/typography.stories.js.map +1 -0
  540. package/es/styles/typography.stories.scss +60 -0
  541. package/es/styles/variables.js +2 -2
  542. package/es/styles/variables.js.flow +2 -2
  543. package/es/styles/variables.js.map +1 -1
  544. package/es/utils/createTheme.js +2 -2
  545. package/es/utils/createTheme.js.flow +2 -2
  546. package/es/utils/createTheme.js.map +1 -1
  547. package/i18n/bn-IN.js +46 -22
  548. package/i18n/bn-IN.properties +79 -31
  549. package/i18n/da-DK.js +46 -22
  550. package/i18n/da-DK.properties +79 -31
  551. package/i18n/de-DE.js +45 -21
  552. package/i18n/de-DE.properties +78 -30
  553. package/i18n/en-AU.js +33 -9
  554. package/i18n/en-AU.properties +66 -18
  555. package/i18n/en-CA.js +32 -8
  556. package/i18n/en-CA.properties +65 -17
  557. package/i18n/en-GB.js +33 -9
  558. package/i18n/en-GB.properties +66 -18
  559. package/i18n/en-US.js +32 -8
  560. package/i18n/en-US.properties +65 -17
  561. package/i18n/en-x-pseudo.js +39 -8
  562. package/i18n/es-419.js +46 -22
  563. package/i18n/es-419.properties +79 -31
  564. package/i18n/es-ES.js +46 -22
  565. package/i18n/es-ES.properties +79 -31
  566. package/i18n/fi-FI.js +45 -21
  567. package/i18n/fi-FI.properties +78 -30
  568. package/i18n/fr-CA.js +44 -20
  569. package/i18n/fr-CA.properties +78 -30
  570. package/i18n/fr-FR.js +44 -20
  571. package/i18n/fr-FR.properties +78 -30
  572. package/i18n/hi-IN.js +46 -22
  573. package/i18n/hi-IN.properties +79 -31
  574. package/i18n/it-IT.js +45 -21
  575. package/i18n/it-IT.properties +78 -30
  576. package/i18n/ja-JP.js +55 -31
  577. package/i18n/ja-JP.properties +88 -40
  578. package/i18n/ko-KR.js +44 -20
  579. package/i18n/ko-KR.properties +78 -30
  580. package/i18n/nb-NO.js +45 -21
  581. package/i18n/nb-NO.properties +78 -30
  582. package/i18n/nl-NL.js +46 -22
  583. package/i18n/nl-NL.properties +79 -31
  584. package/i18n/pl-PL.js +45 -21
  585. package/i18n/pl-PL.properties +78 -30
  586. package/i18n/pt-BR.js +45 -21
  587. package/i18n/pt-BR.properties +78 -30
  588. package/i18n/ru-RU.js +45 -21
  589. package/i18n/ru-RU.properties +78 -30
  590. package/i18n/sv-SE.js +46 -22
  591. package/i18n/sv-SE.properties +79 -31
  592. package/i18n/tr-TR.js +45 -21
  593. package/i18n/tr-TR.properties +78 -30
  594. package/i18n/zh-CN.js +45 -21
  595. package/i18n/zh-CN.properties +78 -30
  596. package/i18n/zh-TW.js +45 -21
  597. package/i18n/zh-TW.properties +78 -30
  598. package/package.json +3 -3
  599. package/src/api/Feed.js +46 -1
  600. package/src/api/Item.js +7 -4
  601. package/src/api/ThreadedComments.js +40 -0
  602. package/src/api/__tests__/Feed.test.js +48 -0
  603. package/src/api/__tests__/Item.test.js +14 -0
  604. package/src/api/__tests__/ThreadedComments.test.js +46 -0
  605. package/src/common/types/feed.js +34 -0
  606. package/src/components/avatar/Avatar.js.flow +24 -7
  607. package/src/components/avatar/Avatar.scss +42 -0
  608. package/src/components/avatar/Avatar.stories.tsx +45 -0
  609. package/src/components/avatar/Avatar.tsx +39 -9
  610. package/src/components/avatar/__tests__/Avatar.test.tsx +39 -29
  611. package/src/components/avatar/messages.ts +11 -0
  612. package/src/components/badgeable/Badgeable.scss +1 -1
  613. package/src/components/breadcrumb/Breadcrumb.js +1 -1
  614. package/src/components/breadcrumb/__tests__/Breadcrumb.test.js +1 -1
  615. package/src/components/button-group/ButtonGroup.scss +2 -2
  616. package/src/components/checkbox/Checkbox.js.flow +7 -0
  617. package/src/components/checkbox/Checkbox.scss +2 -2
  618. package/src/components/checkbox/Checkbox.tsx +7 -0
  619. package/src/components/checkbox/__tests__/Checkbox.test.tsx +19 -2
  620. package/src/components/close-button/CloseButton.js.flow +2 -2
  621. package/src/components/close-button/CloseButton.tsx +2 -2
  622. package/src/components/contact-datalist-item/ContactDatalistItem.scss +1 -1
  623. package/src/components/date-picker/DatePicker.scss +1 -1
  624. package/src/components/date-picker/DatePicker.tsx +2 -2
  625. package/src/components/date-picker/__tests__/DatePicker.test.tsx +4 -4
  626. package/src/components/draft-js-editor/DraftJSEditor.scss +1 -1
  627. package/src/components/dropdown-menu/DropdownMenu.js +8 -2
  628. package/src/components/dropdown-menu/DropdownMenu.scss +6 -4
  629. package/src/components/dropdown-menu/__tests__/DropdownMenu.test.js +18 -0
  630. package/src/components/error-mask/ErrorMask.scss +1 -1
  631. package/src/components/flyout/Flyout.js +13 -0
  632. package/src/components/flyout/Flyout.scss +1 -1
  633. package/src/components/flyout/Overlay.js +2 -1
  634. package/src/components/flyout/__tests__/Flyout.test.js +22 -1
  635. package/src/components/flyout/__tests__/Overlay.test.js +1 -1
  636. package/src/components/grid-view/GridView.js +3 -2
  637. package/src/components/grid-view/GridViewSlider.js +5 -2
  638. package/src/components/grid-view/GridViewSlider.scss +0 -10
  639. package/src/components/grid-view/__tests__/GridViewSlider.test.js +35 -2
  640. package/src/components/grid-view/__tests__/__snapshots__/GridView.test.js.snap +2 -0
  641. package/src/components/grid-view/__tests__/__snapshots__/GridViewSlider.test.js.snap +38 -13
  642. package/src/components/inline-error/InlineError.stories.js +9 -0
  643. package/src/components/inline-error/InlineError.stories.md +3 -0
  644. package/src/components/inline-notice/InlineNotice.stories.js +59 -0
  645. package/src/components/inline-notice/InlineNotice.stories.md +1 -0
  646. package/src/components/label/InfoIconWithTooltip.tsx +2 -2
  647. package/src/components/label/Label.scss +1 -1
  648. package/src/components/label/__tests__/__snapshots__/InfoIconWithTooltip.test.tsx.snap +1 -1
  649. package/src/components/media-query/__tests__/withMediaQuery.test.js +1 -0
  650. package/src/components/media-query/stories/MediaQuery.stories.js +11 -2
  651. package/src/components/media-query/stories/MediaQuery.stories.md +10 -9
  652. package/src/components/media-query/types.js +1 -0
  653. package/src/components/media-query/useMediaQuery.js +3 -0
  654. package/src/components/menu/MenuHeader.scss +1 -1
  655. package/src/components/menu/SubmenuItem.tsx +4 -1
  656. package/src/components/modal/Modal.scss +15 -0
  657. package/src/components/modal/ModalDialog.js +44 -5
  658. package/src/components/modal/__tests__/ModalDialog.test.js +22 -1
  659. package/src/components/nav-sidebar/NavSidebar.scss +1 -1
  660. package/src/components/nav-sidebar/NavSidebar.stories.js +54 -0
  661. package/src/components/nav-sidebar/NavSidebar.stories.md +1 -0
  662. package/src/components/pill-cloud/PillCloud.stories.js +48 -0
  663. package/src/components/pill-cloud/PillCloud.stories.md +1 -0
  664. package/src/components/pill-selector-dropdown/PillSelector.js +26 -4
  665. package/src/components/pill-selector-dropdown/PillSelector.scss +4 -0
  666. package/src/components/pill-selector-dropdown/PillSelectorDropdown.js +1 -0
  667. package/src/components/pill-selector-dropdown/__tests__/PillSelector.test.js +1 -1
  668. package/src/components/pill-selector-dropdown/__tests__/PillSelectorDropdown.test.js +4 -4
  669. package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelector.test.js.snap +1 -1
  670. package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelectorDropdown.test.js.snap +1 -1
  671. package/src/components/pill-selector-dropdown/_mixins.scss +1 -1
  672. package/src/components/popper/PopperComponent.js +3 -2
  673. package/src/components/radio/RadioButton.scss +1 -1
  674. package/src/components/search-form/SearchForm.js +30 -6
  675. package/src/components/search-form/__tests__/SearchForm.test.js +1 -1
  676. package/src/components/select-button/SelectButton.js +23 -2
  677. package/src/components/select-button/__tests__/SelectButton.test.js +8 -0
  678. package/src/components/select-field/BaseSelectField.js +19 -2
  679. package/src/components/select-field/SelectField.scss +8 -1
  680. package/src/components/select-field/__tests__/BaseSelectField.test.js +9 -0
  681. package/src/components/selector-dropdown/SelectorDropdown.js +22 -5
  682. package/src/components/selector-dropdown/SelectorDropdown.scss +2 -2
  683. package/src/components/selector-dropdown/__tests__/SelectorDropdown.test.js +2 -1
  684. package/src/components/table/__tests__/makeSelectable.test.js +65 -3
  685. package/src/components/table/makeSelectable.js +33 -6
  686. package/src/components/text-area/TextArea.scss +1 -1
  687. package/src/components/text-input/TextInput.scss +1 -1
  688. package/src/components/text-input-with-copy-button/TextInputWithCopyButton.js +4 -1
  689. package/src/components/text-input-with-copy-button/TextInputWithCopyButton.scss +11 -7
  690. package/src/components/thumbnail-card/ThumbnailCard.scss +1 -1
  691. package/src/components/time/ReadableTime.stories.js +56 -0
  692. package/src/components/time/ReadableTime.stories.md +1 -0
  693. package/src/components/toggle/Toggle.js +16 -5
  694. package/src/components/toggle/Toggle.scss +3 -3
  695. package/src/components/toggle/__tests__/__snapshots__/Toggle.test.js.snap +2 -0
  696. package/src/components/tooltip/CloseButton.tsx +22 -0
  697. package/src/components/tooltip/Tooltip.tsx +3 -8
  698. package/src/components/tooltip/__tests__/CloseButton.test.tsx +32 -0
  699. package/src/components/tooltip/__tests__/Tooltip.test.tsx +21 -0
  700. package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +3 -10
  701. package/src/constants.js +7 -0
  702. package/src/elements/common/_variables.scss +7 -2
  703. package/src/elements/common/base.scss +14 -0
  704. package/src/elements/common/breadcrumbs/Breadcrumb.scss +1 -1
  705. package/src/elements/common/breadcrumbs/BreadcrumbDropdown.scss +1 -1
  706. package/src/elements/common/breadcrumbs/InlineBreadcrumbs.scss +2 -2
  707. package/src/elements/common/header/Header.js +7 -2
  708. package/src/elements/common/header/Logo.js +5 -1
  709. package/src/elements/common/header/__tests__/Header.test.js +40 -0
  710. package/src/elements/common/item/IconCell.js +55 -0
  711. package/src/elements/common/item/ItemDetails.scss +1 -1
  712. package/src/elements/common/item/__tests__/IconCell.test.js +88 -0
  713. package/src/elements/common/item/iconCellRenderer.js +6 -22
  714. package/src/elements/common/messages.js +35 -0
  715. package/src/elements/common/modal.scss +0 -2
  716. package/src/elements/common/share-access-select/ShareAccessSelect.scss +1 -1
  717. package/src/elements/common/sub-header/AddButton.js +2 -1
  718. package/src/elements/common/sub-header/Sort.js +7 -6
  719. package/src/elements/common/sub-header/SortButton.js +23 -10
  720. package/src/elements/common/sub-header/ViewModeChangeButton.js +3 -3
  721. package/src/elements/common/sub-header/__tests__/Sort.test.js +12 -62
  722. package/src/elements/common/sub-header/__tests__/SortButton.test.js +24 -0
  723. package/src/elements/common/sub-header/__tests__/SubHeaderRight.test.js +1 -1
  724. package/src/elements/content-explorer/Content.js +2 -1
  725. package/src/elements/content-explorer/ContentExplorer.js +50 -13
  726. package/src/elements/content-explorer/ItemGrid.js +60 -9
  727. package/src/elements/content-explorer/ItemGridThumbnail.js +5 -2
  728. package/src/elements/content-explorer/ItemList.js +4 -2
  729. package/src/elements/content-explorer/ItemList.scss +16 -8
  730. package/src/elements/content-explorer/MoreOptions.js +11 -4
  731. package/src/elements/content-explorer/__tests__/ContentExplorer.test.js +44 -0
  732. package/src/elements/content-explorer/__tests__/MoreOptions.test.js +30 -0
  733. package/src/elements/content-open-with/ContentOpenWith.scss +1 -1
  734. package/src/elements/content-picker/Footer.js +62 -51
  735. package/src/elements/content-picker/ItemList.scss +1 -1
  736. package/src/elements/content-picker/__tests__/Footer.test.js +17 -0
  737. package/src/elements/content-preview/ContentPreview.js +43 -6
  738. package/src/elements/content-preview/__tests__/ContentPreview.test.js +96 -0
  739. package/src/elements/content-preview/preview-header/PreviewHeader.scss +1 -1
  740. package/src/elements/content-sharing/ContentSharing.js +2 -2
  741. package/src/elements/content-sidebar/ActivitySidebar.js +262 -17
  742. package/src/elements/content-sidebar/ActivitySidebar.scss +7 -0
  743. package/src/elements/content-sidebar/ActivitySidebarFilter.js +64 -23
  744. package/src/elements/content-sidebar/AddTaskMenu.scss +1 -1
  745. package/src/elements/content-sidebar/SidebarContent.js +1 -1
  746. package/src/elements/content-sidebar/SidebarContent.scss +3 -3
  747. package/src/elements/content-sidebar/SidebarNav.js +3 -15
  748. package/src/elements/content-sidebar/SidebarNavSign.scss +3 -25
  749. package/src/elements/content-sidebar/SidebarNavSign.tsx +53 -55
  750. package/src/elements/content-sidebar/SidebarNavSignButton.scss +27 -0
  751. package/src/elements/content-sidebar/SidebarNavSignButton.tsx +73 -0
  752. package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +545 -16
  753. package/src/elements/content-sidebar/__tests__/ActivitySidebarFilter.test.js +47 -18
  754. package/src/elements/content-sidebar/__tests__/SidebarNav.test.js +3 -3
  755. package/src/elements/content-sidebar/__tests__/SidebarNavSign.test.tsx +72 -52
  756. package/src/elements/content-sidebar/__tests__/SidebarNavSignButton.test.tsx +60 -0
  757. package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +2 -0
  758. package/src/elements/content-sidebar/activity-feed/Avatar.js +5 -2
  759. package/src/elements/content-sidebar/activity-feed/__tests__/Avatar.test.js +0 -10
  760. package/src/elements/content-sidebar/activity-feed/__tests__/__snapshots__/Avatar.test.js.snap +13 -10
  761. package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +73 -28
  762. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +80 -13
  763. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +11 -0
  764. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +28 -0
  765. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.tsx +16 -2
  766. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +48 -29
  767. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +69 -6
  768. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +42 -5
  769. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +15 -0
  770. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +30 -5
  771. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +4 -7
  772. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +11 -0
  773. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityFeed.test.js +74 -0
  774. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityItem.test.tsx +20 -0
  775. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThread.test.js +8 -3
  776. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadReplies.test.js +12 -0
  777. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadRepliesForm.test.js +20 -5
  778. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +7 -0
  779. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActivityFeed.test.js.snap +3 -0
  780. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +43 -13
  781. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +26 -3
  782. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +67 -56
  783. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +1 -1
  784. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +16 -51
  785. package/src/elements/content-sidebar/activity-feed/annotation-thread/__mocks__/useAnnotationThread.js +19 -0
  786. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThread.test.js +12 -1
  787. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadContent.test.js +18 -52
  788. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadCreate.test.js +23 -54
  789. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationAPI.test.js +40 -3
  790. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationThread.test.js +429 -25
  791. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useRepliesAPI.test.js +15 -13
  792. package/src/elements/content-sidebar/activity-feed/annotation-thread/errors.js +5 -4
  793. package/src/elements/content-sidebar/activity-feed/annotation-thread/types.js +7 -0
  794. package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +32 -10
  795. package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +249 -55
  796. package/src/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +42 -83
  797. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +27 -12
  798. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.scss +11 -8
  799. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.scss +1 -1
  800. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +3 -1
  801. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.scss +5 -0
  802. package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivity.test.js +26 -0
  803. package/src/elements/content-sidebar/activity-feed/comment/BaseComment.js +456 -0
  804. package/src/elements/content-sidebar/activity-feed/comment/BaseComment.scss +30 -0
  805. package/src/elements/content-sidebar/activity-feed/comment/Comment.js +42 -5
  806. package/src/elements/content-sidebar/activity-feed/comment/Comment.scss +10 -0
  807. package/src/elements/content-sidebar/activity-feed/comment/CreateReply.js +72 -0
  808. package/src/elements/content-sidebar/activity-feed/comment/CreateReply.scss +21 -0
  809. package/src/elements/content-sidebar/activity-feed/comment/Replies.scss +41 -0
  810. package/src/elements/content-sidebar/activity-feed/comment/RepliesToggle.js +41 -0
  811. package/src/elements/content-sidebar/activity-feed/comment/RepliesToggle.scss +6 -0
  812. package/src/elements/content-sidebar/activity-feed/comment/__tests__/BaseComment.test.js +373 -0
  813. package/src/elements/content-sidebar/activity-feed/comment/__tests__/Comment.test.js +14 -6
  814. package/src/elements/content-sidebar/activity-feed/comment/__tests__/CreateReply.test.js +127 -0
  815. package/src/elements/content-sidebar/activity-feed/comment/__tests__/Replies.test.js +219 -0
  816. package/src/elements/content-sidebar/activity-feed/comment/__tests__/RepliesToggle.test.js +82 -0
  817. package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +18 -4
  818. package/src/elements/content-sidebar/activity-feed/comment/messages.js +20 -0
  819. package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +3 -3
  820. package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.scss +1 -1
  821. package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +1 -1
  822. package/src/elements/content-sidebar/activity-feed/common/activity-message/messages.js +2 -2
  823. package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +1 -1
  824. package/src/elements/content-sidebar/activity-feed/task-form/TaskForm.js +1 -0
  825. package/src/elements/content-sidebar/activity-feed/task-new/AssigneeDetails.scss +1 -1
  826. package/src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +11 -7
  827. package/src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.scss +1 -5
  828. package/src/elements/content-sidebar/activity-feed/task-new/Task.js +1 -2
  829. package/src/elements/content-sidebar/activity-feed/task-new/Task.scss +1 -8
  830. package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +1 -5
  831. package/src/elements/content-sidebar/messages.js +29 -4
  832. package/src/elements/content-sidebar/skills/keywords/__tests__/__snapshots__/EditableKeywords.test.js.snap +0 -6
  833. package/src/elements/content-sidebar/skills/timeline/Timeline.scss +1 -1
  834. package/src/elements/content-sidebar/skills/transcript/Transcript.scss +1 -1
  835. package/src/elements/content-sidebar/versions/VersionsGroup.scss +1 -1
  836. package/src/elements/content-sidebar/versions/VersionsItem.scss +3 -3
  837. package/src/elements/content-uploader/Footer.js +23 -3
  838. package/src/elements/content-uploader/Footer.scss +0 -1
  839. package/src/elements/content-uploader/ItemAction.js +6 -3
  840. package/src/elements/content-uploader/ItemRemove.js +18 -6
  841. package/src/elements/content-uploader/UploadInput.js +19 -9
  842. package/src/elements/content-uploader/__tests__/Footer.test.js +59 -0
  843. package/src/elements/content-uploader/__tests__/ItemAction.test.js +11 -1
  844. package/src/elements/content-uploader/__tests__/ItemRemove.test.js +22 -0
  845. package/src/elements/content-uploader/__tests__/__snapshots__/ItemAction.test.js.snap +36 -0
  846. package/src/elements/content-uploader/__tests__/__snapshots__/UploadInput.test.js.snap +4 -0
  847. package/src/features/advanced-content-insights/AdvancedContentInsightsToggle.scss +19 -0
  848. package/src/features/advanced-content-insights/AdvancedContentInsightsToggle.tsx +59 -0
  849. package/src/features/advanced-content-insights/__tests__/AdvancedContentInsightsToggle.test.tsx +33 -0
  850. package/src/features/advanced-content-insights/__tests__/__snapshots__/AdvancedContentInsightsToggle.test.tsx.snap +42 -0
  851. package/src/features/advanced-content-insights/messages.ts +22 -0
  852. package/src/features/classification/classificationColorsMap.js +1 -1
  853. package/src/features/collaborator-avatars/CollaboratorAvatarItem.js +11 -8
  854. package/src/features/collaborator-avatars/CollaboratorAvatars.scss +1 -1
  855. package/src/features/collaborator-avatars/CollaboratorList.js +3 -4
  856. package/src/features/collaborator-avatars/CollaboratorListItem.js +7 -13
  857. package/src/features/collaborator-avatars/CollaboratorListItem.scss +7 -3
  858. package/src/features/collaborator-avatars/__tests__/CollaboratorAvatarItem.test.js +6 -2
  859. package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorAvatarItem.test.js.snap +5 -12
  860. package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorList.test.js.snap +6 -8
  861. package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorListItem.test.js.snap +36 -40
  862. package/src/features/collapsible-sidebar/CollapsibleSidebar.js +5 -2
  863. package/src/features/collapsible-sidebar/CollapsibleSidebar.scss +4 -7
  864. package/src/features/collapsible-sidebar/CollapsibleSidebarLogo.js +15 -11
  865. package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebar.test.js +1 -0
  866. package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebarLogo.test.js +14 -0
  867. package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebar.test.js.snap +1 -1
  868. package/src/features/content-explorer/content-explorer/ContentExplorer.js +97 -20
  869. package/src/features/content-explorer/content-explorer/ContentExplorer.scss +67 -8
  870. package/src/features/content-explorer/content-explorer/ContentExplorerActionButtons.js +53 -13
  871. package/src/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js +82 -0
  872. package/src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +22 -7
  873. package/src/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js +30 -0
  874. package/src/features/content-explorer/content-explorer/ContentExplorerSelectAll.js +34 -20
  875. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorer.test.js +28 -0
  876. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerActionButtons.test.js +96 -8
  877. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerFolderTreeBreadcrumbs.test.js +91 -0
  878. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerHeaderActions.test.js +8 -0
  879. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerIncludeSubfolders.test.js +50 -0
  880. package/src/features/content-explorer/content-explorer/__tests__/__snapshots__/ContentExplorer.test.js.snap +4 -0
  881. package/src/features/content-explorer/content-explorer/constants.js +6 -0
  882. package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +13 -0
  883. package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +31 -0
  884. package/src/features/content-explorer/item-list/ItemList.js +17 -1
  885. package/src/features/content-explorer/item-list/ItemList.scss +1 -1
  886. package/src/features/content-explorer/item-list/ItemListButton.js +10 -2
  887. package/src/features/content-explorer/item-list/ItemListIcon.js +5 -33
  888. package/src/features/content-explorer/item-list/ItemListName.js +3 -2
  889. package/src/features/content-explorer/item-list/__tests__/ItemList.test.js +72 -0
  890. package/src/features/content-explorer/item-list/__tests__/ItemListButton.test.js +8 -0
  891. package/src/features/content-explorer/item-list/__tests__/ItemListIcon.test.js +24 -18
  892. package/src/features/content-explorer/item-list/__tests__/__snapshots__/ItemListIcon.test.js.snap +37 -24
  893. package/src/features/content-explorer/messages.js +41 -24
  894. package/src/features/content-explorer/prop-types.js +2 -2
  895. package/src/features/content-insights/_mixins.scss +1 -1
  896. package/src/features/content-insights/charts/bar/Bar.tsx +24 -3
  897. package/src/features/content-insights/charts/bar/BarChart.tsx +10 -3
  898. package/src/features/content-insights/charts/bar/__tests__/Bar.test.tsx +51 -0
  899. package/src/features/content-insights/charts/bar/__tests__/BarChart.test.tsx +7 -1
  900. package/src/features/invite-collaborators-modal/InviteCollaboratorsModal.scss +1 -1
  901. package/src/features/message-center/components/templates/common/styles/MessageFooter.scss +1 -1
  902. package/src/features/metadata-based-view/IconWithTooltip.js +4 -4
  903. package/src/features/metadata-based-view/MetadataBasedItemList.scss +1 -1
  904. package/src/features/metadata-based-view/__tests__/__snapshots__/IconWithTooltip.test.js.snap +3 -3
  905. package/src/features/metadata-instance-editor/CascadePolicy.scss +1 -1
  906. package/src/features/metadata-instance-editor/TemplateDropdown.js +4 -10
  907. package/src/features/metadata-instance-editor/TemplateDropdown.scss +2 -2
  908. package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplateDropdown.test.js.snap +28 -7
  909. package/src/features/metadata-instance-fields/EnumMetadataField.scss +2 -2
  910. package/src/features/metadata-instance-fields/MultiSelectMetadataField.scss +1 -1
  911. package/src/features/metadata-instance-fields/ReadOnlyMetadataField.scss +2 -2
  912. package/src/features/presence/PresenceAvatarList.scss +1 -1
  913. package/src/features/presence/PresenceCollaborator.scss +1 -1
  914. package/src/features/query-bar/styles/Condition.scss +2 -2
  915. package/src/features/quick-search/QuickSearchItem.js +4 -3
  916. package/src/features/shared-link-settings-modal/ExpirationSection.js +4 -0
  917. package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.js +9 -5
  918. package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.scss +3 -3
  919. package/src/features/shared-link-settings-modal/VanityNameSection.js +2 -2
  920. package/src/features/shared-link-settings-modal/__tests__/ExpirationSection.test.js +9 -0
  921. package/src/features/shared-link-settings-modal/__tests__/SharedLinkSettingsModal.test.js +9 -4
  922. package/src/features/unified-share-modal/InviteePermissionsMenu.js +1 -0
  923. package/src/features/unified-share-modal/SharedLinkAccessMenu.js +1 -0
  924. package/src/features/unified-share-modal/SharedLinkPermissionMenu.js +1 -0
  925. package/src/features/unified-share-modal/SharedLinkSection.js +30 -38
  926. package/src/features/unified-share-modal/UnifiedShareForm.js +38 -25
  927. package/src/features/unified-share-modal/UnifiedShareModal.js +9 -1
  928. package/src/features/unified-share-modal/UnifiedShareModal.scss +24 -13
  929. package/src/features/unified-share-modal/__tests__/SharedLinkSection.test.js +19 -3
  930. package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +10 -0
  931. package/src/features/unified-share-modal/__tests__/UnifiedShareModal.test.js +9 -0
  932. package/src/features/unified-share-modal/__tests__/__snapshots__/InviteePermissionsMenu.test.js.snap +16 -0
  933. package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkAccessMenu.test.js.snap +6 -0
  934. package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkPermissionMenu.test.js.snap +6 -0
  935. package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkSection.test.js.snap +211 -313
  936. package/src/features/unified-share-modal/flowTypes.js +10 -2
  937. package/src/features/unified-share-modal/messages.js +17 -5
  938. package/src/features/virtualized-table/VirtualizedTable.scss +1 -1
  939. package/src/features/virtualized-table/__tests__/__snapshots__/BaseVirtualizedTable.test.js.snap +3 -0
  940. package/src/features/virtualized-table/__tests__/__snapshots__/DraggableVirtualizedTable.test.js.snap +3 -0
  941. package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +8 -0
  942. package/src/features/virtualized-table-renderers/_mixins.scss +1 -1
  943. package/src/icons/badges/MetadataDefaultBadge.js.flow +3 -3
  944. package/src/icons/badges/MetadataDefaultBadge.tsx +3 -3
  945. package/src/icons/badges/__tests__/__snapshots__/MetadataDefaultBadge.test.tsx.snap +2 -2
  946. package/src/icons/general/IconAnyTask.js.flow +2 -2
  947. package/src/icons/general/IconAnyTask.tsx +2 -2
  948. package/src/icons/general/IconEdit.js.flow +2 -1
  949. package/src/icons/general/IconEdit.tsx +2 -1
  950. package/src/icons/general/__tests__/__snapshots__/IconAnyTask.test.tsx.snap +1 -1
  951. package/src/icons/general/__tests__/__snapshots__/IconEdit.test.tsx.snap +2 -2
  952. package/src/icons/metadata-view/IconMetadataView.js.flow +2 -1
  953. package/src/icons/metadata-view/IconMetadataView.tsx +3 -1
  954. package/src/icons/metadata-view/__tests__/__snapshots__/IconMetadataView.test.tsx.snap +1 -1
  955. package/src/icons/two-toned/IconAnnotation.js.flow +27 -0
  956. package/src/icons/two-toned/IconAnnotation.tsx +26 -0
  957. package/src/icons/two-toned/_IconAnnotation.mixins.scss +9 -0
  958. package/src/icons/two-toned/__tests__/IconAnnotation.test.tsx +28 -0
  959. package/src/icons/two-toned/__tests__/__snapshots__/IconAnnotation.test.tsx.snap +28 -0
  960. package/src/styles/_deprecated.scss +1 -0
  961. package/src/styles/_inputs.scss +2 -3
  962. package/src/styles/colors.md +1 -1
  963. package/src/styles/common/_buttons.scss +2 -2
  964. package/src/styles/common/_forms.scss +2 -0
  965. package/src/styles/common/_links.scss +1 -1
  966. package/src/styles/constants/_colors.scss +1 -1
  967. package/src/styles/constants/_themes.scss +1 -1
  968. package/src/styles/typography.stories.scss +60 -0
  969. package/src/styles/typography.stories.tsx +70 -0
  970. package/src/styles/variables.js +2 -2
  971. package/src/styles/variables.json +2 -2
  972. package/src/styles/variables.ts +2 -2
  973. package/src/utils/__tests__/__snapshots__/createTheme.test.js.snap +4 -4
  974. package/src/utils/createTheme.js +2 -2
  975. package/es/elements/common/sub-header/Sort.scss +0 -8
  976. package/es/elements/content-sidebar/activity-feed/task-new/_mixins.scss +0 -10
  977. package/es/features/content-explorer/item-types.js +0 -6
  978. package/es/features/content-explorer/item-types.js.flow +0 -5
  979. package/es/features/content-explorer/item-types.js.map +0 -1
  980. package/src/components/inline-error/README.md +0 -10
  981. package/src/components/inline-notice/README.md +0 -57
  982. package/src/components/nav-sidebar/README.md +0 -57
  983. package/src/components/pill-cloud/README.md +0 -39
  984. package/src/components/time/README.md +0 -58
  985. package/src/elements/common/sub-header/Sort.scss +0 -8
  986. package/src/elements/content-sidebar/activity-feed/task-new/_mixins.scss +0 -10
  987. package/src/features/content-explorer/item-types.js +0 -5
@@ -7,11 +7,13 @@ import ContentExplorerHeaderActions from './ContentExplorerHeaderActions';
7
7
  import ContentExplorerEmptyState from './ContentExplorerEmptyState';
8
8
  import ContentExplorerActionButtons from './ContentExplorerActionButtons';
9
9
  import ContentExplorerSelectAll from './ContentExplorerSelectAll';
10
+ import ContentExplorerIncludeSubfolders from './ContentExplorerIncludeSubfolders';
10
11
 
11
12
  import ItemList from '../item-list';
12
13
  import { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';
13
14
  import ContentExplorerModes from '../modes';
14
- import ItemTypes from '../item-types';
15
+
16
+ import { TYPE_FOLDER } from '../../../constants';
15
17
 
16
18
  import './ContentExplorer.scss';
17
19
 
@@ -19,6 +21,13 @@ class ContentExplorer extends Component {
19
21
  static propTypes = {
20
22
  /** Props for the action buttons container */
21
23
  actionButtonsProps: PropTypes.object,
24
+ /**
25
+ * Extra columns displayed in the folders table after folder name column
26
+ * Each column has to be a Column element
27
+ */
28
+ additionalColumns: PropTypes.arrayOf(PropTypes.element),
29
+ /** Allow users to choose no selections in MULTI_SELECT mode, defaults to false */
30
+ isNoSelectionAllowed: PropTypes.bool,
22
31
  /** Props for breadcrumbs */
23
32
  breadcrumbProps: PropTypes.object,
24
33
  /** Props for the cancel button */
@@ -33,8 +42,12 @@ class ContentExplorer extends Component {
33
42
  contentExplorerMode: ContentExplorerModePropType.isRequired,
34
43
  /** Props that contains the custom search input. Is rendered in header actions */
35
44
  customInput: PropTypes.func,
45
+ /** Whether the user can see the breadcrumbs represented with the folder tree button */
46
+ hasFolderTreeBreadcrumbs: PropTypes.bool,
36
47
  /** Any extra items in the header to the right of the search input (and new folder button) */
37
48
  headerActionsAccessory: PropTypes.node,
49
+ /** Props for the include subfolders toggle */
50
+ includeSubfoldersProps: PropTypes.object,
38
51
  /** Initial path of folders. The last folder in the array is the current folder. */
39
52
  initialFoldersPath: FoldersPathPropType.isRequired,
40
53
  /** Initial items that will show up as selected */
@@ -48,6 +61,16 @@ class ContentExplorer extends Component {
48
61
  * @param {Array} newFoldersPath
49
62
  */
50
63
  onEnterFolder: PropTypes.func.isRequired,
64
+ /** Called when the folders path is updated
65
+ *
66
+ * @param {Array} newFoldersPath
67
+ */
68
+ onFoldersPathUpdate: PropTypes.func,
69
+ /** Called whenever the selected items list changes
70
+ *
71
+ * @param {Object} selectedItems
72
+ */
73
+ onSelectedItemsUpdate: PropTypes.func,
51
74
  /**
52
75
  * Called when an item is selected
53
76
  *
@@ -63,6 +86,8 @@ class ContentExplorer extends Component {
63
86
  onChooseItems: PropTypes.func,
64
87
  /** Called when selected button is clicked */
65
88
  onSelectedClick: PropTypes.func,
89
+ /** Called when the number of items selected text is clicked */
90
+ onViewSelectedClick: PropTypes.func,
66
91
  /**
67
92
  * Called when a destination folder has been selected for moving an item to
68
93
  *
@@ -117,8 +142,14 @@ class ContentExplorer extends Component {
117
142
  itemNameLinkRenderer: PropTypes.func,
118
143
  /** Used to render item buttons in the list. Overrides the default buttons. */
119
144
  itemButtonRenderer: PropTypes.func,
145
+ /** Height of an item row */
146
+ itemRowHeight: PropTypes.number,
120
147
  /** Used to render the row element for items on the list. Allows row customizations such as adding tooltips, etc. */
121
148
  itemRowRenderer: PropTypes.func,
149
+ /** Height of the item list header, defaults to 0, which makes header not visible */
150
+ listHeaderHeight: PropTypes.number,
151
+ /** Used to render the header row on the item list */
152
+ listHeaderRenderer: PropTypes.func,
122
153
  /** Width of the item list */
123
154
  listWidth: PropTypes.number.isRequired,
124
155
  /** Height of the item list */
@@ -153,9 +184,7 @@ class ContentExplorer extends Component {
153
184
  const { initialFoldersPath } = this.props;
154
185
 
155
186
  if (prevInitialFoldersPath !== initialFoldersPath) {
156
- this.setState({
157
- foldersPath: initialFoldersPath,
158
- });
187
+ this.handleFoldersPathUpdated(initialFoldersPath);
159
188
  }
160
189
  }
161
190
 
@@ -215,13 +244,17 @@ class ContentExplorer extends Component {
215
244
  };
216
245
 
217
246
  deselectItems() {
247
+ const { onSelectedItemsUpdate } = this.props;
218
248
  this.setState({
219
249
  selectedItems: {},
220
250
  });
251
+ if (onSelectedItemsUpdate) {
252
+ onSelectedItemsUpdate({});
253
+ }
221
254
  }
222
255
 
223
256
  enterFolder = enteredFolder => {
224
- const { contentExplorerMode, onEnterFolder } = this.props;
257
+ const { contentExplorerMode, onEnterFolder, onFoldersPathUpdate } = this.props;
225
258
  const { foldersPath } = this.state;
226
259
 
227
260
  const folderIndex = foldersPath.findIndex(folder => folder.id === enteredFolder.id);
@@ -245,14 +278,22 @@ class ContentExplorer extends Component {
245
278
  }
246
279
 
247
280
  this.setState(newState);
281
+ if (onFoldersPathUpdate) {
282
+ onFoldersPathUpdate(newFoldersPath);
283
+ }
248
284
 
249
285
  onEnterFolder(enteredFolder, newFoldersPath);
250
286
  };
251
287
 
252
288
  handleFoldersPathUpdated = newFoldersPath => {
289
+ const { onFoldersPathUpdate } = this.props;
290
+
253
291
  this.setState({
254
292
  foldersPath: newFoldersPath,
255
293
  });
294
+ if (onFoldersPathUpdate) {
295
+ onFoldersPathUpdate(newFoldersPath);
296
+ }
256
297
  };
257
298
 
258
299
  handleSearchSubmit = searchQuery => {
@@ -270,11 +311,11 @@ class ContentExplorer extends Component {
270
311
  };
271
312
 
272
313
  handleItemClick = ({ event, index }) => {
273
- const { contentExplorerMode, items, onSelectItem } = this.props;
314
+ const { contentExplorerMode, items, onSelectItem, onSelectedItemsUpdate } = this.props;
274
315
  const { selectedItems } = this.state;
275
316
  const item = items[index];
276
317
 
277
- if (item.isDisabled || item.isLoading) {
318
+ if (item.isDisabled || item.isLoading || item.isActionDisabled) {
278
319
  return;
279
320
  }
280
321
 
@@ -290,6 +331,10 @@ class ContentExplorer extends Component {
290
331
 
291
332
  this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: false });
292
333
 
334
+ if (onSelectedItemsUpdate) {
335
+ onSelectedItemsUpdate(newSelectedItems);
336
+ }
337
+
293
338
  if (onSelectItem) {
294
339
  onSelectItem(item, index);
295
340
  }
@@ -303,9 +348,9 @@ class ContentExplorer extends Component {
303
348
  return;
304
349
  }
305
350
 
306
- if (item.type === ItemTypes.FOLDER) {
351
+ if (item.type === TYPE_FOLDER) {
307
352
  this.enterFolder(item);
308
- } else {
353
+ } else if (!item.isActionDisabled) {
309
354
  onChooseItems([item]);
310
355
  }
311
356
  this.setState({ isSelectAllChecked: false });
@@ -319,7 +364,7 @@ class ContentExplorer extends Component {
319
364
  return;
320
365
  }
321
366
 
322
- if (item.type !== ItemTypes.FOLDER) {
367
+ if (item.type !== TYPE_FOLDER) {
323
368
  return;
324
369
  }
325
370
 
@@ -369,14 +414,16 @@ class ContentExplorer extends Component {
369
414
  };
370
415
 
371
416
  handleSelectAllClick = async () => {
372
- // check if the items list is still loading
373
- const { items } = this.props;
417
+ const { items, onSelectedItemsUpdate } = this.props;
374
418
  if (items && items[0] && items[0].isLoading) {
375
419
  return;
376
420
  }
377
421
  const { isSelectAllChecked } = this.state;
378
422
  const newSelectedItems = isSelectAllChecked ? this.unselectAll() : this.selectAll();
379
423
  this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: !isSelectAllChecked });
424
+ if (onSelectedItemsUpdate) {
425
+ onSelectedItemsUpdate(newSelectedItems);
426
+ }
380
427
  };
381
428
 
382
429
  renderItemListEmptyState = () => {
@@ -389,6 +436,8 @@ class ContentExplorer extends Component {
389
436
  render() {
390
437
  const {
391
438
  actionButtonsProps,
439
+ additionalColumns,
440
+ isNoSelectionAllowed = false,
392
441
  breadcrumbProps,
393
442
  cancelButtonProps,
394
443
  chooseButtonProps,
@@ -396,6 +445,7 @@ class ContentExplorer extends Component {
396
445
  className,
397
446
  contentExplorerMode,
398
447
  customInput,
448
+ hasFolderTreeBreadcrumbs,
399
449
  headerActionsAccessory,
400
450
  onChooseItems,
401
451
  onMoveItem,
@@ -403,6 +453,7 @@ class ContentExplorer extends Component {
403
453
  onCancelButtonClick,
404
454
  onCreateNewFolderButtonClick,
405
455
  onSelectedClick,
456
+ onViewSelectedClick,
406
457
  showCreateNewFolderButton,
407
458
  isChooseButtonLoading,
408
459
  isCopyButtonLoading,
@@ -414,10 +465,14 @@ class ContentExplorer extends Component {
414
465
  numItemsPerPage,
415
466
  numTotalItems,
416
467
  onLoadMoreItems,
468
+ includeSubfoldersProps,
417
469
  itemIconRenderer,
418
470
  itemNameLinkRenderer,
419
471
  itemButtonRenderer,
472
+ itemRowHeight,
420
473
  itemRowRenderer,
474
+ listHeaderHeight,
475
+ listHeaderRenderer,
421
476
  listWidth,
422
477
  listHeight,
423
478
  searchInputProps,
@@ -432,7 +487,12 @@ class ContentExplorer extends Component {
432
487
  'onSelectItem',
433
488
  'onSearchSubmit',
434
489
  'onExitSearch',
490
+ 'initialSelectedItems',
491
+ 'onFoldersPathUpdate',
492
+ 'onSelectedItemsUpdate',
435
493
  ]);
494
+ const canIncludeSubfolders = !!includeSubfoldersProps;
495
+ const hasSubheader = canIncludeSubfolders || isSelectAllAllowed;
436
496
 
437
497
  const selectedItemsIds = Object.keys(selectedItems);
438
498
  let areActionButtonsDisabled;
@@ -440,10 +500,10 @@ class ContentExplorer extends Component {
440
500
  // ContentExplorerActionButtons instead. There's a lot of implicit knowledge
441
501
  // of what the action buttons are and what they should be doing.
442
502
  if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {
443
- // NOTE:o nly expecting to have 1 (choose) button so as long as something
503
+ // NOTE: only expecting to have 1 (choose) button so as long as something
444
504
  // is selected and that item's isActionDisabled is false, we enable the action button
445
505
  areActionButtonsDisabled =
446
- selectedItemsIds.length === 0 ||
506
+ (selectedItemsIds.length === 0 && !isNoSelectionAllowed) ||
447
507
  (selectedItemsIds.length === 1 && selectedItems[selectedItemsIds[0]].isActionDisabled);
448
508
  } else if (isViewingSearchResults || contentExplorerMode === ContentExplorerModes.SELECT_FILE) {
449
509
  // Buttons are only enabled when an item is selected
@@ -477,26 +537,37 @@ class ContentExplorer extends Component {
477
537
  contentExplorerMode={contentExplorerMode}
478
538
  customInput={customInput}
479
539
  foldersPath={foldersPath}
540
+ hasFolderTreeBreadcrumbs={hasFolderTreeBreadcrumbs}
480
541
  isCreateNewFolderAllowed={isCreateNewFolderAllowed}
481
542
  onCreateNewFolderButtonClick={onCreateNewFolderButtonClick}
482
543
  onFoldersPathUpdated={this.handleFoldersPathUpdated}
483
544
  onEnterFolder={this.enterFolder}
484
545
  onExitSearch={this.handleExitSearch}
485
546
  onSearchSubmit={this.handleSearchSubmit}
547
+ numTotalItems={numTotalItems}
486
548
  searchInputProps={searchInputProps}
487
549
  showCreateNewFolderButton={showCreateNewFolderButton}
488
550
  >
489
551
  {headerActionsAccessory}
490
552
  </ContentExplorerHeaderActions>
491
- {isSelectAllAllowed && (
492
- <ContentExplorerSelectAll
493
- numTotalItems={numTotalItems}
494
- isSelectAllChecked={isSelectAllChecked}
495
- handleSelectAllClick={this.handleSelectAllClick}
496
- />
553
+ {hasSubheader && (
554
+ <div className="bdl-ContentExplorer-subheader">
555
+ {canIncludeSubfolders && <ContentExplorerIncludeSubfolders {...includeSubfoldersProps} />}
556
+ {isSelectAllAllowed && (
557
+ <ContentExplorerSelectAll
558
+ handleSelectAllClick={this.handleSelectAllClick}
559
+ isLabelHidden={canIncludeSubfolders}
560
+ isSelectAllChecked={isSelectAllChecked}
561
+ numTotalItems={numTotalItems}
562
+ />
563
+ )}
564
+ </div>
497
565
  )}
498
566
  <ItemList
567
+ additionalColumns={additionalColumns}
499
568
  contentExplorerMode={contentExplorerMode}
569
+ headerHeight={listHeaderHeight}
570
+ headerRenderer={listHeaderRenderer}
500
571
  height={listHeight}
501
572
  isResponsive={isResponsive}
502
573
  itemButtonRenderer={itemButtonRenderer}
@@ -511,6 +582,7 @@ class ContentExplorer extends Component {
511
582
  onItemDoubleClick={this.handleItemDoubleClick}
512
583
  onItemNameClick={this.handleItemNameClick}
513
584
  onLoadMoreItems={onLoadMoreItems}
585
+ rowHeight={itemRowHeight}
514
586
  selectedItems={selectedItems}
515
587
  width={listWidth}
516
588
  />
@@ -518,6 +590,7 @@ class ContentExplorer extends Component {
518
590
  actionButtonsProps={actionButtonsProps}
519
591
  areButtonsDisabled={areActionButtonsDisabled}
520
592
  cancelButtonProps={cancelButtonProps}
593
+ canIncludeSubfolders={canIncludeSubfolders}
521
594
  chooseButtonProps={chooseButtonProps}
522
595
  chooseButtonText={chooseButtonText}
523
596
  contentExplorerMode={contentExplorerMode}
@@ -526,12 +599,16 @@ class ContentExplorer extends Component {
526
599
  isCopyButtonLoading={isCopyButtonLoading}
527
600
  isMoveButtonLoading={isMoveButtonLoading}
528
601
  isResponsive={isResponsive}
602
+ isSelectAllAllowed={isSelectAllAllowed}
529
603
  onCancelClick={onCancelButtonClick}
530
604
  onChooseClick={onChooseItems}
531
605
  onCopyClick={onCopyItem}
606
+ onFoldersPathUpdated={this.handleFoldersPathUpdated}
532
607
  onSelectedClick={onSelectedClick}
533
608
  onMoveClick={onMoveItem}
609
+ onViewSelectedClick={onViewSelectedClick}
534
610
  selectedItems={selectedItems}
611
+ isNoSelectionAllowed={isNoSelectionAllowed}
535
612
  />
536
613
  </div>
537
614
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorer.js"],"names":["PropTypes","React","Component","classNames","omit","ContentExplorerHeaderActions","ContentExplorerEmptyState","ContentExplorerActionButtons","ContentExplorerSelectAll","ItemList","ContentExplorerModePropType","FoldersPathPropType","ItemsPropType","ContentExplorerModes","ItemTypes","ContentExplorer","props","node","className","limit","nodeOfInterest","counter","parentNode","includes","contentExplorerMode","MULTI_SELECT","event","isInside","domNode","contains","target","shouldDeselectItems","deselectItems","enteredFolder","onEnterFolder","foldersPath","state","folderIndex","findIndex","folder","id","newFoldersPath","slice","concat","newState","selectedItems","setState","searchQuery","onSearchSubmit","isInSearchMode","folderBeforeSearch","onExitSearch","index","items","onSelectItem","item","isDisabled","isLoading","stopPropagation","newSelectedItems","toggleSelectedItem","isSelectAllChecked","onChooseItems","type","FOLDER","enterFolder","preventDefault","result","forEach","unselectAll","selectAll","isViewingSearchResults","length","initialSelectedItems","initialFoldersPath","document","addEventListener","handleDocumentClick","prevInitialFoldersPath","removeEventListener","actionButtonsProps","breadcrumbProps","cancelButtonProps","chooseButtonProps","chooseButtonText","customInput","headerActionsAccessory","onMoveItem","onCopyItem","onCancelButtonClick","onCreateNewFolderButtonClick","onSelectedClick","showCreateNewFolderButton","isChooseButtonLoading","isCopyButtonLoading","isCreateNewFolderAllowed","isMoveButtonLoading","isResponsive","isSelectAllAllowed","numItemsPerPage","numTotalItems","onLoadMoreItems","itemIconRenderer","itemNameLinkRenderer","itemButtonRenderer","itemRowRenderer","listWidth","listHeight","searchInputProps","rest","currentFolder","getCurrentFolder","contentExplorerProps","selectedItemsIds","Object","keys","areActionButtonsDisabled","isActionDisabled","SELECT_FILE","handleContentExplorerClick","ref","handleFoldersPathUpdated","handleExitSearch","handleSearchSubmit","handleSelectAllClick","renderItemListEmptyState","handleItemClick","handleItemDoubleClick","handleItemNameClick","object","string","isRequired","func","bool","number"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport omit from 'lodash/omit';\n\nimport ContentExplorerHeaderActions from './ContentExplorerHeaderActions';\nimport ContentExplorerEmptyState from './ContentExplorerEmptyState';\nimport ContentExplorerActionButtons from './ContentExplorerActionButtons';\nimport ContentExplorerSelectAll from './ContentExplorerSelectAll';\n\nimport ItemList from '../item-list';\nimport { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';\nimport ContentExplorerModes from '../modes';\nimport ItemTypes from '../item-types';\n\nimport './ContentExplorer.scss';\n\nclass ContentExplorer extends Component {\n static propTypes = {\n /** Props for the action buttons container */\n actionButtonsProps: PropTypes.object,\n /** Props for breadcrumbs */\n breadcrumbProps: PropTypes.object,\n /** Props for the cancel button */\n cancelButtonProps: PropTypes.object,\n /** Props for the choose button */\n chooseButtonProps: PropTypes.object,\n /** Custom text for the choose button */\n chooseButtonText: PropTypes.node,\n /** Adds class name. */\n className: PropTypes.string,\n /** Configures the content explorer based on the user's intended action (ex. select file or move/copy) */\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n /** Props that contains the custom search input. Is rendered in header actions */\n customInput: PropTypes.func,\n /** Any extra items in the header to the right of the search input (and new folder button) */\n headerActionsAccessory: PropTypes.node,\n /** Initial path of folders. The last folder in the array is the current folder. */\n initialFoldersPath: FoldersPathPropType.isRequired,\n /** Initial items that will show up as selected */\n initialSelectedItems: PropTypes.object,\n /** Whether to use the responsive version */\n isResponsive: PropTypes.bool,\n /**\n * Called when the current folder changes\n *\n * @param {Object} enteredFolder\n * @param {Array} newFoldersPath\n */\n onEnterFolder: PropTypes.func.isRequired,\n /**\n * Called when an item is selected\n *\n * @param {Object} selectedItem\n * @param {number} selectedItemIndex\n */\n onSelectItem: PropTypes.func,\n /**\n * Called when an item is chosen\n *\n * @param {Object[]} chosenItems\n */\n onChooseItems: PropTypes.func,\n /** Called when selected button is clicked */\n onSelectedClick: PropTypes.func,\n /**\n * Called when a destination folder has been selected for moving an item to\n *\n * @param {Object} destFolder destination folder\n */\n onMoveItem: PropTypes.func,\n /**\n * Called when a destination folder has been selected for copying an item to\n *\n * @param {Object} destFolder destination folder\n */\n onCopyItem: PropTypes.func,\n /** Called when cancel button is clicked */\n onCancelButtonClick: PropTypes.func,\n /** Called when new folder button is clicked */\n onCreateNewFolderButtonClick: PropTypes.func,\n /** Whether the new folder button should be shown */\n showCreateNewFolderButton: PropTypes.bool,\n /** Whether the choose button should be shown with a loading indicator */\n isChooseButtonLoading: PropTypes.bool,\n /** Whether the copy button should be shown with a loading indicator */\n isCopyButtonLoading: PropTypes.bool,\n /** Whether the user has permission to create a new folder */\n isCreateNewFolderAllowed: PropTypes.bool,\n /** Whether the user can see select all checkbox */\n isSelectAllAllowed: PropTypes.bool,\n /** Whether the move button should be shown with a loading indicator */\n isMoveButtonLoading: PropTypes.bool,\n /**\n * Called when a search query is submitted.\n *\n * @param {string} searchQuery\n */\n onSearchSubmit: PropTypes.func.isRequired,\n /**\n * Called when search mode is exited. An updated items list should now be passed in to display the user's file tree.\n *\n * @param {Object} folderBeforeSearch the previous folder object before entering search mode\n */\n onExitSearch: PropTypes.func.isRequired,\n /** List of items to display */\n items: ItemsPropType.isRequired,\n /** Number of items to load per page as the user scrolls */\n numItemsPerPage: PropTypes.number,\n /** Total number of items across all pages */\n numTotalItems: PropTypes.number,\n /** Called to load more items */\n onLoadMoreItems: PropTypes.func,\n /** Used to render item icons in the list. Overrides the default icons. */\n itemIconRenderer: PropTypes.func,\n /** Used to render item name links in the list. Overrides the default links. */\n itemNameLinkRenderer: PropTypes.func,\n /** Used to render item buttons in the list. Overrides the default buttons. */\n itemButtonRenderer: PropTypes.func,\n /** Used to render the row element for items on the list. Allows row customizations such as adding tooltips, etc. */\n itemRowRenderer: PropTypes.func,\n /** Width of the item list */\n listWidth: PropTypes.number.isRequired,\n /** Height of the item list */\n listHeight: PropTypes.number.isRequired,\n /** Props for the search input */\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n actionButtonsProps: {},\n cancelButtonProps: {},\n chooseButtonProps: {},\n className: '',\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedItems: props.initialSelectedItems || {},\n foldersPath: props.initialFoldersPath,\n isInSearchMode: false,\n isSelectAllChecked: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, true);\n }\n\n componentDidUpdate({ initialFoldersPath: prevInitialFoldersPath }) {\n const { initialFoldersPath } = this.props;\n\n if (prevInitialFoldersPath !== initialFoldersPath) {\n this.setState({\n foldersPath: initialFoldersPath,\n });\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.state;\n return foldersPath[foldersPath.length - 1];\n }\n\n /**\n * Traverse the hirerachy up to the limit to see if any of the parent has the className\n */\n doAncestersContainClassname = (node, className, limit) => {\n let nodeOfInterest = node;\n let counter = 0;\n while (nodeOfInterest.parentNode && counter < limit) {\n // Done traversing (Document node does not have classnames)\n if (!nodeOfInterest.parentNode.className) {\n break;\n }\n\n if (nodeOfInterest.parentNode.className.includes(className)) {\n return true;\n }\n\n nodeOfInterest = nodeOfInterest.parentNode;\n counter += 1;\n }\n\n return false;\n };\n\n shouldDeselectItems = () => {\n const { contentExplorerMode } = this.props;\n\n return (\n // always deselect when not in multi select mode\n contentExplorerMode !== ContentExplorerModes.MULTI_SELECT\n );\n };\n\n handleDocumentClick = event => {\n const isInside = (this.domNode && this.domNode.contains(event.target)) || this.domNode === event.target;\n\n if (!isInside && this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n handleContentExplorerClick = () => {\n if (this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n deselectItems() {\n this.setState({\n selectedItems: {},\n });\n }\n\n enterFolder = enteredFolder => {\n const { contentExplorerMode, onEnterFolder } = this.props;\n const { foldersPath } = this.state;\n\n const folderIndex = foldersPath.findIndex(folder => folder.id === enteredFolder.id);\n let newFoldersPath = foldersPath.slice();\n\n if (folderIndex === -1) {\n // Append folder to the path if it's not already in the folders path\n newFoldersPath = newFoldersPath.concat([\n {\n ...enteredFolder,\n },\n ]);\n } else {\n // Otherwise, remove all folders that came after the entered folder\n newFoldersPath = newFoldersPath.slice(0, folderIndex + 1);\n }\n\n const newState = { foldersPath: newFoldersPath };\n if (contentExplorerMode !== ContentExplorerModes.MULTI_SELECT) {\n newState.selectedItems = {};\n }\n\n this.setState(newState);\n\n onEnterFolder(enteredFolder, newFoldersPath);\n };\n\n handleFoldersPathUpdated = newFoldersPath => {\n this.setState({\n foldersPath: newFoldersPath,\n });\n };\n\n handleSearchSubmit = searchQuery => {\n const { onSearchSubmit } = this.props;\n\n this.setState({ isInSearchMode: true });\n onSearchSubmit(searchQuery);\n };\n\n handleExitSearch = folderBeforeSearch => {\n const { onExitSearch } = this.props;\n\n this.setState({ isInSearchMode: false });\n onExitSearch(folderBeforeSearch);\n };\n\n handleItemClick = ({ event, index }) => {\n const { contentExplorerMode, items, onSelectItem } = this.props;\n const { selectedItems } = this.state;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n // Prevent the event from bubbling up (so our content explorer click handler doesn't fire)\n event.stopPropagation();\n\n let newSelectedItems = {};\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n newSelectedItems = this.toggleSelectedItem(selectedItems, item);\n } else {\n newSelectedItems[item.id] = item;\n }\n\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: false });\n\n if (onSelectItem) {\n onSelectItem(item, index);\n }\n };\n\n handleItemDoubleClick = ({ index }) => {\n const { items, onChooseItems } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type === ItemTypes.FOLDER) {\n this.enterFolder(item);\n } else {\n onChooseItems([item]);\n }\n this.setState({ isSelectAllChecked: false });\n };\n\n handleItemNameClick = (event, index) => {\n const { items } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type !== ItemTypes.FOLDER) {\n return;\n }\n\n // Prevent the event from bubbling (so our row click handler doesn't fire)\n event.preventDefault();\n event.stopPropagation();\n\n this.enterFolder(item);\n this.setState({ isSelectAllChecked: false });\n };\n\n toggleSelectedItem = (selectedItems, item) => {\n const result = { ...selectedItems };\n if (result[item.id]) {\n delete result[item.id];\n } else {\n result[item.id] = item;\n }\n\n return result;\n };\n\n selectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (!result[item.id]) {\n result[item.id] = item;\n }\n });\n\n return result;\n };\n\n unselectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (result[item.id]) {\n delete result[item.id];\n }\n });\n\n return result;\n };\n\n handleSelectAllClick = async () => {\n // check if the items list is still loading\n const { items } = this.props;\n if (items && items[0] && items[0].isLoading) {\n return;\n }\n const { isSelectAllChecked } = this.state;\n const newSelectedItems = isSelectAllChecked ? this.unselectAll() : this.selectAll();\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: !isSelectAllChecked });\n };\n\n renderItemListEmptyState = () => {\n const { foldersPath, isInSearchMode } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n\n return <ContentExplorerEmptyState isSearch={isViewingSearchResults} />;\n };\n\n render() {\n const {\n actionButtonsProps,\n breadcrumbProps,\n cancelButtonProps,\n chooseButtonProps,\n chooseButtonText,\n className,\n contentExplorerMode,\n customInput,\n headerActionsAccessory,\n onChooseItems,\n onMoveItem,\n onCopyItem,\n onCancelButtonClick,\n onCreateNewFolderButtonClick,\n onSelectedClick,\n showCreateNewFolderButton,\n isChooseButtonLoading,\n isCopyButtonLoading,\n isCreateNewFolderAllowed,\n isMoveButtonLoading,\n isResponsive = false,\n isSelectAllAllowed,\n items,\n numItemsPerPage,\n numTotalItems,\n onLoadMoreItems,\n itemIconRenderer,\n itemNameLinkRenderer,\n itemButtonRenderer,\n itemRowRenderer,\n listWidth,\n listHeight,\n searchInputProps,\n ...rest\n } = this.props;\n const { isInSearchMode, foldersPath, selectedItems, isSelectAllChecked } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n const currentFolder = this.getCurrentFolder();\n const contentExplorerProps = omit(rest, [\n 'initialFoldersPath',\n 'onEnterFolder',\n 'onSelectItem',\n 'onSearchSubmit',\n 'onExitSearch',\n ]);\n\n const selectedItemsIds = Object.keys(selectedItems);\n let areActionButtonsDisabled;\n // NOTE: it almost feels like this whole section should be inside the\n // ContentExplorerActionButtons instead. There's a lot of implicit knowledge\n // of what the action buttons are and what they should be doing.\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n // NOTE:o nly expecting to have 1 (choose) button so as long as something\n // is selected and that item's isActionDisabled is false, we enable the action button\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 ||\n (selectedItemsIds.length === 1 && selectedItems[selectedItemsIds[0]].isActionDisabled);\n } else if (isViewingSearchResults || contentExplorerMode === ContentExplorerModes.SELECT_FILE) {\n // Buttons are only enabled when an item is selected\n // When viewing search results, there is no \"current folder\"\n // When selecting a file, the file can only selected from the list\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 || selectedItems[selectedItemsIds[0]].isActionDisabled;\n } else {\n // Buttons are enabled using the selected item or the current folder if no item is selected\n areActionButtonsDisabled =\n selectedItemsIds.length > 0\n ? selectedItems[selectedItemsIds[0]].isActionDisabled\n : currentFolder.isActionDisabled;\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div\n className={classNames('content-explorer', className, {\n 'bdl-ContentExplorer--responsive': isResponsive,\n })}\n data-testid=\"content-explorer\"\n onClick={this.handleContentExplorerClick}\n ref={ref => {\n this.domNode = ref;\n }}\n {...contentExplorerProps}\n >\n <ContentExplorerHeaderActions\n breadcrumbProps={breadcrumbProps}\n contentExplorerMode={contentExplorerMode}\n customInput={customInput}\n foldersPath={foldersPath}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n onCreateNewFolderButtonClick={onCreateNewFolderButtonClick}\n onFoldersPathUpdated={this.handleFoldersPathUpdated}\n onEnterFolder={this.enterFolder}\n onExitSearch={this.handleExitSearch}\n onSearchSubmit={this.handleSearchSubmit}\n searchInputProps={searchInputProps}\n showCreateNewFolderButton={showCreateNewFolderButton}\n >\n {headerActionsAccessory}\n </ContentExplorerHeaderActions>\n {isSelectAllAllowed && (\n <ContentExplorerSelectAll\n numTotalItems={numTotalItems}\n isSelectAllChecked={isSelectAllChecked}\n handleSelectAllClick={this.handleSelectAllClick}\n />\n )}\n <ItemList\n contentExplorerMode={contentExplorerMode}\n height={listHeight}\n isResponsive={isResponsive}\n itemButtonRenderer={itemButtonRenderer}\n itemIconRenderer={itemIconRenderer}\n itemNameLinkRenderer={itemNameLinkRenderer}\n items={items}\n itemRowRenderer={itemRowRenderer}\n noItemsRenderer={this.renderItemListEmptyState}\n numItemsPerPage={numItemsPerPage}\n numTotalItems={numTotalItems}\n onItemClick={this.handleItemClick}\n onItemDoubleClick={this.handleItemDoubleClick}\n onItemNameClick={this.handleItemNameClick}\n onLoadMoreItems={onLoadMoreItems}\n selectedItems={selectedItems}\n width={listWidth}\n />\n <ContentExplorerActionButtons\n actionButtonsProps={actionButtonsProps}\n areButtonsDisabled={areActionButtonsDisabled}\n cancelButtonProps={cancelButtonProps}\n chooseButtonProps={chooseButtonProps}\n chooseButtonText={chooseButtonText}\n contentExplorerMode={contentExplorerMode}\n currentFolder={currentFolder}\n isChooseButtonLoading={isChooseButtonLoading}\n isCopyButtonLoading={isCopyButtonLoading}\n isMoveButtonLoading={isMoveButtonLoading}\n isResponsive={isResponsive}\n onCancelClick={onCancelButtonClick}\n onChooseClick={onChooseItems}\n onCopyClick={onCopyItem}\n onSelectedClick={onSelectedClick}\n onMoveClick={onMoveItem}\n selectedItems={selectedItems}\n />\n </div>\n );\n }\n}\n\nexport default ContentExplorer;\n"],"file":"ContentExplorer.js"}
1
+ {"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorer.js"],"names":["PropTypes","React","Component","classNames","omit","ContentExplorerHeaderActions","ContentExplorerEmptyState","ContentExplorerActionButtons","ContentExplorerSelectAll","ContentExplorerIncludeSubfolders","ItemList","ContentExplorerModePropType","FoldersPathPropType","ItemsPropType","ContentExplorerModes","TYPE_FOLDER","ContentExplorer","props","node","className","limit","nodeOfInterest","counter","parentNode","includes","contentExplorerMode","MULTI_SELECT","event","isInside","domNode","contains","target","shouldDeselectItems","deselectItems","enteredFolder","onEnterFolder","onFoldersPathUpdate","foldersPath","state","folderIndex","findIndex","folder","id","newFoldersPath","slice","concat","newState","selectedItems","setState","searchQuery","onSearchSubmit","isInSearchMode","folderBeforeSearch","onExitSearch","index","items","onSelectItem","onSelectedItemsUpdate","item","isDisabled","isLoading","isActionDisabled","stopPropagation","newSelectedItems","toggleSelectedItem","isSelectAllChecked","onChooseItems","type","enterFolder","preventDefault","result","forEach","unselectAll","selectAll","isViewingSearchResults","length","initialSelectedItems","initialFoldersPath","document","addEventListener","handleDocumentClick","prevInitialFoldersPath","handleFoldersPathUpdated","removeEventListener","actionButtonsProps","additionalColumns","isNoSelectionAllowed","breadcrumbProps","cancelButtonProps","chooseButtonProps","chooseButtonText","customInput","hasFolderTreeBreadcrumbs","headerActionsAccessory","onMoveItem","onCopyItem","onCancelButtonClick","onCreateNewFolderButtonClick","onSelectedClick","onViewSelectedClick","showCreateNewFolderButton","isChooseButtonLoading","isCopyButtonLoading","isCreateNewFolderAllowed","isMoveButtonLoading","isResponsive","isSelectAllAllowed","numItemsPerPage","numTotalItems","onLoadMoreItems","includeSubfoldersProps","itemIconRenderer","itemNameLinkRenderer","itemButtonRenderer","itemRowHeight","itemRowRenderer","listHeaderHeight","listHeaderRenderer","listWidth","listHeight","searchInputProps","rest","currentFolder","getCurrentFolder","contentExplorerProps","canIncludeSubfolders","hasSubheader","selectedItemsIds","Object","keys","areActionButtonsDisabled","SELECT_FILE","handleContentExplorerClick","ref","handleExitSearch","handleSearchSubmit","handleSelectAllClick","renderItemListEmptyState","handleItemClick","handleItemDoubleClick","handleItemNameClick","object","arrayOf","element","bool","string","isRequired","func","number"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport omit from 'lodash/omit';\n\nimport ContentExplorerHeaderActions from './ContentExplorerHeaderActions';\nimport ContentExplorerEmptyState from './ContentExplorerEmptyState';\nimport ContentExplorerActionButtons from './ContentExplorerActionButtons';\nimport ContentExplorerSelectAll from './ContentExplorerSelectAll';\nimport ContentExplorerIncludeSubfolders from './ContentExplorerIncludeSubfolders';\n\nimport ItemList from '../item-list';\nimport { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';\nimport ContentExplorerModes from '../modes';\n\nimport { TYPE_FOLDER } from '../../../constants';\n\nimport './ContentExplorer.scss';\n\nclass ContentExplorer extends Component {\n static propTypes = {\n /** Props for the action buttons container */\n actionButtonsProps: PropTypes.object,\n /**\n * Extra columns displayed in the folders table after folder name column\n * Each column has to be a Column element\n */\n additionalColumns: PropTypes.arrayOf(PropTypes.element),\n /** Allow users to choose no selections in MULTI_SELECT mode, defaults to false */\n isNoSelectionAllowed: PropTypes.bool,\n /** Props for breadcrumbs */\n breadcrumbProps: PropTypes.object,\n /** Props for the cancel button */\n cancelButtonProps: PropTypes.object,\n /** Props for the choose button */\n chooseButtonProps: PropTypes.object,\n /** Custom text for the choose button */\n chooseButtonText: PropTypes.node,\n /** Adds class name. */\n className: PropTypes.string,\n /** Configures the content explorer based on the user's intended action (ex. select file or move/copy) */\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n /** Props that contains the custom search input. Is rendered in header actions */\n customInput: PropTypes.func,\n /** Whether the user can see the breadcrumbs represented with the folder tree button */\n hasFolderTreeBreadcrumbs: PropTypes.bool,\n /** Any extra items in the header to the right of the search input (and new folder button) */\n headerActionsAccessory: PropTypes.node,\n /** Props for the include subfolders toggle */\n includeSubfoldersProps: PropTypes.object,\n /** Initial path of folders. The last folder in the array is the current folder. */\n initialFoldersPath: FoldersPathPropType.isRequired,\n /** Initial items that will show up as selected */\n initialSelectedItems: PropTypes.object,\n /** Whether to use the responsive version */\n isResponsive: PropTypes.bool,\n /**\n * Called when the current folder changes\n *\n * @param {Object} enteredFolder\n * @param {Array} newFoldersPath\n */\n onEnterFolder: PropTypes.func.isRequired,\n /** Called when the folders path is updated\n *\n * @param {Array} newFoldersPath\n */\n onFoldersPathUpdate: PropTypes.func,\n /** Called whenever the selected items list changes\n *\n * @param {Object} selectedItems\n */\n onSelectedItemsUpdate: PropTypes.func,\n /**\n * Called when an item is selected\n *\n * @param {Object} selectedItem\n * @param {number} selectedItemIndex\n */\n onSelectItem: PropTypes.func,\n /**\n * Called when an item is chosen\n *\n * @param {Object[]} chosenItems\n */\n onChooseItems: PropTypes.func,\n /** Called when selected button is clicked */\n onSelectedClick: PropTypes.func,\n /** Called when the number of items selected text is clicked */\n onViewSelectedClick: PropTypes.func,\n /**\n * Called when a destination folder has been selected for moving an item to\n *\n * @param {Object} destFolder destination folder\n */\n onMoveItem: PropTypes.func,\n /**\n * Called when a destination folder has been selected for copying an item to\n *\n * @param {Object} destFolder destination folder\n */\n onCopyItem: PropTypes.func,\n /** Called when cancel button is clicked */\n onCancelButtonClick: PropTypes.func,\n /** Called when new folder button is clicked */\n onCreateNewFolderButtonClick: PropTypes.func,\n /** Whether the new folder button should be shown */\n showCreateNewFolderButton: PropTypes.bool,\n /** Whether the choose button should be shown with a loading indicator */\n isChooseButtonLoading: PropTypes.bool,\n /** Whether the copy button should be shown with a loading indicator */\n isCopyButtonLoading: PropTypes.bool,\n /** Whether the user has permission to create a new folder */\n isCreateNewFolderAllowed: PropTypes.bool,\n /** Whether the user can see select all checkbox */\n isSelectAllAllowed: PropTypes.bool,\n /** Whether the move button should be shown with a loading indicator */\n isMoveButtonLoading: PropTypes.bool,\n /**\n * Called when a search query is submitted.\n *\n * @param {string} searchQuery\n */\n onSearchSubmit: PropTypes.func.isRequired,\n /**\n * Called when search mode is exited. An updated items list should now be passed in to display the user's file tree.\n *\n * @param {Object} folderBeforeSearch the previous folder object before entering search mode\n */\n onExitSearch: PropTypes.func.isRequired,\n /** List of items to display */\n items: ItemsPropType.isRequired,\n /** Number of items to load per page as the user scrolls */\n numItemsPerPage: PropTypes.number,\n /** Total number of items across all pages */\n numTotalItems: PropTypes.number,\n /** Called to load more items */\n onLoadMoreItems: PropTypes.func,\n /** Used to render item icons in the list. Overrides the default icons. */\n itemIconRenderer: PropTypes.func,\n /** Used to render item name links in the list. Overrides the default links. */\n itemNameLinkRenderer: PropTypes.func,\n /** Used to render item buttons in the list. Overrides the default buttons. */\n itemButtonRenderer: PropTypes.func,\n /** Height of an item row */\n itemRowHeight: PropTypes.number,\n /** Used to render the row element for items on the list. Allows row customizations such as adding tooltips, etc. */\n itemRowRenderer: PropTypes.func,\n /** Height of the item list header, defaults to 0, which makes header not visible */\n listHeaderHeight: PropTypes.number,\n /** Used to render the header row on the item list */\n listHeaderRenderer: PropTypes.func,\n /** Width of the item list */\n listWidth: PropTypes.number.isRequired,\n /** Height of the item list */\n listHeight: PropTypes.number.isRequired,\n /** Props for the search input */\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n actionButtonsProps: {},\n cancelButtonProps: {},\n chooseButtonProps: {},\n className: '',\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedItems: props.initialSelectedItems || {},\n foldersPath: props.initialFoldersPath,\n isInSearchMode: false,\n isSelectAllChecked: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, true);\n }\n\n componentDidUpdate({ initialFoldersPath: prevInitialFoldersPath }) {\n const { initialFoldersPath } = this.props;\n\n if (prevInitialFoldersPath !== initialFoldersPath) {\n this.handleFoldersPathUpdated(initialFoldersPath);\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.state;\n return foldersPath[foldersPath.length - 1];\n }\n\n /**\n * Traverse the hirerachy up to the limit to see if any of the parent has the className\n */\n doAncestersContainClassname = (node, className, limit) => {\n let nodeOfInterest = node;\n let counter = 0;\n while (nodeOfInterest.parentNode && counter < limit) {\n // Done traversing (Document node does not have classnames)\n if (!nodeOfInterest.parentNode.className) {\n break;\n }\n\n if (nodeOfInterest.parentNode.className.includes(className)) {\n return true;\n }\n\n nodeOfInterest = nodeOfInterest.parentNode;\n counter += 1;\n }\n\n return false;\n };\n\n shouldDeselectItems = () => {\n const { contentExplorerMode } = this.props;\n\n return (\n // always deselect when not in multi select mode\n contentExplorerMode !== ContentExplorerModes.MULTI_SELECT\n );\n };\n\n handleDocumentClick = event => {\n const isInside = (this.domNode && this.domNode.contains(event.target)) || this.domNode === event.target;\n\n if (!isInside && this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n handleContentExplorerClick = () => {\n if (this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n deselectItems() {\n const { onSelectedItemsUpdate } = this.props;\n this.setState({\n selectedItems: {},\n });\n if (onSelectedItemsUpdate) {\n onSelectedItemsUpdate({});\n }\n }\n\n enterFolder = enteredFolder => {\n const { contentExplorerMode, onEnterFolder, onFoldersPathUpdate } = this.props;\n const { foldersPath } = this.state;\n\n const folderIndex = foldersPath.findIndex(folder => folder.id === enteredFolder.id);\n let newFoldersPath = foldersPath.slice();\n\n if (folderIndex === -1) {\n // Append folder to the path if it's not already in the folders path\n newFoldersPath = newFoldersPath.concat([\n {\n ...enteredFolder,\n },\n ]);\n } else {\n // Otherwise, remove all folders that came after the entered folder\n newFoldersPath = newFoldersPath.slice(0, folderIndex + 1);\n }\n\n const newState = { foldersPath: newFoldersPath };\n if (contentExplorerMode !== ContentExplorerModes.MULTI_SELECT) {\n newState.selectedItems = {};\n }\n\n this.setState(newState);\n if (onFoldersPathUpdate) {\n onFoldersPathUpdate(newFoldersPath);\n }\n\n onEnterFolder(enteredFolder, newFoldersPath);\n };\n\n handleFoldersPathUpdated = newFoldersPath => {\n const { onFoldersPathUpdate } = this.props;\n\n this.setState({\n foldersPath: newFoldersPath,\n });\n if (onFoldersPathUpdate) {\n onFoldersPathUpdate(newFoldersPath);\n }\n };\n\n handleSearchSubmit = searchQuery => {\n const { onSearchSubmit } = this.props;\n\n this.setState({ isInSearchMode: true });\n onSearchSubmit(searchQuery);\n };\n\n handleExitSearch = folderBeforeSearch => {\n const { onExitSearch } = this.props;\n\n this.setState({ isInSearchMode: false });\n onExitSearch(folderBeforeSearch);\n };\n\n handleItemClick = ({ event, index }) => {\n const { contentExplorerMode, items, onSelectItem, onSelectedItemsUpdate } = this.props;\n const { selectedItems } = this.state;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading || item.isActionDisabled) {\n return;\n }\n\n // Prevent the event from bubbling up (so our content explorer click handler doesn't fire)\n event.stopPropagation();\n\n let newSelectedItems = {};\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n newSelectedItems = this.toggleSelectedItem(selectedItems, item);\n } else {\n newSelectedItems[item.id] = item;\n }\n\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: false });\n\n if (onSelectedItemsUpdate) {\n onSelectedItemsUpdate(newSelectedItems);\n }\n\n if (onSelectItem) {\n onSelectItem(item, index);\n }\n };\n\n handleItemDoubleClick = ({ index }) => {\n const { items, onChooseItems } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type === TYPE_FOLDER) {\n this.enterFolder(item);\n } else if (!item.isActionDisabled) {\n onChooseItems([item]);\n }\n this.setState({ isSelectAllChecked: false });\n };\n\n handleItemNameClick = (event, index) => {\n const { items } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type !== TYPE_FOLDER) {\n return;\n }\n\n // Prevent the event from bubbling (so our row click handler doesn't fire)\n event.preventDefault();\n event.stopPropagation();\n\n this.enterFolder(item);\n this.setState({ isSelectAllChecked: false });\n };\n\n toggleSelectedItem = (selectedItems, item) => {\n const result = { ...selectedItems };\n if (result[item.id]) {\n delete result[item.id];\n } else {\n result[item.id] = item;\n }\n\n return result;\n };\n\n selectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (!result[item.id]) {\n result[item.id] = item;\n }\n });\n\n return result;\n };\n\n unselectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (result[item.id]) {\n delete result[item.id];\n }\n });\n\n return result;\n };\n\n handleSelectAllClick = async () => {\n const { items, onSelectedItemsUpdate } = this.props;\n if (items && items[0] && items[0].isLoading) {\n return;\n }\n const { isSelectAllChecked } = this.state;\n const newSelectedItems = isSelectAllChecked ? this.unselectAll() : this.selectAll();\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: !isSelectAllChecked });\n if (onSelectedItemsUpdate) {\n onSelectedItemsUpdate(newSelectedItems);\n }\n };\n\n renderItemListEmptyState = () => {\n const { foldersPath, isInSearchMode } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n\n return <ContentExplorerEmptyState isSearch={isViewingSearchResults} />;\n };\n\n render() {\n const {\n actionButtonsProps,\n additionalColumns,\n isNoSelectionAllowed = false,\n breadcrumbProps,\n cancelButtonProps,\n chooseButtonProps,\n chooseButtonText,\n className,\n contentExplorerMode,\n customInput,\n hasFolderTreeBreadcrumbs,\n headerActionsAccessory,\n onChooseItems,\n onMoveItem,\n onCopyItem,\n onCancelButtonClick,\n onCreateNewFolderButtonClick,\n onSelectedClick,\n onViewSelectedClick,\n showCreateNewFolderButton,\n isChooseButtonLoading,\n isCopyButtonLoading,\n isCreateNewFolderAllowed,\n isMoveButtonLoading,\n isResponsive = false,\n isSelectAllAllowed,\n items,\n numItemsPerPage,\n numTotalItems,\n onLoadMoreItems,\n includeSubfoldersProps,\n itemIconRenderer,\n itemNameLinkRenderer,\n itemButtonRenderer,\n itemRowHeight,\n itemRowRenderer,\n listHeaderHeight,\n listHeaderRenderer,\n listWidth,\n listHeight,\n searchInputProps,\n ...rest\n } = this.props;\n const { isInSearchMode, foldersPath, selectedItems, isSelectAllChecked } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n const currentFolder = this.getCurrentFolder();\n const contentExplorerProps = omit(rest, [\n 'initialFoldersPath',\n 'onEnterFolder',\n 'onSelectItem',\n 'onSearchSubmit',\n 'onExitSearch',\n 'initialSelectedItems',\n 'onFoldersPathUpdate',\n 'onSelectedItemsUpdate',\n ]);\n const canIncludeSubfolders = !!includeSubfoldersProps;\n const hasSubheader = canIncludeSubfolders || isSelectAllAllowed;\n\n const selectedItemsIds = Object.keys(selectedItems);\n let areActionButtonsDisabled;\n // NOTE: it almost feels like this whole section should be inside the\n // ContentExplorerActionButtons instead. There's a lot of implicit knowledge\n // of what the action buttons are and what they should be doing.\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n // NOTE: only expecting to have 1 (choose) button so as long as something\n // is selected and that item's isActionDisabled is false, we enable the action button\n areActionButtonsDisabled =\n (selectedItemsIds.length === 0 && !isNoSelectionAllowed) ||\n (selectedItemsIds.length === 1 && selectedItems[selectedItemsIds[0]].isActionDisabled);\n } else if (isViewingSearchResults || contentExplorerMode === ContentExplorerModes.SELECT_FILE) {\n // Buttons are only enabled when an item is selected\n // When viewing search results, there is no \"current folder\"\n // When selecting a file, the file can only selected from the list\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 || selectedItems[selectedItemsIds[0]].isActionDisabled;\n } else {\n // Buttons are enabled using the selected item or the current folder if no item is selected\n areActionButtonsDisabled =\n selectedItemsIds.length > 0\n ? selectedItems[selectedItemsIds[0]].isActionDisabled\n : currentFolder.isActionDisabled;\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div\n className={classNames('content-explorer', className, {\n 'bdl-ContentExplorer--responsive': isResponsive,\n })}\n data-testid=\"content-explorer\"\n onClick={this.handleContentExplorerClick}\n ref={ref => {\n this.domNode = ref;\n }}\n {...contentExplorerProps}\n >\n <ContentExplorerHeaderActions\n breadcrumbProps={breadcrumbProps}\n contentExplorerMode={contentExplorerMode}\n customInput={customInput}\n foldersPath={foldersPath}\n hasFolderTreeBreadcrumbs={hasFolderTreeBreadcrumbs}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n onCreateNewFolderButtonClick={onCreateNewFolderButtonClick}\n onFoldersPathUpdated={this.handleFoldersPathUpdated}\n onEnterFolder={this.enterFolder}\n onExitSearch={this.handleExitSearch}\n onSearchSubmit={this.handleSearchSubmit}\n numTotalItems={numTotalItems}\n searchInputProps={searchInputProps}\n showCreateNewFolderButton={showCreateNewFolderButton}\n >\n {headerActionsAccessory}\n </ContentExplorerHeaderActions>\n {hasSubheader && (\n <div className=\"bdl-ContentExplorer-subheader\">\n {canIncludeSubfolders && <ContentExplorerIncludeSubfolders {...includeSubfoldersProps} />}\n {isSelectAllAllowed && (\n <ContentExplorerSelectAll\n handleSelectAllClick={this.handleSelectAllClick}\n isLabelHidden={canIncludeSubfolders}\n isSelectAllChecked={isSelectAllChecked}\n numTotalItems={numTotalItems}\n />\n )}\n </div>\n )}\n <ItemList\n additionalColumns={additionalColumns}\n contentExplorerMode={contentExplorerMode}\n headerHeight={listHeaderHeight}\n headerRenderer={listHeaderRenderer}\n height={listHeight}\n isResponsive={isResponsive}\n itemButtonRenderer={itemButtonRenderer}\n itemIconRenderer={itemIconRenderer}\n itemNameLinkRenderer={itemNameLinkRenderer}\n items={items}\n itemRowRenderer={itemRowRenderer}\n noItemsRenderer={this.renderItemListEmptyState}\n numItemsPerPage={numItemsPerPage}\n numTotalItems={numTotalItems}\n onItemClick={this.handleItemClick}\n onItemDoubleClick={this.handleItemDoubleClick}\n onItemNameClick={this.handleItemNameClick}\n onLoadMoreItems={onLoadMoreItems}\n rowHeight={itemRowHeight}\n selectedItems={selectedItems}\n width={listWidth}\n />\n <ContentExplorerActionButtons\n actionButtonsProps={actionButtonsProps}\n areButtonsDisabled={areActionButtonsDisabled}\n cancelButtonProps={cancelButtonProps}\n canIncludeSubfolders={canIncludeSubfolders}\n chooseButtonProps={chooseButtonProps}\n chooseButtonText={chooseButtonText}\n contentExplorerMode={contentExplorerMode}\n currentFolder={currentFolder}\n isChooseButtonLoading={isChooseButtonLoading}\n isCopyButtonLoading={isCopyButtonLoading}\n isMoveButtonLoading={isMoveButtonLoading}\n isResponsive={isResponsive}\n isSelectAllAllowed={isSelectAllAllowed}\n onCancelClick={onCancelButtonClick}\n onChooseClick={onChooseItems}\n onCopyClick={onCopyItem}\n onFoldersPathUpdated={this.handleFoldersPathUpdated}\n onSelectedClick={onSelectedClick}\n onMoveClick={onMoveItem}\n onViewSelectedClick={onViewSelectedClick}\n selectedItems={selectedItems}\n isNoSelectionAllowed={isNoSelectionAllowed}\n />\n </div>\n );\n }\n}\n\nexport default ContentExplorer;\n"],"file":"ContentExplorer.js"}
@@ -1,5 +1,4 @@
1
1
  @import '../../../styles/variables';
2
- @import '../../../styles/mixins/buttons';
3
2
 
4
3
  .content-explorer {
5
4
  .content-explorer-search-new-folder-container {
@@ -52,22 +51,73 @@
52
51
  }
53
52
  }
54
53
 
54
+ .bdl-ContentExplorerFolderTreeBreadcrumbs {
55
+ display: flex;
56
+ align-items: center;
57
+ height: 30px;
58
+ margin-top: 15px;
59
+ margin-bottom: 5px;
60
+
61
+ .bdl-ContentExplorerFolderTreeBreadcrumbs-button {
62
+ margin: 0 10px 0 0;
63
+ padding: 5px;
64
+ }
65
+
66
+ .bdl-ContentExplorerFolderTreeBreadcrumbs-icon {
67
+ margin-right: 10px;
68
+ }
69
+
70
+ .bdl-ContentExplorerFolderTreeBreadcrumbs-text {
71
+ color: $bdl-gray;
72
+ }
73
+ }
74
+
75
+ .bdl-ContentExplorer-subheader {
76
+ display: flex;
77
+ align-items: center;
78
+ height: 10 * $bdl-grid-unit;
79
+
80
+ .checkbox-container,
81
+ .toggle-container {
82
+ margin: 0;
83
+ }
84
+
85
+ .toggle-simple-label {
86
+ display: flex;
87
+ align-items: center;
88
+ min-width: auto;
89
+ }
90
+
91
+ .content-explorer-select-all-checkbox {
92
+ margin-right: 18px;
93
+
94
+ &:first-child {
95
+ margin-left: auto;
96
+ }
97
+ }
98
+ }
99
+
55
100
  .content-explorer-select-all-container {
56
- display: block;
57
- height: 8 * $bdl-grid-unit;
101
+ display: flex;
102
+ flex-grow: 1;
103
+ align-items: center;
104
+ height: 10 * $bdl-grid-unit;
58
105
 
59
106
  .content-explorer-select-all-items-counter {
60
107
  margin-left: 2px;
61
108
  }
62
109
 
63
110
  .content-explorer-select-all-checkbox-label {
64
- float: right;
65
- margin-right: 42px;
111
+ margin-right: 10px;
112
+ margin-left: auto;
66
113
  }
114
+ }
67
115
 
68
- .content-explorer-select-all-checkbox {
69
- float: right;
70
- margin-right: -21 * $bdl-grid-unit;
116
+ .bdl-ContentExplorerIncludeSubfolders-icon {
117
+ margin-left: 4px;
118
+
119
+ path {
120
+ fill: $bdl-box-blue;
71
121
  }
72
122
  }
73
123
 
@@ -97,6 +147,15 @@
97
147
  margin-top: 5px;
98
148
  }
99
149
 
150
+ .status-message-link {
151
+ position: absolute;
152
+ left: 0;
153
+ margin-top: 5px;
154
+ color: $bdl-box-blue;
155
+ font-size: $bdl-fontSize--dejaBlue;
156
+ line-height: $bdl-line-height;
157
+ }
158
+
100
159
  .content-explorer-copy-button {
101
160
  margin-right: 0;
102
161
  }