@manuscripts/style-guide 1.7.1-LEAN-3281-0 → 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.
Files changed (80) hide show
  1. package/dist/cjs/components/Comments/CommentBody.js +3 -3
  2. package/dist/cjs/components/Comments/CommentUser.js +1 -1
  3. package/dist/cjs/components/Comments/ResolveButton.js +3 -3
  4. package/dist/cjs/components/FileManager/FileCreatedDate.js +3 -3
  5. package/dist/cjs/components/FileManager/FileManager.js +7 -7
  6. package/dist/cjs/components/FileManager/OtherFilesSection.js +2 -2
  7. package/dist/cjs/components/FileManager/SupplementsSection.js +1 -2
  8. package/dist/cjs/components/References/CitationEditor.js +2 -2
  9. package/dist/cjs/components/References/ReferenceForm.js +8 -9
  10. package/dist/cjs/components/References/ReferenceSearch.js +2 -2
  11. package/dist/cjs/components/References/ReferencesModal.js +6 -13
  12. package/dist/cjs/components/RelativeDate.js +23 -6
  13. package/dist/cjs/components/{FileManager/Tooltip.js → Tooltip.js} +12 -7
  14. package/dist/cjs/index.js +1 -2
  15. package/dist/cjs/lib/files.js +4 -5
  16. package/dist/es/components/Comments/CommentBody.js +3 -3
  17. package/dist/es/components/Comments/CommentUser.js +1 -1
  18. package/dist/es/components/Comments/ResolveButton.js +3 -3
  19. package/dist/es/components/FileManager/FileCreatedDate.js +3 -3
  20. package/dist/es/components/FileManager/FileManager.js +7 -7
  21. package/dist/es/components/FileManager/OtherFilesSection.js +2 -2
  22. package/dist/es/components/FileManager/SupplementsSection.js +2 -3
  23. package/dist/es/components/References/CitationEditor.js +1 -1
  24. package/dist/es/components/References/ReferenceForm.js +6 -7
  25. package/dist/es/components/References/ReferenceSearch.js +1 -1
  26. package/dist/es/components/References/ReferencesModal.js +6 -13
  27. package/dist/es/components/RelativeDate.js +23 -6
  28. package/dist/es/components/Tooltip.js +25 -0
  29. package/dist/es/index.js +1 -2
  30. package/dist/es/lib/files.js +1 -2
  31. package/dist/types/components/AlertMessage.d.ts +1 -1
  32. package/dist/types/components/AuthorForm/RemoveAuthorButton.d.ts +1 -1
  33. package/dist/types/components/AutoSaveInput.d.ts +1 -1
  34. package/dist/types/components/Comments/CommentUser.d.ts +2 -3
  35. package/dist/types/components/Dialog.d.ts +1 -1
  36. package/dist/types/components/Dropdown.d.ts +1 -1
  37. package/dist/types/components/EditorHeader/EditorHeader.d.ts +1 -2
  38. package/dist/types/components/FileManager/FileActions.d.ts +1 -1
  39. package/dist/types/components/FileManager/FileManager.d.ts +1 -2
  40. package/dist/types/components/FileManager/util.d.ts +1 -0
  41. package/dist/types/components/Form.d.ts +1 -1
  42. package/dist/types/components/Inspector.d.ts +7 -9
  43. package/dist/types/components/NavDropdown.d.ts +1 -1
  44. package/dist/types/components/References/ReferenceForm.d.ts +1 -1
  45. package/dist/types/components/RelativeDate.d.ts +15 -1
  46. package/dist/types/components/Resizer/Resizer.d.ts +1 -1
  47. package/dist/types/components/Resizer/ResizerButton.d.ts +1 -1
  48. package/dist/types/components/Tooltip.d.ts +5 -0
  49. package/dist/types/components/icons/add-author.d.ts +2 -1
  50. package/dist/types/components/icons/add-comment-icon.d.ts +2 -1
  51. package/dist/types/components/icons/add-icon-active.d.ts +2 -1
  52. package/dist/types/components/icons/add-icon-inverted.d.ts +2 -1
  53. package/dist/types/components/icons/back-arrow.d.ts +2 -1
  54. package/dist/types/components/icons/bookmark.d.ts +2 -1
  55. package/dist/types/components/icons/google.d.ts +2 -1
  56. package/dist/types/components/icons/orcid.d.ts +2 -1
  57. package/dist/types/components/icons/project-notification.d.ts +2 -1
  58. package/dist/types/components/icons/project.d.ts +2 -1
  59. package/dist/types/components/icons/projects-list.d.ts +2 -1
  60. package/dist/types/components/icons/search.d.ts +2 -1
  61. package/dist/types/components/icons/tick-mark.d.ts +2 -1
  62. package/dist/types/components/icons/user.d.ts +2 -1
  63. package/dist/types/index.d.ts +1 -2
  64. package/dist/types/lib/capabilities.d.ts +3 -4
  65. package/package.json +31 -42
  66. package/dist/cjs/components/ColorField/ColorField.js +0 -49
  67. package/dist/cjs/components/ColorField/ColorSelector.js +0 -115
  68. package/dist/cjs/components/ColorField/index.js +0 -32
  69. package/dist/cjs/components/Tip.js +0 -83
  70. package/dist/es/components/ColorField/ColorField.js +0 -42
  71. package/dist/es/components/ColorField/ColorSelector.js +0 -85
  72. package/dist/es/components/ColorField/index.js +0 -16
  73. package/dist/es/components/FileManager/Tooltip.js +0 -20
  74. package/dist/es/components/Tip.js +0 -53
  75. package/dist/types/components/ColorField/ColorField.d.ts +0 -27
  76. package/dist/types/components/ColorField/ColorSelector.d.ts +0 -19
  77. package/dist/types/components/ColorField/index.d.ts +0 -16
  78. package/dist/types/components/FileManager/Tooltip.d.ts +0 -2
  79. package/dist/types/components/Tip.d.ts +0 -18
  80. 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-tip": true, "data-for": `reply-${comment._id}`, onClick: () => handleCreateReply(comment._id), "aria-label": 'reply', className: "reply-button note-actions" },
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(react_tooltip_1.default, { id: `reply-${comment._id}`, place: "bottom", effect: "solid", offset: { top: 10 }, className: "tooltip" }, "Reply")))))));
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, { src: user.avatar, size: 20 })),
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-tip": true, "data-for": id, onClick: resolvedCallback },
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(react_tooltip_1.default, { id: id, place: "bottom", effect: "solid", offset: { top: 10 }, className: "tooltip" }, (resolved && 'Unresolve') || 'Resolve')));
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("./Tooltip");
10
+ const Tooltip_1 = require("../Tooltip");
11
11
  const FileCreatedDate = ({ file, className }) => {
12
- return file.createdDate ? (react_1.default.createElement(exports.FileDateContainer, { "data-tip": "File Uploaded", "data-for": `${file.id}-created-date`, className: className },
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", offset: { top: 0 }, effect: "solid", className: "tooltip" }, "File Uploaded"))) : (react_1.default.createElement(react_1.default.Fragment, null));
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-for": "inline", "data-tip": true }, "Inline files"),
47
- react_1.default.createElement(Tooltip_1.Tooltip, { id: "inline", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files that can be found inline in the manuscript."),
48
- react_1.default.createElement(Inspector_1.InspectorTab, { "data-for": "supplements", "data-tip": true }, "Supplements"),
49
- react_1.default.createElement(Tooltip_1.Tooltip, { id: "supplements", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files that were marked as supplements."),
50
- react_1.default.createElement(Inspector_1.InspectorTab, { "data-for": "other", "data-tip": true }, "Other files"),
51
- react_1.default.createElement(Tooltip_1.Tooltip, { id: "other", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files excluded from the final submission.")),
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 transform_1 = require("@manuscripts/transform");
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, transform_1.buildSupplementaryMaterial)('', file.id);
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, transform_1.buildSupplementaryMaterial)('', uploaded.id);
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 transform_1 = require("@manuscripts/transform");
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, transform_1.buildBibliographyItem)({});
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 transform_1 = require("@manuscripts/transform");
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, { defaultColor: true, as: "a", href: `https://doi.org/${formik.values.DOI}`, target: '_blank' },
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("div", { "data-tip": true, "data-for": 'delete-button' },
270
- react_1.default.createElement(DeleteButton, { defaultColor: true, disabled: !showDelete, onClick: () => setShowDeleteDialog(true) },
271
- react_1.default.createElement(delete_icon_1.DeleteIcon, null)),
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, transform_1.buildBibliographicName)({
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, transform_1.buildBibliographicDate)({
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 lodash_es_1 = require("lodash-es");
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, lodash_es_1.debounce)((e) => {
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) `
@@ -175,13 +175,6 @@ const ReferencesModal = ({ isOpen, onCancel, items, item, citationCounts, onSave
175
175
  setSelection(item);
176
176
  setConfirm(false);
177
177
  };
178
- const handleDelete = () => {
179
- if (!selection) {
180
- return;
181
- }
182
- onDelete(selection);
183
- setSelection(undefined);
184
- };
185
178
  const handleItemClick = (item) => {
186
179
  const values = valuesRef.current;
187
180
  if (values && selection && !(0, lodash_1.isEqual)(values, (0, exports.normalize)(selection))) {
@@ -216,11 +209,11 @@ const ReferencesModal = ({ isOpen, onCancel, items, item, citationCounts, onSave
216
209
  react_1.default.createElement(StyledModal_1.ModalSidebarTitle, null, "References")),
217
210
  react_1.default.createElement(ReferencesSidebarContent, { ref: ref },
218
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 },
219
- react_1.default.createElement(IconContainer, { "data-tip": true, "data-for": 'citation-count' },
212
+ react_1.default.createElement(IconContainer, null,
220
213
  react_1.default.createElement(ReferenceLibraryIcon_1.default, null),
221
- react_1.default.createElement(CitationCount, { className: citationCounts.get(item._id) ? '' : 'unused' }, citationCounts.get(item._id) || 0),
222
- react_1.default.createElement(react_tooltip_1.default, { disable: (citationCounts.get(item._id) || 0) < 1, id: "citation-count", place: "bottom", effect: "solid", offset: { top: 40 }, className: "tooltip" }, "Number of times used in the document")),
223
- react_1.default.createElement(ReferenceLine_1.ReferenceLine, { item: item }))))))),
224
- 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: handleDelete, onSave: save, actionsRef: actionsRef })))))));
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
+ 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 })))))));
225
218
  };
226
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 { value, unit } = (0, intl_utils_1.selectUnit)(createdAt);
16
- return (react_1.default.createElement(react_intl_1.IntlProvider, { locale: "en" },
17
- react_1.default.createElement(react_intl_1.FormattedRelativeTime, { value: value, unit: unit })));
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 = __importDefault(require("react-tooltip"));
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.default) `
10
- &.tooltip {
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
- font-family: ${(props) => props.theme.font.family.Lato};
17
+ letter-spacing: -0.2px;
18
+ max-width: 300px;
19
+ font-family: inherit;
14
20
  padding: 8px;
15
- border-radius: 6px;
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
- &.place-bottom::after {
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/Tip"), exports);
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);
@@ -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, transform_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.Section);
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, transform_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.FigureElement);
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, transform_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.Supplement);
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, transform_1.getModelsByType)(modelMap, json_schema_1.ObjectTypes.ElementsOrder);
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-tip": true, "data-for": `reply-${comment._id}`, onClick: () => handleCreateReply(comment._id), "aria-label": 'reply', className: "reply-button note-actions" },
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(ReactTooltip, { id: `reply-${comment._id}`, place: "bottom", effect: "solid", offset: { top: 10 }, className: "tooltip" }, "Reply")))))));
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, { src: user.avatar, size: 20 })),
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-tip": true, "data-for": id, onClick: resolvedCallback },
23
+ React.createElement(Button, { resolved: resolved, "data-tooltip-id": id, onClick: resolvedCallback },
24
24
  React.createElement(TickMark, { color: '#353535' })),
25
- React.createElement(ReactTooltip, { id: id, place: "bottom", effect: "solid", offset: { top: 10 }, className: "tooltip" }, (resolved && 'Unresolve') || 'Resolve')));
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 './Tooltip';
4
+ import { Tooltip } from '../Tooltip';
5
5
  export const FileCreatedDate = ({ file, className }) => {
6
- return file.createdDate ? (React.createElement(FileDateContainer, { "data-tip": "File Uploaded", "data-for": `${file.id}-created-date`, className: className },
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", offset: { top: 0 }, effect: "solid", className: "tooltip" }, "File Uploaded"))) : (React.createElement(React.Fragment, null));
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-for": "inline", "data-tip": true }, "Inline files"),
21
- React.createElement(Tooltip, { id: "inline", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files that can be found inline in the manuscript."),
22
- React.createElement(InspectorTab, { "data-for": "supplements", "data-tip": true }, "Supplements"),
23
- React.createElement(Tooltip, { id: "supplements", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files that were marked as supplements."),
24
- React.createElement(InspectorTab, { "data-for": "other", "data-tip": true }, "Other files"),
25
- React.createElement(Tooltip, { id: "other", place: "bottom", offset: { bottom: -11 }, effect: "solid", className: "tooltip" }, "Files excluded from the final submission.")),
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 { buildSupplementaryMaterial } from '@manuscripts/transform';
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 = buildSupplementaryMaterial('', file.id);
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 = buildSupplementaryMaterial('', uploaded.id);
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/transform';
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';