@manuscripts/style-guide 1.7.1 → 1.7.2
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.
- package/dist/cjs/components/Comments/CommentBody.js +3 -3
- package/dist/cjs/components/Comments/CommentUser.js +1 -1
- package/dist/cjs/components/Comments/ResolveButton.js +3 -3
- package/dist/cjs/components/FileManager/FileCreatedDate.js +3 -3
- package/dist/cjs/components/FileManager/FileManager.js +7 -7
- package/dist/cjs/components/FileManager/OtherFilesSection.js +2 -2
- package/dist/cjs/components/FileManager/SupplementsSection.js +1 -2
- package/dist/cjs/components/References/CitationEditor.js +2 -2
- package/dist/cjs/components/References/ReferenceForm.js +8 -9
- package/dist/cjs/components/References/ReferenceSearch.js +2 -2
- package/dist/cjs/components/References/ReferencesModal.js +5 -5
- package/dist/cjs/components/RelativeDate.js +23 -6
- package/dist/cjs/components/{FileManager/Tooltip.js → Tooltip.js} +12 -7
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/lib/files.js +4 -5
- package/dist/es/components/Comments/CommentBody.js +3 -3
- package/dist/es/components/Comments/CommentUser.js +1 -1
- package/dist/es/components/Comments/ResolveButton.js +3 -3
- package/dist/es/components/FileManager/FileCreatedDate.js +3 -3
- package/dist/es/components/FileManager/FileManager.js +7 -7
- package/dist/es/components/FileManager/OtherFilesSection.js +2 -2
- package/dist/es/components/FileManager/SupplementsSection.js +2 -3
- package/dist/es/components/References/CitationEditor.js +1 -1
- package/dist/es/components/References/ReferenceForm.js +6 -7
- package/dist/es/components/References/ReferenceSearch.js +1 -1
- package/dist/es/components/References/ReferencesModal.js +5 -5
- package/dist/es/components/RelativeDate.js +23 -6
- package/dist/es/components/Tooltip.js +25 -0
- package/dist/es/index.js +1 -2
- package/dist/es/lib/files.js +1 -2
- package/dist/types/components/AlertMessage.d.ts +1 -1
- package/dist/types/components/AuthorForm/RemoveAuthorButton.d.ts +1 -1
- package/dist/types/components/AutoSaveInput.d.ts +1 -1
- package/dist/types/components/Comments/CommentUser.d.ts +2 -3
- package/dist/types/components/Dialog.d.ts +1 -1
- package/dist/types/components/Dropdown.d.ts +1 -1
- package/dist/types/components/EditorHeader/EditorHeader.d.ts +1 -2
- package/dist/types/components/FileManager/FileActions.d.ts +1 -1
- package/dist/types/components/FileManager/FileManager.d.ts +1 -2
- package/dist/types/components/FileManager/util.d.ts +1 -0
- package/dist/types/components/Form.d.ts +1 -1
- package/dist/types/components/Inspector.d.ts +7 -9
- package/dist/types/components/NavDropdown.d.ts +1 -1
- package/dist/types/components/References/ReferenceForm.d.ts +1 -1
- package/dist/types/components/RelativeDate.d.ts +15 -1
- package/dist/types/components/Resizer/Resizer.d.ts +1 -1
- package/dist/types/components/Resizer/ResizerButton.d.ts +1 -1
- package/dist/types/components/Tooltip.d.ts +5 -0
- package/dist/types/components/icons/add-author.d.ts +2 -1
- package/dist/types/components/icons/add-comment-icon.d.ts +2 -1
- package/dist/types/components/icons/add-icon-active.d.ts +2 -1
- package/dist/types/components/icons/add-icon-inverted.d.ts +2 -1
- package/dist/types/components/icons/back-arrow.d.ts +2 -1
- package/dist/types/components/icons/bookmark.d.ts +2 -1
- package/dist/types/components/icons/google.d.ts +2 -1
- package/dist/types/components/icons/orcid.d.ts +2 -1
- package/dist/types/components/icons/project-notification.d.ts +2 -1
- package/dist/types/components/icons/project.d.ts +2 -1
- package/dist/types/components/icons/projects-list.d.ts +2 -1
- package/dist/types/components/icons/search.d.ts +2 -1
- package/dist/types/components/icons/tick-mark.d.ts +2 -1
- package/dist/types/components/icons/user.d.ts +2 -1
- package/dist/types/index.d.ts +1 -2
- package/dist/types/lib/capabilities.d.ts +3 -4
- package/package.json +30 -41
- package/dist/cjs/components/ColorField/ColorField.js +0 -49
- package/dist/cjs/components/ColorField/ColorSelector.js +0 -115
- package/dist/cjs/components/ColorField/index.js +0 -32
- package/dist/cjs/components/Tip.js +0 -83
- package/dist/es/components/ColorField/ColorField.js +0 -42
- package/dist/es/components/ColorField/ColorSelector.js +0 -85
- package/dist/es/components/ColorField/index.js +0 -16
- package/dist/es/components/FileManager/Tooltip.js +0 -20
- package/dist/es/components/Tip.js +0 -53
- package/dist/types/components/ColorField/ColorField.d.ts +0 -27
- package/dist/types/components/ColorField/ColorSelector.d.ts +0 -19
- package/dist/types/components/ColorField/index.d.ts +0 -16
- package/dist/types/components/FileManager/Tooltip.d.ts +0 -2
- package/dist/types/components/Tip.d.ts +0 -18
- package/styles/tip.css +0 -82
|
@@ -30,10 +30,10 @@ exports.CommentBody = void 0;
|
|
|
30
30
|
const AnnotationReply_1 = __importDefault(require("@manuscripts/assets/react/AnnotationReply"));
|
|
31
31
|
const formik_1 = require("formik");
|
|
32
32
|
const react_1 = __importStar(require("react"));
|
|
33
|
-
const react_tooltip_1 = __importDefault(require("react-tooltip"));
|
|
34
33
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
35
34
|
const Button_1 = require("../Button");
|
|
36
35
|
const Form_1 = require("../Form");
|
|
36
|
+
const Tooltip_1 = require("../Tooltip");
|
|
37
37
|
exports.CommentBody = react_1.default.memo(({ comment, saveComment, deleteComment, isReply, isNew, handleCreateReply, setIsEditing, scrollIntoHighlight, onFocusOut, isEditing, isProdNote, }) => {
|
|
38
38
|
(0, react_1.useEffect)(() => {
|
|
39
39
|
if (isNew) {
|
|
@@ -66,9 +66,9 @@ exports.CommentBody = react_1.default.memo(({ comment, saveComment, deleteCommen
|
|
|
66
66
|
react_1.default.createElement(StyledCommentViewer, { "data-cy": "note-text" }, comment.contents)),
|
|
67
67
|
!isReply && (react_1.default.createElement(CommentFooter, null,
|
|
68
68
|
react_1.default.createElement("span", null,
|
|
69
|
-
react_1.default.createElement(ActionButton, { hidden: !isProdNote, "data-
|
|
69
|
+
react_1.default.createElement(ActionButton, { hidden: !isProdNote, "data-tooltip-id": `reply-${comment._id}`, onClick: () => handleCreateReply(comment._id), "aria-label": 'reply', className: "reply-button note-actions" },
|
|
70
70
|
react_1.default.createElement(AnnotationReply_1.default, null))),
|
|
71
|
-
react_1.default.createElement(
|
|
71
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: `reply-${comment._id}`, place: "bottom" }, "Reply")))))));
|
|
72
72
|
});
|
|
73
73
|
const CommentFooter = styled_components_1.default.div `
|
|
74
74
|
margin-bottom: ${(props) => props.theme.grid.unit * 2}px;
|
|
@@ -65,7 +65,7 @@ const CommentUser = ({ contributions, getCollaboratorById, displayName, createdA
|
|
|
65
65
|
}
|
|
66
66
|
return (react_1.default.createElement(CommentUserContainer, null,
|
|
67
67
|
react_1.default.createElement(Header, null,
|
|
68
|
-
react_1.default.createElement(Avatar_1.Avatar, {
|
|
68
|
+
react_1.default.createElement(Avatar_1.Avatar, { size: 20 })),
|
|
69
69
|
react_1.default.createElement(Header, null,
|
|
70
70
|
react_1.default.createElement(CommentUserName, null,
|
|
71
71
|
"By ",
|
|
@@ -20,15 +20,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.ResolveButton = void 0;
|
|
22
22
|
const react_1 = __importDefault(require("react"));
|
|
23
|
-
const react_tooltip_1 = __importDefault(require("react-tooltip"));
|
|
24
23
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
25
24
|
const Button_1 = require("../Button");
|
|
26
25
|
const tick_mark_1 = __importDefault(require("../icons/tick-mark"));
|
|
26
|
+
const Tooltip_1 = require("../Tooltip");
|
|
27
27
|
const ResolveButton = ({ id, resolved, resolvedCallback }) => {
|
|
28
28
|
return (react_1.default.createElement(Container, null,
|
|
29
|
-
react_1.default.createElement(Button, { resolved: resolved, "data-
|
|
29
|
+
react_1.default.createElement(Button, { resolved: resolved, "data-tooltip-id": id, onClick: resolvedCallback },
|
|
30
30
|
react_1.default.createElement(tick_mark_1.default, { color: '#353535' })),
|
|
31
|
-
react_1.default.createElement(
|
|
31
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: id, place: "bottom" }, (resolved && 'Unresolve') || 'Resolve')));
|
|
32
32
|
};
|
|
33
33
|
exports.ResolveButton = ResolveButton;
|
|
34
34
|
const Container = styled_components_1.default.div `
|
|
@@ -7,11 +7,11 @@ exports.FileDate = exports.FileDateContainer = exports.FileCreatedDate = void 0;
|
|
|
7
7
|
const date_fns_1 = require("date-fns");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
10
|
-
const Tooltip_1 = require("
|
|
10
|
+
const Tooltip_1 = require("../Tooltip");
|
|
11
11
|
const FileCreatedDate = ({ file, className }) => {
|
|
12
|
-
return file.createdDate ? (react_1.default.createElement(exports.FileDateContainer, { "data-
|
|
12
|
+
return file.createdDate ? (react_1.default.createElement(exports.FileDateContainer, { "data-tooltip-id": `${file.id}-created-date-tooltip`, className: className },
|
|
13
13
|
react_1.default.createElement(exports.FileDate, null, (0, date_fns_1.format)(new Date(file.createdDate), 'M/d/yy, HH:mm')),
|
|
14
|
-
react_1.default.createElement(Tooltip_1.Tooltip, { id: `${file.id}-created-date`, place: "bottom"
|
|
14
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: `${file.id}-created-date-tooltip`, place: "bottom" }, "File Uploaded"))) : (react_1.default.createElement(react_1.default.Fragment, null));
|
|
15
15
|
};
|
|
16
16
|
exports.FileCreatedDate = FileCreatedDate;
|
|
17
17
|
exports.FileDateContainer = styled_components_1.default.div `
|
|
@@ -28,12 +28,12 @@ const react_1 = __importStar(require("react"));
|
|
|
28
28
|
const index_1 = require("../../index");
|
|
29
29
|
const Inspector_1 = require("../Inspector");
|
|
30
30
|
const InspectorSection_1 = require("../InspectorSection");
|
|
31
|
+
const Tooltip_1 = require("../Tooltip");
|
|
31
32
|
const DragLayer_1 = require("./DragLayer");
|
|
32
33
|
const FileManagerProvider_1 = require("./FileManagerProvider");
|
|
33
34
|
const InlineFilesSection_1 = require("./InlineFilesSection");
|
|
34
35
|
const OtherFilesSection_1 = require("./OtherFilesSection");
|
|
35
36
|
const SupplementsSection_1 = require("./SupplementsSection");
|
|
36
|
-
const Tooltip_1 = require("./Tooltip");
|
|
37
37
|
exports.PermissionsContext = (0, react_1.createContext)(null);
|
|
38
38
|
const FileManager = ({ files, fileManagement, modelMap, saveModel, deleteModel, enableDragAndDrop, can, }) => {
|
|
39
39
|
const { inlineFiles, supplements, otherFiles } = (0, index_1.useFiles)(modelMap, files);
|
|
@@ -43,12 +43,12 @@ const FileManager = ({ files, fileManagement, modelMap, saveModel, deleteModel,
|
|
|
43
43
|
react_1.default.createElement(InspectorSection_1.InspectorSection, { title: 'Files', contentStyles: { margin: '24px 16px' } },
|
|
44
44
|
react_1.default.createElement(Inspector_1.InspectorTabs, { defaultIndex: 0, "data-cy": "files-tabs", style: { overflow: 'visible' } },
|
|
45
45
|
react_1.default.createElement(Inspector_1.InspectorTabList, null,
|
|
46
|
-
react_1.default.createElement(Inspector_1.InspectorTab, { "data-
|
|
47
|
-
react_1.default.createElement(Tooltip_1.Tooltip, { id: "inline", place: "bottom"
|
|
48
|
-
react_1.default.createElement(Inspector_1.InspectorTab, { "data-
|
|
49
|
-
react_1.default.createElement(Tooltip_1.Tooltip, { id: "supplements", place: "bottom"
|
|
50
|
-
react_1.default.createElement(Inspector_1.InspectorTab, { "data-
|
|
51
|
-
react_1.default.createElement(Tooltip_1.Tooltip, { id: "other", place: "bottom"
|
|
46
|
+
react_1.default.createElement(Inspector_1.InspectorTab, { "data-tooltip-id": "inline-tooltip" }, "Inline files"),
|
|
47
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: "inline-tooltip", place: "bottom" }, "Files that can be found inline in the manuscript."),
|
|
48
|
+
react_1.default.createElement(Inspector_1.InspectorTab, { "data-tooltip-id": "supplements-tooltip" }, "Supplements"),
|
|
49
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: "supplements-tooltip", place: "bottom" }, "Files that were marked as supplements."),
|
|
50
|
+
react_1.default.createElement(Inspector_1.InspectorTab, { "data-tooltip-id": "other-tooltip" }, "Other files"),
|
|
51
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: "other-tooltip", place: "bottom" }, "Files excluded from the final submission.")),
|
|
52
52
|
react_1.default.createElement(Inspector_1.InspectorTabPanels, { style: { overflowY: 'visible', position: 'relative' } },
|
|
53
53
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "inline" },
|
|
54
54
|
react_1.default.createElement(InlineFilesSection_1.InlineFilesSection, { elements: inlineFiles, isEditor: enableDragAndDrop })),
|
|
@@ -33,7 +33,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.OtherFilesSection = void 0;
|
|
36
|
-
const
|
|
36
|
+
const json_schema_1 = require("@manuscripts/json-schema");
|
|
37
37
|
const react_1 = __importStar(require("react"));
|
|
38
38
|
const react_dnd_1 = require("react-dnd");
|
|
39
39
|
const react_dnd_html5_backend_1 = require("react-dnd-html5-backend");
|
|
@@ -65,7 +65,7 @@ const OtherFilesSection = ({ files }) => {
|
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
const moveToSupplements = (file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
-
const supplement = (0,
|
|
68
|
+
const supplement = (0, json_schema_1.buildSupplement)('', file.id);
|
|
69
69
|
yield saveModel(supplement);
|
|
70
70
|
setAlert({
|
|
71
71
|
type: FileSectionAlert_1.FileSectionAlertType.MOVE_SUCCESSFUL,
|
|
@@ -34,7 +34,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.SupplementsSection = void 0;
|
|
36
36
|
const json_schema_1 = require("@manuscripts/json-schema");
|
|
37
|
-
const transform_1 = require("@manuscripts/transform");
|
|
38
37
|
const react_1 = __importStar(require("react"));
|
|
39
38
|
const react_dnd_1 = require("react-dnd");
|
|
40
39
|
const react_dnd_html5_backend_1 = require("react-dnd-html5-backend");
|
|
@@ -68,7 +67,7 @@ const SupplementsSection = ({ supplements }) => {
|
|
|
68
67
|
});
|
|
69
68
|
const handleUpload = (file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
69
|
const uploaded = yield upload(file);
|
|
71
|
-
const supplement = (0,
|
|
70
|
+
const supplement = (0, json_schema_1.buildSupplement)('', uploaded.id);
|
|
72
71
|
yield saveModel(supplement);
|
|
73
72
|
});
|
|
74
73
|
const handleReplace = (modelId, file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.CitationEditor = void 0;
|
|
30
30
|
const AnnotationEdit_1 = __importDefault(require("@manuscripts/assets/react/AnnotationEdit"));
|
|
31
31
|
const CloseIconDark_1 = __importDefault(require("@manuscripts/assets/react/CloseIconDark"));
|
|
32
|
-
const
|
|
32
|
+
const json_schema_1 = require("@manuscripts/json-schema");
|
|
33
33
|
const react_1 = __importStar(require("react"));
|
|
34
34
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
35
35
|
const Button_1 = require("../Button");
|
|
@@ -94,7 +94,7 @@ const CitationEditor = ({ query, rids, items, citationCounts, sources, onCite, o
|
|
|
94
94
|
const [searching, setSearching] = (0, react_1.useState)(false);
|
|
95
95
|
const handleAdd = () => {
|
|
96
96
|
setSearching(false);
|
|
97
|
-
const item = (0,
|
|
97
|
+
const item = (0, json_schema_1.buildBibliographyItem)({});
|
|
98
98
|
onSave(item);
|
|
99
99
|
onCite([item]);
|
|
100
100
|
setEditingForm({ show: true, item: item });
|
|
@@ -45,10 +45,9 @@ exports.ReferenceForm = exports.FormFields = exports.FlexForm = exports.Referenc
|
|
|
45
45
|
const AddAuthor_1 = __importDefault(require("@manuscripts/assets/react/AddAuthor"));
|
|
46
46
|
const AnnotationRemove_1 = __importDefault(require("@manuscripts/assets/react/AnnotationRemove"));
|
|
47
47
|
const ArrowDownBlue_1 = __importDefault(require("@manuscripts/assets/react/ArrowDownBlue"));
|
|
48
|
-
const
|
|
48
|
+
const json_schema_1 = require("@manuscripts/json-schema");
|
|
49
49
|
const formik_1 = require("formik");
|
|
50
50
|
const react_1 = __importStar(require("react"));
|
|
51
|
-
const react_tooltip_1 = __importDefault(require("react-tooltip"));
|
|
52
51
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
53
52
|
const Button_1 = require("../Button");
|
|
54
53
|
const Dialog_1 = require("../Dialog");
|
|
@@ -56,6 +55,7 @@ const delete_icon_1 = require("../icons/delete-icon");
|
|
|
56
55
|
const link_icon_1 = require("../icons/link-icon");
|
|
57
56
|
const SelectField_1 = require("../SelectField");
|
|
58
57
|
const TextField_1 = require("../TextField");
|
|
58
|
+
const Tooltip_1 = require("../Tooltip");
|
|
59
59
|
exports.LabelContainer = styled_components_1.default.div `
|
|
60
60
|
display: flex;
|
|
61
61
|
justify-content: space-between;
|
|
@@ -264,12 +264,11 @@ const ReferenceForm = ({ values, showDelete, onChange, onDelete, onCancel, onSav
|
|
|
264
264
|
} }),
|
|
265
265
|
react_1.default.createElement(Actions, null,
|
|
266
266
|
react_1.default.createElement(Button_1.ButtonGroup, null,
|
|
267
|
-
react_1.default.createElement(Button_1.IconButton, {
|
|
267
|
+
react_1.default.createElement(Button_1.IconButton, { as: "a", href: `https://doi.org/${formik.values.DOI}`, target: '_blank' },
|
|
268
268
|
react_1.default.createElement(link_icon_1.LinkIcon, null)),
|
|
269
|
-
react_1.default.createElement(
|
|
270
|
-
react_1.default.createElement(
|
|
271
|
-
|
|
272
|
-
react_1.default.createElement(react_tooltip_1.default, { disable: showDelete, id: 'delete-button', place: "bottom", effect: "solid", offset: { top: 15 }, className: "tooltip" }, "Unable to delete because the item is used in the document"))),
|
|
269
|
+
react_1.default.createElement(DeleteButton, { defaultColor: true, disabled: !showDelete, "data-tooltip-id": showDelete ? '' : 'delete-button-tooltip', onClick: () => setShowDeleteDialog(true) },
|
|
270
|
+
react_1.default.createElement(delete_icon_1.DeleteIcon, null)),
|
|
271
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: "delete-button-tooltip", place: "bottom" }, "Unable to delete because the item is used in the document")),
|
|
273
272
|
react_1.default.createElement(Button_1.ButtonGroup, null,
|
|
274
273
|
react_1.default.createElement(Button_1.SecondaryButton, { onClick: onCancel }, "Cancel"),
|
|
275
274
|
react_1.default.createElement(Button_1.PrimaryButton, { type: "submit" }, "Save"))),
|
|
@@ -285,7 +284,7 @@ const ReferenceForm = ({ values, showDelete, onChange, onDelete, onCancel, onSav
|
|
|
285
284
|
react_1.default.createElement(formik_1.FieldArray, { name: 'author', render: ({ push, remove }) => (react_1.default.createElement(exports.FormField, null,
|
|
286
285
|
react_1.default.createElement(exports.LabelContainer, null,
|
|
287
286
|
react_1.default.createElement(Label, null, "Authors"),
|
|
288
|
-
react_1.default.createElement(Button, { onClick: () => push((0,
|
|
287
|
+
react_1.default.createElement(Button, { onClick: () => push((0, json_schema_1.buildBibliographicName)({
|
|
289
288
|
given: '',
|
|
290
289
|
family: '',
|
|
291
290
|
isNew: true,
|
|
@@ -303,7 +302,7 @@ const ReferenceForm = ({ values, showDelete, onChange, onDelete, onCancel, onSav
|
|
|
303
302
|
formik.setFieldValue("issued['date-parts'][0][0]", Number(value));
|
|
304
303
|
}
|
|
305
304
|
else {
|
|
306
|
-
formik.setFieldValue('issued', (0,
|
|
305
|
+
formik.setFieldValue('issued', (0, json_schema_1.buildBibliographicDate)({
|
|
307
306
|
'date-parts': [[Number(value)]],
|
|
308
307
|
}));
|
|
309
308
|
}
|
|
@@ -42,7 +42,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
42
|
};
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
exports.ReferenceSearch = void 0;
|
|
45
|
-
const
|
|
45
|
+
const lodash_1 = require("lodash");
|
|
46
46
|
const react_1 = __importStar(require("react"));
|
|
47
47
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
48
48
|
const Button_1 = require("../Button");
|
|
@@ -102,7 +102,7 @@ const ReferenceSearch = ({ query: initialQuery, sources, items, onAdd, onCite, o
|
|
|
102
102
|
const items = Array.from(selections.values());
|
|
103
103
|
return onCite(items);
|
|
104
104
|
};
|
|
105
|
-
const debouncedSetQuery = (0,
|
|
105
|
+
const debouncedSetQuery = (0, lodash_1.debounce)((e) => {
|
|
106
106
|
setQuery(e.target.value.trim());
|
|
107
107
|
}, 800);
|
|
108
108
|
return (react_1.default.createElement(Container, null,
|
|
@@ -30,12 +30,12 @@ exports.ReferencesModal = exports.normalize = void 0;
|
|
|
30
30
|
const ReferenceLibraryIcon_1 = __importDefault(require("@manuscripts/assets/react/ReferenceLibraryIcon"));
|
|
31
31
|
const lodash_1 = require("lodash");
|
|
32
32
|
const react_1 = __importStar(require("react"));
|
|
33
|
-
const react_tooltip_1 = __importDefault(require("react-tooltip"));
|
|
34
33
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
35
34
|
const use_scroll_detection_1 = require("../../hooks/use-scroll-detection");
|
|
36
35
|
const Dialog_1 = require("../Dialog");
|
|
37
36
|
const Sidebar_1 = require("../Sidebar");
|
|
38
37
|
const StyledModal_1 = require("../StyledModal");
|
|
38
|
+
const Tooltip_1 = require("../Tooltip");
|
|
39
39
|
const ReferenceForm_1 = require("./ReferenceForm");
|
|
40
40
|
const ReferenceLine_1 = require("./ReferenceLine");
|
|
41
41
|
const ReferencesModalContainer = (0, styled_components_1.default)(StyledModal_1.ModalContainer) `
|
|
@@ -209,11 +209,11 @@ const ReferencesModal = ({ isOpen, onCancel, items, item, citationCounts, onSave
|
|
|
209
209
|
react_1.default.createElement(StyledModal_1.ModalSidebarTitle, null, "References")),
|
|
210
210
|
react_1.default.createElement(ReferencesSidebarContent, { ref: ref },
|
|
211
211
|
react_1.default.createElement(ReferencesInnerWrapper, null, items.slice(startIndex, endIndex + 1).map((item) => (react_1.default.createElement(ReferenceButton, { key: item._id, id: item._id, className: isSelected(item) ? 'selected' : '', onClick: () => handleItemClick(item), ref: isSelected(item) ? selectionRef : null },
|
|
212
|
-
react_1.default.createElement(IconContainer,
|
|
212
|
+
react_1.default.createElement(IconContainer, null,
|
|
213
213
|
react_1.default.createElement(ReferenceLibraryIcon_1.default, null),
|
|
214
|
-
react_1.default.createElement(CitationCount, {
|
|
215
|
-
|
|
216
|
-
|
|
214
|
+
(citationCounts.get(item._id) || 0) > 0 ? (react_1.default.createElement(CitationCount, { "data-tooltip-id": "citation-count-tooltip" }, citationCounts.get(item._id))) : (react_1.default.createElement(CitationCount, { className: "unused" }, "0"))),
|
|
215
|
+
react_1.default.createElement(ReferenceLine_1.ReferenceLine, { item: item }))))),
|
|
216
|
+
react_1.default.createElement(Tooltip_1.Tooltip, { id: "citation-count-tooltip", place: "bottom" }, "Number of times used in the document"))),
|
|
217
217
|
react_1.default.createElement(StyledModal_1.ScrollableModalContent, null, selection && (react_1.default.createElement(ReferenceForm_1.ReferenceForm, { values: (0, exports.normalize)(selection), showDelete: !citationCounts.get(selection._id), onChange: handleChange, onCancel: onCancel, onDelete: () => onDelete(selection), onSave: save, actionsRef: actionsRef })))))));
|
|
218
218
|
};
|
|
219
219
|
exports.ReferencesModal = ReferencesModal;
|
|
@@ -1,19 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* © 2020 Atypon Systems LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
2
17
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
19
|
};
|
|
5
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
21
|
exports.RelativeDate = void 0;
|
|
7
|
-
require("@formatjs/intl-relativetimeformat/polyfill-locales");
|
|
8
|
-
const intl_utils_1 = require("@formatjs/intl-utils");
|
|
9
22
|
const react_1 = __importDefault(require("react"));
|
|
10
|
-
const react_intl_1 = require("react-intl");
|
|
11
23
|
const RelativeDate = ({ createdAt }) => {
|
|
12
24
|
if (!createdAt) {
|
|
13
25
|
return null;
|
|
14
26
|
}
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
const formatter = new Intl.RelativeTimeFormat('en', { style: 'short' });
|
|
28
|
+
let value = Math.floor((createdAt - Date.now()) / 3600000);
|
|
29
|
+
let unit = 'hour';
|
|
30
|
+
if (Math.abs(value) > 24) {
|
|
31
|
+
value = Math.floor(value / 24);
|
|
32
|
+
unit = 'day';
|
|
33
|
+
}
|
|
34
|
+
return react_1.default.createElement("span", null, formatter.format(value, unit));
|
|
18
35
|
};
|
|
19
36
|
exports.RelativeDate = RelativeDate;
|
|
@@ -4,22 +4,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Tooltip = void 0;
|
|
7
|
-
const react_tooltip_1 =
|
|
7
|
+
const react_tooltip_1 = require("react-tooltip");
|
|
8
8
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
9
|
-
exports.Tooltip = (0, styled_components_1.default)(react_tooltip_1.
|
|
10
|
-
|
|
9
|
+
exports.Tooltip = (0, styled_components_1.default)(react_tooltip_1.Tooltip).attrs({
|
|
10
|
+
positionStrategy: 'fixed',
|
|
11
|
+
offset: 10,
|
|
12
|
+
}) `
|
|
13
|
+
&.react-tooltip {
|
|
14
|
+
z-index: 1000;
|
|
11
15
|
font-size: 12px;
|
|
12
16
|
line-height: 16px;
|
|
13
|
-
|
|
17
|
+
letter-spacing: -0.2px;
|
|
18
|
+
max-width: 300px;
|
|
19
|
+
font-family: inherit;
|
|
14
20
|
padding: 8px;
|
|
15
|
-
border-radius:
|
|
21
|
+
border-radius: 3px;
|
|
16
22
|
background: #353535;
|
|
17
23
|
color: ${(props) => props.theme.colors.text.onDark};
|
|
18
24
|
text-align: center;
|
|
19
25
|
white-space: nowrap;
|
|
20
|
-
pointer-events: none;
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
.react-tooltip-arrow {
|
|
23
28
|
background: #353535;
|
|
24
29
|
}
|
|
25
30
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -42,7 +42,6 @@ __exportStar(require("./components/AuthorsDND"), exports);
|
|
|
42
42
|
__exportStar(require("./components/AuthorsContainer"), exports);
|
|
43
43
|
__exportStar(require("./components/AlertMessage"), exports);
|
|
44
44
|
__exportStar(require("./components/Button"), exports);
|
|
45
|
-
__exportStar(require("./components/ColorField"), exports);
|
|
46
45
|
__exportStar(require("./components/RadioButton"), exports);
|
|
47
46
|
__exportStar(require("./components/AutoSaveInput"), exports);
|
|
48
47
|
__exportStar(require("./components/Avatar"), exports);
|
|
@@ -58,7 +57,7 @@ __exportStar(require("./components/TextField"), exports);
|
|
|
58
57
|
__exportStar(require("./components/TextFieldContainer"), exports);
|
|
59
58
|
__exportStar(require("./components/TextFieldError"), exports);
|
|
60
59
|
__exportStar(require("./components/TextFieldGroupContainer"), exports);
|
|
61
|
-
__exportStar(require("./components/
|
|
60
|
+
__exportStar(require("./components/Tooltip"), exports);
|
|
62
61
|
__exportStar(require("./components/icons"), exports);
|
|
63
62
|
__exportStar(require("./components/Inspector"), exports);
|
|
64
63
|
__exportStar(require("./components/InspectorSection"), exports);
|
package/dist/cjs/lib/files.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSupplements = exports.getInlineFiles = exports.isModelFile = void 0;
|
|
4
4
|
const json_schema_1 = require("@manuscripts/json-schema");
|
|
5
|
-
const transform_1 = require("@manuscripts/transform");
|
|
6
5
|
const util_1 = require("../components/FileManager/util");
|
|
7
6
|
const isModelFile = (file) => {
|
|
8
7
|
return file.modelId;
|
|
@@ -46,7 +45,7 @@ const getInlineFiles = (modelMap, files) => {
|
|
|
46
45
|
var _a;
|
|
47
46
|
const elements = [];
|
|
48
47
|
const orders = getOrderByType(modelMap);
|
|
49
|
-
const sections = (0,
|
|
48
|
+
const sections = (0, json_schema_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.Section);
|
|
50
49
|
const graphicalAbstractElementIds = (_a = sections.filter((s) => s.category === 'MPSectionCategory:abstract-graphical')[0]) === null || _a === void 0 ? void 0 : _a.elementIDs;
|
|
51
50
|
graphicalAbstractElementIds === null || graphicalAbstractElementIds === void 0 ? void 0 : graphicalAbstractElementIds.map((id) => {
|
|
52
51
|
const figure = modelMap.get(id);
|
|
@@ -59,7 +58,7 @@ const getInlineFiles = (modelMap, files) => {
|
|
|
59
58
|
});
|
|
60
59
|
}
|
|
61
60
|
});
|
|
62
|
-
const figures = (0,
|
|
61
|
+
const figures = (0, json_schema_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.FigureElement);
|
|
63
62
|
const figureOrder = orders.get(json_schema_1.ObjectTypes.FigureElement);
|
|
64
63
|
if (figureOrder) {
|
|
65
64
|
}
|
|
@@ -73,13 +72,13 @@ const getInlineFiles = (modelMap, files) => {
|
|
|
73
72
|
};
|
|
74
73
|
exports.getInlineFiles = getInlineFiles;
|
|
75
74
|
const getSupplements = (modelMap, files) => {
|
|
76
|
-
const supplements = (0,
|
|
75
|
+
const supplements = (0, json_schema_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.Supplement);
|
|
77
76
|
return supplements.flatMap((s) => getSupplementFiles(s, files));
|
|
78
77
|
};
|
|
79
78
|
exports.getSupplements = getSupplements;
|
|
80
79
|
const getOrderByType = (modelMap) => {
|
|
81
80
|
const groups = new Map();
|
|
82
|
-
const orders = (0,
|
|
81
|
+
const orders = (0, json_schema_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.ElementsOrder);
|
|
83
82
|
orders.forEach((o) => groups.set(o.elementType, o));
|
|
84
83
|
return groups;
|
|
85
84
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import AnnotationReply from '@manuscripts/assets/react/AnnotationReply';
|
|
2
2
|
import { Field, Form, Formik } from 'formik';
|
|
3
3
|
import React, { useEffect } from 'react';
|
|
4
|
-
import ReactTooltip from 'react-tooltip';
|
|
5
4
|
import styled from 'styled-components';
|
|
6
5
|
import { ButtonGroup, PrimaryButton, SecondaryButton } from '../Button';
|
|
7
6
|
import { FormError } from '../Form';
|
|
7
|
+
import { Tooltip } from '../Tooltip';
|
|
8
8
|
export const CommentBody = React.memo(({ comment, saveComment, deleteComment, isReply, isNew, handleCreateReply, setIsEditing, scrollIntoHighlight, onFocusOut, isEditing, isProdNote, }) => {
|
|
9
9
|
useEffect(() => {
|
|
10
10
|
if (isNew) {
|
|
@@ -37,9 +37,9 @@ export const CommentBody = React.memo(({ comment, saveComment, deleteComment, is
|
|
|
37
37
|
React.createElement(StyledCommentViewer, { "data-cy": "note-text" }, comment.contents)),
|
|
38
38
|
!isReply && (React.createElement(CommentFooter, null,
|
|
39
39
|
React.createElement("span", null,
|
|
40
|
-
React.createElement(ActionButton, { hidden: !isProdNote, "data-
|
|
40
|
+
React.createElement(ActionButton, { hidden: !isProdNote, "data-tooltip-id": `reply-${comment._id}`, onClick: () => handleCreateReply(comment._id), "aria-label": 'reply', className: "reply-button note-actions" },
|
|
41
41
|
React.createElement(AnnotationReply, null))),
|
|
42
|
-
React.createElement(
|
|
42
|
+
React.createElement(Tooltip, { id: `reply-${comment._id}`, place: "bottom" }, "Reply")))))));
|
|
43
43
|
});
|
|
44
44
|
const CommentFooter = styled.div `
|
|
45
45
|
margin-bottom: ${(props) => props.theme.grid.unit * 2}px;
|
|
@@ -59,7 +59,7 @@ export const CommentUser = ({ contributions, getCollaboratorById, displayName, c
|
|
|
59
59
|
}
|
|
60
60
|
return (React.createElement(CommentUserContainer, null,
|
|
61
61
|
React.createElement(Header, null,
|
|
62
|
-
React.createElement(Avatar, {
|
|
62
|
+
React.createElement(Avatar, { size: 20 })),
|
|
63
63
|
React.createElement(Header, null,
|
|
64
64
|
React.createElement(CommentUserName, null,
|
|
65
65
|
"By ",
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import React from 'react';
|
|
17
|
-
import ReactTooltip from 'react-tooltip';
|
|
18
17
|
import styled from 'styled-components';
|
|
19
18
|
import { IconTextButton } from '../Button';
|
|
20
19
|
import TickMark from '../icons/tick-mark';
|
|
20
|
+
import { Tooltip } from '../Tooltip';
|
|
21
21
|
export const ResolveButton = ({ id, resolved, resolvedCallback }) => {
|
|
22
22
|
return (React.createElement(Container, null,
|
|
23
|
-
React.createElement(Button, { resolved: resolved, "data-
|
|
23
|
+
React.createElement(Button, { resolved: resolved, "data-tooltip-id": id, onClick: resolvedCallback },
|
|
24
24
|
React.createElement(TickMark, { color: '#353535' })),
|
|
25
|
-
React.createElement(
|
|
25
|
+
React.createElement(Tooltip, { id: id, place: "bottom" }, (resolved && 'Unresolve') || 'Resolve')));
|
|
26
26
|
};
|
|
27
27
|
const Container = styled.div `
|
|
28
28
|
display: flex;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { format } from 'date-fns';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
|
-
import { Tooltip } from '
|
|
4
|
+
import { Tooltip } from '../Tooltip';
|
|
5
5
|
export const FileCreatedDate = ({ file, className }) => {
|
|
6
|
-
return file.createdDate ? (React.createElement(FileDateContainer, { "data-
|
|
6
|
+
return file.createdDate ? (React.createElement(FileDateContainer, { "data-tooltip-id": `${file.id}-created-date-tooltip`, className: className },
|
|
7
7
|
React.createElement(FileDate, null, format(new Date(file.createdDate), 'M/d/yy, HH:mm')),
|
|
8
|
-
React.createElement(Tooltip, { id: `${file.id}-created-date`, place: "bottom"
|
|
8
|
+
React.createElement(Tooltip, { id: `${file.id}-created-date-tooltip`, place: "bottom" }, "File Uploaded"))) : (React.createElement(React.Fragment, null));
|
|
9
9
|
};
|
|
10
10
|
export const FileDateContainer = styled.div `
|
|
11
11
|
overflow: hidden;
|
|
@@ -2,12 +2,12 @@ import React, { createContext } from 'react';
|
|
|
2
2
|
import { useFiles } from '../../index';
|
|
3
3
|
import { InspectorTab, InspectorTabList, InspectorTabPanel, InspectorTabPanels, InspectorTabs, } from '../Inspector';
|
|
4
4
|
import { InspectorSection } from '../InspectorSection';
|
|
5
|
+
import { Tooltip } from '../Tooltip';
|
|
5
6
|
import { DragLayer } from './DragLayer';
|
|
6
7
|
import { FileManagerProvider } from './FileManagerProvider';
|
|
7
8
|
import { InlineFilesSection } from './InlineFilesSection';
|
|
8
9
|
import { OtherFilesSection } from './OtherFilesSection';
|
|
9
10
|
import { SupplementsSection } from './SupplementsSection';
|
|
10
|
-
import { Tooltip } from './Tooltip';
|
|
11
11
|
export const PermissionsContext = createContext(null);
|
|
12
12
|
export const FileManager = ({ files, fileManagement, modelMap, saveModel, deleteModel, enableDragAndDrop, can, }) => {
|
|
13
13
|
const { inlineFiles, supplements, otherFiles } = useFiles(modelMap, files);
|
|
@@ -17,12 +17,12 @@ export const FileManager = ({ files, fileManagement, modelMap, saveModel, delete
|
|
|
17
17
|
React.createElement(InspectorSection, { title: 'Files', contentStyles: { margin: '24px 16px' } },
|
|
18
18
|
React.createElement(InspectorTabs, { defaultIndex: 0, "data-cy": "files-tabs", style: { overflow: 'visible' } },
|
|
19
19
|
React.createElement(InspectorTabList, null,
|
|
20
|
-
React.createElement(InspectorTab, { "data-
|
|
21
|
-
React.createElement(Tooltip, { id: "inline", place: "bottom"
|
|
22
|
-
React.createElement(InspectorTab, { "data-
|
|
23
|
-
React.createElement(Tooltip, { id: "supplements", place: "bottom"
|
|
24
|
-
React.createElement(InspectorTab, { "data-
|
|
25
|
-
React.createElement(Tooltip, { id: "other", place: "bottom"
|
|
20
|
+
React.createElement(InspectorTab, { "data-tooltip-id": "inline-tooltip" }, "Inline files"),
|
|
21
|
+
React.createElement(Tooltip, { id: "inline-tooltip", place: "bottom" }, "Files that can be found inline in the manuscript."),
|
|
22
|
+
React.createElement(InspectorTab, { "data-tooltip-id": "supplements-tooltip" }, "Supplements"),
|
|
23
|
+
React.createElement(Tooltip, { id: "supplements-tooltip", place: "bottom" }, "Files that were marked as supplements."),
|
|
24
|
+
React.createElement(InspectorTab, { "data-tooltip-id": "other-tooltip" }, "Other files"),
|
|
25
|
+
React.createElement(Tooltip, { id: "other-tooltip", place: "bottom" }, "Files excluded from the final submission.")),
|
|
26
26
|
React.createElement(InspectorTabPanels, { style: { overflowY: 'visible', position: 'relative' } },
|
|
27
27
|
React.createElement(InspectorTabPanel, { "data-cy": "inline" },
|
|
28
28
|
React.createElement(InlineFilesSection, { elements: inlineFiles, isEditor: enableDragAndDrop })),
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { buildSupplement } from '@manuscripts/json-schema';
|
|
11
11
|
import React, { useContext, useEffect, useState } from 'react';
|
|
12
12
|
import { useDrag } from 'react-dnd';
|
|
13
13
|
import { getEmptyImage } from 'react-dnd-html5-backend';
|
|
@@ -39,7 +39,7 @@ export const OtherFilesSection = ({ files }) => {
|
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
41
|
const moveToSupplements = (file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
-
const supplement =
|
|
42
|
+
const supplement = buildSupplement('', file.id);
|
|
43
43
|
yield saveModel(supplement);
|
|
44
44
|
setAlert({
|
|
45
45
|
type: FileSectionAlertType.MOVE_SUCCESSFUL,
|
|
@@ -7,8 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { ObjectTypes } from '@manuscripts/json-schema';
|
|
11
|
-
import { buildSupplementaryMaterial } from '@manuscripts/transform';
|
|
10
|
+
import { buildSupplement, ObjectTypes, } from '@manuscripts/json-schema';
|
|
12
11
|
import React, { useContext, useEffect, useState } from 'react';
|
|
13
12
|
import { useDrag } from 'react-dnd';
|
|
14
13
|
import { getEmptyImage } from 'react-dnd-html5-backend';
|
|
@@ -42,7 +41,7 @@ export const SupplementsSection = ({ supplements }) => {
|
|
|
42
41
|
});
|
|
43
42
|
const handleUpload = (file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
43
|
const uploaded = yield upload(file);
|
|
45
|
-
const supplement =
|
|
44
|
+
const supplement = buildSupplement('', uploaded.id);
|
|
46
45
|
yield saveModel(supplement);
|
|
47
46
|
});
|
|
48
47
|
const handleReplace = (modelId, file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import AnnotationEdit from '@manuscripts/assets/react/AnnotationEdit';
|
|
2
2
|
import CloseIconDark from '@manuscripts/assets/react/CloseIconDark';
|
|
3
|
-
import { buildBibliographyItem } from '@manuscripts/
|
|
3
|
+
import { buildBibliographyItem, } from '@manuscripts/json-schema';
|
|
4
4
|
import React, { useMemo, useState } from 'react';
|
|
5
5
|
import styled from 'styled-components';
|
|
6
6
|
import { ButtonGroup, IconButton, IconTextButton, PrimaryButton, SecondaryButton, } from '../Button';
|
|
@@ -16,10 +16,9 @@
|
|
|
16
16
|
import AddAuthor from '@manuscripts/assets/react/AddAuthor';
|
|
17
17
|
import Trashcan from '@manuscripts/assets/react/AnnotationRemove';
|
|
18
18
|
import ArrowDownBlue from '@manuscripts/assets/react/ArrowDownBlue';
|
|
19
|
-
import { buildBibliographicDate, buildBibliographicName, } from '@manuscripts/
|
|
19
|
+
import { buildBibliographicDate, buildBibliographicName, } from '@manuscripts/json-schema';
|
|
20
20
|
import { Field, FieldArray, Form, Formik, useFormikContext, } from 'formik';
|
|
21
21
|
import React, { useEffect, useRef, useState, } from 'react';
|
|
22
|
-
import ReactTooltip from 'react-tooltip';
|
|
23
22
|
import styled from 'styled-components';
|
|
24
23
|
import { ButtonGroup, IconButton, PrimaryButton, SecondaryButton, } from '../Button';
|
|
25
24
|
import { Category, Dialog } from '../Dialog';
|
|
@@ -27,6 +26,7 @@ import { DeleteIcon } from '../icons/delete-icon';
|
|
|
27
26
|
import { LinkIcon } from '../icons/link-icon';
|
|
28
27
|
import { SelectField } from '../SelectField';
|
|
29
28
|
import { TextArea, TextField } from '../TextField';
|
|
29
|
+
import { Tooltip } from '../Tooltip';
|
|
30
30
|
export const LabelContainer = styled.div `
|
|
31
31
|
display: flex;
|
|
32
32
|
justify-content: space-between;
|
|
@@ -235,12 +235,11 @@ export const ReferenceForm = ({ values, showDelete, onChange, onDelete, onCancel
|
|
|
235
235
|
} }),
|
|
236
236
|
React.createElement(Actions, null,
|
|
237
237
|
React.createElement(ButtonGroup, null,
|
|
238
|
-
React.createElement(IconButton, {
|
|
238
|
+
React.createElement(IconButton, { as: "a", href: `https://doi.org/${formik.values.DOI}`, target: '_blank' },
|
|
239
239
|
React.createElement(LinkIcon, null)),
|
|
240
|
-
React.createElement(
|
|
241
|
-
React.createElement(
|
|
242
|
-
|
|
243
|
-
React.createElement(ReactTooltip, { disable: showDelete, id: 'delete-button', place: "bottom", effect: "solid", offset: { top: 15 }, className: "tooltip" }, "Unable to delete because the item is used in the document"))),
|
|
240
|
+
React.createElement(DeleteButton, { defaultColor: true, disabled: !showDelete, "data-tooltip-id": showDelete ? '' : 'delete-button-tooltip', onClick: () => setShowDeleteDialog(true) },
|
|
241
|
+
React.createElement(DeleteIcon, null)),
|
|
242
|
+
React.createElement(Tooltip, { id: "delete-button-tooltip", place: "bottom" }, "Unable to delete because the item is used in the document")),
|
|
244
243
|
React.createElement(ButtonGroup, null,
|
|
245
244
|
React.createElement(SecondaryButton, { onClick: onCancel }, "Cancel"),
|
|
246
245
|
React.createElement(PrimaryButton, { type: "submit" }, "Save"))),
|