@manuscripts/style-guide 1.13.9 → 1.13.11-LEAN-3771.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/cjs/index.js +0 -4
  2. package/dist/cjs/lib/files.js +125 -77
  3. package/dist/es/index.js +0 -4
  4. package/dist/es/lib/files.js +117 -73
  5. package/dist/types/index.d.ts +0 -4
  6. package/dist/types/lib/files.d.ts +19 -24
  7. package/package.json +1 -1
  8. package/dist/cjs/components/EditorHeader/EditorHeader.js +0 -210
  9. package/dist/cjs/components/EditorHeader/ProceedView.js +0 -195
  10. package/dist/cjs/components/FileManager/FileActions.js +0 -134
  11. package/dist/cjs/components/FileManager/FileContainer.js +0 -39
  12. package/dist/cjs/components/FileManager/FileCreatedDate.js +0 -25
  13. package/dist/cjs/components/FileManager/FileManager.js +0 -60
  14. package/dist/cjs/components/FileManager/FileManagerDragLayer.js +0 -55
  15. package/dist/cjs/components/FileManager/FileManagerProvider.js +0 -39
  16. package/dist/cjs/components/FileManager/FileName.js +0 -27
  17. package/dist/cjs/components/FileManager/FileSectionAlert.js +0 -170
  18. package/dist/cjs/components/FileManager/FileTypeIcon.js +0 -20
  19. package/dist/cjs/components/FileManager/FileUploader.js +0 -85
  20. package/dist/cjs/components/FileManager/InlineFilesSection.js +0 -133
  21. package/dist/cjs/components/FileManager/OtherFilesSection.js +0 -101
  22. package/dist/cjs/components/FileManager/SupplementsSection.js +0 -118
  23. package/dist/cjs/components/FileManager/index.js +0 -32
  24. package/dist/cjs/components/FileManager/util.js +0 -138
  25. package/dist/cjs/hooks/use-files.js +0 -39
  26. package/dist/es/components/EditorHeader/EditorHeader.js +0 -180
  27. package/dist/es/components/EditorHeader/ProceedView.js +0 -165
  28. package/dist/es/components/FileManager/FileActions.js +0 -104
  29. package/dist/es/components/FileManager/FileContainer.js +0 -33
  30. package/dist/es/components/FileManager/FileCreatedDate.js +0 -18
  31. package/dist/es/components/FileManager/FileManager.js +0 -33
  32. package/dist/es/components/FileManager/FileManagerDragLayer.js +0 -48
  33. package/dist/es/components/FileManager/FileManagerProvider.js +0 -12
  34. package/dist/es/components/FileManager/FileName.js +0 -20
  35. package/dist/es/components/FileManager/FileSectionAlert.js +0 -163
  36. package/dist/es/components/FileManager/FileTypeIcon.js +0 -13
  37. package/dist/es/components/FileManager/FileUploader.js +0 -58
  38. package/dist/es/components/FileManager/InlineFilesSection.js +0 -103
  39. package/dist/es/components/FileManager/OtherFilesSection.js +0 -74
  40. package/dist/es/components/FileManager/SupplementsSection.js +0 -91
  41. package/dist/es/components/FileManager/index.js +0 -16
  42. package/dist/es/components/FileManager/util.js +0 -128
  43. package/dist/es/hooks/use-files.js +0 -35
  44. package/dist/types/components/EditorHeader/EditorHeader.d.ts +0 -68
  45. package/dist/types/components/EditorHeader/ProceedView.d.ts +0 -22
  46. package/dist/types/components/FileManager/FileActions.d.ts +0 -19
  47. package/dist/types/components/FileManager/FileContainer.d.ts +0 -1
  48. package/dist/types/components/FileManager/FileCreatedDate.d.ts +0 -8
  49. package/dist/types/components/FileManager/FileManager.d.ts +0 -30
  50. package/dist/types/components/FileManager/FileManagerDragLayer.d.ts +0 -2
  51. package/dist/types/components/FileManager/FileManagerProvider.d.ts +0 -15
  52. package/dist/types/components/FileManager/FileName.d.ts +0 -6
  53. package/dist/types/components/FileManager/FileSectionAlert.d.ts +0 -13
  54. package/dist/types/components/FileManager/FileTypeIcon.d.ts +0 -5
  55. package/dist/types/components/FileManager/FileUploader.d.ts +0 -5
  56. package/dist/types/components/FileManager/InlineFilesSection.d.ts +0 -6
  57. package/dist/types/components/FileManager/OtherFilesSection.d.ts +0 -5
  58. package/dist/types/components/FileManager/SupplementsSection.d.ts +0 -5
  59. package/dist/types/components/FileManager/index.d.ts +0 -16
  60. package/dist/types/components/FileManager/util.d.ts +0 -25
  61. package/dist/types/hooks/use-files.d.ts +0 -8
@@ -1,210 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.MediumTextArea = exports.PrimaryButtonSmall = exports.EditorHeader = exports.DialogState = void 0;
39
- const react_1 = __importStar(require("react"));
40
- const styled_components_1 = __importDefault(require("styled-components"));
41
- const __1 = require("../..");
42
- const ProceedView_1 = require("./ProceedView");
43
- var DialogState;
44
- (function (DialogState) {
45
- DialogState[DialogState["INIT"] = 0] = "INIT";
46
- DialogState[DialogState["LOADING"] = 1] = "LOADING";
47
- DialogState[DialogState["ERROR"] = 2] = "ERROR";
48
- DialogState[DialogState["SUCCESS"] = 3] = "SUCCESS";
49
- DialogState[DialogState["CLOSED"] = 4] = "CLOSED";
50
- })(DialogState = exports.DialogState || (exports.DialogState = {}));
51
- const Editing = { label: 'Editing', icon: __1.EditIcon };
52
- const MapUserRole = {
53
- Editor: Editing,
54
- Owner: Editing,
55
- Writer: Editing,
56
- Annotator: { label: 'Suggesting', icon: __1.RoleAnnotatingIcon },
57
- Viewer: { label: 'Reading', icon: __1.RoleReadingIcon },
58
- Proofer: { label: 'Proofing', icon: __1.RoleAnnotatingIcon },
59
- };
60
- const EditorHeader = ({ handleSnapshot, submission, hasPendingSuggestions, userRole, canCompleteTask, submitProceed, goBack, status, isAnnotator, isProofer, message, exceptionDialog: ExceptionDialog, disabelProceedNote, }) => {
61
- var _a, _b, _c, _d, _e;
62
- const [noteValue, setNoteValue] = (0, react_1.useState)('');
63
- const [selectedTransitionIndex, setSelectedTransitionIndex] = (0, react_1.useState)();
64
- const { dialogData, submit } = submitProceed;
65
- const { updateState, clearError } = dialogData;
66
- const continueDialogAction = (0, react_1.useCallback)(() => __awaiter(void 0, void 0, void 0, function* () {
67
- if (submission && selectedTransitionIndex && handleSnapshot) {
68
- const { status } = submission.currentStep.type.transitions[selectedTransitionIndex];
69
- updateState(DialogState.LOADING);
70
- yield handleSnapshot();
71
- yield submit(status.id, noteValue);
72
- }
73
- }), [
74
- submission,
75
- selectedTransitionIndex,
76
- handleSnapshot,
77
- updateState,
78
- submit,
79
- noteValue,
80
- ]);
81
- const onTransitionClick = (0, react_1.useCallback)((event) => {
82
- updateState(DialogState.INIT);
83
- setSelectedTransitionIndex(event.target.value || event.target.parentNode.value);
84
- }, [setSelectedTransitionIndex, updateState]);
85
- const onCancelClick = (0, react_1.useCallback)(() => {
86
- setSelectedTransitionIndex(undefined);
87
- clearError();
88
- updateState(DialogState.CLOSED);
89
- }, [setSelectedTransitionIndex, clearError, updateState]);
90
- const onNoteChange = (0, react_1.useCallback)((event) => setNoteValue(event.target.value), [setNoteValue]);
91
- const currentStepTransition = submission === null || submission === void 0 ? void 0 : submission.currentStep.type.transitions;
92
- const disable = !currentStepTransition || !canCompleteTask;
93
- const errorCode = (_d = (_c = (_b = (_a = dialogData.mutationError) === null || _a === void 0 ? void 0 : _a.graphQLErrors) === null || _b === void 0 ? void 0 : _b.find((error) => { var _a; return (_a = error === null || error === void 0 ? void 0 : error.extensions) === null || _a === void 0 ? void 0 : _a.code; })) === null || _c === void 0 ? void 0 : _c.extensions) === null || _d === void 0 ? void 0 : _d.code.name;
94
- return (react_1.default.createElement(Wrapper, null,
95
- goBack && (react_1.default.createElement(SecondaryButtonSmall, { onClick: goBack, type: "button" },
96
- react_1.default.createElement(__1.ArrowLeftIcon, null),
97
- react_1.default.createElement("span", null, "Dashboard"))),
98
- handleSnapshot &&
99
- typeof hasPendingSuggestions == 'boolean' &&
100
- submission.nextStep && (react_1.default.createElement(ProceedView_1.ProceedView, { isAnnotator: isAnnotator, isProofer: isProofer, disable: disable, onTransitionClick: onTransitionClick, hasPendingSuggestions: hasPendingSuggestions, dialogData: dialogData, noteValue: noteValue, currentStepTransition: currentStepTransition, currentStepType: submission.currentStep.type, previousStepType: (_e = submission.previousStep) === null || _e === void 0 ? void 0 : _e.type, nextStepType: submission.nextStep.type, onNoteChange: disabelProceedNote ? undefined : onNoteChange, continueDialogAction: continueDialogAction, onCancelClick: onCancelClick, message: message })),
101
- status && (react_1.default.createElement(ChildWrapper, null,
102
- react_1.default.createElement(__1.SaveStatus, { status: status }))),
103
- react_1.default.createElement(Spacer, null),
104
- react_1.default.createElement(CurrentStepLabel, null, submission.currentStep.type.label),
105
- react_1.default.createElement(CurrentActionLablel, null,
106
- userRole &&
107
- MapUserRole[userRole] &&
108
- react_1.default.createElement(MapUserRole[userRole].icon),
109
- react_1.default.createElement("span", null, userRole && MapUserRole[userRole].label)),
110
- react_1.default.createElement(HelpDropdown, null),
111
- errorCode && react_1.default.createElement(ExceptionDialog, { errorCode: errorCode })));
112
- };
113
- exports.EditorHeader = EditorHeader;
114
- const HelpDropdown = () => {
115
- const { isOpen, toggleOpen, wrapperRef } = (0, __1.useDropdown)();
116
- return (react_1.default.createElement(HelpDropdownContainer, { ref: wrapperRef },
117
- react_1.default.createElement(HelpDropdownButton, { onClick: toggleOpen },
118
- react_1.default.createElement("span", null, "Help"),
119
- react_1.default.createElement(__1.NavDropdownToggle, { className: isOpen ? 'open' : '' })),
120
- isOpen && (react_1.default.createElement(__1.DropdownList, { top: 12, direction: "right" },
121
- react_1.default.createElement(DropdownItem, null, "Documentation")))));
122
- };
123
- const SecondaryButtonSmall = (0, styled_components_1.default)(__1.SecondaryButton) `
124
- font-size: inherit;
125
- margin-right: ${(props) => props.theme.grid.unit * 2}px;
126
- padding-top: ${(props) => props.theme.grid.unit * 0.75}px;
127
- padding-bottom: ${(props) => props.theme.grid.unit * 0.75}px;
128
- `;
129
- const HelpDropdownButton = styled_components_1.default.button `
130
- background: transparent;
131
- border: none;
132
- cursor: pointer;
133
- `;
134
- const HelpDropdownContainer = (0, styled_components_1.default)(__1.DropdownContainer) `
135
- border-left: 1px solid #f2f2f2;
136
- margin: -${(props) => props.theme.grid.unit * 3}px ${(props) => props.theme.grid.unit * 2}px -${(props) => props.theme.grid.unit * 3}px
137
- ${(props) => props.theme.grid.unit * 6}px;
138
- padding: ${(props) => props.theme.grid.unit * 4.75}px 0
139
- ${(props) => props.theme.grid.unit * 5}px
140
- ${(props) => props.theme.grid.unit * 4}px;
141
- `;
142
- const DropdownItem = styled_components_1.default.a `
143
- color: inherit;
144
- display: block;
145
- cursor: pointer;
146
- text-decoration: none;
147
- padding: ${(props) => props.theme.grid.unit * 5}px;
148
- `;
149
- exports.PrimaryButtonSmall = (0, styled_components_1.default)(__1.PrimaryButton) `
150
- padding-top: ${(props) => props.theme.grid.unit * 0.75}px;
151
- padding-bottom: ${(props) => props.theme.grid.unit * 0.75}px;
152
- font-size: inherit;
153
- `;
154
- const Wrapper = styled_components_1.default.div `
155
- display: flex;
156
- z-index: 6;
157
- padding: ${(props) => props.theme.grid.unit * 3}px
158
- ${(props) => props.theme.grid.unit * 8}px;
159
- width: 100%;
160
- box-sizing: border-box;
161
- align-items: center;
162
- border-bottom: 1px solid #f2f2f2;
163
- font-size: 14px;
164
- background: white;
165
-
166
- ${__1.NavDropdownContainer} + ${__1.NavDropdownContainer} {
167
- margin-left: ${(props) => props.theme.grid.unit * 2}px;
168
- }
169
- ${exports.PrimaryButtonSmall} + ${__1.NavDropdownContainer} {
170
- margin-left: ${(props) => props.theme.grid.unit * 2}px;
171
- }
172
- `;
173
- const CurrentStepLabel = styled_components_1.default.span `
174
- background: #f2f2f2;
175
- border-radius: ${(props) => props.theme.grid.unit * 1.5}px;
176
- padding: ${(props) => props.theme.grid.unit}px;
177
- `;
178
- const CurrentActionLablel = styled_components_1.default.span `
179
- display: flex;
180
- padding: 0 ${(props) => props.theme.grid.unit * 6}px;
181
- svg {
182
- margin-right: ${(props) => props.theme.grid.unit * 2.5}px;
183
- }
184
- `;
185
- const ChildWrapper = styled_components_1.default.div `
186
- display: inline-flex;
187
- margin: 0 2em;
188
- flex-direction: row;
189
- align-items: center;
190
- `;
191
- const Grid = styled_components_1.default.div `
192
- display: grid;
193
- grid-template-columns: max-content auto;
194
- gap: 0 ${(props) => props.theme.grid.unit * 2}px;
195
- margin-top: ${(props) => props.theme.grid.unit * 4}px;
196
- background: ${(props) => props.theme.colors.background.secondary};
197
- padding: ${(props) => props.theme.grid.unit * 6}px;
198
- `;
199
- const Line = styled_components_1.default.hr `
200
- margin: 5px 0 0 0;
201
- flex: 1;
202
- border: 1px dashed #c9c9c9;
203
- `;
204
- const Spacer = styled_components_1.default.div `
205
- flex: auto;
206
- `;
207
- exports.MediumTextArea = (0, styled_components_1.default)(__1.TextArea) `
208
- padding: 8px;
209
- font-size: 1em;
210
- `;
@@ -1,195 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ProceedView = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const styled_components_1 = __importDefault(require("styled-components"));
32
- const __1 = require("../..");
33
- const AlertMessage_1 = require("../AlertMessage");
34
- const EditorHeader_1 = require("./EditorHeader");
35
- const DropdownWrapper = ({ disabled, button, primary, children }) => {
36
- const { isOpen, toggleOpen, wrapperRef } = (0, __1.useDropdown)();
37
- return (react_1.default.createElement(__1.NavDropdownContainer, { id: 'user-dropdown', ref: wrapperRef },
38
- react_1.default.createElement(__1.NavDropdownButton, { as: (primary && __1.PrimaryButton) || undefined, disabled: disabled, isOpen: isOpen, onClick: toggleOpen }, button),
39
- isOpen && react_1.default.createElement(__1.NavDropdown, { direction: "left" }, children)));
40
- };
41
- const StepDetails = ({ icon, label, description, role }) => (react_1.default.createElement(react_1.default.Fragment, null,
42
- icon && react_1.default.createElement(TaskStatus, null, icon),
43
- react_1.default.createElement(TaskContainer, null,
44
- react_1.default.createElement(__1.PrimaryBoldHeading, null, label),
45
- react_1.default.createElement(__1.SecondarySmallText, null, description),
46
- react_1.default.createElement(__1.SecondarySmallText, null,
47
- "Actor: ",
48
- role.label))));
49
- const ProceedView = ({ currentStepTransition, onTransitionClick, disable, dialogData, previousStepType, currentStepType, isAnnotator, isProofer, hasPendingSuggestions, onCancelClick, continueDialogAction, message: Message, }) => {
50
- const dialogMessages = (0, react_1.useMemo)(() => hasPendingSuggestions &&
51
- !isAnnotator &&
52
- !isProofer &&
53
- dialogData.state !== __1.DialogState.SUCCESS
54
- ? {
55
- header: 'The task can not be transitioned to the next step',
56
- message: `There are still pending suggestions in the document.
57
- It is not possible to complete the task without having them approved or rejected.`,
58
- actions: {
59
- primary: {
60
- action: onCancelClick,
61
- title: 'Ok',
62
- },
63
- onClose: onCancelClick,
64
- },
65
- }
66
- : dialogData.state === __1.DialogState.SUCCESS
67
- ? {
68
- header: 'Content reassigned successfully',
69
- message: `to the ${currentStepType.label}`,
70
- actions: {
71
- primary: {
72
- action: onCancelClick,
73
- title: 'Close',
74
- },
75
- onClose: onCancelClick,
76
- },
77
- }
78
- : {
79
- header: 'Are you sure?',
80
- message: 'You are about to complete your task. If you confirm, you will no longer be able to make any changes.',
81
- actions: {
82
- primary: {
83
- action: continueDialogAction,
84
- title: 'Continue',
85
- },
86
- secondary: {
87
- action: onCancelClick,
88
- title: 'Cancel',
89
- },
90
- onClose: onCancelClick,
91
- },
92
- }, [
93
- dialogData,
94
- continueDialogAction,
95
- onCancelClick,
96
- currentStepType,
97
- hasPendingSuggestions,
98
- isAnnotator,
99
- isProofer,
100
- ]);
101
- const prevDialogMsgs = (0, react_1.useRef)();
102
- const prevDialogueState = (0, react_1.useRef)();
103
- (0, react_1.useEffect)(() => {
104
- prevDialogMsgs.current = dialogMessages;
105
- prevDialogueState.current = dialogData.state;
106
- }, [dialogData.state]);
107
- const messages = dialogData.state === __1.DialogState.CLOSED && prevDialogMsgs.current
108
- ? prevDialogMsgs.current
109
- : dialogMessages;
110
- const finalState = dialogData.state === __1.DialogState.CLOSED && prevDialogueState.current
111
- ? prevDialogueState.current
112
- : dialogData.state;
113
- return (react_1.default.createElement(react_1.default.Fragment, null,
114
- (currentStepTransition && (currentStepTransition === null || currentStepTransition === void 0 ? void 0 : currentStepTransition.length) > 1 && (react_1.default.createElement(DropdownWrapper, { button: 'Complete task', disabled: disable, primary: true },
115
- react_1.default.createElement(TaskDropdown, null, currentStepTransition &&
116
- currentStepTransition.map((transition, index) => (react_1.default.createElement(Task, { key: 'task_' + transition.type.id, className: transition.status.id === 'success' ? 'happyPath' : '', value: index, onClick: onTransitionClick },
117
- react_1.default.createElement("strong", null, transition.type.label),
118
- transition.type.description))))))) || (react_1.default.createElement(EditorHeader_1.PrimaryButtonSmall, { value: 0, onClick: onTransitionClick, disabled: disable }, "Complete task")),
119
- finalState === __1.DialogState.LOADING && (react_1.default.createElement(__1.LoadingOverlay, null,
120
- react_1.default.createElement(Message, { isCentered: true }, "Proceeding with your submission\u2026"))),
121
- react_1.default.createElement(__1.Dialog, { isOpen: dialogData.state !== __1.DialogState.CLOSED &&
122
- dialogData.state !== __1.DialogState.LOADING, category: __1.Category.confirmation, header: messages.header, message: messages.message, actions: messages.actions },
123
- finalState === __1.DialogState.SUCCESS && (react_1.default.createElement(Grid, null,
124
- previousStepType && (react_1.default.createElement(StepDetails, Object.assign({}, previousStepType, { icon: react_1.default.createElement(react_1.default.Fragment, null,
125
- react_1.default.createElement(__1.TaskStepDoneIcon, null),
126
- react_1.default.createElement(Line, null)) }))),
127
- react_1.default.createElement(StepDetails, Object.assign({}, currentStepType)))),
128
- finalState === __1.DialogState.ERROR && (react_1.default.createElement(AlertMessage_1.AlertMessage, { type: AlertMessage_1.AlertMessageType.error, hideCloseButton: true }, dialogData.error)))));
129
- };
130
- exports.ProceedView = ProceedView;
131
- const TaskDropdown = styled_components_1.default.div `
132
- display: flex;
133
- flex-direction: column;
134
- padding: ${(props) => props.theme.grid.unit * 2}px 0;
135
- `;
136
- const Task = styled_components_1.default.button `
137
- background: transparent;
138
- border: none;
139
- color: ${(props) => props.theme.colors.text.secondary};
140
- cursor: pointer;
141
- font: ${(props) => props.theme.font.weight.normal}
142
- ${(props) => props.theme.font.size.small} /
143
- ${(props) => props.theme.font.lineHeight.normal}
144
- ${(props) => props.theme.font.family.sans};
145
- order: 1;
146
- outline: none;
147
- padding: ${(props) => props.theme.grid.unit * 2}px
148
- ${(props) => props.theme.grid.unit * 4}px;
149
- text-align: left;
150
- width: ${(props) => props.theme.grid.unit * 66}px;
151
-
152
- &:not([disabled]):hover,
153
- &:not([disabled]):focus {
154
- background-color: ${(props) => props.theme.colors.button.default.background.hover};
155
- }
156
-
157
- strong {
158
- color: ${(props) => props.theme.colors.text.primary};
159
- display: block;
160
- font-size: ${(props) => props.theme.font.size.normal};
161
- line-height: ${(props) => props.theme.font.lineHeight.normal};
162
- }
163
-
164
- &.happyPath {
165
- border-bottom: 1px solid ${(props) => props.theme.colors.border.tertiary};
166
- order: 0;
167
- }
168
- `;
169
- const TextAreaWrapper = styled_components_1.default.div `
170
- margin-top: ${(props) => props.theme.grid.unit * 4}px;
171
- `;
172
- const Grid = styled_components_1.default.div `
173
- display: grid;
174
- grid-template-columns: max-content auto;
175
- gap: 0 ${(props) => props.theme.grid.unit * 2}px;
176
- margin-top: ${(props) => props.theme.grid.unit * 4}px;
177
- background: ${(props) => props.theme.colors.background.secondary};
178
- padding: ${(props) => props.theme.grid.unit * 6}px;
179
- `;
180
- const Line = styled_components_1.default.hr `
181
- margin: 5px 0 0 0;
182
- flex: 1;
183
- border: 1px dashed #c9c9c9;
184
- `;
185
- const TaskStatus = styled_components_1.default.div `
186
- grid-column: 1;
187
- display: flex;
188
- flex-direction: column;
189
- align-items: center;
190
- padding-top: 5px;
191
- `;
192
- const TaskContainer = styled_components_1.default.div `
193
- grid-column: 2;
194
- margin-bottom: 8px;
195
- `;
@@ -1,134 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.FileAction = exports.FileActionDropdownList = exports.ActionsIcon = exports.FileActions = void 0;
39
- const react_1 = __importStar(require("react"));
40
- const styled_components_1 = __importDefault(require("styled-components"));
41
- const use_dropdown_1 = require("../../hooks/use-dropdown");
42
- const Dialog_1 = require("../Dialog");
43
- const Dropdown_1 = require("../Dropdown");
44
- const icons_1 = require("../icons");
45
- const FileManager_1 = require("./FileManager");
46
- const FileActions = ({ sectionType, handleDownload, handleReplace, handleDetach, move, className, }) => {
47
- const can = (0, react_1.useContext)(FileManager_1.PermissionsContext);
48
- const { isOpen, toggleOpen, wrapperRef } = (0, use_dropdown_1.useDropdown)();
49
- const [isMoveDialogOpen, setMoveDialogOpen] = (0, react_1.useState)(false);
50
- const showDownload = (can === null || can === void 0 ? void 0 : can.downloadFiles) && handleDownload;
51
- const showReplace = (can === null || can === void 0 ? void 0 : can.replaceFile) && handleReplace;
52
- const showDetach = (can === null || can === void 0 ? void 0 : can.editArticle) && handleDetach;
53
- const showMove = (can === null || can === void 0 ? void 0 : can.moveFile) && move;
54
- const show = showDownload || showReplace || showDetach || showMove;
55
- const fileInputRef = (0, react_1.useRef)(null);
56
- const handleChange = (event) => __awaiter(void 0, void 0, void 0, function* () {
57
- if (handleReplace && event && event.target && event.target.files) {
58
- const file = event.target.files[0];
59
- yield handleReplace(file);
60
- }
61
- });
62
- const openFileDialog = () => {
63
- if (fileInputRef && fileInputRef.current) {
64
- fileInputRef.current.click();
65
- }
66
- };
67
- return show ? (react_1.default.createElement(Dropdown_1.DropdownContainer, { ref: wrapperRef },
68
- react_1.default.createElement(exports.ActionsIcon, { onClick: toggleOpen, type: "button", className: "show-on-hover", "data-cy": "file-actions", "aria-label": "Actions", "aria-pressed": isOpen },
69
- react_1.default.createElement(icons_1.DotsIcon, null)),
70
- isOpen && (react_1.default.createElement(exports.FileActionDropdownList, { "data-cy": "file-actions-dropdown", direction: "right", className: className, width: 192, top: 5, onClick: toggleOpen },
71
- showDownload && (react_1.default.createElement(exports.FileAction, { onClick: handleDownload }, "Download")),
72
- showReplace && (react_1.default.createElement(react_1.default.Fragment, null,
73
- react_1.default.createElement(exports.FileAction, { onClick: openFileDialog }, "Replace"),
74
- react_1.default.createElement("input", { ref: fileInputRef, type: "file", style: { display: 'none' }, onChange: handleChange }))),
75
- showDetach && react_1.default.createElement(exports.FileAction, { onClick: handleDetach }, "Detach"),
76
- showMove && (react_1.default.createElement(exports.FileAction, { onClick: () => setMoveDialogOpen(true) },
77
- "Move to ",
78
- move.sectionType)))),
79
- showMove && (react_1.default.createElement(MoveFileConfirmationDialog, { "data-cy": "file-move-confirm-dialog", isOpen: isMoveDialogOpen, close: () => setMoveDialogOpen(false), source: sectionType, target: move.sectionType, handleMove: move.handler })))) : (react_1.default.createElement(react_1.default.Fragment, null));
80
- };
81
- exports.FileActions = FileActions;
82
- const MoveFileConfirmationDialog = ({ isOpen, close, source, target, handleMove }) => {
83
- const header = `Are you sure you want to move this file to “${target}”?`;
84
- const message = `The file will be removed from “${source}” and added to “${target}”.`;
85
- const handleConfirm = () => __awaiter(void 0, void 0, void 0, function* () {
86
- yield handleMove();
87
- close();
88
- });
89
- return (react_1.default.createElement(Dialog_1.Dialog, { isOpen: isOpen, category: Dialog_1.Category.confirmation, header: header, message: message, actions: {
90
- primary: {
91
- action: handleConfirm,
92
- title: 'Move',
93
- },
94
- secondary: {
95
- action: () => close(),
96
- title: 'Cancel',
97
- },
98
- } }));
99
- };
100
- exports.ActionsIcon = styled_components_1.default.button `
101
- border: none;
102
- background: transparent;
103
- cursor: pointer;
104
- padding: 0 8px;
105
- &:focus {
106
- outline: none;
107
- }
108
- &:hover svg circle {
109
- fill: #1a9bc7;
110
- }
111
- `;
112
- exports.FileActionDropdownList = (0, styled_components_1.default)(Dropdown_1.DropdownList) `
113
- border: 1px solid #e2e2e2;
114
- box-sizing: border-box;
115
- box-shadow: 0 4px 9px rgba(0, 0, 0, 0.3);
116
- border-radius: 8px;
117
- min-width: 180px;
118
- background: ${(props) => props.theme.colors.background.primary};
119
- z-index: 999;
120
- text-align: left;
121
- overflow: hidden;
122
- `;
123
- exports.FileAction = styled_components_1.default.div `
124
- font-family: ${(props) => props.theme.font.family.Lato};
125
- cursor: pointer;
126
- font-size: 16px;
127
- line-height: 24px;
128
- color: ${(props) => props.theme.colors.text.primary};
129
- padding: 16px;
130
- &:hover,
131
- &:focus {
132
- background: #f2fbfc;
133
- }
134
- `;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FileContainer = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- exports.FileContainer = styled_components_1.default.div `
9
- display: flex;
10
- font-family: ${(props) => props.theme.font.family.Lato};
11
- align-items: center;
12
- cursor: pointer;
13
- box-sizing: border-box;
14
- position: relative;
15
- padding: 24px 18px;
16
- height: 72px;
17
-
18
- &.dragging {
19
- opacity: 0.2;
20
- }
21
-
22
- .file-icon {
23
- min-width: 20px;
24
- width: 20px;
25
- }
26
-
27
- .show-on-hover {
28
- display: none;
29
- }
30
-
31
- &:hover .show-on-hover {
32
- display: block;
33
- }
34
-
35
- &:hover,
36
- &:focus {
37
- background: #f2fbfc;
38
- }
39
- `;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FileDate = exports.FileDateContainer = exports.FileCreatedDate = void 0;
7
- const date_fns_1 = require("date-fns");
8
- const react_1 = __importDefault(require("react"));
9
- const styled_components_1 = __importDefault(require("styled-components"));
10
- const Tooltip_1 = require("../Tooltip");
11
- const FileCreatedDate = ({ file, className }) => {
12
- return file.createdDate ? (react_1.default.createElement(exports.FileDateContainer, { "data-tooltip-id": `${file.id}-created-date-tooltip`, className: className },
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-tooltip`, place: "bottom" }, "File Uploaded"))) : (react_1.default.createElement(react_1.default.Fragment, null));
15
- };
16
- exports.FileCreatedDate = FileCreatedDate;
17
- exports.FileDateContainer = styled_components_1.default.div `
18
- overflow: hidden;
19
- min-width: 88px;
20
- margin-left: 8px;
21
- `;
22
- exports.FileDate = styled_components_1.default.div `
23
- font-size: ${(props) => props.theme.font.size.small};
24
- line-height: 27px;
25
- `;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.FileManager = exports.PermissionsContext = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const index_1 = require("../../index");
29
- const Inspector_1 = require("../Inspector");
30
- const InspectorSection_1 = require("../InspectorSection");
31
- const Tooltip_1 = require("../Tooltip");
32
- const FileManagerDragLayer_1 = require("./FileManagerDragLayer");
33
- const FileManagerProvider_1 = require("./FileManagerProvider");
34
- const InlineFilesSection_1 = require("./InlineFilesSection");
35
- const OtherFilesSection_1 = require("./OtherFilesSection");
36
- const SupplementsSection_1 = require("./SupplementsSection");
37
- exports.PermissionsContext = (0, react_1.createContext)(null);
38
- const FileManager = ({ files, fileManagement, modelMap, saveModel, deleteModel, enableDragAndDrop, can, }) => {
39
- const { inlineFiles, supplements, otherFiles } = (0, index_1.useFiles)(modelMap, files);
40
- return (react_1.default.createElement(FileManagerProvider_1.FileManagerProvider, { saveModel: saveModel, deleteModel: deleteModel, modelMap: modelMap, fileManagement: fileManagement },
41
- react_1.default.createElement(FileManagerDragLayer_1.FileManagerDragLayer, null),
42
- react_1.default.createElement(exports.PermissionsContext.Provider, { value: can },
43
- react_1.default.createElement(InspectorSection_1.InspectorSection, { title: 'Files', contentStyles: { margin: '24px 16px' } },
44
- react_1.default.createElement(Inspector_1.InspectorTabs, { defaultIndex: 0, "data-cy": "files-tabs", style: { overflow: 'visible' } },
45
- react_1.default.createElement(Inspector_1.InspectorTabList, null,
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
- react_1.default.createElement(Inspector_1.InspectorTabPanels, { style: { overflowY: 'visible', position: 'relative' } },
53
- react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "inline" },
54
- react_1.default.createElement(InlineFilesSection_1.InlineFilesSection, { elements: inlineFiles, isEditor: enableDragAndDrop })),
55
- react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "supplements" },
56
- react_1.default.createElement(SupplementsSection_1.SupplementsSection, { supplements: supplements })),
57
- react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "other" },
58
- react_1.default.createElement(OtherFilesSection_1.OtherFilesSection, { files: otherFiles }))))))));
59
- };
60
- exports.FileManager = FileManager;