box-ui-elements 15.0.0-beta.7 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/CONTRIBUTING.md +3 -1
  2. package/dist/explorer.css +1 -1
  3. package/dist/explorer.js +58 -26
  4. package/dist/openwith.css +1 -1
  5. package/dist/openwith.js +10 -17
  6. package/dist/picker.css +1 -1
  7. package/dist/picker.js +12 -19
  8. package/dist/preview.css +1 -1
  9. package/dist/preview.js +56 -24
  10. package/dist/sharing.css +1 -1
  11. package/dist/sharing.js +54 -22
  12. package/dist/sidebar.css +1 -1
  13. package/dist/sidebar.js +56 -24
  14. package/dist/uploader.css +1 -1
  15. package/dist/uploader.js +12 -19
  16. package/es/api/uploads/UploadsReachability.js.flow +2 -2
  17. package/es/api/uploads/UploadsReachability.js.map +1 -1
  18. package/es/common/messages.js +4 -0
  19. package/es/common/messages.js.flow +5 -0
  20. package/es/common/messages.js.map +1 -1
  21. package/es/common/types/core.js.flow +2 -0
  22. package/es/common/types/core.js.map +1 -1
  23. package/es/components/avatar/UnknownUserAvatar.js +6 -9
  24. package/es/components/avatar/UnknownUserAvatar.js.map +1 -1
  25. package/es/components/close-button/CloseButton.js +24 -0
  26. package/es/components/close-button/CloseButton.js.flow +26 -0
  27. package/es/components/close-button/CloseButton.js.map +1 -0
  28. package/es/components/close-button/CloseButton.scss +10 -0
  29. package/es/components/close-button/CloseButton.stories.js +14 -0
  30. package/es/components/close-button/CloseButton.stories.js.map +1 -0
  31. package/es/components/close-button/index.js +2 -0
  32. package/es/components/close-button/index.js.flow +2 -0
  33. package/es/components/close-button/index.js.map +1 -0
  34. package/es/components/date-picker/AccessiblePikaday.js +113 -0
  35. package/es/components/date-picker/AccessiblePikaday.js.map +1 -0
  36. package/es/components/date-picker/DatePicker.js +426 -106
  37. package/es/components/date-picker/DatePicker.js.map +1 -1
  38. package/es/components/date-picker/DatePicker.scss +32 -22
  39. package/es/components/date-picker/DatePicker.stories.js +10 -0
  40. package/es/components/date-picker/DatePicker.stories.js.map +1 -1
  41. package/es/components/date-picker/_pikaday.scss +8 -2
  42. package/es/components/flyout/Flyout.js +13 -3
  43. package/es/components/flyout/Flyout.js.flow +14 -3
  44. package/es/components/flyout/Flyout.js.map +1 -1
  45. package/es/components/flyout/Flyout.scss +40 -0
  46. package/es/components/flyout/FlyoutContext.js +6 -0
  47. package/es/components/flyout/FlyoutContext.js.flow +9 -0
  48. package/es/components/flyout/FlyoutContext.js.map +1 -0
  49. package/es/components/flyout/OverlayHeader.js +33 -0
  50. package/es/components/flyout/OverlayHeader.js.map +1 -0
  51. package/es/components/flyout/OverlayHeader.scss +9 -0
  52. package/es/components/flyout/_variables.scss +1 -0
  53. package/es/components/flyout/index.js +2 -0
  54. package/es/components/flyout/index.js.flow +2 -0
  55. package/es/components/flyout/index.js.map +1 -1
  56. package/es/components/image-tooltip/ImageTooltip.js +1 -2
  57. package/es/components/image-tooltip/ImageTooltip.js.map +1 -1
  58. package/es/components/media-query/constants.js +26 -0
  59. package/es/components/media-query/constants.js.flow +32 -0
  60. package/es/components/media-query/constants.js.map +1 -0
  61. package/es/components/media-query/index.js +3 -0
  62. package/es/components/media-query/index.js.flow +4 -0
  63. package/es/components/media-query/index.js.map +1 -0
  64. package/es/components/media-query/stories/MediaQuery.stories.js +37 -0
  65. package/es/components/media-query/stories/MediaQuery.stories.js.flow +80 -0
  66. package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -0
  67. package/es/components/media-query/types.js +2 -0
  68. package/es/components/media-query/types.js.flow +29 -0
  69. package/es/components/media-query/types.js.map +1 -0
  70. package/es/components/media-query/useMediaQuery.js +91 -0
  71. package/es/components/media-query/useMediaQuery.js.flow +97 -0
  72. package/es/components/media-query/useMediaQuery.js.map +1 -0
  73. package/es/components/media-query/withMediaQuery.js +21 -0
  74. package/es/components/media-query/withMediaQuery.js.flow +23 -0
  75. package/es/components/media-query/withMediaQuery.js.map +1 -0
  76. package/es/components/modal/Modal.scss +27 -0
  77. package/es/components/preview/previewIcons.js +4 -0
  78. package/es/components/preview/previewIcons.js.map +1 -1
  79. package/es/components/search-form/SearchForm.scss +0 -5
  80. package/es/components/selector-dropdown/SelectorDropdown.js +5 -3
  81. package/es/components/selector-dropdown/SelectorDropdown.js.flow +3 -3
  82. package/es/components/selector-dropdown/SelectorDropdown.js.map +1 -1
  83. package/es/components/tab-view/Tabs.scss +0 -4
  84. package/es/components/tooltip/Tooltip.js +21 -4
  85. package/es/components/tooltip/Tooltip.js.map +1 -1
  86. package/es/constants.js +1 -0
  87. package/es/constants.js.flow +1 -0
  88. package/es/constants.js.map +1 -1
  89. package/es/elements/content-open-with/IconFileMap.js +0 -2
  90. package/es/elements/content-open-with/IconFileMap.js.flow +0 -2
  91. package/es/elements/content-open-with/IconFileMap.js.map +1 -1
  92. package/es/elements/content-sidebar/Sidebar.js +2 -1
  93. package/es/elements/content-sidebar/Sidebar.js.flow +1 -1
  94. package/es/elements/content-sidebar/Sidebar.js.map +1 -1
  95. package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +3 -3
  96. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js +14 -4
  97. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.flow +18 -5
  98. package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.map +1 -1
  99. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js +78 -0
  100. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.flow +97 -0
  101. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.map +1 -0
  102. package/es/elements/content-sidebar/versions/StaticVersionsSidebar.scss +67 -0
  103. package/es/elements/content-sidebar/versions/VersionsSidebar.js +12 -4
  104. package/es/elements/content-sidebar/versions/VersionsSidebar.js.flow +16 -3
  105. package/es/elements/content-sidebar/versions/VersionsSidebar.js.map +1 -1
  106. package/es/elements/content-sidebar/versions/VersionsSidebar.scss +5 -0
  107. package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js +42 -10
  108. package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.flow +42 -7
  109. package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.map +1 -1
  110. package/es/elements/content-sidebar/versions/flowTypes.js.flow +1 -0
  111. package/es/elements/content-sidebar/versions/messages.js +20 -0
  112. package/es/elements/content-sidebar/versions/messages.js.flow +28 -0
  113. package/es/elements/content-sidebar/versions/messages.js.map +1 -1
  114. package/es/features/classification/constants.js +2 -1
  115. package/es/features/classification/constants.js.flow +2 -0
  116. package/es/features/classification/constants.js.map +1 -1
  117. package/es/features/classification/flowTypes.js +1 -0
  118. package/es/features/classification/flowTypes.js.flow +7 -1
  119. package/es/features/classification/flowTypes.js.map +1 -1
  120. package/es/features/classification/security-controls/SecurityControls.js +3 -4
  121. package/es/features/classification/security-controls/SecurityControls.js.flow +3 -4
  122. package/es/features/classification/security-controls/SecurityControls.js.map +1 -1
  123. package/es/features/classification/security-controls/SecurityControlsItem.js +1 -1
  124. package/es/features/classification/security-controls/SecurityControlsItem.js.flow +20 -17
  125. package/es/features/classification/security-controls/SecurityControlsItem.js.map +1 -1
  126. package/es/features/classification/security-controls/SecurityControlsItem.scss +4 -0
  127. package/es/features/classification/security-controls/SecurityControlsModal.js +2 -2
  128. package/es/features/classification/security-controls/SecurityControlsModal.js.flow +2 -2
  129. package/es/features/classification/security-controls/SecurityControlsModal.js.map +1 -1
  130. package/es/features/classification/security-controls/messages.js +4 -0
  131. package/es/features/classification/security-controls/messages.js.flow +5 -0
  132. package/es/features/classification/security-controls/messages.js.map +1 -1
  133. package/es/features/classification/security-controls/utils.js +56 -35
  134. package/es/features/classification/security-controls/utils.js.flow +51 -27
  135. package/es/features/classification/security-controls/utils.js.map +1 -1
  136. package/es/features/collapsible-sidebar/CollapsibleSidebar.js +9 -3
  137. package/es/features/collapsible-sidebar/CollapsibleSidebar.js.flow +13 -5
  138. package/es/features/collapsible-sidebar/CollapsibleSidebar.js.map +1 -1
  139. package/es/features/collapsible-sidebar/CollapsibleSidebar.scss +35 -3
  140. package/es/features/content-explorer/content-explorer/ContentExplorer.scss +1 -1
  141. package/es/features/content-explorer/item-list/ItemList.js +1 -0
  142. package/es/features/content-explorer/item-list/ItemList.js.flow +1 -0
  143. package/es/features/content-explorer/item-list/ItemList.js.map +1 -1
  144. package/es/features/content-explorer/item-list/ItemListName.js +13 -2
  145. package/es/features/content-explorer/item-list/ItemListName.js.flow +3 -2
  146. package/es/features/content-explorer/item-list/ItemListName.js.map +1 -1
  147. package/es/features/header-flyout/HeaderFlyout.js +8 -10
  148. package/es/features/header-flyout/HeaderFlyout.js.flow +4 -8
  149. package/es/features/header-flyout/HeaderFlyout.js.map +1 -1
  150. package/es/features/header-flyout/styles/HeaderFlyout.scss +54 -15
  151. package/es/features/header-flyout/styles/_variables.scss +4 -0
  152. package/es/features/message-center/components/message-center-modal/MessageCenterModal.js +1 -0
  153. package/es/features/message-center/components/message-center-modal/MessageCenterModal.js.flow +1 -0
  154. package/es/features/message-center/components/message-center-modal/MessageCenterModal.js.map +1 -1
  155. package/es/features/presence/PresenceCollaborator.js +90 -0
  156. package/es/features/presence/PresenceCollaborator.js.flow +81 -0
  157. package/es/features/presence/PresenceCollaborator.js.map +1 -0
  158. package/es/features/presence/PresenceCollaborator.scss +28 -0
  159. package/es/features/presence/PresenceCollaboratorsList.js +9 -57
  160. package/es/features/presence/PresenceCollaboratorsList.js.flow +7 -58
  161. package/es/features/presence/PresenceCollaboratorsList.js.map +1 -1
  162. package/es/features/presence/PresenceCollaboratorsList.scss +8 -35
  163. package/es/features/quick-search/QuickSearch.js +4 -2
  164. package/es/features/quick-search/QuickSearch.js.flow +13 -1
  165. package/es/features/quick-search/QuickSearch.js.map +1 -1
  166. package/es/features/unified-share-modal/SharedLinkSection.js +9 -20
  167. package/es/features/unified-share-modal/SharedLinkSection.js.flow +6 -27
  168. package/es/features/unified-share-modal/SharedLinkSection.js.map +1 -1
  169. package/es/features/unified-share-modal/UnifiedShareForm.js +95 -53
  170. package/es/features/unified-share-modal/UnifiedShareForm.js.flow +70 -14
  171. package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
  172. package/es/features/unified-share-modal/UnifiedShareModal.scss +3 -0
  173. package/es/features/unified-share-modal/flowTypes.js.flow +6 -0
  174. package/es/features/unified-share-modal/flowTypes.js.map +1 -1
  175. package/es/features/unified-share-modal/messages.js +8 -0
  176. package/es/features/unified-share-modal/messages.js.flow +10 -0
  177. package/es/features/unified-share-modal/messages.js.map +1 -1
  178. package/es/features/unified-share-modal/utils/mergeContacts.js +13 -10
  179. package/es/features/unified-share-modal/utils/mergeContacts.js.flow +4 -2
  180. package/es/features/unified-share-modal/utils/mergeContacts.js.map +1 -1
  181. package/es/icon/content/FileXbd32.js +39 -0
  182. package/es/icon/content/FileXbd32.js.flow +38 -0
  183. package/es/icon/content/FileXbd32.js.map +1 -0
  184. package/es/icon/content/FileXbd32.stories.js +13 -0
  185. package/es/icon/content/FileXbd32.stories.js.map +1 -0
  186. package/es/icon/content/FileXdw32.js +39 -0
  187. package/es/icon/content/FileXdw32.js.flow +38 -0
  188. package/es/icon/content/FileXdw32.js.map +1 -0
  189. package/es/icon/content/FileXdw32.stories.js +13 -0
  190. package/es/icon/content/FileXdw32.stories.js.map +1 -0
  191. package/es/icon/content/RetentionPolicyModifiable32.js +36 -0
  192. package/es/icon/content/RetentionPolicyModifiable32.js.flow +31 -0
  193. package/es/icon/content/RetentionPolicyModifiable32.js.map +1 -0
  194. package/es/icon/content/RetentionPolicyModifiable32.stories.js +13 -0
  195. package/es/icon/content/RetentionPolicyModifiable32.stories.js.map +1 -0
  196. package/es/icon/content/RetentionPolicyNonModifiable32.js +36 -0
  197. package/es/icon/content/RetentionPolicyNonModifiable32.js.flow +31 -0
  198. package/es/icon/content/RetentionPolicyNonModifiable32.js.map +1 -0
  199. package/es/icon/content/RetentionPolicyNonModifiable32.stories.js +13 -0
  200. package/es/icon/content/RetentionPolicyNonModifiable32.stories.js.map +1 -0
  201. package/es/icons/avatars/UnknownUserAvatar.js +10 -34
  202. package/es/icons/avatars/UnknownUserAvatar.js.map +1 -1
  203. package/es/icons/file-icon/FileIcon.js +8 -2
  204. package/es/icons/file-icon/FileIcon.js.flow +2 -2
  205. package/es/icons/file-icon/FileIcon.js.map +1 -1
  206. package/es/icons/general/IconSearch.js +1 -1
  207. package/es/icons/general/IconSearch.js.flow +1 -1
  208. package/es/icons/general/IconSearch.js.map +1 -1
  209. package/es/icons/general/IconSearchJuicy.js +30 -0
  210. package/es/icons/general/IconSearchJuicy.js.flow +26 -0
  211. package/es/icons/general/IconSearchJuicy.js.map +1 -0
  212. package/es/icons/google-docs/IconGoogle.js +89 -0
  213. package/es/icons/google-docs/IconGoogle.js.flow +57 -0
  214. package/es/icons/google-docs/IconGoogle.js.map +1 -0
  215. package/es/icons/item-icon/ItemIcon.js +4 -0
  216. package/es/icons/item-icon/ItemIcon.js.map +1 -1
  217. package/es/icons/microsoft-office/IconOffice.js +80 -0
  218. package/es/icons/microsoft-office/IconOffice.js.flow +45 -0
  219. package/es/icons/microsoft-office/IconOffice.js.map +1 -0
  220. package/es/illustration/EmailVerification140.js +111 -0
  221. package/es/illustration/EmailVerification140.js.flow +102 -0
  222. package/es/illustration/EmailVerification140.js.map +1 -0
  223. package/es/illustration/EmailVerification140.stories.js +13 -0
  224. package/es/illustration/EmailVerification140.stories.js.map +1 -0
  225. package/es/src/components/close-button/CloseButton.d.ts +9 -0
  226. package/es/src/components/close-button/CloseButton.stories.d.ts +9 -0
  227. package/es/src/components/close-button/__tests__/CloseButton.stories.test.d.ts +0 -0
  228. package/es/src/components/close-button/__tests__/CloseButton.test.d.ts +1 -0
  229. package/es/src/components/close-button/index.d.ts +1 -0
  230. package/es/src/components/date-picker/AccessiblePikaday.d.ts +16 -0
  231. package/es/src/components/date-picker/DatePicker.d.ts +33 -6
  232. package/es/src/components/date-picker/DatePicker.stories.d.ts +2 -1
  233. package/es/src/components/flyout/OverlayHeader.d.ts +10 -0
  234. package/es/src/components/tooltip/Tooltip.d.ts +4 -3
  235. package/es/src/icon/content/FileXbd32.d.ts +13 -0
  236. package/es/src/icon/content/FileXbd32.stories.d.ts +9 -0
  237. package/es/src/icon/content/FileXdw32.d.ts +13 -0
  238. package/es/src/icon/content/FileXdw32.stories.d.ts +9 -0
  239. package/es/src/icon/content/RetentionPolicyModifiable32.d.ts +13 -0
  240. package/es/src/icon/content/RetentionPolicyModifiable32.stories.d.ts +9 -0
  241. package/es/src/icon/content/RetentionPolicyNonModifiable32.d.ts +13 -0
  242. package/es/src/icon/content/RetentionPolicyNonModifiable32.stories.d.ts +9 -0
  243. package/es/src/icons/avatars/UnknownUserAvatar.d.ts +0 -1
  244. package/es/src/icons/general/IconSearchJuicy.d.ts +3 -0
  245. package/es/src/icons/general/__tests__/IconSearchJuicy.test.d.ts +1 -0
  246. package/es/src/icons/google-docs/IconGoogle.d.ts +12 -0
  247. package/es/src/icons/google-docs/__tests__/IconGoogle.test.d.ts +1 -0
  248. package/es/src/icons/item-icon/ItemIcon.d.ts +2 -0
  249. package/es/src/icons/microsoft-office/IconOffice.d.ts +12 -0
  250. package/es/src/icons/microsoft-office/__tests__/IconOffice.test.d.ts +1 -0
  251. package/es/src/illustration/EmailVerification140.d.ts +13 -0
  252. package/es/src/illustration/EmailVerification140.stories.d.ts +9 -0
  253. package/es/src/styles/variables.d.ts +9 -0
  254. package/es/styles/_variables.scss +1 -0
  255. package/es/styles/common/_forms.scss +6 -0
  256. package/es/styles/constants/_layout.scss +3 -0
  257. package/es/styles/constants/_media-queries.scss +15 -0
  258. package/es/styles/variables.js +18 -0
  259. package/es/styles/variables.js.flow +10 -1
  260. package/es/styles/variables.js.map +1 -1
  261. package/es/utils/Browser.js +12 -0
  262. package/es/utils/Browser.js.flow +10 -0
  263. package/es/utils/Browser.js.map +1 -1
  264. package/es/utils/validators.js +26 -4
  265. package/es/utils/validators.js.flow +25 -3
  266. package/es/utils/validators.js.map +1 -1
  267. package/i18n/bn-IN.js +12 -0
  268. package/i18n/bn-IN.properties +24 -0
  269. package/i18n/da-DK.js +12 -0
  270. package/i18n/da-DK.properties +24 -0
  271. package/i18n/de-DE.js +12 -0
  272. package/i18n/de-DE.properties +24 -0
  273. package/i18n/en-AU.js +12 -0
  274. package/i18n/en-AU.properties +24 -0
  275. package/i18n/en-CA.js +12 -0
  276. package/i18n/en-CA.properties +24 -0
  277. package/i18n/en-GB.js +12 -0
  278. package/i18n/en-GB.properties +24 -0
  279. package/i18n/en-US.js +12 -0
  280. package/i18n/en-US.properties +24 -0
  281. package/i18n/en-x-pseudo.js +12 -0
  282. package/i18n/es-419.js +12 -0
  283. package/i18n/es-419.properties +24 -0
  284. package/i18n/es-ES.js +12 -0
  285. package/i18n/es-ES.properties +24 -0
  286. package/i18n/fi-FI.js +12 -0
  287. package/i18n/fi-FI.properties +24 -0
  288. package/i18n/fr-CA.js +12 -0
  289. package/i18n/fr-CA.properties +24 -0
  290. package/i18n/fr-FR.js +12 -0
  291. package/i18n/fr-FR.properties +24 -0
  292. package/i18n/hi-IN.js +12 -0
  293. package/i18n/hi-IN.properties +24 -0
  294. package/i18n/it-IT.js +12 -0
  295. package/i18n/it-IT.properties +24 -0
  296. package/i18n/ja-JP.js +25 -13
  297. package/i18n/ja-JP.properties +37 -13
  298. package/i18n/ko-KR.js +12 -0
  299. package/i18n/ko-KR.properties +24 -0
  300. package/i18n/nb-NO.js +12 -0
  301. package/i18n/nb-NO.properties +24 -0
  302. package/i18n/nl-NL.js +12 -0
  303. package/i18n/nl-NL.properties +24 -0
  304. package/i18n/pl-PL.js +12 -0
  305. package/i18n/pl-PL.properties +24 -0
  306. package/i18n/pt-BR.js +12 -0
  307. package/i18n/pt-BR.properties +24 -0
  308. package/i18n/ru-RU.js +12 -0
  309. package/i18n/ru-RU.properties +24 -0
  310. package/i18n/sv-SE.js +12 -0
  311. package/i18n/sv-SE.properties +24 -0
  312. package/i18n/tr-TR.js +12 -0
  313. package/i18n/tr-TR.properties +24 -0
  314. package/i18n/zh-CN.js +12 -0
  315. package/i18n/zh-CN.properties +24 -0
  316. package/i18n/zh-TW.js +12 -0
  317. package/i18n/zh-TW.properties +24 -0
  318. package/package.json +8 -5
  319. package/src/__mocks__/pikaday.js +1 -0
  320. package/src/api/__tests__/MockOpenWithData.json +2 -25
  321. package/src/api/uploads/UploadsReachability.js +2 -2
  322. package/src/common/messages.js +5 -0
  323. package/src/common/types/core.js +2 -0
  324. package/src/components/avatar/UnknownUserAvatar.tsx +5 -4
  325. package/src/components/close-button/CloseButton.js.flow +26 -0
  326. package/src/components/close-button/CloseButton.scss +10 -0
  327. package/src/components/close-button/CloseButton.stories.md +1 -0
  328. package/src/components/close-button/CloseButton.stories.tsx +14 -0
  329. package/src/components/close-button/CloseButton.tsx +30 -0
  330. package/src/components/close-button/__tests__/CloseButton.stories.test.tsx +6 -0
  331. package/src/components/close-button/__tests__/CloseButton.test.tsx +40 -0
  332. package/src/components/close-button/__tests__/__image_snapshots__/close-button-stories-test-tsx-components-close-button-close-button-looks-visually-correct-when-using-story-components-buttons-closebutton-regular-1-snap.png +0 -0
  333. package/src/components/close-button/index.js.flow +2 -0
  334. package/src/components/close-button/index.ts +1 -0
  335. package/src/components/date-picker/AccessiblePikaday.ts +79 -0
  336. package/src/components/date-picker/DatePicker.scss +32 -22
  337. package/src/components/date-picker/DatePicker.stories.tsx +6 -0
  338. package/src/components/date-picker/DatePicker.tsx +350 -64
  339. package/src/components/date-picker/__tests__/DatePicker.test.tsx +44 -2
  340. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-allows-editing-in-story-components-datepicker-manually-editable-1-snap.png +0 -0
  341. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-allows-keyboard-selection-in-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
  342. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-closes-calendar-and-clears-date-for-components-datepicker-basic-1-snap.png +0 -0
  343. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
  344. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-basic-1-snap.png +0 -0
  345. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-custom-error-tooltip-position-1-snap.png +0 -0
  346. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-disabled-with-error-message-1-snap.png +0 -0
  347. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-manually-editable-1-snap.png +0 -0
  348. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-description-1-snap.png +0 -0
  349. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-limited-date-range-1-snap.png +0 -0
  350. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-range-1-snap.png +0 -0
  351. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-reflects-changes-in-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
  352. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-shows-calendar-and-date-for-components-datepicker-basic-1-snap.png +0 -0
  353. package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-shows-limited-range-in-components-datepicker-with-limited-date-range-1-snap.png +0 -0
  354. package/src/components/date-picker/_pikaday.scss +8 -2
  355. package/src/components/flyout/Flyout.js +14 -3
  356. package/src/components/flyout/Flyout.scss +40 -0
  357. package/src/components/flyout/FlyoutContext.js +9 -0
  358. package/src/components/flyout/OverlayHeader.scss +9 -0
  359. package/src/components/flyout/OverlayHeader.tsx +38 -0
  360. package/src/components/flyout/__tests__/Flyout.test.js +15 -0
  361. package/src/components/flyout/__tests__/OverlayHeader.test.js +56 -0
  362. package/src/components/flyout/_variables.scss +1 -0
  363. package/src/components/flyout/index.js +2 -0
  364. package/src/components/image-tooltip/ImageTooltip.tsx +1 -2
  365. package/src/components/media-query/__tests__/useMediaQuery.test.js +48 -0
  366. package/src/components/media-query/__tests__/withMediaQuery.test.js +29 -0
  367. package/src/components/media-query/constants.js +32 -0
  368. package/src/components/media-query/index.js +4 -0
  369. package/src/components/media-query/stories/MediaQuery.stories.js +80 -0
  370. package/src/components/media-query/stories/MediaQuery.stories.md +29 -0
  371. package/src/components/media-query/types.js +29 -0
  372. package/src/components/media-query/useMediaQuery.js +97 -0
  373. package/src/components/media-query/withMediaQuery.js +23 -0
  374. package/src/components/modal/Modal.scss +27 -0
  375. package/src/components/modal/__tests__/Modal.stories.test.js +10 -0
  376. package/src/components/modal/__tests__/__image_snapshots__/modal-stories-test-js-components-modal-modal-looks-visually-correct-for-small-screens-when-button-is-clicked-in-story-components-modal-basic-1-snap.png +0 -0
  377. package/src/components/modal/__tests__/__image_snapshots__/modal-stories-test-js-components-modal-modal-looks-visually-correct-for-small-screens-when-button-is-clicked-in-story-components-modal-with-custom-backdrop-click-handler-1-snap.png +0 -0
  378. package/src/components/preview/previewIcons.ts +4 -0
  379. package/src/components/search-form/SearchForm.scss +0 -5
  380. package/src/components/selector-dropdown/SelectorDropdown.js +3 -3
  381. package/src/components/selector-dropdown/__tests__/SelectorDropdown.test.js +5 -1
  382. package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +0 -8
  383. package/src/components/tab-view/Tabs.scss +0 -4
  384. package/src/components/tooltip/Tooltip.tsx +20 -5
  385. package/src/components/tooltip/__tests__/Tooltip.test.tsx +17 -4
  386. package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -2
  387. package/src/constants.js +1 -0
  388. package/src/elements/content-open-with/IconFileMap.js +0 -2
  389. package/src/elements/content-open-with/__tests__/ContentOpenWith.test.js +13 -13
  390. package/src/elements/content-open-with/__tests__/OpenWithButton.test.js +1 -1
  391. package/src/elements/content-open-with/__tests__/OpenWithDropdownMenu.test.js +1 -5
  392. package/src/elements/content-open-with/__tests__/OpenWithDropdownMenuItem.test.js +2 -2
  393. package/src/elements/content-open-with/__tests__/__snapshots__/ContentOpenWith.test.js.snap +5 -5
  394. package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithButton.test.js.snap +1 -1
  395. package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithDropdownMenu.test.js.snap +1 -11
  396. package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithDropdownMenuItem.test.js.snap +4 -3
  397. package/src/elements/content-sidebar/Sidebar.js +1 -1
  398. package/src/elements/content-sidebar/__tests__/AddTaskButton.test.js +15 -0
  399. package/src/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +3 -3
  400. package/src/elements/content-sidebar/activity-feed/task-form/TaskForm.js +18 -5
  401. package/src/elements/content-sidebar/versions/StaticVersionSidebar.js +97 -0
  402. package/src/elements/content-sidebar/versions/StaticVersionsSidebar.scss +67 -0
  403. package/src/elements/content-sidebar/versions/VersionsSidebar.js +16 -3
  404. package/src/elements/content-sidebar/versions/VersionsSidebar.scss +5 -0
  405. package/src/elements/content-sidebar/versions/VersionsSidebarContainer.js +42 -7
  406. package/src/elements/content-sidebar/versions/__tests__/VersionsSidebar.test.js +18 -1
  407. package/src/elements/content-sidebar/versions/__tests__/VersionsSidebarContainer.test.js +51 -2
  408. package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebarContainer.test.js.snap +75 -0
  409. package/src/elements/content-sidebar/versions/flowTypes.js +1 -0
  410. package/src/elements/content-sidebar/versions/messages.js +28 -0
  411. package/src/features/classification/constants.js +2 -0
  412. package/src/features/classification/flowTypes.js +7 -1
  413. package/src/features/classification/security-controls/SecurityControls.js +3 -4
  414. package/src/features/classification/security-controls/SecurityControlsItem.js +20 -17
  415. package/src/features/classification/security-controls/SecurityControlsItem.scss +4 -0
  416. package/src/features/classification/security-controls/SecurityControlsModal.js +2 -2
  417. package/src/features/classification/security-controls/__tests__/SecurityControlsItem.test.js +10 -0
  418. package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControls.test.js.snap +6 -6
  419. package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControlsItem.test.js.snap +35 -0
  420. package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControlsModal.test.js.snap +2 -2
  421. package/src/features/classification/security-controls/__tests__/__snapshots__/utils.test.js.snap +20 -0
  422. package/src/features/classification/security-controls/__tests__/utils.test.js +38 -18
  423. package/src/features/classification/security-controls/messages.js +5 -0
  424. package/src/features/classification/security-controls/utils.js +51 -27
  425. package/src/features/collapsible-sidebar/CollapsibleSidebar.js +13 -5
  426. package/src/features/collapsible-sidebar/CollapsibleSidebar.scss +35 -3
  427. package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebar.test.js +35 -0
  428. package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebar.test.js.snap +1 -0
  429. package/src/features/content-explorer/content-explorer/ContentExplorer.scss +1 -1
  430. package/src/features/content-explorer/item-list/ItemList.js +1 -0
  431. package/src/features/content-explorer/item-list/ItemListName.js +3 -2
  432. package/src/features/content-explorer/item-list/__tests__/ItemListName.test.js +16 -2
  433. package/src/features/header-flyout/HeaderFlyout.js +4 -8
  434. package/src/features/header-flyout/__tests__/__snapshots__/HeaderFlyout.test.js.snap +14 -11
  435. package/src/features/header-flyout/styles/HeaderFlyout.scss +54 -15
  436. package/src/features/header-flyout/styles/_variables.scss +4 -0
  437. package/src/features/message-center/components/message-center-modal/MessageCenterModal.js +1 -0
  438. package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplateDropdown.test.js.snap +7 -0
  439. package/src/features/pagination/__tests__/__snapshots__/MarkerBasedPagination.test.js.snap +0 -8
  440. package/src/features/pagination/__tests__/__snapshots__/OffsetBasedPagination.test.js.snap +0 -16
  441. package/src/features/presence/PresenceCollaborator.js +81 -0
  442. package/src/features/presence/PresenceCollaborator.scss +28 -0
  443. package/src/features/presence/PresenceCollaboratorsList.js +7 -58
  444. package/src/features/presence/PresenceCollaboratorsList.scss +8 -35
  445. package/src/features/presence/__tests__/PresenceCollaborator.test.js +36 -0
  446. package/src/features/presence/__tests__/PresenceCollaboratorsList.test.js +13 -57
  447. package/src/features/presence/__tests__/__snapshots__/Presence.test.js.snap +5 -0
  448. package/src/features/presence/__tests__/__snapshots__/PresenceLink.test.js.snap +3 -0
  449. package/src/features/query-bar/__tests__/__snapshots__/ColumnButton.test.js.snap +3 -0
  450. package/src/features/quick-search/QuickSearch.js +13 -1
  451. package/src/features/quick-search/__tests__/QuickSearch.test.js +17 -0
  452. package/src/features/unified-share-modal/SharedLinkSection.js +6 -27
  453. package/src/features/unified-share-modal/UnifiedShareForm.js +70 -14
  454. package/src/features/unified-share-modal/UnifiedShareModal.scss +3 -0
  455. package/src/features/unified-share-modal/__tests__/EmailForm.test.js +9 -0
  456. package/src/features/unified-share-modal/__tests__/SharedLinkSection.test.js +14 -4
  457. package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +53 -4
  458. package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkSection.test.js.snap +9 -0
  459. package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +0 -159
  460. package/src/features/unified-share-modal/flowTypes.js +6 -0
  461. package/src/features/unified-share-modal/messages.js +10 -0
  462. package/src/features/unified-share-modal/utils/__tests__/mergeContacts.test.js +23 -0
  463. package/src/features/unified-share-modal/utils/mergeContacts.js +4 -2
  464. package/src/icon/content/FileXbd32.js.flow +38 -0
  465. package/src/icon/content/FileXbd32.stories.tsx +13 -0
  466. package/src/icon/content/FileXbd32.tsx +37 -0
  467. package/src/icon/content/FileXdw32.js.flow +38 -0
  468. package/src/icon/content/FileXdw32.stories.tsx +13 -0
  469. package/src/icon/content/FileXdw32.tsx +37 -0
  470. package/src/icon/content/RetentionPolicyModifiable32.js.flow +31 -0
  471. package/src/icon/content/RetentionPolicyModifiable32.stories.tsx +14 -0
  472. package/src/icon/content/RetentionPolicyModifiable32.tsx +29 -0
  473. package/src/icon/content/RetentionPolicyNonModifiable32.js.flow +31 -0
  474. package/src/icon/content/RetentionPolicyNonModifiable32.stories.tsx +14 -0
  475. package/src/icon/content/RetentionPolicyNonModifiable32.tsx +29 -0
  476. package/src/icons/adobe-sign/README.md +1 -1
  477. package/src/icons/avatars/UnknownUserAvatar.tsx +7 -15
  478. package/src/icons/file-icon/FileIcon.js.flow +2 -2
  479. package/src/icons/file-icon/FileIcon.tsx +8 -2
  480. package/src/icons/file-icon/__tests__/FileIcon.test.tsx +28 -69
  481. package/src/icons/file-icon/__tests__/__snapshots__/FileIcon.test.tsx.snap +48 -34
  482. package/src/icons/general/IconSearch.js.flow +1 -1
  483. package/src/icons/general/IconSearch.tsx +1 -1
  484. package/src/icons/general/IconSearchJuicy.js.flow +26 -0
  485. package/src/icons/general/IconSearchJuicy.tsx +25 -0
  486. package/src/icons/general/README.md +5 -0
  487. package/src/icons/general/__tests__/IconSearchJuicy.test.tsx +38 -0
  488. package/src/icons/google-docs/IconGoogle.js.flow +57 -0
  489. package/src/icons/google-docs/IconGoogle.tsx +50 -0
  490. package/src/icons/google-docs/__tests__/IconGoogle.test.tsx +44 -0
  491. package/src/icons/item-icon/ItemIcon.tsx +4 -0
  492. package/src/icons/item-icon/__tests__/ItemIcon.test.tsx +47 -115
  493. package/src/icons/item-icon/__tests__/__snapshots__/ItemIcon.test.tsx.snap +229 -229
  494. package/src/icons/microsoft-office/IconOffice.js.flow +45 -0
  495. package/src/icons/microsoft-office/IconOffice.tsx +38 -0
  496. package/src/icons/microsoft-office/__tests__/IconOffice.test.tsx +44 -0
  497. package/src/illustration/EmailVerification140.js.flow +102 -0
  498. package/src/illustration/EmailVerification140.stories.tsx +13 -0
  499. package/src/illustration/EmailVerification140.tsx +100 -0
  500. package/src/styles/_variables.scss +1 -0
  501. package/src/styles/common/_forms.scss +6 -0
  502. package/src/styles/constants/_layout.scss +3 -0
  503. package/src/styles/constants/_media-queries.scss +15 -0
  504. package/src/styles/variables.js +10 -1
  505. package/src/styles/variables.json +10 -1
  506. package/src/styles/variables.ts +9 -0
  507. package/src/utils/Browser.js +10 -0
  508. package/src/utils/validators.js +25 -3
@@ -77,7 +77,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
77
77
  onBlur={[Function]}
78
78
  onClick={[Function]}
79
79
  onFocus={[Function]}
80
- onKeyDown={[Function]}
81
80
  onMouseEnter={[Function]}
82
81
  onMouseLeave={[Function]}
83
82
  showRadar={false}
@@ -89,7 +88,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
89
88
  onBlur={[Function]}
90
89
  onClick={[Function]}
91
90
  onFocus={[Function]}
92
- onKeyDown={[Function]}
93
91
  onMouseEnter={[Function]}
94
92
  onMouseLeave={[Function]}
95
93
  tabIndex="0"
@@ -326,7 +324,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
326
324
  onBlur={[Function]}
327
325
  onClick={[Function]}
328
326
  onFocus={[Function]}
329
- onKeyDown={[Function]}
330
327
  onMouseEnter={[Function]}
331
328
  onMouseLeave={[Function]}
332
329
  showRadar={false}
@@ -338,7 +335,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
338
335
  onBlur={[Function]}
339
336
  onClick={[Function]}
340
337
  onFocus={[Function]}
341
- onKeyDown={[Function]}
342
338
  onMouseEnter={[Function]}
343
339
  onMouseLeave={[Function]}
344
340
  tabIndex="0"
@@ -457,7 +453,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
457
453
  onBlur={[Function]}
458
454
  onClick={[Function]}
459
455
  onFocus={[Function]}
460
- onKeyDown={[Function]}
461
456
  onMouseEnter={[Function]}
462
457
  onMouseLeave={[Function]}
463
458
  showRadar={false}
@@ -469,7 +464,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
469
464
  onBlur={[Function]}
470
465
  onClick={[Function]}
471
466
  onFocus={[Function]}
472
- onKeyDown={[Function]}
473
467
  onMouseEnter={[Function]}
474
468
  onMouseLeave={[Function]}
475
469
  tabIndex="0"
@@ -560,7 +554,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
560
554
  onBlur={[Function]}
561
555
  onClick={[Function]}
562
556
  onFocus={[Function]}
563
- onKeyDown={[Function]}
564
557
  onMouseEnter={[Function]}
565
558
  onMouseLeave={[Function]}
566
559
  showRadar={false}
@@ -572,7 +565,6 @@ exports[`elements/Pagination/MarkerBasedPagination should render properly with o
572
565
  onBlur={[Function]}
573
566
  onClick={[Function]}
574
567
  onFocus={[Function]}
575
- onKeyDown={[Function]}
576
568
  onMouseEnter={[Function]}
577
569
  onMouseLeave={[Function]}
578
570
  tabIndex="0"
@@ -207,7 +207,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
207
207
  onBlur={[Function]}
208
208
  onClick={[Function]}
209
209
  onFocus={[Function]}
210
- onKeyDown={[Function]}
211
210
  onMouseEnter={[Function]}
212
211
  onMouseLeave={[Function]}
213
212
  showRadar={false}
@@ -219,7 +218,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
219
218
  onBlur={[Function]}
220
219
  onClick={[Function]}
221
220
  onFocus={[Function]}
222
- onKeyDown={[Function]}
223
221
  onMouseEnter={[Function]}
224
222
  onMouseLeave={[Function]}
225
223
  tabIndex="0"
@@ -476,7 +474,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
476
474
  onBlur={[Function]}
477
475
  onClick={[Function]}
478
476
  onFocus={[Function]}
479
- onKeyDown={[Function]}
480
477
  onMouseEnter={[Function]}
481
478
  onMouseLeave={[Function]}
482
479
  showRadar={false}
@@ -488,7 +485,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
488
485
  onBlur={[Function]}
489
486
  onClick={[Function]}
490
487
  onFocus={[Function]}
491
- onKeyDown={[Function]}
492
488
  onMouseEnter={[Function]}
493
489
  onMouseLeave={[Function]}
494
490
  tabIndex="0"
@@ -745,7 +741,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
745
741
  onBlur={[Function]}
746
742
  onClick={[Function]}
747
743
  onFocus={[Function]}
748
- onKeyDown={[Function]}
749
744
  onMouseEnter={[Function]}
750
745
  onMouseLeave={[Function]}
751
746
  showRadar={false}
@@ -757,7 +752,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
757
752
  onBlur={[Function]}
758
753
  onClick={[Function]}
759
754
  onFocus={[Function]}
760
- onKeyDown={[Function]}
761
755
  onMouseEnter={[Function]}
762
756
  onMouseLeave={[Function]}
763
757
  tabIndex="0"
@@ -955,7 +949,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
955
949
  onBlur={[Function]}
956
950
  onClick={[Function]}
957
951
  onFocus={[Function]}
958
- onKeyDown={[Function]}
959
952
  onMouseEnter={[Function]}
960
953
  onMouseLeave={[Function]}
961
954
  showRadar={false}
@@ -967,7 +960,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
967
960
  onBlur={[Function]}
968
961
  onClick={[Function]}
969
962
  onFocus={[Function]}
970
- onKeyDown={[Function]}
971
963
  onMouseEnter={[Function]}
972
964
  onMouseLeave={[Function]}
973
965
  tabIndex="0"
@@ -1058,7 +1050,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1058
1050
  onBlur={[Function]}
1059
1051
  onClick={[Function]}
1060
1052
  onFocus={[Function]}
1061
- onKeyDown={[Function]}
1062
1053
  onMouseEnter={[Function]}
1063
1054
  onMouseLeave={[Function]}
1064
1055
  showRadar={false}
@@ -1070,7 +1061,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1070
1061
  onBlur={[Function]}
1071
1062
  onClick={[Function]}
1072
1063
  onFocus={[Function]}
1073
- onKeyDown={[Function]}
1074
1064
  onMouseEnter={[Function]}
1075
1065
  onMouseLeave={[Function]}
1076
1066
  tabIndex="0"
@@ -1268,7 +1258,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1268
1258
  onBlur={[Function]}
1269
1259
  onClick={[Function]}
1270
1260
  onFocus={[Function]}
1271
- onKeyDown={[Function]}
1272
1261
  onMouseEnter={[Function]}
1273
1262
  onMouseLeave={[Function]}
1274
1263
  showRadar={false}
@@ -1280,7 +1269,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1280
1269
  onBlur={[Function]}
1281
1270
  onClick={[Function]}
1282
1271
  onFocus={[Function]}
1283
- onKeyDown={[Function]}
1284
1272
  onMouseEnter={[Function]}
1285
1273
  onMouseLeave={[Function]}
1286
1274
  tabIndex="0"
@@ -1371,7 +1359,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1371
1359
  onBlur={[Function]}
1372
1360
  onClick={[Function]}
1373
1361
  onFocus={[Function]}
1374
- onKeyDown={[Function]}
1375
1362
  onMouseEnter={[Function]}
1376
1363
  onMouseLeave={[Function]}
1377
1364
  showRadar={false}
@@ -1383,7 +1370,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1383
1370
  onBlur={[Function]}
1384
1371
  onClick={[Function]}
1385
1372
  onFocus={[Function]}
1386
- onKeyDown={[Function]}
1387
1373
  onMouseEnter={[Function]}
1388
1374
  onMouseLeave={[Function]}
1389
1375
  tabIndex="0"
@@ -1581,7 +1567,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1581
1567
  onBlur={[Function]}
1582
1568
  onClick={[Function]}
1583
1569
  onFocus={[Function]}
1584
- onKeyDown={[Function]}
1585
1570
  onMouseEnter={[Function]}
1586
1571
  onMouseLeave={[Function]}
1587
1572
  showRadar={false}
@@ -1593,7 +1578,6 @@ exports[`elements/Pagination/OffsetBasedPagination should render properly with o
1593
1578
  onBlur={[Function]}
1594
1579
  onClick={[Function]}
1595
1580
  onFocus={[Function]}
1596
- onKeyDown={[Function]}
1597
1581
  onMouseEnter={[Function]}
1598
1582
  onMouseLeave={[Function]}
1599
1583
  tabIndex="0"
@@ -0,0 +1,81 @@
1
+ import * as React from 'react';
2
+ import isEmpty from 'lodash/isEmpty';
3
+ import PropTypes from 'prop-types';
4
+ import { FormattedMessage, injectIntl } from 'react-intl';
5
+
6
+ import Link from '../../components/link/LinkBase';
7
+ import messages from './messages';
8
+ import PresenceAvatar from './PresenceAvatar';
9
+ import { determineInteractionMessage } from './utils/presenceUtils';
10
+
11
+ import './PresenceCollaborator.scss';
12
+
13
+ export const renderTimestampMessage = (interactedAt, interactionType, intl) => {
14
+ const lastActionMessage = determineInteractionMessage(interactionType, interactedAt);
15
+ const timeAgo = intl.formatRelativeTime
16
+ ? intl.formatRelativeTime(interactedAt - Date.now())
17
+ : intl.formatRelative(interactedAt);
18
+
19
+ if (lastActionMessage) {
20
+ return (
21
+ <FormattedMessage
22
+ {...lastActionMessage}
23
+ values={{
24
+ timeAgo,
25
+ }}
26
+ />
27
+ );
28
+ }
29
+ return null;
30
+ };
31
+
32
+ const PresenceCollaborator = ({ collaborator, intl, ...props }) => {
33
+ const { avatarUrl, id, interactedAt, interactionType, isActive, name, profileUrl } = collaborator;
34
+
35
+ return (
36
+ <div className="bdl-PresenceCollaborator" {...props}>
37
+ <PresenceAvatar avatarUrl={avatarUrl} id={id} isActive={isActive} isDropDownAvatar name={name} />
38
+ <div className="bdl-PresenceCollaborator-info-container">
39
+ <div className="bdl-PresenceCollaborator-info-name">
40
+ {isEmpty(profileUrl) ? (
41
+ <span>{name}</span>
42
+ ) : (
43
+ <Link href={profileUrl} target="_blank">
44
+ {name}
45
+ </Link>
46
+ )}
47
+ </div>
48
+ <div className="bdl-PresenceCollaborator-info-time">
49
+ {isActive ? (
50
+ <FormattedMessage {...messages.activeNowText} />
51
+ ) : (
52
+ renderTimestampMessage(interactedAt, interactionType, intl)
53
+ )}
54
+ </div>
55
+ </div>
56
+ </div>
57
+ );
58
+ };
59
+
60
+ PresenceCollaborator.propTypes = {
61
+ collaborator: PropTypes.shape({
62
+ /** Url to avatar image. If passed in, component will render the avatar image instead of the initials */
63
+ avatarUrl: PropTypes.string,
64
+ /** Users id */
65
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
66
+ isActive: PropTypes.bool,
67
+ /** Unix timestamp of when the user last interacted with the document */
68
+ interactedAt: PropTypes.number,
69
+ /** The type of interaction by the user */
70
+ interactionType: PropTypes.string,
71
+ /** User's full name */
72
+ name: PropTypes.string.isRequired,
73
+ /** Custom Profile URL */
74
+ profileUrl: PropTypes.string,
75
+ }).isRequired,
76
+ /* Intl object */
77
+ intl: PropTypes.any,
78
+ };
79
+
80
+ export { PresenceCollaborator as PresenceCollaboratorComponent };
81
+ export default injectIntl(PresenceCollaborator);
@@ -0,0 +1,28 @@
1
+ @import './styles';
2
+
3
+ .bdl-PresenceCollaborator-info-container {
4
+ display: inline-block;
5
+ margin-left: 10px;
6
+ }
7
+
8
+ .bdl-PresenceCollaborator-info-name {
9
+ width: 180px;
10
+ overflow: hidden;
11
+ color: $bdl-gray;
12
+ font-size: 13px;
13
+ white-space: nowrap;
14
+ text-overflow: ellipsis;
15
+
16
+ a {
17
+ color: $bdl-gray;
18
+
19
+ &:hover {
20
+ text-decoration: underline;
21
+ }
22
+ }
23
+ }
24
+
25
+ .bdl-PresenceCollaborator-info-time {
26
+ color: $bdl-gray-62;
27
+ font-size: 12px;
28
+ }
@@ -1,14 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import classnames from 'classnames';
3
- import isEmpty from 'lodash/isEmpty';
4
3
  import PropTypes from 'prop-types';
5
4
  import throttle from 'lodash/throttle';
6
5
  import { FormattedMessage, injectIntl } from 'react-intl';
6
+
7
7
  import Button from '../../components/button';
8
- import Link from '../../components/link/LinkBase';
8
+ import PresenceCollaborator from './PresenceCollaborator';
9
9
  import messages from './messages';
10
- import PresenceAvatar from './PresenceAvatar';
11
- import { determineInteractionMessage } from './utils/presenceUtils';
10
+
12
11
  import './PresenceCollaboratorsList.scss';
13
12
 
14
13
  class PresenceCollaboratorsList extends React.Component<Props> {
@@ -96,57 +95,6 @@ class PresenceCollaboratorsList extends React.Component<Props> {
96
95
  </div>
97
96
  );
98
97
 
99
- renderTimestampMessage = (interactedAt, interactionType) => {
100
- const lastActionMessage = determineInteractionMessage(interactionType, interactedAt);
101
- const { intl } = this.props;
102
- const timeAgo = intl.formatRelativeTime
103
- ? intl.formatRelativeTime(interactedAt - Date.now())
104
- : intl.formatRelative(interactedAt);
105
-
106
- if (lastActionMessage) {
107
- return (
108
- <FormattedMessage
109
- {...lastActionMessage}
110
- values={{
111
- timeAgo,
112
- }}
113
- />
114
- );
115
- }
116
- return null;
117
- };
118
-
119
- renderCollabList = () => {
120
- const { collaborators } = this.props;
121
- return collaborators.map(collaborator => {
122
- const { avatarUrl, id, isActive, interactedAt, interactionType, name, profileUrl } = collaborator;
123
-
124
- return (
125
- <div key={id} className="bdl-PresenceCollaboratorsList-item" role="listitem">
126
- <PresenceAvatar avatarUrl={avatarUrl} id={id} isActive={isActive} isDropDownAvatar name={name} />
127
- <div className="bdl-PresenceCollaboratorsList-item-info-container">
128
- <div className="bdl-PresenceCollaboratorsList-item-info-name">
129
- {isEmpty(profileUrl) ? (
130
- <span>{name}</span>
131
- ) : (
132
- <Link href={profileUrl} target="_blank">
133
- {name}
134
- </Link>
135
- )}
136
- </div>
137
- <div className="bdl-PresenceCollaboratorsList-item-info-time">
138
- {isActive ? (
139
- <FormattedMessage {...messages.activeNowText} />
140
- ) : (
141
- this.renderTimestampMessage(interactedAt, interactionType)
142
- )}
143
- </div>
144
- </div>
145
- </div>
146
- );
147
- });
148
- };
149
-
150
98
  renderActions = () => {
151
99
  const { getLinkCallback, inviteCallback } = this.props;
152
100
 
@@ -172,7 +120,7 @@ class PresenceCollaboratorsList extends React.Component<Props> {
172
120
 
173
121
  render() {
174
122
  const { isScrollableAbove, isScrollableBelow } = this.state;
175
- const { getLinkCallback, inviteCallback } = this.props;
123
+ const { collaborators, getLinkCallback, inviteCallback } = this.props;
176
124
  const buttonsPresent = getLinkCallback || inviteCallback;
177
125
 
178
126
  const dropdownListClasses = classnames('bdl-PresenceCollaboratorsList-list', {
@@ -183,7 +131,6 @@ class PresenceCollaboratorsList extends React.Component<Props> {
183
131
  });
184
132
 
185
133
  const title = this.renderTitle();
186
- const collabList = this.renderCollabList();
187
134
  const actions = this.renderActions();
188
135
 
189
136
  return (
@@ -197,7 +144,9 @@ class PresenceCollaboratorsList extends React.Component<Props> {
197
144
  onScroll={this.throttledHandleScroll}
198
145
  role="list"
199
146
  >
200
- {collabList}
147
+ {collaborators.map(collaborator => (
148
+ <PresenceCollaborator collaborator={collaborator} key={collaborator.id} role="listitem" />
149
+ ))}
201
150
  </div>
202
151
  {actions}
203
152
  </div>
@@ -77,52 +77,25 @@
77
77
  /* end GROWTH-382 */
78
78
  }
79
79
 
80
- .bdl-PresenceCollaboratorsList-title {
81
- margin-top: 0;
82
- margin-bottom: 10px;
83
- color: $bdl-gray;
84
- font-size: 15px;
85
- }
86
-
87
- .bdl-PresenceCollaboratorsList-item {
80
+ .bdl-PresenceCollaborator {
88
81
  display: flex;
89
82
  align-items: center;
90
83
  margin-top: 10px;
91
84
  }
92
85
 
93
- .bdl-PresenceCollaboratorsList-item-info-container {
94
- display: inline-block;
95
- margin-left: 10px;
96
- }
97
-
98
- .bdl-PresenceCollaboratorsList-item-info-name {
99
- width: 180px;
100
- overflow: hidden;
101
- color: $bdl-gray;
102
- font-size: 13px;
103
- white-space: nowrap;
104
- text-overflow: ellipsis;
105
-
106
- a {
107
- color: $bdl-gray;
108
-
109
- &:hover {
110
- text-decoration: underline;
111
- }
112
- }
113
- }
114
-
115
- .bdl-PresenceCollaboratorsList-item-info-time {
116
- color: $bdl-gray-62;
117
- font-size: 12px;
118
- }
119
-
120
86
  .bdl-PresenceCollaboratorsList-list {
121
87
  max-height: 200px;
122
88
  overflow-x: hidden;
123
89
  overflow-y: auto;
124
90
  }
125
91
 
92
+ .bdl-PresenceCollaboratorsList-title {
93
+ margin-top: 0;
94
+ margin-bottom: 10px;
95
+ color: $bdl-gray;
96
+ font-size: 15px;
97
+ }
98
+
126
99
  .bdl-PresenceCollaboratorsList-actions {
127
100
  display: flex;
128
101
  justify-content: flex-end;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { createIntl } from 'react-intl';
3
+ import { PresenceCollaboratorComponent as PresenceCollaborator, renderTimestampMessage } from '../PresenceCollaborator';
4
+
5
+ const intl = createIntl({});
6
+
7
+ describe('features/presence/PresenceCollaborator', () => {
8
+ describe('renderTimestampMessage()', () => {
9
+ test('should return null when interactionType is an unkown type', () => {
10
+ const res = renderTimestampMessage(123, 'test1234', intl);
11
+ expect(res).toEqual(null);
12
+ });
13
+
14
+ test('should not return null when interactionType is a known type', () => {
15
+ const res = renderTimestampMessage(123, 'user.item_preview', intl);
16
+ expect(res).not.toEqual(null);
17
+ });
18
+ });
19
+
20
+ describe('render()', () => {
21
+ test('should correctly render a collaborator', () => {
22
+ const collaborator = {
23
+ avatarUrl: '',
24
+ id: '1',
25
+ isActive: false,
26
+ interactedAt: 999,
27
+ interactionType: 'user.item_preview',
28
+ name: 'e',
29
+ };
30
+
31
+ const wrapper = shallow(<PresenceCollaborator collaborator={collaborator} intl={intl} />);
32
+
33
+ expect(wrapper.find('.bdl-PresenceCollaborator').length).toBe(1);
34
+ });
35
+ });
36
+ });
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { createIntl } from 'react-intl';
3
3
  import collaboratorList from '../__mocks__/collaborators';
4
+ import PresenceCollaborator from '../PresenceCollaborator';
4
5
  import { PresenceCollaboratorsListComponent as PresenceCollaboratorsList } from '../PresenceCollaboratorsList';
5
6
 
6
7
  const intl = createIntl({});
@@ -132,68 +133,23 @@ describe('features/presence/PresenceCollaboratorsList', () => {
132
133
  });
133
134
  });
134
135
 
135
- describe('renderTimestampMessage()', () => {
136
- test('should return null when interactionType is an unkown type', () => {
137
- const wrapper = shallow(<PresenceCollaboratorsList intl={intl} collaborators={collaboratorList} />, {
138
- disableLifecycleMethods: true,
139
- });
140
- const instance = wrapper.instance();
141
- const res = instance.renderTimestampMessage(123, 'test1234');
142
- expect(res).toEqual(null);
143
- });
144
-
145
- test('should not return null when interactionType is a known type', () => {
146
- const wrapper = shallow(<PresenceCollaboratorsList intl={intl} collaborators={collaboratorList} />, {
147
- disableLifecycleMethods: true,
148
- });
149
- const instance = wrapper.instance();
150
- const res = instance.renderTimestampMessage(123, 'user.item_preview');
151
- expect(res).not.toEqual(null);
152
- });
153
- });
154
-
155
136
  describe('render()', () => {
156
- test('should correctly render an empty PresenceCollaboratorsList', () => {
157
- const collaborators = [];
158
-
159
- const wrapper = shallow(<PresenceCollaboratorsList intl={intl} collaborators={collaborators} />, {
160
- disableLifecycleMethods: true,
161
- });
137
+ const wrapper = shallow(
138
+ <PresenceCollaboratorsList
139
+ intl={intl}
140
+ collaborators={collaboratorList}
141
+ getLinkCallback={() => {}}
142
+ inviteCallback={() => {}}
143
+ />,
144
+ { disableLifecycleMethods: true },
145
+ );
162
146
 
163
- const instance = wrapper.instance();
164
-
165
- const calculateOverflowSpy = jest.fn().mockReturnValue({
166
- isScrollableBelow: false,
167
- isScrollableAbove: false,
168
- });
169
- instance.calculateOverflow = calculateOverflowSpy;
170
-
171
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-list').length).toBe(1);
172
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-item').length).toBe(0);
173
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-actions').length).toBe(0);
147
+ test('should correctly render dropdownActions', () => {
148
+ expect(wrapper.find('.bdl-PresenceCollaboratorsList-actions').length).toBe(1);
174
149
  });
175
150
 
176
151
  test('should correctly render collaborators', () => {
177
- const wrapper = shallow(<PresenceCollaboratorsList intl={intl} collaborators={collaboratorList} />, {
178
- disableLifecycleMethods: true,
179
- });
180
-
181
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-list').length).toBe(1);
182
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-item').length).toBe(5);
183
- });
184
-
185
- test('should correctly render dropdownActions', () => {
186
- const wrapper = shallow(
187
- <PresenceCollaboratorsList
188
- intl={intl}
189
- collaborators={collaboratorList}
190
- getLinkCallback={() => {}}
191
- inviteCallback={() => {}}
192
- />,
193
- { disableLifecycleMethods: true },
194
- );
195
-
196
- expect(wrapper.find('.bdl-PresenceCollaboratorsList-actions').length).toBe(1);
152
+ expect(wrapper.find(PresenceCollaborator)).toHaveLength(5);
197
153
  });
198
154
  });
199
155
  });
@@ -8,6 +8,7 @@ exports[`features/presence/Presence render() Tests for presence autofly - GROWTH
8
8
  closeOnWindowBlur={false}
9
9
  constrainToScrollParent={true}
10
10
  constrainToWindow={false}
11
+ isResponsive={false}
11
12
  isVisibleByDefault={false}
12
13
  onClose={[Function]}
13
14
  onOpen={[Function]}
@@ -131,6 +132,7 @@ exports[`features/presence/Presence render() Tests for presence autofly - GROWTH
131
132
  closeOnWindowBlur={false}
132
133
  constrainToScrollParent={true}
133
134
  constrainToWindow={false}
135
+ isResponsive={false}
134
136
  isVisibleByDefault={false}
135
137
  onClose={[Function]}
136
138
  onOpen={[Function]}
@@ -254,6 +256,7 @@ exports[`features/presence/Presence render() Tests for presence autofly - GROWTH
254
256
  closeOnWindowBlur={false}
255
257
  constrainToScrollParent={true}
256
258
  constrainToWindow={false}
259
+ isResponsive={false}
257
260
  isVisibleByDefault={false}
258
261
  onClose={[Function]}
259
262
  onOpen={[Function]}
@@ -300,6 +303,7 @@ exports[`features/presence/Presence render() Tests for presence autofly - GROWTH
300
303
  closeOnWindowBlur={false}
301
304
  constrainToScrollParent={true}
302
305
  constrainToWindow={false}
306
+ isResponsive={false}
303
307
  isVisibleByDefault={false}
304
308
  onClose={[Function]}
305
309
  onOpen={[Function]}
@@ -432,6 +436,7 @@ exports[`features/presence/Presence render() Tests for presence autofly - GROWTH
432
436
  closeOnWindowBlur={false}
433
437
  constrainToScrollParent={true}
434
438
  constrainToWindow={false}
439
+ isResponsive={false}
435
440
  isVisibleByDefault={true}
436
441
  onClose={[Function]}
437
442
  onOpen={[Function]}
@@ -8,6 +8,7 @@ exports[`features/presence/PresenceLink render() should change the flyoutPositio
8
8
  closeOnWindowBlur={false}
9
9
  constrainToScrollParent={true}
10
10
  constrainToWindow={false}
11
+ isResponsive={false}
11
12
  isVisibleByDefault={false}
12
13
  openOnHover={false}
13
14
  openOnHoverDelayTimeout={300}
@@ -91,6 +92,7 @@ exports[`features/presence/PresenceLink render() should correctly render collabo
91
92
  closeOnWindowBlur={false}
92
93
  constrainToScrollParent={true}
93
94
  constrainToWindow={false}
95
+ isResponsive={false}
94
96
  isVisibleByDefault={false}
95
97
  openOnHover={false}
96
98
  openOnHoverDelayTimeout={300}
@@ -175,6 +177,7 @@ exports[`features/presence/PresenceLink render() should pass through additional
175
177
  closeOnWindowBlur={false}
176
178
  constrainToScrollParent={true}
177
179
  constrainToWindow={false}
180
+ isResponsive={false}
178
181
  isVisibleByDefault={false}
179
182
  openOnHover={false}
180
183
  openOnHoverDelayTimeout={300}
@@ -8,6 +8,7 @@ exports[`features/query-bar/components/ColumnButton render should render ColumnB
8
8
  closeOnWindowBlur={false}
9
9
  constrainToScrollParent={true}
10
10
  constrainToWindow={false}
11
+ isResponsive={false}
11
12
  isVisibleByDefault={false}
12
13
  onClose={[Function]}
13
14
  onOpen={[Function]}
@@ -50,6 +51,7 @@ exports[`features/query-bar/components/ColumnButton render should render ColumnB
50
51
  closeOnWindowBlur={false}
51
52
  constrainToScrollParent={true}
52
53
  constrainToWindow={false}
54
+ isResponsive={false}
53
55
  isVisibleByDefault={false}
54
56
  onClose={[Function]}
55
57
  onOpen={[Function]}
@@ -114,6 +116,7 @@ exports[`features/query-bar/components/ColumnButton render should render ColumnB
114
116
  closeOnWindowBlur={false}
115
117
  constrainToScrollParent={true}
116
118
  constrainToWindow={false}
119
+ isResponsive={false}
117
120
  isVisibleByDefault={false}
118
121
  onClose={[Function]}
119
122
  onOpen={[Function]}