box-ui-elements 23.1.0 → 23.2.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 (117) hide show
  1. package/dist/explorer.css +1 -1
  2. package/dist/explorer.js +1 -1
  3. package/dist/openwith.js +1 -1
  4. package/dist/picker.js +1 -1
  5. package/dist/preview.css +1 -1
  6. package/dist/preview.js +1 -1
  7. package/dist/sharing.css +1 -1
  8. package/dist/sharing.js +1 -1
  9. package/dist/sidebar.js +1 -1
  10. package/dist/uploader.js +1 -1
  11. package/es/elements/common/content-answers/ContentAnswersOpenButton.scss +1 -1
  12. package/es/features/collaborator-avatars/CollaboratorList.js +5 -1
  13. package/es/features/collaborator-avatars/CollaboratorList.js.flow +12 -1
  14. package/es/features/collaborator-avatars/CollaboratorList.js.map +1 -1
  15. package/es/features/collaborator-avatars/CollaboratorList.scss +3 -0
  16. package/es/features/collaborator-avatars/CollaboratorListItem.js +26 -5
  17. package/es/features/collaborator-avatars/CollaboratorListItem.js.flow +33 -9
  18. package/es/features/collaborator-avatars/CollaboratorListItem.js.map +1 -1
  19. package/es/features/collaborator-avatars/CollaboratorListItem.scss +23 -0
  20. package/es/features/message-center/components/MessageCenter.js +1 -0
  21. package/es/features/message-center/components/MessageCenter.js.flow +2 -1
  22. package/es/features/message-center/components/MessageCenter.js.map +1 -1
  23. package/es/features/unified-share-modal/RemoveCollaboratorConfirmModal.js +44 -0
  24. package/es/features/unified-share-modal/RemoveCollaboratorConfirmModal.js.flow +67 -0
  25. package/es/features/unified-share-modal/RemoveCollaboratorConfirmModal.js.map +1 -0
  26. package/es/features/unified-share-modal/UnifiedShareForm.js +8 -3
  27. package/es/features/unified-share-modal/UnifiedShareForm.js.flow +5 -1
  28. package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
  29. package/es/features/unified-share-modal/UnifiedShareModal.js +54 -10
  30. package/es/features/unified-share-modal/UnifiedShareModal.js.flow +59 -11
  31. package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
  32. package/es/features/unified-share-modal/UnifiedShareModal.scss +9 -2
  33. package/es/features/unified-share-modal/flowTypes.js.flow +13 -0
  34. package/es/features/unified-share-modal/flowTypes.js.map +1 -1
  35. package/es/features/unified-share-modal/messages.js +8 -0
  36. package/es/features/unified-share-modal/messages.js.flow +10 -0
  37. package/es/features/unified-share-modal/messages.js.map +1 -1
  38. package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js +221 -4
  39. package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js.flow +208 -3
  40. package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js.map +1 -1
  41. package/es/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.d.ts +4 -4
  42. package/i18n/bn-IN.js +2 -0
  43. package/i18n/bn-IN.properties +4 -0
  44. package/i18n/da-DK.js +2 -0
  45. package/i18n/da-DK.properties +4 -0
  46. package/i18n/de-DE.js +2 -0
  47. package/i18n/de-DE.properties +4 -0
  48. package/i18n/en-AU.js +2 -0
  49. package/i18n/en-AU.properties +4 -0
  50. package/i18n/en-CA.js +2 -0
  51. package/i18n/en-CA.properties +4 -0
  52. package/i18n/en-GB.js +2 -0
  53. package/i18n/en-GB.properties +4 -0
  54. package/i18n/en-US.js +2 -0
  55. package/i18n/en-US.properties +4 -0
  56. package/i18n/en-x-pseudo.js +1010 -1008
  57. package/i18n/en-x-pseudo.properties +1012 -1008
  58. package/i18n/es-419.js +2 -0
  59. package/i18n/es-419.properties +4 -0
  60. package/i18n/es-ES.js +2 -0
  61. package/i18n/es-ES.properties +4 -0
  62. package/i18n/fi-FI.js +2 -0
  63. package/i18n/fi-FI.properties +4 -0
  64. package/i18n/fr-CA.js +2 -0
  65. package/i18n/fr-CA.properties +4 -0
  66. package/i18n/fr-FR.js +2 -0
  67. package/i18n/fr-FR.properties +4 -0
  68. package/i18n/hi-IN.js +2 -0
  69. package/i18n/hi-IN.properties +4 -0
  70. package/i18n/it-IT.js +2 -0
  71. package/i18n/it-IT.properties +4 -0
  72. package/i18n/ja-JP.js +2 -0
  73. package/i18n/ja-JP.properties +4 -0
  74. package/i18n/ko-KR.js +2 -0
  75. package/i18n/ko-KR.properties +4 -0
  76. package/i18n/nb-NO.js +2 -0
  77. package/i18n/nb-NO.properties +4 -0
  78. package/i18n/nl-NL.js +2 -0
  79. package/i18n/nl-NL.properties +4 -0
  80. package/i18n/pl-PL.js +2 -0
  81. package/i18n/pl-PL.properties +4 -0
  82. package/i18n/pt-BR.js +2 -0
  83. package/i18n/pt-BR.properties +4 -0
  84. package/i18n/ru-RU.js +2 -0
  85. package/i18n/ru-RU.properties +4 -0
  86. package/i18n/sv-SE.js +2 -0
  87. package/i18n/sv-SE.properties +4 -0
  88. package/i18n/tr-TR.js +2 -0
  89. package/i18n/tr-TR.properties +4 -0
  90. package/i18n/zh-CN.js +2 -0
  91. package/i18n/zh-CN.properties +4 -0
  92. package/i18n/zh-TW.js +2 -0
  93. package/i18n/zh-TW.properties +4 -0
  94. package/package.json +18 -18
  95. package/src/elements/common/content-answers/ContentAnswersOpenButton.scss +1 -1
  96. package/src/features/collaborator-avatars/CollaboratorList.js +12 -1
  97. package/src/features/collaborator-avatars/CollaboratorList.scss +3 -0
  98. package/src/features/collaborator-avatars/CollaboratorListItem.js +33 -9
  99. package/src/features/collaborator-avatars/CollaboratorListItem.scss +23 -0
  100. package/src/features/collaborator-avatars/__tests__/CollaboratorList.test.js +11 -0
  101. package/src/features/collaborator-avatars/__tests__/CollaboratorListItem.test.js +51 -0
  102. package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorList.test.js.snap +110 -0
  103. package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorListItem.test.js.snap +310 -0
  104. package/src/features/message-center/__tests__/MessageCenter.integration.test.js +10 -0
  105. package/src/features/message-center/components/MessageCenter.js +2 -1
  106. package/src/features/unified-share-modal/README.md +12 -1
  107. package/src/features/unified-share-modal/RemoveCollaboratorConfirmModal.js +67 -0
  108. package/src/features/unified-share-modal/UnifiedShareForm.js +5 -1
  109. package/src/features/unified-share-modal/UnifiedShareModal.js +59 -11
  110. package/src/features/unified-share-modal/UnifiedShareModal.scss +9 -2
  111. package/src/features/unified-share-modal/__tests__/RemoveCollaboratorConfirmModal.test.js +64 -0
  112. package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +34 -1
  113. package/src/features/unified-share-modal/__tests__/UnifiedShareModal.test.js +74 -4
  114. package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModal.test.js.snap +258 -0
  115. package/src/features/unified-share-modal/flowTypes.js +13 -0
  116. package/src/features/unified-share-modal/messages.js +10 -0
  117. package/src/features/unified-share-modal/stories/UnifiedShareModal.stories.js +208 -3
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedShareModal.js","names":["React","injectIntl","Modal","UnifiedShareModalTitle","UnifiedShareForm","RemoveLinkConfirmModal","UnifiedShareModal","Component","constructor","props","_defineProperty","getInitialData","finally","setState","isFetching","shouldRenderFTUXTooltip","getInitialDataCalled","isConfirmModalOpen","onRemoveLink","displayInModal","closeConfirmModal","onCollaboratorAvatarsClick","sharedLinkEditTagTargetingApi","sharedLinkEditTooltipTargetingApi","sharedLinkLoaded","state","createElement","_extends","handleFtuxCloseClick","openConfirmModal","initialDataReceived","isEmailLinkSectionExpanded","showCollaboratorList","componentDidMount","item","trackingProps","type","typedID","modalTracking","onLoad","componentDidUpdate","prevProps","sharedLink","onLoadSharedLink","prevSharedLink","permissionLevel","url","render","canInvite","isOpen","onRequestClose","submitting","removeLinkConfirmModalTracking","modalProps","extendedModalProps","_objectSpread","focusElementSelector","Fragment","className","undefined","title","renderUSF","removeLink","initiallySelectedContacts","isAllowEditSharedLinkForFileEnabled","createSharedLinkOnLoad","focusSharedLinkOnLoad","restrictedCollabEmails","restrictedGroups","inviteCollabsEmailTracking","sharedLinkEmailTracking","sharedLinkTracking","inviteCollabTracking","collaboratorListTracking","UnifiedShareModalBase"],"sources":["../../../src/features/unified-share-modal/UnifiedShareModal.js"],"sourcesContent":["// @flow\n/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Modal } from '../../components/modal';\n\nimport UnifiedShareModalTitle from './UnifiedShareModalTitle';\nimport UnifiedShareForm from './UnifiedShareForm';\nimport RemoveLinkConfirmModal from './RemoveLinkConfirmModal';\nimport type { USMProps } from './flowTypes';\n\nimport './UnifiedShareModal.scss';\n\ntype State = {\n getInitialDataCalled: boolean,\n isConfirmModalOpen: boolean,\n isEmailLinkSectionExpanded: boolean,\n isFetching: boolean,\n sharedLinkLoaded: boolean,\n shouldRenderFTUXTooltip: boolean,\n showCollaboratorList: boolean,\n};\n\nclass UnifiedShareModal extends React.Component<USMProps, State> {\n static defaultProps = {\n displayInModal: true,\n initiallySelectedContacts: [],\n isAllowEditSharedLinkForFileEnabled: false,\n createSharedLinkOnLoad: false,\n focusSharedLinkOnLoad: false,\n restrictedCollabEmails: [],\n restrictedGroups: [],\n trackingProps: {\n inviteCollabsEmailTracking: {},\n sharedLinkEmailTracking: {},\n sharedLinkTracking: {},\n inviteCollabTracking: {},\n modalTracking: {},\n removeLinkConfirmModalTracking: {},\n collaboratorListTracking: {},\n },\n };\n\n constructor(props: USMProps) {\n super(props);\n\n const { initialDataReceived } = props;\n\n this.state = {\n getInitialDataCalled: !!initialDataReceived,\n isConfirmModalOpen: false,\n isEmailLinkSectionExpanded: false,\n isFetching: !initialDataReceived,\n sharedLinkLoaded: false,\n shouldRenderFTUXTooltip: false,\n showCollaboratorList: false,\n };\n }\n\n componentDidMount() {\n const { item, trackingProps } = this.props;\n const { type, typedID } = item;\n const { modalTracking } = trackingProps;\n const { onLoad } = modalTracking;\n const { getInitialDataCalled } = this.state;\n\n // This check is to ensure minimum item props are\n // hydrated before we fetch data\n if (!getInitialDataCalled && type && typedID) {\n this.getInitialData();\n }\n\n if (onLoad) {\n onLoad();\n }\n }\n\n componentDidUpdate(prevProps: USMProps) {\n const { item, sharedLink, trackingProps } = this.props;\n const { type, typedID } = item;\n const { modalTracking } = trackingProps;\n const { onLoadSharedLink } = modalTracking;\n const prevSharedLink = prevProps.sharedLink;\n const { getInitialDataCalled } = this.state;\n\n // This check is to ensure minimum item props are\n // hydrated before we fetch data\n if (!getInitialDataCalled && type && typedID) {\n this.getInitialData();\n }\n\n // this ensures that we obtain shared link information the first time data is returned\n // so we can pass the corresponding permissions in the callback\n if (!prevSharedLink.permissionLevel && sharedLink.permissionLevel && onLoadSharedLink) {\n onLoadSharedLink(sharedLink.permissionLevel);\n }\n\n // we use state to override the default auto copy prop when a URL comes into view\n if (prevSharedLink.url !== sharedLink.url && sharedLink.url) {\n this.setState({ sharedLinkLoaded: true });\n }\n }\n\n getInitialData = () => {\n const { getInitialData } = this.props;\n\n getInitialData().finally(() => {\n this.setState({\n isFetching: false,\n shouldRenderFTUXTooltip: true,\n });\n });\n this.setState({ getInitialDataCalled: true });\n };\n\n handleFtuxCloseClick = () => {\n this.setState({\n shouldRenderFTUXTooltip: false,\n });\n };\n\n openConfirmModal = () => {\n this.setState({ isConfirmModalOpen: true });\n };\n\n closeConfirmModal = () => {\n this.setState({ isConfirmModalOpen: false });\n };\n\n removeLink = () => {\n const { onRemoveLink, displayInModal } = this.props;\n onRemoveLink();\n if (!displayInModal) {\n this.closeConfirmModal();\n }\n };\n\n renderUSF = () => {\n const { onCollaboratorAvatarsClick, sharedLinkEditTagTargetingApi, sharedLinkEditTooltipTargetingApi } =\n this.props;\n const { isFetching, sharedLinkLoaded, shouldRenderFTUXTooltip } = this.state;\n\n return (\n <UnifiedShareForm\n {...this.props}\n onCollaboratorAvatarsClick={onCollaboratorAvatarsClick}\n handleFtuxCloseClick={this.handleFtuxCloseClick}\n isFetching={isFetching}\n openConfirmModal={this.openConfirmModal}\n sharedLinkEditTagTargetingApi={sharedLinkEditTagTargetingApi}\n sharedLinkEditTooltipTargetingApi={sharedLinkEditTooltipTargetingApi}\n sharedLinkLoaded={sharedLinkLoaded}\n shouldRenderFTUXTooltip={shouldRenderFTUXTooltip}\n />\n );\n };\n\n render() {\n // Shared link section props\n const { canInvite, displayInModal, isOpen, item, onRequestClose, submitting, trackingProps } = this.props;\n const { modalTracking, removeLinkConfirmModalTracking } = trackingProps;\n const { modalProps } = modalTracking;\n const { isEmailLinkSectionExpanded, isConfirmModalOpen, showCollaboratorList } = this.state;\n\n // focus logic at modal level\n const extendedModalProps = {\n focusElementSelector: canInvite\n ? '.bdl-PillSelector-input' // focus on invite collabs field\n : '.toggle-simple', // focus on shared link toggle\n ...modalProps,\n };\n\n return (\n <>\n {displayInModal ? (\n <Modal\n className=\"be-modal unified-share-modal\"\n isOpen={isConfirmModalOpen ? false : isOpen}\n onRequestClose={submitting ? undefined : onRequestClose}\n title={\n <UnifiedShareModalTitle\n isEmailLinkSectionExpanded={isEmailLinkSectionExpanded}\n showCollaboratorList={showCollaboratorList}\n item={item}\n />\n }\n {...extendedModalProps}\n >\n {this.renderUSF()}\n </Modal>\n ) : (\n <div className=\"bdl-UnifiedShareForm-container\">{this.renderUSF()}</div>\n )}\n {isConfirmModalOpen && (\n <RemoveLinkConfirmModal\n isOpen={isConfirmModalOpen}\n onRequestClose={this.closeConfirmModal}\n removeLink={this.removeLink}\n submitting={submitting}\n {...removeLinkConfirmModalTracking}\n />\n )}\n </>\n );\n }\n}\n\nexport { UnifiedShareModal as UnifiedShareModalBase };\nexport default injectIntl(UnifiedShareModal);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UnifiedShareModal.js","names":["React","injectIntl","Modal","UnifiedShareModalTitle","UnifiedShareForm","RemoveLinkConfirmModal","RemoveCollaboratorConfirmModal","UnifiedShareModal","Component","constructor","props","_defineProperty","getInitialData","finally","setState","isFetching","shouldRenderFTUXTooltip","getInitialDataCalled","isRemoveLinkConfirmModalOpen","collaborator","canRemoveCollaborators","isRemoveCollaboratorConfirmModalOpen","collaboratorToRemove","onRemoveLink","displayInModal","closeConfirmModal","onRemoveCollaborator","state","closeRemoveCollaboratorConfirmModal","onCollaboratorAvatarsClick","sharedLinkEditTagTargetingApi","sharedLinkEditTooltipTargetingApi","sharedLinkLoaded","createElement","_extends","handleFtuxCloseClick","onRemoveCollaboratorClick","openRemoveCollaboratorConfirmModal","openConfirmModal","initialDataReceived","isEmailLinkSectionExpanded","showCollaboratorList","componentDidMount","item","trackingProps","type","typedID","modalTracking","onLoad","componentDidUpdate","prevProps","sharedLink","onLoadSharedLink","prevSharedLink","permissionLevel","url","render","canInvite","isOpen","onRequestClose","submitting","removeLinkConfirmModalTracking","removeCollaboratorConfirmModalTracking","modalProps","extendedModalProps","_objectSpread","focusElementSelector","Fragment","className","undefined","title","renderUSF","removeLink","onSubmit","removeCollaborator","initiallySelectedContacts","isAllowEditSharedLinkForFileEnabled","createSharedLinkOnLoad","focusSharedLinkOnLoad","restrictedCollabEmails","restrictedGroups","inviteCollabsEmailTracking","sharedLinkEmailTracking","sharedLinkTracking","inviteCollabTracking","collaboratorListTracking","UnifiedShareModalBase"],"sources":["../../../src/features/unified-share-modal/UnifiedShareModal.js"],"sourcesContent":["// @flow\n/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Modal } from '../../components/modal';\n\nimport UnifiedShareModalTitle from './UnifiedShareModalTitle';\nimport UnifiedShareForm from './UnifiedShareForm';\nimport RemoveLinkConfirmModal from './RemoveLinkConfirmModal';\nimport RemoveCollaboratorConfirmModal from './RemoveCollaboratorConfirmModal';\nimport type { USMProps, collaboratorType } from './flowTypes';\n\nimport './UnifiedShareModal.scss';\n\ntype State = {\n collaboratorToRemove: ?collaboratorType,\n getInitialDataCalled: boolean,\n isEmailLinkSectionExpanded: boolean,\n isFetching: boolean,\n isRemoveCollaboratorConfirmModalOpen: boolean,\n isRemoveLinkConfirmModalOpen: boolean,\n sharedLinkLoaded: boolean,\n shouldRenderFTUXTooltip: boolean,\n showCollaboratorList: boolean,\n};\n\nclass UnifiedShareModal extends React.Component<USMProps, State> {\n static defaultProps = {\n canRemoveCollaborators: false,\n displayInModal: true,\n initiallySelectedContacts: [],\n isAllowEditSharedLinkForFileEnabled: false,\n createSharedLinkOnLoad: false,\n focusSharedLinkOnLoad: false,\n restrictedCollabEmails: [],\n restrictedGroups: [],\n trackingProps: {\n inviteCollabsEmailTracking: {},\n sharedLinkEmailTracking: {},\n sharedLinkTracking: {},\n inviteCollabTracking: {},\n modalTracking: {},\n removeLinkConfirmModalTracking: {},\n removeCollaboratorConfirmModalTracking: {},\n collaboratorListTracking: {},\n },\n };\n\n constructor(props: USMProps) {\n super(props);\n\n const { initialDataReceived } = props;\n\n this.state = {\n collaboratorToRemove: null,\n getInitialDataCalled: !!initialDataReceived,\n isRemoveLinkConfirmModalOpen: false,\n isRemoveCollaboratorConfirmModalOpen: false,\n isEmailLinkSectionExpanded: false,\n isFetching: !initialDataReceived,\n sharedLinkLoaded: false,\n shouldRenderFTUXTooltip: false,\n showCollaboratorList: false,\n };\n }\n\n componentDidMount() {\n const { item, trackingProps } = this.props;\n const { type, typedID } = item;\n const { modalTracking } = trackingProps;\n const { onLoad } = modalTracking;\n const { getInitialDataCalled } = this.state;\n\n // This check is to ensure minimum item props are\n // hydrated before we fetch data\n if (!getInitialDataCalled && type && typedID) {\n this.getInitialData();\n }\n\n if (onLoad) {\n onLoad();\n }\n }\n\n componentDidUpdate(prevProps: USMProps) {\n const { item, sharedLink, trackingProps } = this.props;\n const { type, typedID } = item;\n const { modalTracking } = trackingProps;\n const { onLoadSharedLink } = modalTracking;\n const prevSharedLink = prevProps.sharedLink;\n const { getInitialDataCalled } = this.state;\n\n // This check is to ensure minimum item props are\n // hydrated before we fetch data\n if (!getInitialDataCalled && type && typedID) {\n this.getInitialData();\n }\n\n // this ensures that we obtain shared link information the first time data is returned\n // so we can pass the corresponding permissions in the callback\n if (!prevSharedLink.permissionLevel && sharedLink.permissionLevel && onLoadSharedLink) {\n onLoadSharedLink(sharedLink.permissionLevel);\n }\n\n // we use state to override the default auto copy prop when a URL comes into view\n if (prevSharedLink.url !== sharedLink.url && sharedLink.url) {\n this.setState({ sharedLinkLoaded: true });\n }\n }\n\n getInitialData = () => {\n const { getInitialData } = this.props;\n\n getInitialData().finally(() => {\n this.setState({\n isFetching: false,\n shouldRenderFTUXTooltip: true,\n });\n });\n this.setState({ getInitialDataCalled: true });\n };\n\n handleFtuxCloseClick = () => {\n this.setState({\n shouldRenderFTUXTooltip: false,\n });\n };\n\n openConfirmModal = () => {\n this.setState({ isRemoveLinkConfirmModalOpen: true });\n };\n\n openRemoveCollaboratorConfirmModal = (collaborator: collaboratorType) => {\n const { canRemoveCollaborators } = this.props;\n if (canRemoveCollaborators) {\n this.setState({ isRemoveCollaboratorConfirmModalOpen: true, collaboratorToRemove: collaborator });\n }\n };\n\n closeConfirmModal = () => {\n this.setState({ isRemoveLinkConfirmModalOpen: false });\n };\n\n closeRemoveCollaboratorConfirmModal = () => {\n this.setState({\n isRemoveCollaboratorConfirmModalOpen: false,\n collaboratorToRemove: null,\n shouldRenderFTUXTooltip: false,\n });\n };\n\n removeLink = () => {\n const { onRemoveLink, displayInModal } = this.props;\n onRemoveLink();\n if (!displayInModal) {\n this.closeConfirmModal();\n }\n };\n\n removeCollaborator = async () => {\n const { onRemoveCollaborator } = this.props;\n if (this.state.collaboratorToRemove) {\n await onRemoveCollaborator?.(this.state.collaboratorToRemove);\n }\n\n this.closeRemoveCollaboratorConfirmModal();\n };\n\n renderUSF = () => {\n const { onCollaboratorAvatarsClick, sharedLinkEditTagTargetingApi, sharedLinkEditTooltipTargetingApi } =\n this.props;\n const { isFetching, sharedLinkLoaded, shouldRenderFTUXTooltip } = this.state;\n\n return (\n <UnifiedShareForm\n {...this.props}\n onCollaboratorAvatarsClick={onCollaboratorAvatarsClick}\n handleFtuxCloseClick={this.handleFtuxCloseClick}\n onRemoveCollaboratorClick={this.openRemoveCollaboratorConfirmModal}\n isFetching={isFetching}\n openConfirmModal={this.openConfirmModal}\n sharedLinkEditTagTargetingApi={sharedLinkEditTagTargetingApi}\n sharedLinkEditTooltipTargetingApi={sharedLinkEditTooltipTargetingApi}\n sharedLinkLoaded={sharedLinkLoaded}\n shouldRenderFTUXTooltip={shouldRenderFTUXTooltip}\n />\n );\n };\n\n render() {\n // Shared link section props\n const { canInvite, displayInModal, isOpen, item, onRequestClose, submitting, trackingProps } = this.props;\n const { modalTracking, removeLinkConfirmModalTracking, removeCollaboratorConfirmModalTracking } = trackingProps;\n const { modalProps } = modalTracking;\n const {\n isEmailLinkSectionExpanded,\n isRemoveLinkConfirmModalOpen,\n isRemoveCollaboratorConfirmModalOpen,\n showCollaboratorList,\n } = this.state;\n\n // focus logic at modal level\n const extendedModalProps = {\n focusElementSelector: canInvite\n ? '.bdl-PillSelector-input' // focus on invite collaborators field\n : '.toggle-simple', // focus on shared link toggle\n ...modalProps,\n };\n\n return (\n <>\n {displayInModal ? (\n <Modal\n className=\"be-modal unified-share-modal\"\n isOpen={isRemoveLinkConfirmModalOpen || isRemoveCollaboratorConfirmModalOpen ? false : isOpen}\n onRequestClose={submitting ? undefined : onRequestClose}\n title={\n <UnifiedShareModalTitle\n isEmailLinkSectionExpanded={isEmailLinkSectionExpanded}\n showCollaboratorList={showCollaboratorList}\n item={item}\n />\n }\n {...extendedModalProps}\n >\n {this.renderUSF()}\n </Modal>\n ) : (\n <div className=\"bdl-UnifiedShareForm-container\">{this.renderUSF()}</div>\n )}\n {isRemoveLinkConfirmModalOpen && (\n <RemoveLinkConfirmModal\n isOpen={isRemoveLinkConfirmModalOpen}\n onRequestClose={this.closeConfirmModal}\n removeLink={this.removeLink}\n submitting={submitting}\n {...removeLinkConfirmModalTracking}\n />\n )}\n {isRemoveCollaboratorConfirmModalOpen && (\n <RemoveCollaboratorConfirmModal\n isOpen={isRemoveCollaboratorConfirmModalOpen}\n onRequestClose={this.closeRemoveCollaboratorConfirmModal}\n onSubmit={this.removeCollaborator}\n submitting={submitting}\n collaborator={this.state.collaboratorToRemove}\n modalProps={{ className: 'remove-collaborator-confirm-modal' }}\n {...removeCollaboratorConfirmModalTracking}\n />\n )}\n </>\n );\n }\n}\n\nexport { UnifiedShareModal as UnifiedShareModalBase };\nexport default injectIntl(UnifiedShareModal);\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
  .unified-share-modal {
56
- /** title and classifiction label */
56
+ /** title and classification label */
57
57
  .bdl-UnifiedShareModalTitle-classification {
58
58
  display: inline;
59
59
  }
@@ -99,7 +99,8 @@
99
99
  margin-bottom: 20px;
100
100
  }
101
101
 
102
- .bdl-PillSelectorDropdown .bdl-PillSelector, // need both selectors for specificity
102
+ // need both selectors for specificity
103
+ .bdl-PillSelectorDropdown .bdl-PillSelector,
103
104
  textarea {
104
105
  /* override for DOM element in `TextArea` which provides no id/class for targeting */
105
106
  width: 100%;
@@ -328,6 +329,12 @@
328
329
  }
329
330
  }
330
331
 
332
+ .remove-collaborator-confirm-modal {
333
+ & .modal-content {
334
+ word-break: break-word;
335
+ }
336
+ }
337
+
331
338
  @include breakpoint($medium-screen) {
332
339
  .usm-menu-description {
333
340
  white-space: normal;
@@ -149,6 +149,12 @@ export type trackingPropsType = {
149
149
  okayButtonProps?: Object,
150
150
  onLoad?: Function,
151
151
  },
152
+ removeCollaboratorConfirmModalTracking: {
153
+ cancelButtonProps?: Object,
154
+ modalProps?: Object,
155
+ okayButtonProps?: Object,
156
+ onLoad?: Function,
157
+ },
152
158
  sharedLinkEmailTracking: emailFormTrackingType,
153
159
  sharedLinkTracking: sharedLinkTrackingType,
154
160
  };
@@ -180,6 +186,7 @@ export type collaboratorType = {
180
186
  hasCustomAvatar: boolean,
181
187
  imageURL: ?string,
182
188
  isExternalCollab?: boolean,
189
+ isRemovable?: boolean,
183
190
  name: string,
184
191
  type: collaboratorGroupType,
185
192
  userID: ?number,
@@ -300,10 +307,14 @@ type SharedLinkSectionTypes = {
300
307
 
301
308
  // Prop types used in the collaborator avatars section of the Unified Share Form
302
309
  type CollaboratorAvatarsTypes = {
310
+ /** Flag to control the ability to remove collaborators directly within the modal */
311
+ canRemoveCollaborators?: boolean,
303
312
  /** List of existing collaborators */
304
313
  collaboratorsList?: collaboratorsListType,
305
314
  /** User ID of currently logged in user */
306
315
  currentUserID: string,
316
+ /** An action triggered when a user confirms the removal of a collaborator */
317
+ onRemoveCollaborator?: (collaborator: collaboratorType) => Promise<void>,
307
318
  };
308
319
 
309
320
  type EmailFormTypes = {
@@ -406,6 +417,8 @@ export type USFProps = BaseUnifiedShareProps & {
406
417
  openConfirmModal: () => void,
407
418
  /** Function for opening the Upgrade Plan Modal */
408
419
  openUpgradePlanModal: () => void,
420
+ /** An action triggered when the remove collaborator button is clicked */
421
+ onRemoveCollaboratorClick?: (collaborator: collaboratorType) => void,
409
422
  /** Whether the FTUX tag should be rendered for the Can Edit option */
410
423
  sharedLinkEditTagTargetingApi?: TargetingApi,
411
424
  /** Whether the FTUX tooltip should be rendered for Editable Shared Links */
@@ -1 +1 @@
1
- {"version":3,"file":"flowTypes.js","names":["React","constants","accessLevelValues","ANYONE_WITH_LINK","ANYONE_IN_COMPANY","PEOPLE_IN_ITEM","permissionLevelValues","CAN_EDIT","CAN_VIEW_DOWNLOAD","CAN_VIEW_ONLY","collaboratorGroupValues","COLLAB_GROUP_TYPE","COLLAB_USER_TYPE","COLLAB_PENDING_TYPE"],"sources":["../../../src/features/unified-share-modal/flowTypes.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport * as constants from './constants';\nimport type { BoxItemPermission, ItemType } from '../../common/types/core';\nimport type { TargetingApi } from '../targeting/types';\n\n// DRY: Invert the constants so that we can construct the appropriate enum types\nconst accessLevelValues = {\n [constants.ANYONE_WITH_LINK]: 'ANYONE_WITH_LINK',\n [constants.ANYONE_IN_COMPANY]: 'ANYONE_IN_COMPANY',\n [constants.PEOPLE_IN_ITEM]: 'PEOPLE_IN_ITEM',\n};\nexport type accessLevelType = $Keys<typeof accessLevelValues>;\n\nconst permissionLevelValues = {\n [constants.CAN_EDIT]: 'CAN_EDIT',\n [constants.CAN_VIEW_DOWNLOAD]: 'CAN_VIEW_DOWNLOAD',\n [constants.CAN_VIEW_ONLY]: 'CAN_VIEW_ONLY',\n};\nexport type permissionLevelType = $Keys<typeof permissionLevelValues>;\n\nconst collaboratorGroupValues = {\n [constants.COLLAB_GROUP_TYPE]: 'COLLAB_GROUP_TYPE',\n [constants.COLLAB_USER_TYPE]: 'COLLAB_USER_TYPE',\n [constants.COLLAB_PENDING_TYPE]: 'COLLAB_PENDING_TYPE',\n};\nexport type collaboratorGroupType = $Keys<typeof collaboratorGroupValues>;\n\nexport type allowedAccessLevelsType = {\n peopleInThisItem?: boolean,\n peopleInYourCompany?: boolean,\n peopleWithTheLink?: boolean,\n};\n\nexport type accessLevelsDisabledReasonType = {\n peopleInThisItem?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n peopleInYourCompany?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n peopleWithTheLink?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n};\n\nexport type contactType = {\n displayText?: string,\n email?: string,\n id: string,\n isExternalUser?: boolean,\n name?: string,\n text?: string,\n type: string,\n value?: string,\n};\n\nexport type SuggestedCollab = contactType & {\n userScore: number,\n};\n\nexport type SuggestedCollabLookup = {\n [id: string]: SuggestedCollab,\n};\n\nexport type inviteePermissionType = {\n default: boolean,\n disabled?: boolean,\n text: string,\n value: string,\n};\n\nexport type item = {\n bannerPolicy?: {\n body: string,\n colorID?: number,\n title?: string,\n },\n canUserSeeClassification: boolean,\n classification?: string,\n description: string,\n extension: string,\n grantedPermissions: {\n itemShare: boolean,\n },\n hideCollaborators: boolean,\n id: string,\n name: string,\n ownerEmail?: string,\n ownerID?: string,\n permissions?: BoxItemPermission,\n type: ItemType,\n typedID: string,\n};\n\nexport type emailFormTrackingType = {\n cancelButtonProps?: Object,\n messageProps?: Object,\n onContactAdd?: Function,\n onContactRemove?: Function,\n onSendClick?: Function,\n};\n\nexport type sharedLinkTrackingType = {\n copyButtonProps?: Object,\n onChangeSharedLinkAccessLevel?: Function,\n onChangeSharedLinkPermissionLevel?: Function,\n onSharedLinkAccessMenuOpen?: Function,\n onSharedLinkCopy?: Function,\n onToggleLink?: Function,\n sendSharedLinkButtonProps?: Object,\n sharedLinkAccessMenuButtonProps?: Object,\n sharedLinkPermissionsMenuButtonProps?: Object,\n sharedLinkSettingsButtonProps?: Object,\n};\n\nexport type collaboratorListTrackingType = {\n doneButtonProps?: Object,\n emailProps?: Object,\n manageLinkProps?: Object,\n usernameProps?: Object,\n viewAdditionalProps?: Object,\n};\n\nexport type trackingPropsType = {\n collaboratorListTracking: collaboratorListTrackingType,\n inviteCollabTracking: {\n inviteePermissionsButtonProps?: Object,\n onEnterInviteCollabs?: Function,\n onInviteePermissionChange?: Function,\n },\n inviteCollabsEmailTracking: {\n ...emailFormTrackingType,\n upgradeLinkProps?: Object,\n },\n modalTracking: {\n collaboratorAvatarsProps?: Object,\n ftuxConfirmButtonProps?: Object,\n modalProps?: Object,\n onLoad?: Function,\n onLoadSharedLink?: Function,\n },\n removeLinkConfirmModalTracking: {\n cancelButtonProps?: Object,\n modalProps?: Object,\n okayButtonProps?: Object,\n onLoad?: Function,\n },\n sharedLinkEmailTracking: emailFormTrackingType,\n sharedLinkTracking: sharedLinkTrackingType,\n};\n\n// this type is a strict subset of the SharedLinkRecord data returned from the server\nexport type sharedLinkType = {\n accessLevel: accessLevelType,\n accessLevelsDisabledReason?: accessLevelsDisabledReasonType,\n allowedAccessLevels: allowedAccessLevelsType,\n canChangeAccessLevel: boolean,\n enterpriseName: string,\n expirationTimestamp: ?number,\n isDownloadAllowed: boolean,\n isDownloadSettingAvailable: boolean,\n isEditAllowed: boolean,\n isEditSettingAvailable: boolean,\n isNewSharedLink: boolean,\n isPreviewAllowed: boolean,\n permissionLevel: permissionLevelType,\n url: string,\n};\n\nexport type collaboratorType = {\n collabID: number,\n email?: string,\n expiration?: {\n executeAt: string,\n },\n hasCustomAvatar: boolean,\n imageURL: ?string,\n isExternalCollab?: boolean,\n name: string,\n type: collaboratorGroupType,\n userID: ?number,\n};\n\nexport type collaboratorsListType = {\n collaborators: Array<collaboratorType>,\n};\n\nexport type tooltipComponentIdentifierType =\n | 'shared-link-access-menu'\n | 'shared-link-copy-button'\n | 'shared-link-settings'\n | 'shared-link-toggle';\n\nexport type justificationCheckpointType =\n | typeof constants.JUSTIFICATION_CHECKPOINT_COLLAB\n | typeof constants.JUSTIFICATION_CHECKPOINT_CREATE_SHARED_LINK\n | typeof constants.JUSTIFICATION_CHECKPOINT_DOWNLOAD\n | typeof constants.JUSTIFICATION_CHECKPOINT_EXTERNAL_COLLAB;\n\nexport type justificationReasonType = {\n description?: string,\n id: string,\n isDetailsRequired?: boolean,\n title: string,\n};\nexport type getJustificationReasonsResponseType = {\n classificationLabelId: string,\n options?: Array<justificationReasonType>,\n};\n\n// Prop types used in the invite section of the Unified Share Form\ntype InviteSectionTypes = {\n /** Message warning about restrictions regarding inviting collaborators to the item */\n collaborationRestrictionWarning: React.Node,\n /** Used to limit the number of contacts that can be added in the contacts field */\n contactLimit?: number,\n /** Handler function for when the user types into invite collaborators field to fetch contacts. */\n getCollaboratorContacts: (query: string) => Promise<Array<contactType>>,\n /** Shows a callout tooltip next to the names / email addresses input field explaining pre-populated recommendation */\n recommendedSharingTooltipCalloutName: ?string,\n /**\n * Function to send collab invitations based on the given parameters object.\n * This function should return a Promise.\n */\n sendInvites: (params: Object) => Promise<Object>,\n /** Message indicating an error occurred while sending the invites. */\n sendInvitesError: React.Node,\n /** Function hoists contact data upon updates to the parent component. Only needed for suggested collabs. */\n setUpdatedContacts?: (inviteCollabsContacts: Array<contactType>) => void,\n /** Determine whether to show the First-time experience tooltip on load */\n showCalloutForUser?: boolean,\n /**\n * Flag to show link to upgrade and get more access controls.\n * Only applicable to non-file item types.\n */\n showUpgradeOptions: boolean,\n /** Data for suggested collaborators shown at bottom of input box. UI doesn't render when this has length of 0. */\n suggestedCollaborators?: SuggestedCollabLookup,\n};\n\n// Additional invite section types that related with information barrier, external collab\n// restrictions and business justifications.\nexport type CollabRestrictionType =\n | typeof constants.COLLAB_RESTRICTION_TYPE_ACCESS_POLICY\n | typeof constants.COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER;\n\ntype CollabRestrictionsTypes = {\n /** The type of restriction that applies to restrictedCollabEmails */\n collabRestrictionType?: CollabRestrictionType,\n /** Function that fetches the array of justification reason options to display on the justification select field */\n getJustificationReasons?: (\n itemTypedID: string,\n checkpoint: justificationCheckpointType,\n ) => Promise<getJustificationReasonsResponseType>,\n /** Determines whether or not a business justification can be provided to bypass external collab restrictions */\n isCollabRestrictionJustificationAllowed?: boolean,\n /** Function that is called when all restricted collaborators are removed from the email form */\n onRemoveAllRestrictedCollabs?: () => void,\n /** An array of all the collab email addresses that have been determined to be restricted by a security policy. */\n restrictedCollabEmails: Array<string>,\n /** An array of all the group ids that have been determined to be restricted by a security policy. */\n restrictedGroups: Array<number>,\n};\n\n// Prop types used in the shared link section of the Unified Share Form\n// (Note: while there is an overlap between these types and the props passed to the Shared Link Section component,\n// they are different. See the render() function of the Unified Share Form for details.)\ntype SharedLinkSectionTypes = {\n /** Handler function that changes shared link access level */\n changeSharedLinkAccessLevel: (newAccessLevel: accessLevelType) => Promise<{ accessLevel: accessLevelType }>,\n /** Handler function that changes shared link permission level */\n changeSharedLinkPermissionLevel: (\n newPermissionLevel: permissionLevelType,\n ) => Promise<{ permissionLevel: permissionLevelType }>,\n /** Whether the form should create a shared link on load */\n createSharedLinkOnLoad?: boolean,\n /** Handler function that adds the shared link */\n onAddLink: () => void,\n /** Handler for when there is an error copying to clipboard */\n onCopyError?: () => void,\n /** Handler for when we initiate copying from to clipboard */\n onCopyInit?: () => void,\n /** Handler for when successfully copying to clipboard */\n onCopySuccess?: () => void,\n /** Handler function that gets called whenever the user dismisses a tooltip on the given component identifier */\n onDismissTooltip?: (componentIdentifier: tooltipComponentIdentifierType) => void,\n /** Handler function for clicks on the settings button. If not provided, the settings button won't be rendered. */\n onSettingsClick?: Function,\n /** Shared link data */\n sharedLink: sharedLinkType,\n /** Shows a callout tooltip next to settings button with info about what can be customized */\n showSharedLinkSettingsCallout?: boolean,\n /** Mapping of components to the content that should be rendered in their tooltips */\n tooltips?: { [componentIdentifier: tooltipComponentIdentifierType]: React.Node },\n};\n\n// Prop types used in the collaborator avatars section of the Unified Share Form\ntype CollaboratorAvatarsTypes = {\n /** List of existing collaborators */\n collaboratorsList?: collaboratorsListType,\n /** User ID of currently logged in user */\n currentUserID: string,\n};\n\ntype EmailFormTypes = {\n /** Function to retrieve the URL for an avatar, given contact details */\n getContactAvatarUrl?: (contact: contactType) => string,\n /** Handler function for when the user types into email shared link field to fetch contacts. */\n getSharedLinkContacts: (query: string) => Promise<Array<contactType>>,\n /**\n * Function to send shared link email based on the given parameters object.\n * This function should return a Promise.\n */\n sendSharedLink: (params: Object) => Promise<Object>,\n /** Message indicating an error occurred while sending the shared link. */\n sendSharedLinkError: React.Node,\n};\n\ntype AdvancedContentInsightsUSProps = {\n isAdvancedContentInsightsChecked?: boolean,\n /** Handler function that gets called whenever the Advanced Content Insights toggle changes */\n onAdvancedContentInsightsToggle?: Function,\n};\n\nexport type USMConfig = {\n /** Whether the \"Email Shared Link\" button and form should be rendered in the USM/USF */\n showEmailSharedLinkForm: boolean,\n /* Whether the message section of the invite collaborator page should be rendered in the USM/USF */\n showInviteCollaboratorMessageSection: boolean,\n};\n\n// Prop types shared by both the Unified Share Modal and the Unified Share Form\ntype BaseUnifiedShareProps = CollaboratorAvatarsTypes &\n AdvancedContentInsightsUSProps &\n EmailFormTypes &\n CollabRestrictionsTypes &\n InviteSectionTypes &\n SharedLinkSectionTypes & {\n /** Inline message */\n allShareRestrictionWarning?: React.Node,\n /** Flag to determine whether to enable invite collaborators section */\n canInvite: boolean,\n /** Configuration object for hiding parts of the USM */\n config?: USMConfig,\n /** Whether the full USM should be rendered */\n displayInModal?: boolean,\n /** Whether the form should focus the shared link after the URL is resolved */\n focusSharedLinkOnLoad?: boolean,\n /** Handler function that gets contacts by a list of emails */\n getContactsByEmail?: ({ emails: Array<string>, itemTypedID?: string }) => Promise<Object>,\n /** Handler function for getting intial data for form */\n getInitialData: Function,\n /** An array of initially selected contacts. If none are initially selected, an empty array. */\n initiallySelectedContacts: Array<contactType>,\n /** Intl object */\n intl: any,\n /** An array of invitee permissions */\n inviteePermissions: Array<inviteePermissionType>,\n /** Item data */\n item: item,\n /** Shows a callout tooltip next to the names / email addresses input field encouraging users to fill out coworkers contact info */\n showEnterEmailsCallout?: boolean,\n /** Whether or not a request is in progress */\n submitting: boolean,\n /** Object with props and handlers for tracking interactions */\n trackingProps: trackingPropsType,\n };\n\n// Prop types for the Unified Share Modal\nexport type USMProps = BaseUnifiedShareProps & {\n /** Function for closing the Remove Link Confirm Modal */\n closeConfirmModal: () => void,\n /** Whether initial data for the USM has already been received */\n initialDataReceived: boolean,\n /** Whether the allow edit shared link for file FF is enabled */\n isAllowEditSharedLinkForFileEnabled?: boolean,\n /** Whether the USM is open */\n isOpen?: boolean,\n /** A custom action to be invoked instead of default behavior when collaborators avatars are clicked */\n onCollaboratorAvatarsClick?: () => void,\n /** Handler function that removes the shared link, used in the Remove Link Confirm Modal */\n onRemoveLink: () => void,\n /** Handler function for when the USM is closed */\n onRequestClose?: Function,\n /** Whether the FTUX tag should be rendered for the Can Edit option */\n sharedLinkEditTagTargetingApi?: TargetingApi,\n /** Whether the FTUX tooltip should be rendered for Editable Shared Links */\n sharedLinkEditTooltipTargetingApi?: TargetingApi,\n};\n\n// Prop types for the Unified Share Form, passed from the Unified Share Modal\nexport type USFProps = BaseUnifiedShareProps & {\n /** Function for closing the FTUX tooltip */\n handleFtuxCloseClick: () => void,\n /** Whether the allow edit shared link for file FF is enabled */\n isAllowEditSharedLinkForFileEnabled: boolean,\n /** Whether the data for the USM/USF is being fetched */\n isFetching: boolean,\n /** A custom action to be invoked instead of default behavior when collaborators avatars are clicked */\n onCollaboratorAvatarsClick?: () => void,\n /** Function for opening the Remove Link Confirm Modal */\n openConfirmModal: () => void,\n /** Function for opening the Upgrade Plan Modal */\n openUpgradePlanModal: () => void,\n /** Whether the FTUX tag should be rendered for the Can Edit option */\n sharedLinkEditTagTargetingApi?: TargetingApi,\n /** Whether the FTUX tooltip should be rendered for Editable Shared Links */\n sharedLinkEditTooltipTargetingApi?: TargetingApi,\n /** Whether the shared link has loaded */\n sharedLinkLoaded: boolean,\n /** Whether the FTUX tooltip should be rendered */\n shouldRenderFTUXTooltip: boolean,\n /** Whether the upgrade inline notice should be rendered\n * NOTE (wyehdego): Remove this prop once we refactor legacy inline notice with upsellInlineNotice\n */\n showUpgradeInlineNotice?: boolean,\n /** Inline Notice component to render based on user */\n upsellInlineNotice?: React.Node | null,\n};\n\nexport type InviteCollaboratorsRequest = {\n classificationLabelId?: string,\n emailMessage: string,\n emails: string,\n groupIDs: string,\n justificationReason?: justificationReasonType,\n numOfInviteeGroups: number,\n numsOfInvitees: number,\n permission: string,\n};\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAO,KAAKC,SAAS,MAAM,aAAa;AAIxC;AACA,MAAMC,iBAAiB,GAAG;EACtB,CAACD,SAAS,CAACE,gBAAgB,GAAG,kBAAkB;EAChD,CAACF,SAAS,CAACG,iBAAiB,GAAG,mBAAmB;EAClD,CAACH,SAAS,CAACI,cAAc,GAAG;AAChC,CAAC;AAGD,MAAMC,qBAAqB,GAAG;EAC1B,CAACL,SAAS,CAACM,QAAQ,GAAG,UAAU;EAChC,CAACN,SAAS,CAACO,iBAAiB,GAAG,mBAAmB;EAClD,CAACP,SAAS,CAACQ,aAAa,GAAG;AAC/B,CAAC;AAGD,MAAMC,uBAAuB,GAAG;EAC5B,CAACT,SAAS,CAACU,iBAAiB,GAAG,mBAAmB;EAClD,CAACV,SAAS,CAACW,gBAAgB,GAAG,kBAAkB;EAChD,CAACX,SAAS,CAACY,mBAAmB,GAAG;AACrC,CAAC;;AAkID;;AA2DA;;AA8BA;AACA;;AAuBA;AACA;AACA;;AA8BA;;AAmCA;;AAqCA;;AAsBA","ignoreList":[]}
1
+ {"version":3,"file":"flowTypes.js","names":["React","constants","accessLevelValues","ANYONE_WITH_LINK","ANYONE_IN_COMPANY","PEOPLE_IN_ITEM","permissionLevelValues","CAN_EDIT","CAN_VIEW_DOWNLOAD","CAN_VIEW_ONLY","collaboratorGroupValues","COLLAB_GROUP_TYPE","COLLAB_USER_TYPE","COLLAB_PENDING_TYPE"],"sources":["../../../src/features/unified-share-modal/flowTypes.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport * as constants from './constants';\nimport type { BoxItemPermission, ItemType } from '../../common/types/core';\nimport type { TargetingApi } from '../targeting/types';\n\n// DRY: Invert the constants so that we can construct the appropriate enum types\nconst accessLevelValues = {\n [constants.ANYONE_WITH_LINK]: 'ANYONE_WITH_LINK',\n [constants.ANYONE_IN_COMPANY]: 'ANYONE_IN_COMPANY',\n [constants.PEOPLE_IN_ITEM]: 'PEOPLE_IN_ITEM',\n};\nexport type accessLevelType = $Keys<typeof accessLevelValues>;\n\nconst permissionLevelValues = {\n [constants.CAN_EDIT]: 'CAN_EDIT',\n [constants.CAN_VIEW_DOWNLOAD]: 'CAN_VIEW_DOWNLOAD',\n [constants.CAN_VIEW_ONLY]: 'CAN_VIEW_ONLY',\n};\nexport type permissionLevelType = $Keys<typeof permissionLevelValues>;\n\nconst collaboratorGroupValues = {\n [constants.COLLAB_GROUP_TYPE]: 'COLLAB_GROUP_TYPE',\n [constants.COLLAB_USER_TYPE]: 'COLLAB_USER_TYPE',\n [constants.COLLAB_PENDING_TYPE]: 'COLLAB_PENDING_TYPE',\n};\nexport type collaboratorGroupType = $Keys<typeof collaboratorGroupValues>;\n\nexport type allowedAccessLevelsType = {\n peopleInThisItem?: boolean,\n peopleInYourCompany?: boolean,\n peopleWithTheLink?: boolean,\n};\n\nexport type accessLevelsDisabledReasonType = {\n peopleInThisItem?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n peopleInYourCompany?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n peopleWithTheLink?:\n | typeof constants.DISABLED_REASON_ACCESS_POLICY\n | typeof constants.DISABLED_REASON_MALICIOUS_CONTENT\n | null,\n};\n\nexport type contactType = {\n displayText?: string,\n email?: string,\n id: string,\n isExternalUser?: boolean,\n name?: string,\n text?: string,\n type: string,\n value?: string,\n};\n\nexport type SuggestedCollab = contactType & {\n userScore: number,\n};\n\nexport type SuggestedCollabLookup = {\n [id: string]: SuggestedCollab,\n};\n\nexport type inviteePermissionType = {\n default: boolean,\n disabled?: boolean,\n text: string,\n value: string,\n};\n\nexport type item = {\n bannerPolicy?: {\n body: string,\n colorID?: number,\n title?: string,\n },\n canUserSeeClassification: boolean,\n classification?: string,\n description: string,\n extension: string,\n grantedPermissions: {\n itemShare: boolean,\n },\n hideCollaborators: boolean,\n id: string,\n name: string,\n ownerEmail?: string,\n ownerID?: string,\n permissions?: BoxItemPermission,\n type: ItemType,\n typedID: string,\n};\n\nexport type emailFormTrackingType = {\n cancelButtonProps?: Object,\n messageProps?: Object,\n onContactAdd?: Function,\n onContactRemove?: Function,\n onSendClick?: Function,\n};\n\nexport type sharedLinkTrackingType = {\n copyButtonProps?: Object,\n onChangeSharedLinkAccessLevel?: Function,\n onChangeSharedLinkPermissionLevel?: Function,\n onSharedLinkAccessMenuOpen?: Function,\n onSharedLinkCopy?: Function,\n onToggleLink?: Function,\n sendSharedLinkButtonProps?: Object,\n sharedLinkAccessMenuButtonProps?: Object,\n sharedLinkPermissionsMenuButtonProps?: Object,\n sharedLinkSettingsButtonProps?: Object,\n};\n\nexport type collaboratorListTrackingType = {\n doneButtonProps?: Object,\n emailProps?: Object,\n manageLinkProps?: Object,\n usernameProps?: Object,\n viewAdditionalProps?: Object,\n};\n\nexport type trackingPropsType = {\n collaboratorListTracking: collaboratorListTrackingType,\n inviteCollabTracking: {\n inviteePermissionsButtonProps?: Object,\n onEnterInviteCollabs?: Function,\n onInviteePermissionChange?: Function,\n },\n inviteCollabsEmailTracking: {\n ...emailFormTrackingType,\n upgradeLinkProps?: Object,\n },\n modalTracking: {\n collaboratorAvatarsProps?: Object,\n ftuxConfirmButtonProps?: Object,\n modalProps?: Object,\n onLoad?: Function,\n onLoadSharedLink?: Function,\n },\n removeLinkConfirmModalTracking: {\n cancelButtonProps?: Object,\n modalProps?: Object,\n okayButtonProps?: Object,\n onLoad?: Function,\n },\n removeCollaboratorConfirmModalTracking: {\n cancelButtonProps?: Object,\n modalProps?: Object,\n okayButtonProps?: Object,\n onLoad?: Function,\n },\n sharedLinkEmailTracking: emailFormTrackingType,\n sharedLinkTracking: sharedLinkTrackingType,\n};\n\n// this type is a strict subset of the SharedLinkRecord data returned from the server\nexport type sharedLinkType = {\n accessLevel: accessLevelType,\n accessLevelsDisabledReason?: accessLevelsDisabledReasonType,\n allowedAccessLevels: allowedAccessLevelsType,\n canChangeAccessLevel: boolean,\n enterpriseName: string,\n expirationTimestamp: ?number,\n isDownloadAllowed: boolean,\n isDownloadSettingAvailable: boolean,\n isEditAllowed: boolean,\n isEditSettingAvailable: boolean,\n isNewSharedLink: boolean,\n isPreviewAllowed: boolean,\n permissionLevel: permissionLevelType,\n url: string,\n};\n\nexport type collaboratorType = {\n collabID: number,\n email?: string,\n expiration?: {\n executeAt: string,\n },\n hasCustomAvatar: boolean,\n imageURL: ?string,\n isExternalCollab?: boolean,\n isRemovable?: boolean,\n name: string,\n type: collaboratorGroupType,\n userID: ?number,\n};\n\nexport type collaboratorsListType = {\n collaborators: Array<collaboratorType>,\n};\n\nexport type tooltipComponentIdentifierType =\n | 'shared-link-access-menu'\n | 'shared-link-copy-button'\n | 'shared-link-settings'\n | 'shared-link-toggle';\n\nexport type justificationCheckpointType =\n | typeof constants.JUSTIFICATION_CHECKPOINT_COLLAB\n | typeof constants.JUSTIFICATION_CHECKPOINT_CREATE_SHARED_LINK\n | typeof constants.JUSTIFICATION_CHECKPOINT_DOWNLOAD\n | typeof constants.JUSTIFICATION_CHECKPOINT_EXTERNAL_COLLAB;\n\nexport type justificationReasonType = {\n description?: string,\n id: string,\n isDetailsRequired?: boolean,\n title: string,\n};\nexport type getJustificationReasonsResponseType = {\n classificationLabelId: string,\n options?: Array<justificationReasonType>,\n};\n\n// Prop types used in the invite section of the Unified Share Form\ntype InviteSectionTypes = {\n /** Message warning about restrictions regarding inviting collaborators to the item */\n collaborationRestrictionWarning: React.Node,\n /** Used to limit the number of contacts that can be added in the contacts field */\n contactLimit?: number,\n /** Handler function for when the user types into invite collaborators field to fetch contacts. */\n getCollaboratorContacts: (query: string) => Promise<Array<contactType>>,\n /** Shows a callout tooltip next to the names / email addresses input field explaining pre-populated recommendation */\n recommendedSharingTooltipCalloutName: ?string,\n /**\n * Function to send collab invitations based on the given parameters object.\n * This function should return a Promise.\n */\n sendInvites: (params: Object) => Promise<Object>,\n /** Message indicating an error occurred while sending the invites. */\n sendInvitesError: React.Node,\n /** Function hoists contact data upon updates to the parent component. Only needed for suggested collabs. */\n setUpdatedContacts?: (inviteCollabsContacts: Array<contactType>) => void,\n /** Determine whether to show the First-time experience tooltip on load */\n showCalloutForUser?: boolean,\n /**\n * Flag to show link to upgrade and get more access controls.\n * Only applicable to non-file item types.\n */\n showUpgradeOptions: boolean,\n /** Data for suggested collaborators shown at bottom of input box. UI doesn't render when this has length of 0. */\n suggestedCollaborators?: SuggestedCollabLookup,\n};\n\n// Additional invite section types that related with information barrier, external collab\n// restrictions and business justifications.\nexport type CollabRestrictionType =\n | typeof constants.COLLAB_RESTRICTION_TYPE_ACCESS_POLICY\n | typeof constants.COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER;\n\ntype CollabRestrictionsTypes = {\n /** The type of restriction that applies to restrictedCollabEmails */\n collabRestrictionType?: CollabRestrictionType,\n /** Function that fetches the array of justification reason options to display on the justification select field */\n getJustificationReasons?: (\n itemTypedID: string,\n checkpoint: justificationCheckpointType,\n ) => Promise<getJustificationReasonsResponseType>,\n /** Determines whether or not a business justification can be provided to bypass external collab restrictions */\n isCollabRestrictionJustificationAllowed?: boolean,\n /** Function that is called when all restricted collaborators are removed from the email form */\n onRemoveAllRestrictedCollabs?: () => void,\n /** An array of all the collab email addresses that have been determined to be restricted by a security policy. */\n restrictedCollabEmails: Array<string>,\n /** An array of all the group ids that have been determined to be restricted by a security policy. */\n restrictedGroups: Array<number>,\n};\n\n// Prop types used in the shared link section of the Unified Share Form\n// (Note: while there is an overlap between these types and the props passed to the Shared Link Section component,\n// they are different. See the render() function of the Unified Share Form for details.)\ntype SharedLinkSectionTypes = {\n /** Handler function that changes shared link access level */\n changeSharedLinkAccessLevel: (newAccessLevel: accessLevelType) => Promise<{ accessLevel: accessLevelType }>,\n /** Handler function that changes shared link permission level */\n changeSharedLinkPermissionLevel: (\n newPermissionLevel: permissionLevelType,\n ) => Promise<{ permissionLevel: permissionLevelType }>,\n /** Whether the form should create a shared link on load */\n createSharedLinkOnLoad?: boolean,\n /** Handler function that adds the shared link */\n onAddLink: () => void,\n /** Handler for when there is an error copying to clipboard */\n onCopyError?: () => void,\n /** Handler for when we initiate copying from to clipboard */\n onCopyInit?: () => void,\n /** Handler for when successfully copying to clipboard */\n onCopySuccess?: () => void,\n /** Handler function that gets called whenever the user dismisses a tooltip on the given component identifier */\n onDismissTooltip?: (componentIdentifier: tooltipComponentIdentifierType) => void,\n /** Handler function for clicks on the settings button. If not provided, the settings button won't be rendered. */\n onSettingsClick?: Function,\n /** Shared link data */\n sharedLink: sharedLinkType,\n /** Shows a callout tooltip next to settings button with info about what can be customized */\n showSharedLinkSettingsCallout?: boolean,\n /** Mapping of components to the content that should be rendered in their tooltips */\n tooltips?: { [componentIdentifier: tooltipComponentIdentifierType]: React.Node },\n};\n\n// Prop types used in the collaborator avatars section of the Unified Share Form\ntype CollaboratorAvatarsTypes = {\n /** Flag to control the ability to remove collaborators directly within the modal */\n canRemoveCollaborators?: boolean,\n /** List of existing collaborators */\n collaboratorsList?: collaboratorsListType,\n /** User ID of currently logged in user */\n currentUserID: string,\n /** An action triggered when a user confirms the removal of a collaborator */\n onRemoveCollaborator?: (collaborator: collaboratorType) => Promise<void>,\n};\n\ntype EmailFormTypes = {\n /** Function to retrieve the URL for an avatar, given contact details */\n getContactAvatarUrl?: (contact: contactType) => string,\n /** Handler function for when the user types into email shared link field to fetch contacts. */\n getSharedLinkContacts: (query: string) => Promise<Array<contactType>>,\n /**\n * Function to send shared link email based on the given parameters object.\n * This function should return a Promise.\n */\n sendSharedLink: (params: Object) => Promise<Object>,\n /** Message indicating an error occurred while sending the shared link. */\n sendSharedLinkError: React.Node,\n};\n\ntype AdvancedContentInsightsUSProps = {\n isAdvancedContentInsightsChecked?: boolean,\n /** Handler function that gets called whenever the Advanced Content Insights toggle changes */\n onAdvancedContentInsightsToggle?: Function,\n};\n\nexport type USMConfig = {\n /** Whether the \"Email Shared Link\" button and form should be rendered in the USM/USF */\n showEmailSharedLinkForm: boolean,\n /* Whether the message section of the invite collaborator page should be rendered in the USM/USF */\n showInviteCollaboratorMessageSection: boolean,\n};\n\n// Prop types shared by both the Unified Share Modal and the Unified Share Form\ntype BaseUnifiedShareProps = CollaboratorAvatarsTypes &\n AdvancedContentInsightsUSProps &\n EmailFormTypes &\n CollabRestrictionsTypes &\n InviteSectionTypes &\n SharedLinkSectionTypes & {\n /** Inline message */\n allShareRestrictionWarning?: React.Node,\n /** Flag to determine whether to enable invite collaborators section */\n canInvite: boolean,\n /** Configuration object for hiding parts of the USM */\n config?: USMConfig,\n /** Whether the full USM should be rendered */\n displayInModal?: boolean,\n /** Whether the form should focus the shared link after the URL is resolved */\n focusSharedLinkOnLoad?: boolean,\n /** Handler function that gets contacts by a list of emails */\n getContactsByEmail?: ({ emails: Array<string>, itemTypedID?: string }) => Promise<Object>,\n /** Handler function for getting intial data for form */\n getInitialData: Function,\n /** An array of initially selected contacts. If none are initially selected, an empty array. */\n initiallySelectedContacts: Array<contactType>,\n /** Intl object */\n intl: any,\n /** An array of invitee permissions */\n inviteePermissions: Array<inviteePermissionType>,\n /** Item data */\n item: item,\n /** Shows a callout tooltip next to the names / email addresses input field encouraging users to fill out coworkers contact info */\n showEnterEmailsCallout?: boolean,\n /** Whether or not a request is in progress */\n submitting: boolean,\n /** Object with props and handlers for tracking interactions */\n trackingProps: trackingPropsType,\n };\n\n// Prop types for the Unified Share Modal\nexport type USMProps = BaseUnifiedShareProps & {\n /** Function for closing the Remove Link Confirm Modal */\n closeConfirmModal: () => void,\n /** Whether initial data for the USM has already been received */\n initialDataReceived: boolean,\n /** Whether the allow edit shared link for file FF is enabled */\n isAllowEditSharedLinkForFileEnabled?: boolean,\n /** Whether the USM is open */\n isOpen?: boolean,\n /** A custom action to be invoked instead of default behavior when collaborators avatars are clicked */\n onCollaboratorAvatarsClick?: () => void,\n /** Handler function that removes the shared link, used in the Remove Link Confirm Modal */\n onRemoveLink: () => void,\n /** Handler function for when the USM is closed */\n onRequestClose?: Function,\n /** Whether the FTUX tag should be rendered for the Can Edit option */\n sharedLinkEditTagTargetingApi?: TargetingApi,\n /** Whether the FTUX tooltip should be rendered for Editable Shared Links */\n sharedLinkEditTooltipTargetingApi?: TargetingApi,\n};\n\n// Prop types for the Unified Share Form, passed from the Unified Share Modal\nexport type USFProps = BaseUnifiedShareProps & {\n /** Function for closing the FTUX tooltip */\n handleFtuxCloseClick: () => void,\n /** Whether the allow edit shared link for file FF is enabled */\n isAllowEditSharedLinkForFileEnabled: boolean,\n /** Whether the data for the USM/USF is being fetched */\n isFetching: boolean,\n /** A custom action to be invoked instead of default behavior when collaborators avatars are clicked */\n onCollaboratorAvatarsClick?: () => void,\n /** Function for opening the Remove Link Confirm Modal */\n openConfirmModal: () => void,\n /** Function for opening the Upgrade Plan Modal */\n openUpgradePlanModal: () => void,\n /** An action triggered when the remove collaborator button is clicked */\n onRemoveCollaboratorClick?: (collaborator: collaboratorType) => void,\n /** Whether the FTUX tag should be rendered for the Can Edit option */\n sharedLinkEditTagTargetingApi?: TargetingApi,\n /** Whether the FTUX tooltip should be rendered for Editable Shared Links */\n sharedLinkEditTooltipTargetingApi?: TargetingApi,\n /** Whether the shared link has loaded */\n sharedLinkLoaded: boolean,\n /** Whether the FTUX tooltip should be rendered */\n shouldRenderFTUXTooltip: boolean,\n /** Whether the upgrade inline notice should be rendered\n * NOTE (wyehdego): Remove this prop once we refactor legacy inline notice with upsellInlineNotice\n */\n showUpgradeInlineNotice?: boolean,\n /** Inline Notice component to render based on user */\n upsellInlineNotice?: React.Node | null,\n};\n\nexport type InviteCollaboratorsRequest = {\n classificationLabelId?: string,\n emailMessage: string,\n emails: string,\n groupIDs: string,\n justificationReason?: justificationReasonType,\n numOfInviteeGroups: number,\n numsOfInvitees: number,\n permission: string,\n};\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAO,KAAKC,SAAS,MAAM,aAAa;AAIxC;AACA,MAAMC,iBAAiB,GAAG;EACtB,CAACD,SAAS,CAACE,gBAAgB,GAAG,kBAAkB;EAChD,CAACF,SAAS,CAACG,iBAAiB,GAAG,mBAAmB;EAClD,CAACH,SAAS,CAACI,cAAc,GAAG;AAChC,CAAC;AAGD,MAAMC,qBAAqB,GAAG;EAC1B,CAACL,SAAS,CAACM,QAAQ,GAAG,UAAU;EAChC,CAACN,SAAS,CAACO,iBAAiB,GAAG,mBAAmB;EAClD,CAACP,SAAS,CAACQ,aAAa,GAAG;AAC/B,CAAC;AAGD,MAAMC,uBAAuB,GAAG;EAC5B,CAACT,SAAS,CAACU,iBAAiB,GAAG,mBAAmB;EAClD,CAACV,SAAS,CAACW,gBAAgB,GAAG,kBAAkB;EAChD,CAACX,SAAS,CAACY,mBAAmB,GAAG;AACrC,CAAC;;AAwID;;AA4DA;;AA8BA;AACA;;AAuBA;AACA;AACA;;AA8BA;;AAuCA;;AAqCA;;AAsBA","ignoreList":[]}
@@ -129,10 +129,18 @@ const messages = defineMessages({
129
129
  "id": "boxui.unifiedShare.removeLinkConfirmationTitle",
130
130
  "defaultMessage": "Remove Shared Link"
131
131
  },
132
+ removeCollaboratorConfirmationTitle: {
133
+ "id": "boxui.unifiedShare.removeCollaboratorConfirmationTitle",
134
+ "defaultMessage": "Remove Collaborator"
135
+ },
132
136
  removeLinkConfirmationDescription: {
133
137
  "id": "boxui.unifiedShare.removeLinkConfirmationDescription",
134
138
  "defaultMessage": "This will permanently remove the shared link. If this item is embedded on other sites it will also become inaccessible. Any custom properties, settings and expirations will be removed as well. Do you want to continue?"
135
139
  },
140
+ removeCollaboratorConfirmationDescription: {
141
+ "id": "boxui.unifiedShare.removeCollaboratorConfirmationDescription",
142
+ "defaultMessage": "Are you sure you want to remove {name} as a collaborator?"
143
+ },
136
144
  removeLinkTooltip: {
137
145
  "id": "boxui.unifiedShare.removeLinkTooltip",
138
146
  "defaultMessage": "You do not have permission to remove the link."
@@ -171,12 +171,22 @@ const messages = defineMessages({
171
171
  description: 'Label for confirmation modal to remove a shared link (title-case)',
172
172
  id: 'boxui.unifiedShare.removeLinkConfirmationTitle',
173
173
  },
174
+ removeCollaboratorConfirmationTitle: {
175
+ defaultMessage: 'Remove Collaborator',
176
+ description: 'Label for confirmation modal to remove a collaborator (title-case)',
177
+ id: 'boxui.unifiedShare.removeCollaboratorConfirmationTitle',
178
+ },
174
179
  removeLinkConfirmationDescription: {
175
180
  defaultMessage:
176
181
  'This will permanently remove the shared link. If this item is embedded on other sites it will also become inaccessible. Any custom properties, settings and expirations will be removed as well. Do you want to continue?',
177
182
  description: 'Description for confirmation modal to remove a shared link',
178
183
  id: 'boxui.unifiedShare.removeLinkConfirmationDescription',
179
184
  },
185
+ removeCollaboratorConfirmationDescription: {
186
+ defaultMessage: 'Are you sure you want to remove {name} as a collaborator?',
187
+ description: 'Description for confirmation modal to remove a collaborator',
188
+ id: 'boxui.unifiedShare.removeCollaboratorConfirmationDescription',
189
+ },
180
190
  removeLinkTooltip: {
181
191
  defaultMessage: 'You do not have permission to remove the link.',
182
192
  description: 'Tooltip description for not having access to remove link',
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","names":["defineMessages","messages","contentSharedWithExternalCollaborators","disabledShareLinkPermission","disabledMaliciousContentShareLinkPermission","enterAtLeastOneEmailError","contactsExceedLimitError","enterEmailAddressesCalloutText","ftuxNewUSMUserTitle","ftuxNewUSMUserBody","ftuxLinkText","ftuxConfirmLabel","ftuxEditPermissionTooltipBody","ftuxEditPermissionTooltipTitle","collaboratorListTitle","expirationTooltipClickableText","groupLabel","modalTitle","emailModalTitle","inviteDisabledTooltip","inviteDisabledWeblinkTooltip","inviteFieldLabel","sharedLinkSectionLabel","sharedLinkURLLabel","linkShareOff","linkShareOn","messageTitle","suggestedCollabsTitle","peopleInEnterpriseName","peopleInYourCompany","peopleInThisFolder","peopleInThisFile","peopleWithTheLinkText","removeLinkConfirmationTitle","removeLinkConfirmationDescription","removeLinkTooltip","disabledCreateLinkTooltip","sendSharedLink","sendSharedLinkFieldLabel","sharedLinkExpirationTooltip","sharedLinkPermissionsViewDownload","sharedLinkPermissionsViewOnly","ftuxSharedLinkPermissionsEditTag","sharedLinkPermissionsEdit","sharedLinkPermissionsEditTooltip","sharedLinkDisabledTooltipCopy","sharedLinkSettingsCalloutText","sharedLinkPubliclyAvailable","sharedLinkEditablePubliclyAvailable","sharedLinkElevatedEditableCompanyAvailable","upgradeGetMoreAccessControlsDescription","upgradeGetMoreAccessControlsLink","upgradeLink","upgradeInlineNoticeTitle","sharedLinkSettings","peopleWithLinkDescription","peopleInSpecifiedCompanyCanAccessFolder","peopleInCompanyCanAccessFolder","peopleInSpecifiedCompanyCanAccessFile","peopleInCompanyCanAccessFile","peopleInSpecifiedCompanyCanAccessHub","peopleInCompanyCanAccessHub","peopleInItemCanAccessFolder","peopleInItemCanAccessFile","peopleInItemCanAccessHub","coownerLevelButtonLabel","coownerLevelText","coownerLevelDescription","editorLevelButtonLabel","editorLevelText","editorLevelDescription","editorLevelFileDescription","previewerLevelButtonLabel","previewerLevelText","previewerLevelDescription","previewerUploaderLevelButtonLabel","previewerUploaderLevelText","previewerUploaderLevelDescription","viewerLevelButtonLabel","viewerLevelText","viewerLevelDescription","viewerUploaderLevelButtonLabel","viewerUploaderLevelText","viewerUploaderLevelDescription","uploaderLevelButtonLabel","uploaderLevelText","uploaderLevelDescription","userCollabText","groupCollabText","recommendedSharingTooltipCalloutText","justificationSelectPlaceholder","justificationRequiredError","restrictedContactsError","justifiableContactRestrictionNotice","justifiableContactRestrictionNoticeSingular","justifiableContactRestrictionRemoveButtonLabel","contactRestrictionNotice","contactRestrictionNoticeSingular","contactRestrictionNoticeInformationBarrier","contactRestrictionNoticeInformationBarrierSingular","contactRestrictionNoticeInformationBarrierSingularGroup","contactRestrictionRemoveButtonLabel","contactEmailsTooltipText","expiresMessage","setLevelOfCollabAccess","collabAccess"],"sources":["../../../src/features/unified-share-modal/messages.js"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n contentSharedWithExternalCollaborators: {\n defaultMessage: 'This content will be shared with external collaborators.',\n description: 'Text shown in share modal when there is at least one external collaborators',\n id: 'boxui.unifiedShare.contentSharedWithExternalCollaborators',\n },\n disabledShareLinkPermission: {\n defaultMessage: 'This option is not available due to a security policy.',\n description:\n 'Tooltip text for when shared permission option is not available due to restriction or classification',\n id: 'boxui.unifiedShare.disabledShareLinkPermission',\n },\n disabledMaliciousContentShareLinkPermission: {\n defaultMessage: 'This option isn’t available for this item due to a security policy.',\n description: 'Tooltip text for when shared permission option is not available due to security policy',\n id: 'boxui.unifiedShare.disabledMaliciousContentShareLinkPermission',\n },\n enterAtLeastOneEmailError: {\n defaultMessage: 'Enter at least one valid email',\n description: 'Error message when user tries to send Shared Link as email without entering any recipients',\n id: 'boxui.unifiedShare.enterAtLeastOneEmail',\n },\n contactsExceedLimitError: {\n defaultMessage:\n 'Oops! The maximum number of collaborators that can be added at once is {maxContacts} collaborators. Please try again by splitting your invitations into batches.',\n description: 'Error message when more than the maximum number of contacts is entered',\n id: 'boxui.unifiedShare.contactsExceedLimitError',\n },\n enterEmailAddressesCalloutText: {\n defaultMessage: 'Share this item with coworkers by entering their email addresses',\n description:\n 'Tooltip text shown in the share modal, encouraging users to enter email addresses to share the item with',\n id: 'boxui.unifiedShare.enterEmailAddressesCalloutText',\n },\n ftuxNewUSMUserTitle: {\n defaultMessage: 'Simplified sharing for files and folders',\n description: 'This title appears in the callout when loading the modal, to let users know about the new UI',\n id: 'boxui.unifiedShare.ftuxNewUsmUserTitle',\n },\n ftuxNewUSMUserBody: {\n defaultMessage:\n \"We’ve simplified the sharing experience when you click 'Share'. Invite people to this item here and toggle the link on or off below for easy sharing.\",\n description: 'This text describes the purpose of the new UI, using the button label to open the modal',\n id: 'boxui.unifiedShare.ftuxNewUSMUserBody',\n },\n ftuxLinkText: {\n defaultMessage: 'Read more about shared link security here.',\n description: 'Text on the link which allows to learn more about link security',\n id: 'boxui.unifiedShare.ftuxLinkText',\n },\n ftuxConfirmLabel: {\n defaultMessage: 'Got it',\n description: 'This is label for the button so a user understands the new interface',\n id: 'boxui.unifiedShare.ftuxConfirmLabel',\n },\n ftuxEditPermissionTooltipBody: {\n defaultMessage: 'Select the new edit option to easily share your file with people or groups.',\n description:\n 'Text for the body of the tooltip for the ftux experience when the edit option is available for the user',\n id: 'boxui.unifiedShare.ftuxEditPermissionTooltipBody',\n },\n ftuxEditPermissionTooltipTitle: {\n defaultMessage: 'Collaboration made easy',\n description:\n 'Text for the title of the tooltip for the ftux experience when the edit option is available for the user',\n id: 'boxui.unifiedShare.ftuxEditPermissionTooltipTitle',\n },\n collaboratorListTitle: {\n defaultMessage: 'People in ‘{itemName}’',\n description: 'Title for collaborator list modal',\n id: 'boxui.unifiedShare.collaboratorListTitle',\n },\n expirationTooltipClickableText: {\n defaultMessage: 'Access expires on {date}. Click for details.',\n description: 'This string is displayed as tooltip on hovering over expire icon for collab',\n id: 'boxui.unifiedShare.collaborators.expirationTooltipClickableText',\n },\n groupLabel: {\n defaultMessage: 'Group',\n description: 'Label for a Group contact type',\n id: 'boxui.unifiedShare.groupLabel',\n },\n modalTitle: {\n defaultMessage: 'Share ‘{itemName}’',\n description: 'Title of the Unified Share Modal. {itemName} is the name of the file / folder being shared',\n id: 'boxui.unifiedShare.modalTitle',\n },\n emailModalTitle: {\n defaultMessage: 'Send Link to ‘{itemName}’',\n description:\n 'The message to show when you have clicked the button to send the email to a new collaborator (title case)',\n id: 'boxui.unifiedShare.emailModalTitle',\n },\n inviteDisabledTooltip: {\n defaultMessage: 'You do not have permission to invite collaborators.',\n description: 'Invite Collaborators disabled state tooltip',\n id: 'boxui.unifiedShare.inviteDisabledTooltip',\n },\n inviteDisabledWeblinkTooltip: {\n defaultMessage: 'Collaborators cannot be added to bookmarks.',\n description: 'Invite Collaborators disabled state tooltip due to item being weblink',\n id: 'boxui.unifiedShare.inviteDisabledWeblinkTooltip',\n },\n inviteFieldLabel: {\n defaultMessage: 'Invite People',\n description: 'Label of the field where a user designates who to invite to collaborate on an item',\n id: 'boxui.unifiedShare.inviteFieldLabel',\n },\n sharedLinkSectionLabel: {\n defaultMessage: 'Share Link',\n description: 'Label for the shared link section of the unified share modal',\n id: 'boxui.unifiedShare.sharedLinkSectionLabel',\n },\n sharedLinkURLLabel: {\n defaultMessage: 'URL',\n description: 'Accessible label for shared link input field',\n id: 'boxui.share.sharedLinkURLLabel',\n },\n linkShareOff: {\n defaultMessage: 'Create shared link',\n description: 'Call to action text for allowing the user to create a new shared link',\n id: 'boxui.unifiedShare.linkShareOff',\n },\n linkShareOn: {\n defaultMessage: 'Shared link is created',\n description: 'Call to action text for allowing the user to remove an existing shared link',\n id: 'boxui.unifiedShare.linkShareOn',\n },\n messageTitle: {\n defaultMessage: 'Message',\n description: 'Label for \"Message\" text box to email the shared Link',\n id: 'boxui.unifiedShare.message',\n },\n suggestedCollabsTitle: {\n defaultMessage: 'Suggested',\n description: 'Title for suggested collaborators that can be added to the form',\n id: 'boxui.unifiedShare.suggestedCollabsTitle',\n },\n\n // shared link access labels\n peopleInEnterpriseName: {\n defaultMessage: 'People in {enterpriseName}',\n description: 'Label for \"People in {enterpriseName}\" option',\n id: 'boxui.unifiedShare.peopleInEnterpriseName',\n },\n peopleInYourCompany: {\n defaultMessage: 'People in your company',\n description: 'Label for \"People in your company\" option',\n id: 'boxui.unifiedShare.peopleInYourCompany',\n },\n peopleInThisFolder: {\n defaultMessage: 'Invited people only',\n description: 'Label for \"People in this folder\" option',\n id: 'boxui.unifiedShare.peopleInThisFolder',\n },\n peopleInThisFile: {\n defaultMessage: 'Invited people only',\n description: 'Label for \"People in this file\" option',\n id: 'boxui.unifiedShare.peopleInThisFile',\n },\n peopleWithTheLinkText: {\n defaultMessage: 'People with the link',\n description: 'Text to show that those having the link will have access',\n id: 'boxui.unifiedShare.peopleWithTheLinkText',\n },\n\n removeLinkConfirmationTitle: {\n defaultMessage: 'Remove Shared Link',\n description: 'Label for confirmation modal to remove a shared link (title-case)',\n id: 'boxui.unifiedShare.removeLinkConfirmationTitle',\n },\n removeLinkConfirmationDescription: {\n defaultMessage:\n 'This will permanently remove the shared link. If this item is embedded on other sites it will also become inaccessible. Any custom properties, settings and expirations will be removed as well. Do you want to continue?',\n description: 'Description for confirmation modal to remove a shared link',\n id: 'boxui.unifiedShare.removeLinkConfirmationDescription',\n },\n removeLinkTooltip: {\n defaultMessage: 'You do not have permission to remove the link.',\n description: 'Tooltip description for not having access to remove link',\n id: 'boxui.unifiedShare.removeLinkTooltip',\n },\n disabledCreateLinkTooltip: {\n defaultMessage: 'You do not have permission to create the link.',\n description: 'Tooltip description for users who do not have permission for link creation',\n id: 'boxui.unifiedShare.disabledCreateLinkTooltip',\n },\n sendSharedLink: {\n defaultMessage: 'Send Shared Link',\n description: 'Tooltip text for email shared link button (title-case)',\n id: 'boxui.unifiedShare.sendSharedLink',\n },\n sendSharedLinkFieldLabel: {\n defaultMessage: 'Email Shared Link',\n description: 'Field label for shared link recipient list (title-case)',\n id: 'boxui.unifiedShare.sendSharedLinkFieldLabel',\n },\n sharedLinkExpirationTooltip: {\n defaultMessage: 'This link will expire and be inaccessible on {expiration, date, long}.',\n description:\n 'Tooltip describing when this shared link will expire. {expiration, date, long} is the formatted date',\n id: 'boxui.unifiedShare.sharedLinkExpirationTooltip',\n },\n\n // shared link permissions\n sharedLinkPermissionsViewDownload: {\n defaultMessage: 'Can view and download',\n description: 'Label for a shared link permission level',\n id: 'boxui.unifiedShare.sharedLinkPermissionsViewDownload',\n },\n sharedLinkPermissionsViewOnly: {\n defaultMessage: 'Can view only',\n description: 'Label for a shared link permission level',\n id: 'boxui.unifiedShare.sharedLinkPermissionsViewOnly',\n },\n ftuxSharedLinkPermissionsEditTag: {\n defaultMessage: 'NEW',\n description:\n 'Label for the LabelPill that is shown when the user first opens the SharedLinkPermissions dropdown and sees the Can Edit option',\n id: 'boxui.unifiedShare.ftuxSharedLinkPermissionsEditTag',\n },\n sharedLinkPermissionsEdit: {\n defaultMessage: 'Can edit',\n description: 'Label for a shared link permission to show for an editable box note / file',\n id: 'boxui.unifiedShare.sharedLinkPermissionsEdit',\n },\n sharedLinkPermissionsEditTooltip: {\n defaultMessage: 'This permission can only be changed in Box Notes',\n description: 'Text to use in the tooltip when presenting an editable Box Note (DO NOT TRANSLATE \"Box Notes\")',\n id: 'boxui.unifiedShare.sharedLinkPermissionsEditTooltip',\n },\n sharedLinkDisabledTooltipCopy: {\n defaultMessage: 'Create and copy link for sharing',\n description: 'This tooltip appears over the shared link toggle, explaining what happens when it is clicked',\n id: 'boxui.unifiedShare.sharedLinkDisabledTooltipCopy',\n },\n sharedLinkSettingsCalloutText: {\n defaultMessage: 'Create a custom URL, enable password protection, enable link expiration, and much more',\n description:\n 'Tooltip text shown in the share modal, next to the settings gear, describing what settings can be changed',\n id: 'boxui.unifiedShare.sharedLinkSettingsCalloutText',\n },\n sharedLinkPubliclyAvailable: {\n defaultMessage: 'This content is publicly available to anyone with the link.',\n description: 'Text shown in share modal when shared link is open to public access',\n id: 'boxui.unifiedShare.sharedLinkPubliclyAvailable',\n },\n sharedLinkEditablePubliclyAvailable: {\n defaultMessage:\n 'Publicly available for anyone to view and download. Any logged in users with the link can edit.',\n description: 'Text shown in share modal when shared link is editable and is open to public access',\n id: 'boxui.unifiedShare.sharedLinkEditablePubliclyAvailable',\n },\n sharedLinkElevatedEditableCompanyAvailable: {\n defaultMessage: 'People who have access to this link can edit.',\n description: 'Text shown in share modal when shared link is editable and is open to company access',\n id: 'boxui.unifiedShare.sharedLinkElevatedEditableCompanyAvailable',\n },\n upgradeGetMoreAccessControlsDescription: {\n defaultMessage:\n '62% of customers on your plan {upgradeGetMoreAccessControlsLink} to manage collaborators’ access and permission settings',\n description: 'Description for cta to upgrade to get more access controls for inviting collaborators to an item',\n id: 'boxui.unifiedShare.upgradeGetMoreAccessControlsDescription',\n },\n upgradeGetMoreAccessControlsLink: {\n defaultMessage: 'upgrade',\n description: 'Label for link to upgrade to get more access controls for inviting collaborators to an item',\n id: 'boxui.unifiedShare.upgradeGetMoreAccessControlsLink',\n },\n upgradeLink: {\n defaultMessage: 'Upgrade now',\n description: 'Label for link to upgrade account',\n id: 'boxui.unifiedShare.upgradeLink',\n },\n upgradeInlineNoticeTitle: {\n defaultMessage: 'Upgrade Your Plan',\n description: 'Title for the upgrade inline notice for upgrade user plan',\n id: 'boxui.unifiedShare.upgradeInlineNoticeTitle',\n },\n sharedLinkSettings: {\n defaultMessage: 'Link Settings',\n description: 'Description of the shared link settings modal entry point. This shows link-specific options.',\n id: 'boxui.unifiedShare.sharedLinkSettings',\n },\n\n // shared link access descriptions\n peopleWithLinkDescription: {\n defaultMessage: 'Publicly accessible and no sign-in required',\n description: 'Description of an open shared link',\n id: 'boxui.unifiedShare.peopleWithLinkDescription',\n },\n peopleInSpecifiedCompanyCanAccessFolder: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this folder can access',\n description: 'Description of a specific company shared link for a folder. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessFolder',\n },\n peopleInCompanyCanAccessFolder: {\n defaultMessage: 'Anyone in your company with the link or people invited to this folder can access',\n description: 'Description of a company shared link for a folder.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessFolder',\n },\n peopleInSpecifiedCompanyCanAccessFile: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this file can access',\n description: 'Description of a specific company shared link for a file. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessFile',\n },\n peopleInCompanyCanAccessFile: {\n defaultMessage: 'Anyone in your company with the link or people invited to this file can access',\n description: 'Description of a company shared link for a file.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessFile',\n },\n peopleInSpecifiedCompanyCanAccessHub: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this hub can access',\n description: 'Description of a specific company shared link for a hub. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessHub',\n },\n peopleInCompanyCanAccessHub: {\n defaultMessage: 'Anyone in your company with the link or people invited to this hub can access',\n description: 'Description of a company shared link for a hub.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessHub',\n },\n peopleInItemCanAccessFolder: {\n defaultMessage: 'Only invited people can access this folder',\n description: 'Description of a collaborator-only shared link for a folder',\n id: 'boxui.unifiedShare.peopleInItemCanAccessFolder',\n },\n peopleInItemCanAccessFile: {\n defaultMessage: 'Only invited people can access this file',\n description: 'Description of a collaborator-only shared link for a file',\n id: 'boxui.unifiedShare.peopleInItemCanAccessFile',\n },\n peopleInItemCanAccessHub: {\n defaultMessage: 'Only invited people can access this hub',\n description: 'Description of a collaborator-only shared link for a hub',\n id: 'boxui.unifiedShare.peopleInItemCanAccessHub',\n },\n\n // invite collabs levels\n coownerLevelButtonLabel: {\n defaultMessage: 'Invite as Co-owner',\n description: 'Text used in button label to describe permission level - co-owner',\n id: 'boxui.unifiedShare.coownerLevelButtonLabel',\n },\n coownerLevelText: {\n defaultMessage: 'Co-owner',\n description: 'Text for Co-owner permission level in permissions table',\n id: 'boxui.unifiedShare.coownerLevelText',\n },\n coownerLevelDescription: {\n defaultMessage: 'Manage security, upload, download, preview, share, edit, and delete',\n description: 'Description for Co-owner permission level in permissions table',\n id: 'boxui.unifiedShare.coownerLevelDescription',\n },\n editorLevelButtonLabel: {\n defaultMessage: 'Invite as Editor',\n description: 'Text used in button label to describe permission level - editor',\n id: 'boxui.unifiedShare.editorLevelButtonLabel',\n },\n editorLevelText: {\n defaultMessage: 'Editor',\n description: 'Text for Editor permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.editorLevelText',\n },\n editorLevelDescription: {\n defaultMessage: 'Upload, download, preview, share, edit, and delete',\n description: 'Description for Editor permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.editorLevelDescription',\n },\n editorLevelFileDescription: {\n defaultMessage: 'Upload, download, preview, share, and edit',\n description: 'Description for Editor permission level in invitee permission dropdown for files',\n id: 'boxui.unifiedShare.editorLevelFileDescription',\n },\n previewerLevelButtonLabel: {\n defaultMessage: 'Invite as Previewer',\n description: 'Text used in button label to describe permission level - previewer',\n id: 'boxui.unifiedShare.previewerLevelButtonLabel',\n },\n previewerLevelText: {\n defaultMessage: 'Previewer',\n description: 'Text for Previewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerLevelText',\n },\n previewerLevelDescription: {\n defaultMessage: 'Preview only',\n description: 'Description for Previewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerLevelDescription',\n },\n previewerUploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Previewer Uploader',\n description: 'Text used in button label to describe permission level - previewer uploader',\n id: 'boxui.unifiedShare.previewerUploaderLevelButtonLabel',\n },\n previewerUploaderLevelText: {\n defaultMessage: 'Previewer Uploader',\n description: 'Text for Previewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerUploaderLevelText',\n },\n previewerUploaderLevelDescription: {\n defaultMessage: 'Upload and preview',\n description: 'Description for Previewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerUploaderLevelDescription',\n },\n viewerLevelButtonLabel: {\n defaultMessage: 'Invite as Viewer',\n description: 'Text used in button label to describe permission level - viewer',\n id: 'boxui.unifiedShare.viewerLevelButtonLabel',\n },\n viewerLevelText: {\n defaultMessage: 'Viewer',\n description: 'Text for Viewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerLevelText',\n },\n viewerLevelDescription: {\n defaultMessage: 'Download, preview, and share',\n description: 'Description for Viewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerLevelDescription',\n },\n viewerUploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Viewer Uploader',\n description: 'Text used in button label to describe permission level - viewer uploader',\n id: 'boxui.unifiedShare.viewerUploaderLevelButtonLabel',\n },\n viewerUploaderLevelText: {\n defaultMessage: 'Viewer Uploader',\n description: 'Text for Viewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerUploaderLevelText',\n },\n viewerUploaderLevelDescription: {\n defaultMessage: 'Upload, download, preview, share, and edit',\n description: 'Text for Viewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerUploaderLevelDescription',\n },\n uploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Uploader',\n description: 'Text used in button label to describe permission level - uploader',\n id: 'boxui.unifiedShare.uploaderLevelButtonLabel',\n },\n uploaderLevelText: {\n defaultMessage: 'Uploader',\n description: 'Text for Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.uploaderLevelText',\n },\n uploaderLevelDescription: {\n defaultMessage: 'Upload only',\n description: 'Description for Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.uploaderLevelDescription',\n },\n\n // Collaboration group type messages\n userCollabText: {\n defaultMessage: 'User',\n description: 'Text to display for individual users who have accepted an invitation to collaborate',\n id: 'boxui.unifiedShare.collaboration.userCollabText',\n },\n groupCollabText: {\n defaultMessage: 'Group',\n description: 'Text to display for a group of users who have accepted an invitation to collaborate',\n id: 'boxui.unifiedShare.collaboration.groupCollabText',\n },\n\n // Recommended Sharing Tooltip messages\n recommendedSharingTooltipCalloutText: {\n defaultMessage: 'Based on your usage, we think {fullName} would be interested in this file.',\n description: 'Tooltip description to explain recommendation for sharing tooltip',\n id: 'boxui.unifiedShare.recommendedSharingTooltipCalloutText',\n },\n\n // Information Barrier restrictions, external collab restrictions and business justifications\n justificationSelectPlaceholder: {\n defaultMessage: 'Select Justification',\n description: 'The placeholder text of the select field that allows selecting a business justification reason',\n id: 'boxui.unifiedShare.justificationSelectPlaceholder',\n },\n justificationRequiredError: {\n defaultMessage: 'Select a justification or remove to continue',\n description:\n 'The error message that is displayed when a user tries to send invitations to external collaborators, but a business justification is required before proceeding',\n id: 'boxui.unifiedShare.justificationRequiredError',\n },\n restrictedContactsError: {\n defaultMessage: 'Remove to continue',\n description:\n 'The error message that is displayed when a user tries to send invitations to external collaborators, but restricted contacts need to be removed before proceeding',\n id: 'boxui.unifiedShare.restrictedContactsError',\n },\n justifiableContactRestrictionNotice: {\n defaultMessage:\n 'This content requires a business justification for {count, plural, one {{count} invitation} other {{count} invitations}}. Please select a business justification below.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts and business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionNotice',\n },\n justifiableContactRestrictionNoticeSingular: {\n defaultMessage:\n 'This content requires a business justification to invite {email}. Please select a business justification below.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts and business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionNoticeSingular',\n },\n justifiableContactRestrictionRemoveButtonLabel: {\n defaultMessage: 'Alternatively, remove to continue',\n description:\n 'Label for the button that removes restricted contacts on the contact restriction notice when business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionRemoveButtonLabel',\n },\n contactRestrictionNotice: {\n defaultMessage:\n '{count, plural, one {{count} invitation} other {{count} invitations}} cannot be sent because external collaboration is restricted due to the applied security policy.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNotice',\n },\n contactRestrictionNoticeSingular: {\n defaultMessage:\n 'Invitations cannot be sent to {email} because external collaboration is restricted due to the applied security policy.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeSingular',\n },\n contactRestrictionNoticeInformationBarrier: {\n defaultMessage:\n '{count, plural, one {{count} invitation} other {{count} invitations}} cannot be sent due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrier',\n },\n contactRestrictionNoticeInformationBarrierSingular: {\n defaultMessage: 'Invitations cannot be sent to {email} due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to only one of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrierSingular',\n },\n contactRestrictionNoticeInformationBarrierSingularGroup: {\n defaultMessage: 'Invitations cannot be sent to \"{groupName}\" due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to only one of the selected contacts, which is a group',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrierSingularGroup',\n },\n contactRestrictionRemoveButtonLabel: {\n defaultMessage: 'Remove to continue',\n description: 'Label for the button that removes restricted contacts on the contact restriction notice',\n id: 'boxui.unifiedShare.contactRestrictionRemoveButtonLabel',\n },\n contactEmailsTooltipText: {\n defaultMessage: '{emails}, and {remainingEmailsCount} more',\n description:\n 'Text to show when the number of contact email addresses displayed on a tooltip exceeds the maximum amount that can be displayed',\n id: 'boxui.unifiedShare.contactEmailsTooltipText',\n },\n expiresMessage: {\n defaultMessage: 'Expires',\n description: 'Label for tooltips or other components that display expiration icons',\n id: 'boxui.unifiedShare.expiresMessage',\n },\n setLevelOfCollabAccess: {\n defaultMessage:\n 'Set the level of {collaboratorAccess} and increase security through one of our paid plans. {upgradeLink}',\n description:\n 'Used in a dialog box that urges the user to upgrade. The collaboratorAccess variable is replaced with the words \"collaborator access\" from the string with the id boxui.unifiedShare.collabAccess',\n id: 'boxui.unifiedShare.levelOfCollabAccess',\n },\n collabAccess: {\n defaultMessage: 'collaborator access',\n description:\n 'Used in a dialog box that urges the user to upgrade. This is substituted into the middle of the sentence in the string with id boxui.unifiedShare.levelOfCollabAccess',\n id: 'boxui.unifiedShare.collabAccess',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"messages.js","names":["defineMessages","messages","contentSharedWithExternalCollaborators","disabledShareLinkPermission","disabledMaliciousContentShareLinkPermission","enterAtLeastOneEmailError","contactsExceedLimitError","enterEmailAddressesCalloutText","ftuxNewUSMUserTitle","ftuxNewUSMUserBody","ftuxLinkText","ftuxConfirmLabel","ftuxEditPermissionTooltipBody","ftuxEditPermissionTooltipTitle","collaboratorListTitle","expirationTooltipClickableText","groupLabel","modalTitle","emailModalTitle","inviteDisabledTooltip","inviteDisabledWeblinkTooltip","inviteFieldLabel","sharedLinkSectionLabel","sharedLinkURLLabel","linkShareOff","linkShareOn","messageTitle","suggestedCollabsTitle","peopleInEnterpriseName","peopleInYourCompany","peopleInThisFolder","peopleInThisFile","peopleWithTheLinkText","removeLinkConfirmationTitle","removeCollaboratorConfirmationTitle","removeLinkConfirmationDescription","removeCollaboratorConfirmationDescription","removeLinkTooltip","disabledCreateLinkTooltip","sendSharedLink","sendSharedLinkFieldLabel","sharedLinkExpirationTooltip","sharedLinkPermissionsViewDownload","sharedLinkPermissionsViewOnly","ftuxSharedLinkPermissionsEditTag","sharedLinkPermissionsEdit","sharedLinkPermissionsEditTooltip","sharedLinkDisabledTooltipCopy","sharedLinkSettingsCalloutText","sharedLinkPubliclyAvailable","sharedLinkEditablePubliclyAvailable","sharedLinkElevatedEditableCompanyAvailable","upgradeGetMoreAccessControlsDescription","upgradeGetMoreAccessControlsLink","upgradeLink","upgradeInlineNoticeTitle","sharedLinkSettings","peopleWithLinkDescription","peopleInSpecifiedCompanyCanAccessFolder","peopleInCompanyCanAccessFolder","peopleInSpecifiedCompanyCanAccessFile","peopleInCompanyCanAccessFile","peopleInSpecifiedCompanyCanAccessHub","peopleInCompanyCanAccessHub","peopleInItemCanAccessFolder","peopleInItemCanAccessFile","peopleInItemCanAccessHub","coownerLevelButtonLabel","coownerLevelText","coownerLevelDescription","editorLevelButtonLabel","editorLevelText","editorLevelDescription","editorLevelFileDescription","previewerLevelButtonLabel","previewerLevelText","previewerLevelDescription","previewerUploaderLevelButtonLabel","previewerUploaderLevelText","previewerUploaderLevelDescription","viewerLevelButtonLabel","viewerLevelText","viewerLevelDescription","viewerUploaderLevelButtonLabel","viewerUploaderLevelText","viewerUploaderLevelDescription","uploaderLevelButtonLabel","uploaderLevelText","uploaderLevelDescription","userCollabText","groupCollabText","recommendedSharingTooltipCalloutText","justificationSelectPlaceholder","justificationRequiredError","restrictedContactsError","justifiableContactRestrictionNotice","justifiableContactRestrictionNoticeSingular","justifiableContactRestrictionRemoveButtonLabel","contactRestrictionNotice","contactRestrictionNoticeSingular","contactRestrictionNoticeInformationBarrier","contactRestrictionNoticeInformationBarrierSingular","contactRestrictionNoticeInformationBarrierSingularGroup","contactRestrictionRemoveButtonLabel","contactEmailsTooltipText","expiresMessage","setLevelOfCollabAccess","collabAccess"],"sources":["../../../src/features/unified-share-modal/messages.js"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n contentSharedWithExternalCollaborators: {\n defaultMessage: 'This content will be shared with external collaborators.',\n description: 'Text shown in share modal when there is at least one external collaborators',\n id: 'boxui.unifiedShare.contentSharedWithExternalCollaborators',\n },\n disabledShareLinkPermission: {\n defaultMessage: 'This option is not available due to a security policy.',\n description:\n 'Tooltip text for when shared permission option is not available due to restriction or classification',\n id: 'boxui.unifiedShare.disabledShareLinkPermission',\n },\n disabledMaliciousContentShareLinkPermission: {\n defaultMessage: 'This option isn’t available for this item due to a security policy.',\n description: 'Tooltip text for when shared permission option is not available due to security policy',\n id: 'boxui.unifiedShare.disabledMaliciousContentShareLinkPermission',\n },\n enterAtLeastOneEmailError: {\n defaultMessage: 'Enter at least one valid email',\n description: 'Error message when user tries to send Shared Link as email without entering any recipients',\n id: 'boxui.unifiedShare.enterAtLeastOneEmail',\n },\n contactsExceedLimitError: {\n defaultMessage:\n 'Oops! The maximum number of collaborators that can be added at once is {maxContacts} collaborators. Please try again by splitting your invitations into batches.',\n description: 'Error message when more than the maximum number of contacts is entered',\n id: 'boxui.unifiedShare.contactsExceedLimitError',\n },\n enterEmailAddressesCalloutText: {\n defaultMessage: 'Share this item with coworkers by entering their email addresses',\n description:\n 'Tooltip text shown in the share modal, encouraging users to enter email addresses to share the item with',\n id: 'boxui.unifiedShare.enterEmailAddressesCalloutText',\n },\n ftuxNewUSMUserTitle: {\n defaultMessage: 'Simplified sharing for files and folders',\n description: 'This title appears in the callout when loading the modal, to let users know about the new UI',\n id: 'boxui.unifiedShare.ftuxNewUsmUserTitle',\n },\n ftuxNewUSMUserBody: {\n defaultMessage:\n \"We’ve simplified the sharing experience when you click 'Share'. Invite people to this item here and toggle the link on or off below for easy sharing.\",\n description: 'This text describes the purpose of the new UI, using the button label to open the modal',\n id: 'boxui.unifiedShare.ftuxNewUSMUserBody',\n },\n ftuxLinkText: {\n defaultMessage: 'Read more about shared link security here.',\n description: 'Text on the link which allows to learn more about link security',\n id: 'boxui.unifiedShare.ftuxLinkText',\n },\n ftuxConfirmLabel: {\n defaultMessage: 'Got it',\n description: 'This is label for the button so a user understands the new interface',\n id: 'boxui.unifiedShare.ftuxConfirmLabel',\n },\n ftuxEditPermissionTooltipBody: {\n defaultMessage: 'Select the new edit option to easily share your file with people or groups.',\n description:\n 'Text for the body of the tooltip for the ftux experience when the edit option is available for the user',\n id: 'boxui.unifiedShare.ftuxEditPermissionTooltipBody',\n },\n ftuxEditPermissionTooltipTitle: {\n defaultMessage: 'Collaboration made easy',\n description:\n 'Text for the title of the tooltip for the ftux experience when the edit option is available for the user',\n id: 'boxui.unifiedShare.ftuxEditPermissionTooltipTitle',\n },\n collaboratorListTitle: {\n defaultMessage: 'People in ‘{itemName}’',\n description: 'Title for collaborator list modal',\n id: 'boxui.unifiedShare.collaboratorListTitle',\n },\n expirationTooltipClickableText: {\n defaultMessage: 'Access expires on {date}. Click for details.',\n description: 'This string is displayed as tooltip on hovering over expire icon for collab',\n id: 'boxui.unifiedShare.collaborators.expirationTooltipClickableText',\n },\n groupLabel: {\n defaultMessage: 'Group',\n description: 'Label for a Group contact type',\n id: 'boxui.unifiedShare.groupLabel',\n },\n modalTitle: {\n defaultMessage: 'Share ‘{itemName}’',\n description: 'Title of the Unified Share Modal. {itemName} is the name of the file / folder being shared',\n id: 'boxui.unifiedShare.modalTitle',\n },\n emailModalTitle: {\n defaultMessage: 'Send Link to ‘{itemName}’',\n description:\n 'The message to show when you have clicked the button to send the email to a new collaborator (title case)',\n id: 'boxui.unifiedShare.emailModalTitle',\n },\n inviteDisabledTooltip: {\n defaultMessage: 'You do not have permission to invite collaborators.',\n description: 'Invite Collaborators disabled state tooltip',\n id: 'boxui.unifiedShare.inviteDisabledTooltip',\n },\n inviteDisabledWeblinkTooltip: {\n defaultMessage: 'Collaborators cannot be added to bookmarks.',\n description: 'Invite Collaborators disabled state tooltip due to item being weblink',\n id: 'boxui.unifiedShare.inviteDisabledWeblinkTooltip',\n },\n inviteFieldLabel: {\n defaultMessage: 'Invite People',\n description: 'Label of the field where a user designates who to invite to collaborate on an item',\n id: 'boxui.unifiedShare.inviteFieldLabel',\n },\n sharedLinkSectionLabel: {\n defaultMessage: 'Share Link',\n description: 'Label for the shared link section of the unified share modal',\n id: 'boxui.unifiedShare.sharedLinkSectionLabel',\n },\n sharedLinkURLLabel: {\n defaultMessage: 'URL',\n description: 'Accessible label for shared link input field',\n id: 'boxui.share.sharedLinkURLLabel',\n },\n linkShareOff: {\n defaultMessage: 'Create shared link',\n description: 'Call to action text for allowing the user to create a new shared link',\n id: 'boxui.unifiedShare.linkShareOff',\n },\n linkShareOn: {\n defaultMessage: 'Shared link is created',\n description: 'Call to action text for allowing the user to remove an existing shared link',\n id: 'boxui.unifiedShare.linkShareOn',\n },\n messageTitle: {\n defaultMessage: 'Message',\n description: 'Label for \"Message\" text box to email the shared Link',\n id: 'boxui.unifiedShare.message',\n },\n suggestedCollabsTitle: {\n defaultMessage: 'Suggested',\n description: 'Title for suggested collaborators that can be added to the form',\n id: 'boxui.unifiedShare.suggestedCollabsTitle',\n },\n\n // shared link access labels\n peopleInEnterpriseName: {\n defaultMessage: 'People in {enterpriseName}',\n description: 'Label for \"People in {enterpriseName}\" option',\n id: 'boxui.unifiedShare.peopleInEnterpriseName',\n },\n peopleInYourCompany: {\n defaultMessage: 'People in your company',\n description: 'Label for \"People in your company\" option',\n id: 'boxui.unifiedShare.peopleInYourCompany',\n },\n peopleInThisFolder: {\n defaultMessage: 'Invited people only',\n description: 'Label for \"People in this folder\" option',\n id: 'boxui.unifiedShare.peopleInThisFolder',\n },\n peopleInThisFile: {\n defaultMessage: 'Invited people only',\n description: 'Label for \"People in this file\" option',\n id: 'boxui.unifiedShare.peopleInThisFile',\n },\n peopleWithTheLinkText: {\n defaultMessage: 'People with the link',\n description: 'Text to show that those having the link will have access',\n id: 'boxui.unifiedShare.peopleWithTheLinkText',\n },\n\n removeLinkConfirmationTitle: {\n defaultMessage: 'Remove Shared Link',\n description: 'Label for confirmation modal to remove a shared link (title-case)',\n id: 'boxui.unifiedShare.removeLinkConfirmationTitle',\n },\n removeCollaboratorConfirmationTitle: {\n defaultMessage: 'Remove Collaborator',\n description: 'Label for confirmation modal to remove a collaborator (title-case)',\n id: 'boxui.unifiedShare.removeCollaboratorConfirmationTitle',\n },\n removeLinkConfirmationDescription: {\n defaultMessage:\n 'This will permanently remove the shared link. If this item is embedded on other sites it will also become inaccessible. Any custom properties, settings and expirations will be removed as well. Do you want to continue?',\n description: 'Description for confirmation modal to remove a shared link',\n id: 'boxui.unifiedShare.removeLinkConfirmationDescription',\n },\n removeCollaboratorConfirmationDescription: {\n defaultMessage: 'Are you sure you want to remove {name} as a collaborator?',\n description: 'Description for confirmation modal to remove a collaborator',\n id: 'boxui.unifiedShare.removeCollaboratorConfirmationDescription',\n },\n removeLinkTooltip: {\n defaultMessage: 'You do not have permission to remove the link.',\n description: 'Tooltip description for not having access to remove link',\n id: 'boxui.unifiedShare.removeLinkTooltip',\n },\n disabledCreateLinkTooltip: {\n defaultMessage: 'You do not have permission to create the link.',\n description: 'Tooltip description for users who do not have permission for link creation',\n id: 'boxui.unifiedShare.disabledCreateLinkTooltip',\n },\n sendSharedLink: {\n defaultMessage: 'Send Shared Link',\n description: 'Tooltip text for email shared link button (title-case)',\n id: 'boxui.unifiedShare.sendSharedLink',\n },\n sendSharedLinkFieldLabel: {\n defaultMessage: 'Email Shared Link',\n description: 'Field label for shared link recipient list (title-case)',\n id: 'boxui.unifiedShare.sendSharedLinkFieldLabel',\n },\n sharedLinkExpirationTooltip: {\n defaultMessage: 'This link will expire and be inaccessible on {expiration, date, long}.',\n description:\n 'Tooltip describing when this shared link will expire. {expiration, date, long} is the formatted date',\n id: 'boxui.unifiedShare.sharedLinkExpirationTooltip',\n },\n\n // shared link permissions\n sharedLinkPermissionsViewDownload: {\n defaultMessage: 'Can view and download',\n description: 'Label for a shared link permission level',\n id: 'boxui.unifiedShare.sharedLinkPermissionsViewDownload',\n },\n sharedLinkPermissionsViewOnly: {\n defaultMessage: 'Can view only',\n description: 'Label for a shared link permission level',\n id: 'boxui.unifiedShare.sharedLinkPermissionsViewOnly',\n },\n ftuxSharedLinkPermissionsEditTag: {\n defaultMessage: 'NEW',\n description:\n 'Label for the LabelPill that is shown when the user first opens the SharedLinkPermissions dropdown and sees the Can Edit option',\n id: 'boxui.unifiedShare.ftuxSharedLinkPermissionsEditTag',\n },\n sharedLinkPermissionsEdit: {\n defaultMessage: 'Can edit',\n description: 'Label for a shared link permission to show for an editable box note / file',\n id: 'boxui.unifiedShare.sharedLinkPermissionsEdit',\n },\n sharedLinkPermissionsEditTooltip: {\n defaultMessage: 'This permission can only be changed in Box Notes',\n description: 'Text to use in the tooltip when presenting an editable Box Note (DO NOT TRANSLATE \"Box Notes\")',\n id: 'boxui.unifiedShare.sharedLinkPermissionsEditTooltip',\n },\n sharedLinkDisabledTooltipCopy: {\n defaultMessage: 'Create and copy link for sharing',\n description: 'This tooltip appears over the shared link toggle, explaining what happens when it is clicked',\n id: 'boxui.unifiedShare.sharedLinkDisabledTooltipCopy',\n },\n sharedLinkSettingsCalloutText: {\n defaultMessage: 'Create a custom URL, enable password protection, enable link expiration, and much more',\n description:\n 'Tooltip text shown in the share modal, next to the settings gear, describing what settings can be changed',\n id: 'boxui.unifiedShare.sharedLinkSettingsCalloutText',\n },\n sharedLinkPubliclyAvailable: {\n defaultMessage: 'This content is publicly available to anyone with the link.',\n description: 'Text shown in share modal when shared link is open to public access',\n id: 'boxui.unifiedShare.sharedLinkPubliclyAvailable',\n },\n sharedLinkEditablePubliclyAvailable: {\n defaultMessage:\n 'Publicly available for anyone to view and download. Any logged in users with the link can edit.',\n description: 'Text shown in share modal when shared link is editable and is open to public access',\n id: 'boxui.unifiedShare.sharedLinkEditablePubliclyAvailable',\n },\n sharedLinkElevatedEditableCompanyAvailable: {\n defaultMessage: 'People who have access to this link can edit.',\n description: 'Text shown in share modal when shared link is editable and is open to company access',\n id: 'boxui.unifiedShare.sharedLinkElevatedEditableCompanyAvailable',\n },\n upgradeGetMoreAccessControlsDescription: {\n defaultMessage:\n '62% of customers on your plan {upgradeGetMoreAccessControlsLink} to manage collaborators’ access and permission settings',\n description: 'Description for cta to upgrade to get more access controls for inviting collaborators to an item',\n id: 'boxui.unifiedShare.upgradeGetMoreAccessControlsDescription',\n },\n upgradeGetMoreAccessControlsLink: {\n defaultMessage: 'upgrade',\n description: 'Label for link to upgrade to get more access controls for inviting collaborators to an item',\n id: 'boxui.unifiedShare.upgradeGetMoreAccessControlsLink',\n },\n upgradeLink: {\n defaultMessage: 'Upgrade now',\n description: 'Label for link to upgrade account',\n id: 'boxui.unifiedShare.upgradeLink',\n },\n upgradeInlineNoticeTitle: {\n defaultMessage: 'Upgrade Your Plan',\n description: 'Title for the upgrade inline notice for upgrade user plan',\n id: 'boxui.unifiedShare.upgradeInlineNoticeTitle',\n },\n sharedLinkSettings: {\n defaultMessage: 'Link Settings',\n description: 'Description of the shared link settings modal entry point. This shows link-specific options.',\n id: 'boxui.unifiedShare.sharedLinkSettings',\n },\n\n // shared link access descriptions\n peopleWithLinkDescription: {\n defaultMessage: 'Publicly accessible and no sign-in required',\n description: 'Description of an open shared link',\n id: 'boxui.unifiedShare.peopleWithLinkDescription',\n },\n peopleInSpecifiedCompanyCanAccessFolder: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this folder can access',\n description: 'Description of a specific company shared link for a folder. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessFolder',\n },\n peopleInCompanyCanAccessFolder: {\n defaultMessage: 'Anyone in your company with the link or people invited to this folder can access',\n description: 'Description of a company shared link for a folder.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessFolder',\n },\n peopleInSpecifiedCompanyCanAccessFile: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this file can access',\n description: 'Description of a specific company shared link for a file. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessFile',\n },\n peopleInCompanyCanAccessFile: {\n defaultMessage: 'Anyone in your company with the link or people invited to this file can access',\n description: 'Description of a company shared link for a file.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessFile',\n },\n peopleInSpecifiedCompanyCanAccessHub: {\n defaultMessage: 'Anyone at {company} with the link or people invited to this hub can access',\n description: 'Description of a specific company shared link for a hub. {company} is the company name',\n id: 'boxui.unifiedShare.peopleInSpecifiedCompanyCanAccessHub',\n },\n peopleInCompanyCanAccessHub: {\n defaultMessage: 'Anyone in your company with the link or people invited to this hub can access',\n description: 'Description of a company shared link for a hub.',\n id: 'boxui.unifiedShare.peopleInCompanyCanAccessHub',\n },\n peopleInItemCanAccessFolder: {\n defaultMessage: 'Only invited people can access this folder',\n description: 'Description of a collaborator-only shared link for a folder',\n id: 'boxui.unifiedShare.peopleInItemCanAccessFolder',\n },\n peopleInItemCanAccessFile: {\n defaultMessage: 'Only invited people can access this file',\n description: 'Description of a collaborator-only shared link for a file',\n id: 'boxui.unifiedShare.peopleInItemCanAccessFile',\n },\n peopleInItemCanAccessHub: {\n defaultMessage: 'Only invited people can access this hub',\n description: 'Description of a collaborator-only shared link for a hub',\n id: 'boxui.unifiedShare.peopleInItemCanAccessHub',\n },\n\n // invite collabs levels\n coownerLevelButtonLabel: {\n defaultMessage: 'Invite as Co-owner',\n description: 'Text used in button label to describe permission level - co-owner',\n id: 'boxui.unifiedShare.coownerLevelButtonLabel',\n },\n coownerLevelText: {\n defaultMessage: 'Co-owner',\n description: 'Text for Co-owner permission level in permissions table',\n id: 'boxui.unifiedShare.coownerLevelText',\n },\n coownerLevelDescription: {\n defaultMessage: 'Manage security, upload, download, preview, share, edit, and delete',\n description: 'Description for Co-owner permission level in permissions table',\n id: 'boxui.unifiedShare.coownerLevelDescription',\n },\n editorLevelButtonLabel: {\n defaultMessage: 'Invite as Editor',\n description: 'Text used in button label to describe permission level - editor',\n id: 'boxui.unifiedShare.editorLevelButtonLabel',\n },\n editorLevelText: {\n defaultMessage: 'Editor',\n description: 'Text for Editor permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.editorLevelText',\n },\n editorLevelDescription: {\n defaultMessage: 'Upload, download, preview, share, edit, and delete',\n description: 'Description for Editor permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.editorLevelDescription',\n },\n editorLevelFileDescription: {\n defaultMessage: 'Upload, download, preview, share, and edit',\n description: 'Description for Editor permission level in invitee permission dropdown for files',\n id: 'boxui.unifiedShare.editorLevelFileDescription',\n },\n previewerLevelButtonLabel: {\n defaultMessage: 'Invite as Previewer',\n description: 'Text used in button label to describe permission level - previewer',\n id: 'boxui.unifiedShare.previewerLevelButtonLabel',\n },\n previewerLevelText: {\n defaultMessage: 'Previewer',\n description: 'Text for Previewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerLevelText',\n },\n previewerLevelDescription: {\n defaultMessage: 'Preview only',\n description: 'Description for Previewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerLevelDescription',\n },\n previewerUploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Previewer Uploader',\n description: 'Text used in button label to describe permission level - previewer uploader',\n id: 'boxui.unifiedShare.previewerUploaderLevelButtonLabel',\n },\n previewerUploaderLevelText: {\n defaultMessage: 'Previewer Uploader',\n description: 'Text for Previewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerUploaderLevelText',\n },\n previewerUploaderLevelDescription: {\n defaultMessage: 'Upload and preview',\n description: 'Description for Previewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.previewerUploaderLevelDescription',\n },\n viewerLevelButtonLabel: {\n defaultMessage: 'Invite as Viewer',\n description: 'Text used in button label to describe permission level - viewer',\n id: 'boxui.unifiedShare.viewerLevelButtonLabel',\n },\n viewerLevelText: {\n defaultMessage: 'Viewer',\n description: 'Text for Viewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerLevelText',\n },\n viewerLevelDescription: {\n defaultMessage: 'Download, preview, and share',\n description: 'Description for Viewer permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerLevelDescription',\n },\n viewerUploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Viewer Uploader',\n description: 'Text used in button label to describe permission level - viewer uploader',\n id: 'boxui.unifiedShare.viewerUploaderLevelButtonLabel',\n },\n viewerUploaderLevelText: {\n defaultMessage: 'Viewer Uploader',\n description: 'Text for Viewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerUploaderLevelText',\n },\n viewerUploaderLevelDescription: {\n defaultMessage: 'Upload, download, preview, share, and edit',\n description: 'Text for Viewer Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.viewerUploaderLevelDescription',\n },\n uploaderLevelButtonLabel: {\n defaultMessage: 'Invite as Uploader',\n description: 'Text used in button label to describe permission level - uploader',\n id: 'boxui.unifiedShare.uploaderLevelButtonLabel',\n },\n uploaderLevelText: {\n defaultMessage: 'Uploader',\n description: 'Text for Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.uploaderLevelText',\n },\n uploaderLevelDescription: {\n defaultMessage: 'Upload only',\n description: 'Description for Uploader permission level in invitee permission dropdown',\n id: 'boxui.unifiedShare.uploaderLevelDescription',\n },\n\n // Collaboration group type messages\n userCollabText: {\n defaultMessage: 'User',\n description: 'Text to display for individual users who have accepted an invitation to collaborate',\n id: 'boxui.unifiedShare.collaboration.userCollabText',\n },\n groupCollabText: {\n defaultMessage: 'Group',\n description: 'Text to display for a group of users who have accepted an invitation to collaborate',\n id: 'boxui.unifiedShare.collaboration.groupCollabText',\n },\n\n // Recommended Sharing Tooltip messages\n recommendedSharingTooltipCalloutText: {\n defaultMessage: 'Based on your usage, we think {fullName} would be interested in this file.',\n description: 'Tooltip description to explain recommendation for sharing tooltip',\n id: 'boxui.unifiedShare.recommendedSharingTooltipCalloutText',\n },\n\n // Information Barrier restrictions, external collab restrictions and business justifications\n justificationSelectPlaceholder: {\n defaultMessage: 'Select Justification',\n description: 'The placeholder text of the select field that allows selecting a business justification reason',\n id: 'boxui.unifiedShare.justificationSelectPlaceholder',\n },\n justificationRequiredError: {\n defaultMessage: 'Select a justification or remove to continue',\n description:\n 'The error message that is displayed when a user tries to send invitations to external collaborators, but a business justification is required before proceeding',\n id: 'boxui.unifiedShare.justificationRequiredError',\n },\n restrictedContactsError: {\n defaultMessage: 'Remove to continue',\n description:\n 'The error message that is displayed when a user tries to send invitations to external collaborators, but restricted contacts need to be removed before proceeding',\n id: 'boxui.unifiedShare.restrictedContactsError',\n },\n justifiableContactRestrictionNotice: {\n defaultMessage:\n 'This content requires a business justification for {count, plural, one {{count} invitation} other {{count} invitations}}. Please select a business justification below.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts and business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionNotice',\n },\n justifiableContactRestrictionNoticeSingular: {\n defaultMessage:\n 'This content requires a business justification to invite {email}. Please select a business justification below.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts and business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionNoticeSingular',\n },\n justifiableContactRestrictionRemoveButtonLabel: {\n defaultMessage: 'Alternatively, remove to continue',\n description:\n 'Label for the button that removes restricted contacts on the contact restriction notice when business justifications are allowed for bypassing restrictions',\n id: 'boxui.unifiedShare.justifiableContactRestrictionRemoveButtonLabel',\n },\n contactRestrictionNotice: {\n defaultMessage:\n '{count, plural, one {{count} invitation} other {{count} invitations}} cannot be sent because external collaboration is restricted due to the applied security policy.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNotice',\n },\n contactRestrictionNoticeSingular: {\n defaultMessage:\n 'Invitations cannot be sent to {email} because external collaboration is restricted due to the applied security policy.',\n description:\n 'Text for the notice that is displayed when there are collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeSingular',\n },\n contactRestrictionNoticeInformationBarrier: {\n defaultMessage:\n '{count, plural, one {{count} invitation} other {{count} invitations}} cannot be sent due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to one or more of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrier',\n },\n contactRestrictionNoticeInformationBarrierSingular: {\n defaultMessage: 'Invitations cannot be sent to {email} due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to only one of the selected contacts',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrierSingular',\n },\n contactRestrictionNoticeInformationBarrierSingularGroup: {\n defaultMessage: 'Invitations cannot be sent to \"{groupName}\" due to a security policy.',\n description:\n 'Text for the notice that is displayed when there are Information Barrier collaboration restrictions that apply to only one of the selected contacts, which is a group',\n id: 'boxui.unifiedShare.contactRestrictionNoticeInformationBarrierSingularGroup',\n },\n contactRestrictionRemoveButtonLabel: {\n defaultMessage: 'Remove to continue',\n description: 'Label for the button that removes restricted contacts on the contact restriction notice',\n id: 'boxui.unifiedShare.contactRestrictionRemoveButtonLabel',\n },\n contactEmailsTooltipText: {\n defaultMessage: '{emails}, and {remainingEmailsCount} more',\n description:\n 'Text to show when the number of contact email addresses displayed on a tooltip exceeds the maximum amount that can be displayed',\n id: 'boxui.unifiedShare.contactEmailsTooltipText',\n },\n expiresMessage: {\n defaultMessage: 'Expires',\n description: 'Label for tooltips or other components that display expiration icons',\n id: 'boxui.unifiedShare.expiresMessage',\n },\n setLevelOfCollabAccess: {\n defaultMessage:\n 'Set the level of {collaboratorAccess} and increase security through one of our paid plans. {upgradeLink}',\n description:\n 'Used in a dialog box that urges the user to upgrade. The collaboratorAccess variable is replaced with the words \"collaborator access\" from the string with the id boxui.unifiedShare.collabAccess',\n id: 'boxui.unifiedShare.levelOfCollabAccess',\n },\n collabAccess: {\n defaultMessage: 'collaborator access',\n description:\n 'Used in a dialog box that urges the user to upgrade. This is substituted into the middle of the sentence in the string with id boxui.unifiedShare.levelOfCollabAccess',\n id: 'boxui.unifiedShare.collabAccess',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]}