diff --git a/packages/component-faraday-ui/src/AppBar.js b/packages/component-faraday-ui/src/AppBar.js index 44c5885b02c463566d262142bc61fe3614fef867..22cf49c553cf64e99dc1c09f7195ddd7491032b5 100644 --- a/packages/component-faraday-ui/src/AppBar.js +++ b/packages/component-faraday-ui/src/AppBar.js @@ -9,7 +9,6 @@ import { Item, Row, Text } from 'pubsweet-component-faraday-ui' const AppBar = ({ fixed, - isSubmit, logo: Logo, menu: Menu, createDraft, @@ -29,7 +28,6 @@ const AppBar = ({ <Autosave /> </Item> {createDraft && - !isSubmit && currentUser.user && ( <Button data-test-id="new-manuscript" @@ -57,17 +55,19 @@ const AppBar = ({ ) AppBar.propTypes = { + /** If true, it will be fixed at the top of the screen. */ fixed: PropTypes.bool, + /** Logo that will be added to the fragment. */ logo: PropTypes.func, currentUser: PropTypes.shape({ user: PropTypes.object, isAuthenticated: PropTypes.bool, }), - /** If false will appear an error message. */ + /** If false an error message will appear. */ canCreateDraft: PropTypes.bool, /** Pass the menu component. */ menu: PropTypes.func, - /** Appear an animation until it's save. */ + /** Custom component that will be used as an autosave indicator. */ autosave: PropTypes.func, } diff --git a/packages/component-faraday-ui/src/AuthorReply.js b/packages/component-faraday-ui/src/AuthorReply.js index 82523a7de115eb4988a748a1df102dcd18f4deb7..e1b6cfff662ac36bcebc29d983b20a17a8fc19fb 100644 --- a/packages/component-faraday-ui/src/AuthorReply.js +++ b/packages/component-faraday-ui/src/AuthorReply.js @@ -62,20 +62,14 @@ AuthorReply.propTypes = { authorName: PropTypes.string, /** Date of submitted reply. */ submittedOn: PropTypes.number, - /** Download the file from the server then updates the form. */ - onDownload: PropTypes.func, - /** Previews the file from the server then updates the form. */ - onPreview: PropTypes.func, /** Reply File. */ replyFile: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), } AuthorReply.defaultProps = { - replyContent: undefined, + replyContent: '', replyFile: {}, - authorName: undefined, - submittedOn: undefined, - onDownload: () => {}, - onPreview: () => {}, + authorName: '', + submittedOn: Date.now(), } export default withProps( diff --git a/packages/component-faraday-ui/src/AuthorTagList.js b/packages/component-faraday-ui/src/AuthorTagList.js index f168d53c6448116e7e5966b2e2e27bda7814ff00..724643ba05407c3b5a2401bdaad4058cdd7b260b 100644 --- a/packages/component-faraday-ui/src/AuthorTagList.js +++ b/packages/component-faraday-ui/src/AuthorTagList.js @@ -114,7 +114,7 @@ export default compose( )(AuthorTagList) AuthorTagList.propTypes = { - /** What label we want to be seen on the card. */ + /** The identificator label that will be seen on the card. */ authorKey: PropTypes.string, /** All authors we want to be seen on the card. */ authors: PropTypes.arrayOf(PropTypes.object), diff --git a/packages/component-faraday-ui/src/AutosaveIndicator.js b/packages/component-faraday-ui/src/AutosaveIndicator.js index c219d581676d7ff376e5c5402ebeb2974310484a..03a3041f2e18a80e6301cb577011c03628df0f71 100644 --- a/packages/component-faraday-ui/src/AutosaveIndicator.js +++ b/packages/component-faraday-ui/src/AutosaveIndicator.js @@ -101,7 +101,7 @@ export default compose( )(AutosaveIndicator) AutosaveIndicator.propTypes = { - /** Saving loader. */ + /** Displays the status of the form, in progress, saved or error. */ autosave: PropTypes.object, // eslint-disable-line } diff --git a/packages/component-faraday-ui/src/ContextualBox.js b/packages/component-faraday-ui/src/ContextualBox.js index cb3350d6d724ad3f8797a62aa0f7e0cd324ff9c4..188d9a4a38cf3d9c215be5b1da47e778b5d41d68 100644 --- a/packages/component-faraday-ui/src/ContextualBox.js +++ b/packages/component-faraday-ui/src/ContextualBox.js @@ -74,7 +74,9 @@ ContextualBox.propTypes = { ContextualBox.defaultProps = { label: '', - // rightChildren: undefined, + rightChildren: undefined, + expanded: false, + toggle: () => {}, } // #region styles diff --git a/packages/component-faraday-ui/src/EditorialReportCard.js b/packages/component-faraday-ui/src/EditorialReportCard.js index 387c6f2ac21cb14ee872740519a2862d771f05ff..649beafe62774e2832120318dedae476ce7d43bb 100644 --- a/packages/component-faraday-ui/src/EditorialReportCard.js +++ b/packages/component-faraday-ui/src/EditorialReportCard.js @@ -25,11 +25,10 @@ const EditorialReportCard = ({ <Root> <Row justify="space-between" mb={2}> <Item vertical> - {editorRole === 'HE' ? ( - <Label mb={1 / 2}>Recommendation</Label> - ) : ( - <Label mb={1 / 2}>Decision</Label> - )} + <Label mb={1 / 2}> + {editorRole === 'HE' ? 'Recommendation' : 'Decision'} + </Label> + ) <Text>{recommendation}</Text> </Item> @@ -113,9 +112,9 @@ export default compose( )(EditorialReportCard) EditorialReportCard.propTypes = { - /** Label that will be view by public persons. */ + /** Label that will be publicly viewed, for example, a message for the author will be seen by other roles also. */ publicLabel: PropTypes.string, - /** Label that will be view by private persons like Editorial Team. */ + /** Label that will only be viewed as private message, for example, by the Editorial Team. */ privateLabel: PropTypes.string, /** Message by editorial team and other information. */ report: PropTypes.shape({ @@ -129,7 +128,7 @@ EditorialReportCard.propTypes = { recommendationType: PropTypes.string, reviewer: PropTypes.object, }), - /** What is the decision/recommendation by editorial team. */ + /** Object containing the list of recommendations. */ journal: PropTypes.shape({ recommendation: PropTypes.arrayOf(PropTypes.object), }), @@ -138,8 +137,8 @@ EditorialReportCard.propTypes = { EditorialReportCard.defaultProps = { publicLabel: '', privateLabel: '', - report: undefined, - journal: undefined, + report: {}, + journal: {}, } // #region styles const Root = styled.div` diff --git a/packages/component-faraday-ui/src/FileSection.js b/packages/component-faraday-ui/src/FileSection.js index 0c72c9cdd0bcee91d35fbf0a0ab0fa2e634e8693..f0691d983e217cf913d1b23a0eadc81129ef2890 100644 --- a/packages/component-faraday-ui/src/FileSection.js +++ b/packages/component-faraday-ui/src/FileSection.js @@ -113,7 +113,7 @@ const FileSection = ({ FileSection.propTypes = { /** Files that are uploaded. */ files: PropTypes.arrayOf(PropTypes.object), - /** Error you geton uploading. */ + /** Error you get on uploading. */ error: PropTypes.string, /** Titles of manuscript, cover letter and supplimental files. */ title: PropTypes.string, @@ -123,23 +123,23 @@ FileSection.propTypes = { moveItem: PropTypes.func, /** Extensions allowed to be uploaded. */ allowedFileExtensions: PropTypes.arrayOf(PropTypes.string), - /** Appears when a file was picked. */ + /** Callback function fired when a file is picked. */ onFilePick: PropTypes.func, - /** Appears when a file was previwed. */ + /** Callback function fired when preview icon is pressed. */ onPreview: PropTypes.func, - /** Appears when a file was downloaded. */ + /** Callback function fired when download icon is pressed. */ onDownload: PropTypes.func, - /** Appears when a file was deleted. */ + /** Callback function fired when delete icon is pressed. */ onDelete: PropTypes.func, } FileSection.defaultProps = { - files: undefined, - error: undefined, - title: undefined, - listId: undefined, + files: {}, + error: '', + title: '', + listId: '', moveItem: () => {}, - allowedFileExtensions: undefined, + allowedFileExtensions: [], onFilePick: () => {}, onPreview: () => {}, onDownload: () => {}, diff --git a/packages/component-faraday-ui/src/IconButton.js b/packages/component-faraday-ui/src/IconButton.js index df9bb387a1f38da7f23d52780ef5082ddf88b87e..d06944c056ca1af3332af913bbbf9f1ae9db4e7d 100644 --- a/packages/component-faraday-ui/src/IconButton.js +++ b/packages/component-faraday-ui/src/IconButton.js @@ -40,9 +40,9 @@ IconButton.propTypes = { } IconButton.defaultProps = { - icon: undefined, + icon: '', iconSize: 3, - onClick: undefined, + onClick: () => {}, } export default IconButton diff --git a/packages/component-faraday-ui/src/IconTooltip.js b/packages/component-faraday-ui/src/IconTooltip.js index 487c2b7b59499fe2a10e8d131b10266dd8270d9f..def736836780fa1e9a790a4c8cbec1cfd3c7511c 100644 --- a/packages/component-faraday-ui/src/IconTooltip.js +++ b/packages/component-faraday-ui/src/IconTooltip.js @@ -46,8 +46,8 @@ IconTooltip.propTypes = { IconTooltip.defaultProps = { icon: 'help-circle', iconSize: 3, - content: undefined, - interactive: undefined, + content: () => {}, + interactive: false, } export default withTheme(IconTooltip) diff --git a/packages/component-faraday-ui/src/InviteReviewers.js b/packages/component-faraday-ui/src/InviteReviewers.js index 9d0959259ba816daad4b2d7c94c60711e26e8c5c..69b113655a3b73e8e551b2190b7a731de9e414e0 100644 --- a/packages/component-faraday-ui/src/InviteReviewers.js +++ b/packages/component-faraday-ui/src/InviteReviewers.js @@ -104,7 +104,7 @@ InviteReviewers.propTypes = { } InviteReviewers.defaultProps = { - onInvite: null, + onInvite: () => {}, } export default compose( diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js index 0bec741bc7cb94aaf3a34c7bcb6f5ea5f6812f82..c03d861168733a0c9522b00839035db6b2be60e2 100644 --- a/packages/component-faraday-ui/src/ManuscriptCard.js +++ b/packages/component-faraday-ui/src/ManuscriptCard.js @@ -152,7 +152,7 @@ ManuscriptCard.propTypes = { ManuscriptCard.defaultProps = { fragment: {}, - collection: undefined, + collection: {}, } const MainContainer = styled.div` diff --git a/packages/component-faraday-ui/src/Pagination.js b/packages/component-faraday-ui/src/Pagination.js index 5917f5f0fdfd786260c6c3486902e6c6d50f4a02..63ca0c3bda13b61604ce0e1bcea647e46e58e8cd 100644 --- a/packages/component-faraday-ui/src/Pagination.js +++ b/packages/component-faraday-ui/src/Pagination.js @@ -73,7 +73,7 @@ Pagination.propTypes = { } Pagination.defaultProps = { page: 1, - hasMore: undefined, + hasMore: false, maxItems: 23, itemsPerPage: 10, changeItemsPerPage: () => {}, diff --git a/packages/component-faraday-ui/src/PasswordValidation.js b/packages/component-faraday-ui/src/PasswordValidation.js index 6dacbd6349dbae4446a0c68407b4d4d486dd6deb..22619b6408f14065180b841dae3c4355a03d4f35 100644 --- a/packages/component-faraday-ui/src/PasswordValidation.js +++ b/packages/component-faraday-ui/src/PasswordValidation.js @@ -120,14 +120,14 @@ PasswordValidation.propTypes = { atLeastOnePunctuation: PropTypes.bool, } PasswordValidation.defaultProps = { - formName: undefined, - formLabel: undefined, + formName: '', + formLabel: '', submitFailed: false, - minLength: undefined, - atLeastOneDigit: undefined, - atLeastOneUppercase: undefined, - atLeastOneLowerrcase: undefined, - atLeastOnePunctuation: undefined, + minLength: false, + atLeastOneDigit: false, + atLeastOneUppercase: false, + atLeastOneLowerrcase: false, + atLeastOnePunctuation: false, } export default compose( diff --git a/packages/component-faraday-ui/src/PersonInvitation.js b/packages/component-faraday-ui/src/PersonInvitation.js index 2e00a74bbf071bac036259898b39a5e06ea68a90..dc2d49439148391243fe1fc1edb2baf0c3fea926 100644 --- a/packages/component-faraday-ui/src/PersonInvitation.js +++ b/packages/component-faraday-ui/src/PersonInvitation.js @@ -111,15 +111,15 @@ PersonInvitation.propTypes = { }), } PersonInvitation.defaultProps = { - id: undefined, - role: undefined, - type: undefined, - reason: undefined, - userId: undefined, + id: '', + role: '', + type: '', + reason: '', + userId: '', hasAnswer: false, - invitedOn: undefined, + invitedOn: Date.now(), isAccepted: false, - respondedOn: undefined, + respondedOn: Date.now(), person: {}, } diff --git a/packages/component-faraday-ui/src/PublonsTable.js b/packages/component-faraday-ui/src/PublonsTable.js index cc4712d4b5ea1147e6615c1d6de7de6a1b88061b..c77945960d0e45eb9fa65c3bb1616ebfda4859bb 100644 --- a/packages/component-faraday-ui/src/PublonsTable.js +++ b/packages/component-faraday-ui/src/PublonsTable.js @@ -102,10 +102,13 @@ export default compose( TableView.propTypes = { reviewers: PropTypes.arrayOf(PropTypes.object), + /** Sends an invitation to the reviewer. */ + onInviteReviewer: PropTypes.func, } TableView.defaultProps = { - reviewers: undefined, + reviewers: [], + onInviteReviewer: () => {}, } // #region styles diff --git a/packages/component-faraday-ui/src/RadioWithComments.js b/packages/component-faraday-ui/src/RadioWithComments.js index af4276dc567f894cf14cb8a1ee6f08de56178a95..d81a9cdc37c9bdb9a34c1714d3c49a86435c8e3d 100644 --- a/packages/component-faraday-ui/src/RadioWithComments.js +++ b/packages/component-faraday-ui/src/RadioWithComments.js @@ -77,7 +77,7 @@ const RadioWithComments = ({ ) RadioWithComments.propTypes = { - /** Defines if a fragment si required or not. */ + /** Defines if a fragment is required or not. */ required: PropTypes.bool, /** Values taken by form. */ formValues: PropTypes.object, //eslint-disable-line @@ -95,11 +95,11 @@ RadioWithComments.propTypes = { RadioWithComments.defaultProps = { required: false, formValues: {}, - radioFieldName: undefined, - commentsFieldName: undefined, - commentsOn: undefined, - commentsLabel: undefined, - radioLabel: undefined, + radioFieldName: '', + commentsFieldName: '', + commentsOn: '', + commentsLabel: '', + radioLabel: '', } export default RadioWithComments diff --git a/packages/component-faraday-ui/src/RemoteOpener.js b/packages/component-faraday-ui/src/RemoteOpener.js index 29a777fde212a52428cf567b9ba5dcc39bdd1093..6681f273f4deb13d8e53cef076ce9a3f04e32461 100644 --- a/packages/component-faraday-ui/src/RemoteOpener.js +++ b/packages/component-faraday-ui/src/RemoteOpener.js @@ -14,10 +14,11 @@ export default withStateHandlers( )(RemoteOpener) RemoteOpener.propTypes = { - /** Expands a message for collapse or expand. */ + /** Prop used together with toggle. */ expanded: PropTypes.bool, - /** Method used to toggle a message on click. */ - toggle: PropTypes.func, + /** Callback function used to control the state of the component. + * To be used together with the `expanded` prop. + */ toggle: PropTypes.func, } RemoteOpener.defaultProps = { expanded: false, diff --git a/packages/component-faraday-ui/src/ReviewerReport.js b/packages/component-faraday-ui/src/ReviewerReport.js index ccf5eed4be329d4a8b836b2f8ff8167938fbc6b2..ab0359a208c8e5b743bc97ebc29c0ffc74e1c3ba 100644 --- a/packages/component-faraday-ui/src/ReviewerReport.js +++ b/packages/component-faraday-ui/src/ReviewerReport.js @@ -124,7 +124,7 @@ ReviewerReport.propTypes = { ReviewerReport.defaultProps = { showOwner: false, - report: undefined, + report: {}, journal: { recommendation: [] }, } // #region styles diff --git a/packages/component-faraday-ui/src/ReviewerReportAuthor.js b/packages/component-faraday-ui/src/ReviewerReportAuthor.js index 29f2605fd73a6c5e5aae6b3f610e95892f611125..c29d5e60c5df76bbe0d37288022508aa001033c0 100644 --- a/packages/component-faraday-ui/src/ReviewerReportAuthor.js +++ b/packages/component-faraday-ui/src/ReviewerReportAuthor.js @@ -114,7 +114,7 @@ ReviewerReportAuthor.propTypes = { ReviewerReportAuthor.defaultProps = { showOwner: false, - report: undefined, + report: {}, journal: { recommendation: [] }, } diff --git a/packages/component-faraday-ui/src/Text.js b/packages/component-faraday-ui/src/Text.js index aed324d77d53e75ee5bf11623b6c94326e37e271..5a21b6b2e540bc4d977e0d33729800b563624196 100644 --- a/packages/component-faraday-ui/src/Text.js +++ b/packages/component-faraday-ui/src/Text.js @@ -100,24 +100,18 @@ const Text = ({ bullet, children, ...rest }) => ) Text.propTypes = { - /** Defines what style the secondary text will have. */ + /** Default color for non-primary actions. */ secondary: PropTypes.bool, - /** Defines what style the error text will have. */ + /** Default color for error actions. */ error: PropTypes.bool, - /** Defines what style the customId text will have. */ + /** Default style for the customId text. */ customId: PropTypes.bool, - /** Defines what style the labelLine text will have. */ + /** Default style for text used as a label Line. */ labelLine: PropTypes.bool, - /** Defines what style the journal text will have. */ + /** Default style used for journal text. */ journal: PropTypes.bool, - /** Defines what style the small text will have. */ + /** Default style used for small text. */ small: PropTypes.bool, - /** defines how items will be displayed. */ - display: PropTypes.string, - /** defines how items will be aligned. */ - align: PropTypes.string, - /** defines if there will be a white space. */ - whiteSpace: PropTypes.string, } Text.defaultProps = { @@ -127,9 +121,6 @@ Text.defaultProps = { labelLine: false, journal: false, small: false, - display: 'inline-block', - align: 'start', - whiteSpace: 'initial', } export default Text diff --git a/packages/component-faraday-ui/src/contextualBoxes/AssignHE.js b/packages/component-faraday-ui/src/contextualBoxes/AssignHE.js index 20d88937f83af1fafe7cb7d361b05ebe3d4408ac..93abbfee1da6bd28e4723a7c43ffae2efcd1c90a 100644 --- a/packages/component-faraday-ui/src/contextualBoxes/AssignHE.js +++ b/packages/component-faraday-ui/src/contextualBoxes/AssignHE.js @@ -111,11 +111,11 @@ AssignHE.propTypes = { } AssignHE.defaultProps = { - changeSearch: undefined, + changeSearch: () => {}, searchValue: '', - clearSearch: undefined, + clearSearch: () => {}, handlingEditors: [], - inviteHandlingEditor: undefined, + inviteHandlingEditor: () => {}, } export default compose( diff --git a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js index 580363ef7f0cdb25b713ab9cbadf5b26d7cec3e3..aed0b39d26e55a8bcffc0b8b600db616a0038ea5 100644 --- a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js +++ b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js @@ -65,7 +65,7 @@ AuthorReviews.propTypes = { AuthorReviews.defaultProps = { reports: [], - getSignedUrl: undefined, + getSignedUrl: () => {}, journal: {}, token: '', } diff --git a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js index 9fd76615c9dab0dead6421bd4d6e486836ebf90a..79593cc08ad553f86c18a4b8ab0e76850212d598 100644 --- a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js +++ b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js @@ -178,7 +178,7 @@ HERecommendation.propTypes = { HERecommendation.defaultProps = { formValues: {}, - handleSubmit: undefined, + handleSubmit: () => {}, hasReviewerReports: false, highlight: false, } diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js index edf46846083f877ea6c422308568c14fd202ce67..59d3714ce59fd66775c0cf57ba1c30ffc0355174 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js @@ -36,6 +36,6 @@ ManuscriptAssignHE.propTypes = { ManuscriptAssignHE.defaultProps = { handlingEditors: [], - inviteHandlingEditor: undefined, + inviteHandlingEditor: () => {}, } export default ManuscriptAssignHE diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js index d4d024fb659e2f06e355ea8d90d7b52b78f13352..3224fd577be60109705e15411ac235687d859470 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js @@ -163,8 +163,8 @@ ManuscriptEicDecision.propTypes = { } ManuscriptEicDecision.defaultProps = { collection: {}, - messagesLabel: undefined, - submitDecision: undefined, + messagesLabel: {}, + submitDecision: () => {}, formValues: {}, } diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptFileSection.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptFileSection.js index 4e43e59dfbdaa4f5cbb49d5cff3362d0388fa6df..e4fef65e9a5e47432f311ec5f51087a6542b2aae 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptFileSection.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptFileSection.js @@ -42,9 +42,9 @@ ManuscriptFileSection.propTypes = { ManuscriptFileSection.defaultProps = { list: [], - label: undefined, - onDownload: undefined, - onPreview: undefined, + label: '', + onDownload: () => {}, + onPreview: () => {}, } export default ManuscriptFileSection diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js b/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js index ca4d710b81f44687610251a445fff1374a674031..27165b3c104800a7444733910499cc5a9700565d 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ResponseToInvitation.js @@ -104,8 +104,8 @@ ResponseToInvitation.propTypes = { buttonLabel: PropTypes.string, } ResponseToInvitation.defaultProps = { - label: undefined, - title: undefined, + label: '', + title: '', toggle: () => {}, expanded: false, handleSubmit: () => {}, diff --git a/packages/component-faraday-ui/src/submissionRevision/DetailsAndAuthors.js b/packages/component-faraday-ui/src/submissionRevision/DetailsAndAuthors.js index 3109bc5ea34692625683a2c06b0cd449bd185ce8..31076120157ede92ae8ba51fe682e81938e71047 100644 --- a/packages/component-faraday-ui/src/submissionRevision/DetailsAndAuthors.js +++ b/packages/component-faraday-ui/src/submissionRevision/DetailsAndAuthors.js @@ -246,7 +246,7 @@ DetailsAndAuthors.propTypes = { ), } DetailsAndAuthors.defaultProps = { - journal: undefined, + journal: '', fragment: {}, collection: {}, onAuthorEdit: () => {},