@manuscripts/article-editor 4.3.2 → 4.3.4
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/DocumentLanguageSelector.js +257 -0
- package/dist/cjs/components/DocumentLanguageSelector.js.map +1 -0
- package/dist/cjs/components/{VersionHistoryDropdown.js → DocumentOptionsDropdown.js} +11 -5
- package/dist/cjs/components/DocumentOptionsDropdown.js.map +1 -0
- package/dist/cjs/components/FileManager/InlineFilesSection.js +51 -14
- package/dist/cjs/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/cjs/components/projects/Inspector.js +2 -2
- package/dist/cjs/components/projects/Inspector.js.map +1 -1
- package/dist/es/components/DocumentLanguageSelector.js +219 -0
- package/dist/es/components/DocumentLanguageSelector.js.map +1 -0
- package/dist/es/components/{VersionHistoryDropdown.js → DocumentOptionsDropdown.js} +11 -5
- package/dist/es/components/DocumentOptionsDropdown.js.map +1 -0
- package/dist/es/components/FileManager/InlineFilesSection.js +52 -15
- package/dist/es/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/es/components/projects/Inspector.js +2 -2
- package/dist/es/components/projects/Inspector.js.map +1 -1
- package/dist/types/components/DocumentLanguageSelector.d.ts +17 -0
- package/dist/types/components/{VersionHistoryDropdown.d.ts → DocumentOptionsDropdown.d.ts} +2 -2
- package/package.json +3 -2
- package/dist/cjs/components/VersionHistoryDropdown.js.map +0 -1
- package/dist/es/components/VersionHistoryDropdown.js.map +0 -1
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
4
|
+
*
|
|
5
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
6
|
+
*
|
|
7
|
+
* The Original Code is manuscripts-frontend.
|
|
8
|
+
*
|
|
9
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
10
|
+
*
|
|
11
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
const i18n_iso_languages_1 = __importDefault(require("@cospired/i18n-iso-languages"));
|
|
51
|
+
const style_guide_1 = require("@manuscripts/style-guide");
|
|
52
|
+
const react_1 = __importStar(require("react"));
|
|
53
|
+
const styled_components_1 = __importDefault(require("styled-components"));
|
|
54
|
+
const useStore_1 = require("../store/useStore");
|
|
55
|
+
// Native names lookup for common languages
|
|
56
|
+
const NATIVE_NAMES = {
|
|
57
|
+
en: 'Default',
|
|
58
|
+
es: 'Español',
|
|
59
|
+
fr: 'Français',
|
|
60
|
+
de: 'Deutsch',
|
|
61
|
+
it: 'Italiano',
|
|
62
|
+
pt: 'Português',
|
|
63
|
+
ru: 'Русский',
|
|
64
|
+
ja: '日本語',
|
|
65
|
+
ko: '한국어',
|
|
66
|
+
zh: '中文',
|
|
67
|
+
ar: 'العربية',
|
|
68
|
+
};
|
|
69
|
+
const COMMON_LANGUAGES = Object.keys(NATIVE_NAMES);
|
|
70
|
+
// Fallback language object for English
|
|
71
|
+
const ENGLISH_FALLBACK = {
|
|
72
|
+
code: 'en',
|
|
73
|
+
name: 'English',
|
|
74
|
+
nativeName: 'English',
|
|
75
|
+
isCommon: true,
|
|
76
|
+
};
|
|
77
|
+
// Get display name for selected language
|
|
78
|
+
const getSelectedLanguageName = (selectedLanguage, allLanguages) => {
|
|
79
|
+
if (!allLanguages.length) {
|
|
80
|
+
return 'English (Default)';
|
|
81
|
+
}
|
|
82
|
+
const lang = allLanguages.find((l) => l.code === selectedLanguage) || ENGLISH_FALLBACK;
|
|
83
|
+
return lang.code === 'en'
|
|
84
|
+
? 'English (Default)'
|
|
85
|
+
: `${lang.name}${lang.nativeName ? ` (${lang.nativeName})` : ''}`;
|
|
86
|
+
};
|
|
87
|
+
const LanguageOptionItem = ({ language, isSelected, onSelect }) => (react_1.default.createElement(LanguageOption, { key: language.code, onClick: (event) => onSelect(event, language.code) },
|
|
88
|
+
language.name,
|
|
89
|
+
language.nativeName && ` (${language.nativeName})`,
|
|
90
|
+
isSelected && (react_1.default.createElement(TickIconWrapper, null,
|
|
91
|
+
react_1.default.createElement(style_guide_1.TickIcon, null)))));
|
|
92
|
+
const DocumentLanguageSelector = ({ onCloseParent, }) => {
|
|
93
|
+
const [storeState] = (0, useStore_1.useStore)((s) => ({
|
|
94
|
+
doc: s.doc,
|
|
95
|
+
view: s.view,
|
|
96
|
+
}));
|
|
97
|
+
// Get selected language from document's primaryLanguageCode or default to 'en'
|
|
98
|
+
const selectedLanguage = storeState.doc?.attrs?.primaryLanguageCode || 'en';
|
|
99
|
+
const [isSubmenuOpen, setIsSubmenuOpen] = (0, react_1.useState)(false);
|
|
100
|
+
const [allLanguages, setAllLanguages] = (0, react_1.useState)([]);
|
|
101
|
+
const submenuRef = (0, react_1.useRef)(null);
|
|
102
|
+
// Initialize language data and load all languages
|
|
103
|
+
(0, react_1.useEffect)(() => {
|
|
104
|
+
const loadLanguages = async () => {
|
|
105
|
+
try {
|
|
106
|
+
// Dynamically import the English language data
|
|
107
|
+
const englishLanguageData = await Promise.resolve().then(() => __importStar(require('@cospired/i18n-iso-languages/langs/en.json')));
|
|
108
|
+
i18n_iso_languages_1.default.registerLocale(englishLanguageData.default);
|
|
109
|
+
// Get all available language codes
|
|
110
|
+
const languageCodes = i18n_iso_languages_1.default.getAlpha2Codes();
|
|
111
|
+
const languagesList = Object.keys(languageCodes).map((code) => ({
|
|
112
|
+
code,
|
|
113
|
+
name: i18n_iso_languages_1.default.getName(code, 'en') || code,
|
|
114
|
+
nativeName: NATIVE_NAMES[code] || i18n_iso_languages_1.default.getName(code, code) || undefined,
|
|
115
|
+
isCommon: COMMON_LANGUAGES.includes(code),
|
|
116
|
+
}));
|
|
117
|
+
setAllLanguages(languagesList);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
console.error('Failed to load language data:', error);
|
|
121
|
+
// Fallback to English only if loading fails
|
|
122
|
+
setAllLanguages([ENGLISH_FALLBACK]);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
loadLanguages();
|
|
126
|
+
}, []);
|
|
127
|
+
// Prepare language options with common languages first
|
|
128
|
+
const languageOptions = (0, react_1.useMemo)(() => {
|
|
129
|
+
return [...allLanguages].sort((a, b) => {
|
|
130
|
+
// Sort common languages first
|
|
131
|
+
if (a.isCommon && !b.isCommon) {
|
|
132
|
+
return -1;
|
|
133
|
+
}
|
|
134
|
+
if (!a.isCommon && b.isCommon) {
|
|
135
|
+
return 1;
|
|
136
|
+
}
|
|
137
|
+
// Then sort alphabetically by name
|
|
138
|
+
return a.name.localeCompare(b.name);
|
|
139
|
+
});
|
|
140
|
+
}, [allLanguages]);
|
|
141
|
+
// Close submenu when clicking outside
|
|
142
|
+
(0, react_1.useEffect)(() => {
|
|
143
|
+
const handleClickOutside = (event) => {
|
|
144
|
+
if (submenuRef.current &&
|
|
145
|
+
!submenuRef.current.contains(event.target)) {
|
|
146
|
+
setIsSubmenuOpen(false);
|
|
147
|
+
onCloseParent?.();
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
if (isSubmenuOpen) {
|
|
151
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
152
|
+
}
|
|
153
|
+
return () => {
|
|
154
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
155
|
+
};
|
|
156
|
+
}, [isSubmenuOpen, onCloseParent]);
|
|
157
|
+
const handleLanguageButtonClick = (event) => {
|
|
158
|
+
event.stopPropagation();
|
|
159
|
+
setIsSubmenuOpen(!isSubmenuOpen);
|
|
160
|
+
};
|
|
161
|
+
const handleLanguageSelect = (event, languageCode) => {
|
|
162
|
+
event.stopPropagation();
|
|
163
|
+
if (storeState.view) {
|
|
164
|
+
const { state, dispatch } = storeState.view;
|
|
165
|
+
const tr = state.tr;
|
|
166
|
+
tr.setDocAttribute('primaryLanguageCode', languageCode);
|
|
167
|
+
dispatch(tr);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return (react_1.default.createElement(style_guide_1.DropdownContainer, { ref: submenuRef },
|
|
171
|
+
react_1.default.createElement(LanguageSelectorButton, { onClick: handleLanguageButtonClick },
|
|
172
|
+
react_1.default.createElement(LanguageHeader, null,
|
|
173
|
+
react_1.default.createElement(LanguageLabel, null,
|
|
174
|
+
"Document language ",
|
|
175
|
+
react_1.default.createElement(style_guide_1.TriangleCollapsedIcon, null)),
|
|
176
|
+
react_1.default.createElement(SelectedLanguageText, null, getSelectedLanguageName(selectedLanguage, allLanguages)))),
|
|
177
|
+
isSubmenuOpen && (react_1.default.createElement(StyledDropdownList, { direction: "right", width: 231, top: 18, height: 400 }, languageOptions.map((language) => (react_1.default.createElement(LanguageOptionItem, { key: language.code, language: language, isSelected: selectedLanguage === language.code, onSelect: handleLanguageSelect })))))));
|
|
178
|
+
};
|
|
179
|
+
exports.default = DocumentLanguageSelector;
|
|
180
|
+
const StyledDropdownList = (0, styled_components_1.default)(style_guide_1.DropdownList) `
|
|
181
|
+
overflow-y: auto;
|
|
182
|
+
overflow-x: hidden;
|
|
183
|
+
border-radius: 8px;
|
|
184
|
+
|
|
185
|
+
/* Custom scrollbar styling */
|
|
186
|
+
&::-webkit-scrollbar {
|
|
187
|
+
width: 6px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
&::-webkit-scrollbar-track {
|
|
191
|
+
background: ${(props) => props.theme.colors.background.secondary};
|
|
192
|
+
border-radius: 3px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
&::-webkit-scrollbar-thumb {
|
|
196
|
+
background: #6e6e6e;
|
|
197
|
+
border-radius: 3px;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
201
|
+
background: #6e6e6e;
|
|
202
|
+
}
|
|
203
|
+
`;
|
|
204
|
+
const LanguageSelectorButton = styled_components_1.default.div `
|
|
205
|
+
display: flex;
|
|
206
|
+
align-items: center;
|
|
207
|
+
justify-content: space-between;
|
|
208
|
+
font-family: ${(props) => props.theme.font.family.Lato};
|
|
209
|
+
cursor: pointer;
|
|
210
|
+
font-size: 14px;
|
|
211
|
+
line-height: 24px;
|
|
212
|
+
color: ${(props) => props.theme.colors.text.primary};
|
|
213
|
+
padding: 10px 16px;
|
|
214
|
+
width: 100%;
|
|
215
|
+
|
|
216
|
+
&:hover {
|
|
217
|
+
background: ${(props) => props.theme.colors.background.fifth};
|
|
218
|
+
}
|
|
219
|
+
`;
|
|
220
|
+
const LanguageHeader = styled_components_1.default.span `
|
|
221
|
+
display: flex;
|
|
222
|
+
flex-direction: column;
|
|
223
|
+
align-items: flex-start;
|
|
224
|
+
`;
|
|
225
|
+
const LanguageLabel = styled_components_1.default.span `
|
|
226
|
+
display: flex;
|
|
227
|
+
align-items: center;
|
|
228
|
+
font-size: 16px;
|
|
229
|
+
|
|
230
|
+
svg {
|
|
231
|
+
top: 10px;
|
|
232
|
+
right: -10px;
|
|
233
|
+
position: relative;
|
|
234
|
+
}
|
|
235
|
+
`;
|
|
236
|
+
const SelectedLanguageText = styled_components_1.default.span `
|
|
237
|
+
font-size: 12px;
|
|
238
|
+
color: ${(props) => props.theme.colors.text.secondary};
|
|
239
|
+
margin-top: 2px;
|
|
240
|
+
`;
|
|
241
|
+
const LanguageOption = styled_components_1.default.div `
|
|
242
|
+
display: flex;
|
|
243
|
+
align-items: center;
|
|
244
|
+
justify-content: space-between;
|
|
245
|
+
font-family: ${(props) => props.theme.font.family.Lato};
|
|
246
|
+
cursor: pointer;
|
|
247
|
+
font-size: 14px;
|
|
248
|
+
line-height: 24px;
|
|
249
|
+
color: ${(props) => props.theme.colors.text.primary};
|
|
250
|
+
padding: 10px 16px;
|
|
251
|
+
`;
|
|
252
|
+
const TickIconWrapper = styled_components_1.default.div `
|
|
253
|
+
svg path {
|
|
254
|
+
fill: #6e6e6e;
|
|
255
|
+
}
|
|
256
|
+
`;
|
|
257
|
+
//# sourceMappingURL=DocumentLanguageSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentLanguageSelector.js","sourceRoot":"","sources":["../../../src/components/DocumentLanguageSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,16 +19,18 @@ const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
|
19
19
|
const react_1 = __importDefault(require("react"));
|
|
20
20
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
21
21
|
const use_exec_cmd_1 = __importDefault(require("../hooks/use-exec-cmd"));
|
|
22
|
-
const
|
|
22
|
+
const DocumentLanguageSelector_1 = __importDefault(require("./DocumentLanguageSelector"));
|
|
23
|
+
const DocumentOptionsDropdown = () => {
|
|
23
24
|
const { isOpen, toggleOpen, wrapperRef } = (0, style_guide_1.useDropdown)();
|
|
24
25
|
const execCmd = (0, use_exec_cmd_1.default)();
|
|
25
26
|
return (react_1.default.createElement(style_guide_1.DropdownContainer, { ref: wrapperRef },
|
|
26
|
-
react_1.default.createElement(ToggleDropdownButton, { "data-cy": "
|
|
27
|
+
react_1.default.createElement(ToggleDropdownButton, { "data-cy": "document-options-button", title: "Document Options", onClick: toggleOpen },
|
|
27
28
|
react_1.default.createElement(style_guide_1.DotsIcon, null)),
|
|
28
29
|
isOpen && (react_1.default.createElement(HistoryDropdownList, { "data-cy": "history-dropdown", direction: "right", width: 192, top: 5, onClick: toggleOpen },
|
|
29
|
-
react_1.default.createElement(DropdownItem, { onClick: () => execCmd(track_changes_plugin_1.trackCommands.setTrackingStatus(track_changes_plugin_1.TrackChangesStatus.viewSnapshots)) }, "Version history")
|
|
30
|
+
react_1.default.createElement(DropdownItem, { "data-cy": "version-history-button", onClick: () => execCmd(track_changes_plugin_1.trackCommands.setTrackingStatus(track_changes_plugin_1.TrackChangesStatus.viewSnapshots)) }, "Version history"),
|
|
31
|
+
react_1.default.createElement(DocumentLanguageSelector_1.default, { onCloseParent: toggleOpen })))));
|
|
30
32
|
};
|
|
31
|
-
exports.default =
|
|
33
|
+
exports.default = DocumentOptionsDropdown;
|
|
32
34
|
const ToggleDropdownButton = styled_components_1.default.button `
|
|
33
35
|
border: none;
|
|
34
36
|
background: transparent;
|
|
@@ -45,10 +47,14 @@ const DropdownItem = styled_components_1.default.div `
|
|
|
45
47
|
line-height: 24px;
|
|
46
48
|
color: ${(props) => props.theme.colors.text.primary};
|
|
47
49
|
padding: 16px;
|
|
50
|
+
|
|
51
|
+
&:hover {
|
|
52
|
+
background: ${(props) => props.theme.colors.background.fifth};
|
|
53
|
+
}
|
|
48
54
|
`;
|
|
49
55
|
const HistoryDropdownList = (0, styled_components_1.default)(style_guide_1.DropdownList) `
|
|
50
56
|
top: 0;
|
|
51
57
|
right: 50%;
|
|
52
58
|
border-radius: 8px;
|
|
53
59
|
`;
|
|
54
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=DocumentOptionsDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentOptionsDropdown.js","sourceRoot":"","sources":["../../../src/components/DocumentOptionsDropdown.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;AAEH,0DAKiC;AACjC,4EAG0C;AAC1C,kDAAyB;AACzB,0EAAsC;AAEtC,yEAA8C;AAC9C,0FAAiE;AAEjE,MAAM,uBAAuB,GAAa,GAAG,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAA;IACxD,MAAM,OAAO,GAAG,IAAA,sBAAU,GAAE,CAAA;IAE5B,OAAO,CACL,8BAAC,+BAAiB,IAAC,GAAG,EAAE,UAAU;QAChC,8BAAC,oBAAoB,eACX,yBAAyB,EACjC,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,UAAU;YAEnB,8BAAC,sBAAQ,OAAG,CACS;QAEtB,MAAM,IAAI,CACT,8BAAC,mBAAmB,eACV,kBAAkB,EAC1B,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,UAAU;YAEnB,8BAAC,YAAY,eACH,wBAAwB,EAChC,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CACL,oCAAa,CAAC,iBAAiB,CAC7B,yCAAkB,CAAC,aAAa,CACjC,CACF,sBAIU;YACf,8BAAC,kCAAwB,IAAC,aAAa,EAAE,UAAU,GAAI,CACnC,CACvB,CACiB,CACrB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,uBAAuB,CAAA;AAEtC,MAAM,oBAAoB,GAAG,2BAAM,CAAC,MAAM,CAAA;;;;;;;;CAQzC,CAAA;AAED,MAAM,YAAY,GAAG,2BAAM,CAAC,GAAG,CAAA;iBACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;WAI7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;kBAInC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;;CAE/D,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAA,2BAAM,EAAC,0BAAY,CAAC,CAAA;;;;CAI/C,CAAA"}
|
|
@@ -34,6 +34,18 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.InlineFilesSection = void 0;
|
|
37
|
+
/*!
|
|
38
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
39
|
+
*
|
|
40
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
41
|
+
*
|
|
42
|
+
* The Original Code is manuscripts-frontend.
|
|
43
|
+
*
|
|
44
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
45
|
+
*
|
|
46
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2024 Atypon Systems LLC. All Rights Reserved.
|
|
47
|
+
*/
|
|
48
|
+
const body_editor_1 = require("@manuscripts/body-editor");
|
|
37
49
|
const style_guide_1 = require("@manuscripts/style-guide");
|
|
38
50
|
const transform_1 = require("@manuscripts/transform");
|
|
39
51
|
const prosemirror_state_1 = require("prosemirror-state");
|
|
@@ -59,10 +71,13 @@ const InlineFilesSection = ({ elements, }) => {
|
|
|
59
71
|
}
|
|
60
72
|
let figureIndex = 1;
|
|
61
73
|
let imageIndex = 1;
|
|
62
|
-
|
|
74
|
+
let mediaIndex = 1;
|
|
75
|
+
const groups = [];
|
|
76
|
+
for (const element of elements) {
|
|
63
77
|
const $pos = view.state.doc.resolve(element.pos);
|
|
64
78
|
const section = (0, prosemirror_utils_1.findParentNodeOfTypeClosestToPos)($pos, transform_1.schema.nodes.graphical_abstract_section);
|
|
65
|
-
let label
|
|
79
|
+
let label;
|
|
80
|
+
let icon;
|
|
66
81
|
if (section) {
|
|
67
82
|
const category = section.node.attrs.category;
|
|
68
83
|
label = sectionCategories.get(category)?.titles[0] || '';
|
|
@@ -72,17 +87,26 @@ const InlineFilesSection = ({ elements, }) => {
|
|
|
72
87
|
label = `Image ${imageIndex++}`;
|
|
73
88
|
icon = style_guide_1.FileImageIcon;
|
|
74
89
|
}
|
|
90
|
+
else if (element.node.type === transform_1.schema.nodes.embed) {
|
|
91
|
+
label = `Media ${mediaIndex++}`;
|
|
92
|
+
icon = style_guide_1.FileVideoIcon;
|
|
93
|
+
const hasUploadedFile = element.files.some((f) => !!f.file.id);
|
|
94
|
+
if (!hasUploadedFile) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
75
98
|
else {
|
|
76
99
|
label = `Figure ${figureIndex++}`;
|
|
77
100
|
icon = style_guide_1.FileFigureIcon;
|
|
78
101
|
}
|
|
79
|
-
|
|
102
|
+
groups.push({
|
|
80
103
|
element,
|
|
81
104
|
label,
|
|
82
105
|
icon,
|
|
83
106
|
files: element.files.filter((f) => f.file.id),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return groups;
|
|
86
110
|
}, [elements, view, sectionCategories]);
|
|
87
111
|
const [openGroupIndexes, setOpenGroupIndexes] = (0, react_1.useState)(new Set(groupedMetadata.map((_, index) => index)));
|
|
88
112
|
const toggleGroupOpen = (groupIndex) => {
|
|
@@ -117,35 +141,48 @@ const InlineFilesSection = ({ elements, }) => {
|
|
|
117
141
|
view.focus();
|
|
118
142
|
view.dispatch(tr);
|
|
119
143
|
};
|
|
120
|
-
const handleDetach = (pos) => {
|
|
144
|
+
const handleDetach = (node, pos) => {
|
|
121
145
|
if (!pos) {
|
|
122
146
|
return;
|
|
123
147
|
}
|
|
124
148
|
const tr = view.state.tr;
|
|
125
|
-
|
|
149
|
+
if (node.type === transform_1.schema.nodes.embed) {
|
|
150
|
+
tr.setNodeAttribute(pos, 'href', '');
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
tr.setNodeAttribute(pos, 'src', '');
|
|
154
|
+
}
|
|
126
155
|
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, pos));
|
|
127
156
|
tr.scrollIntoView();
|
|
128
157
|
view.focus();
|
|
129
158
|
view.dispatch(tr);
|
|
130
159
|
};
|
|
131
|
-
const handleDelete = (pos) => {
|
|
160
|
+
const handleDelete = (node, pos) => {
|
|
132
161
|
if (!pos || !view) {
|
|
133
162
|
return;
|
|
134
163
|
}
|
|
135
|
-
|
|
136
|
-
|
|
164
|
+
if (node?.type === transform_1.schema.nodes.figure ||
|
|
165
|
+
node?.type === transform_1.schema.nodes.embed) {
|
|
137
166
|
const tr = view.state.tr;
|
|
138
167
|
tr.delete(pos, pos + node.nodeSize);
|
|
139
168
|
view.dispatch(tr);
|
|
140
169
|
}
|
|
141
170
|
};
|
|
142
|
-
const handleReplace = async (pos, file) => {
|
|
171
|
+
const handleReplace = async (node, pos, file) => {
|
|
143
172
|
if (!pos || !file) {
|
|
144
173
|
return;
|
|
145
174
|
}
|
|
146
175
|
const uploaded = await fileManagement.upload(file);
|
|
147
176
|
const tr = view.state.tr;
|
|
148
|
-
|
|
177
|
+
if (node.type === transform_1.schema.nodes.embed) {
|
|
178
|
+
const mediaInfo = (0, body_editor_1.getMediaTypeInfo)(file);
|
|
179
|
+
tr.setNodeAttribute(pos, 'href', uploaded.id);
|
|
180
|
+
tr.setNodeAttribute(pos, 'mimetype', mediaInfo.mimetype);
|
|
181
|
+
tr.setNodeAttribute(pos, 'mimeSubtype', mediaInfo.mimeSubtype);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
tr.setNodeAttribute(pos, 'src', uploaded.id);
|
|
185
|
+
}
|
|
149
186
|
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, pos));
|
|
150
187
|
tr.scrollIntoView();
|
|
151
188
|
view.focus();
|
|
@@ -175,9 +212,9 @@ const InlineFilesSection = ({ elements, }) => {
|
|
|
175
212
|
: 'Unknown file',
|
|
176
213
|
fileAttachment.file?.name && (react_1.default.createElement(style_guide_1.Tooltip, { id: `${fileAttachment.file?.id}-file-name-tooltip`, place: "bottom" }, fileAttachment.file?.name || 'Figure'))),
|
|
177
214
|
fileAttachment.file && (react_1.default.createElement(FileCreatedDate_1.FileCreatedDate, { file: fileAttachment.file, className: "show-on-hover" })),
|
|
178
|
-
react_1.default.createElement(FileActions_1.FileActions, { sectionType: FileManager_1.FileSectionType.Inline, onReplace: async (f) => await handleReplace(fileAttachment.pos, f), onDetach: () => handleDetach(fileAttachment.pos), onDownload: () => fileAttachment.file &&
|
|
215
|
+
react_1.default.createElement(FileActions_1.FileActions, { sectionType: FileManager_1.FileSectionType.Inline, onReplace: async (f) => await handleReplace(fileAttachment.node, fileAttachment.pos, f), onDetach: () => handleDetach(fileAttachment.node, fileAttachment.pos), onDownload: () => fileAttachment.file &&
|
|
179
216
|
fileManagement.download(fileAttachment.file), onDelete: figureCount > 1
|
|
180
|
-
? () => handleDelete(fileAttachment.pos)
|
|
217
|
+
? () => handleDelete(fileAttachment.node, fileAttachment.pos)
|
|
181
218
|
: undefined }))))))));
|
|
182
219
|
})));
|
|
183
220
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ const react_1 = __importStar(require("react"));
|
|
|
53
53
|
const use_inspector_tabs_context_1 = require("../../hooks/use-inspector-tabs-context");
|
|
54
54
|
const store_1 = require("../../store");
|
|
55
55
|
const CommentsPanel_1 = require("../comments/CommentsPanel");
|
|
56
|
+
const DocumentOptionsDropdown_1 = __importDefault(require("../DocumentOptionsDropdown"));
|
|
56
57
|
const FileManager_1 = require("../FileManager/FileManager");
|
|
57
58
|
const Inspector_1 = require("../Inspector");
|
|
58
59
|
const InspectorTab_1 = require("../inspector/InspectorTab");
|
|
@@ -61,7 +62,6 @@ const SnapshotsList_1 = require("../inspector/SnapshotsList");
|
|
|
61
62
|
const Panel_1 = __importDefault(require("../Panel"));
|
|
62
63
|
const ResizerButtons_1 = require("../ResizerButtons");
|
|
63
64
|
const TrackChangesPanel_1 = require("../track-changes/TrackChangesPanel");
|
|
64
|
-
const VersionHistoryDropdown_1 = __importDefault(require("../VersionHistoryDropdown"));
|
|
65
65
|
const Inspector = () => {
|
|
66
66
|
const [store] = (0, store_1.useStore)((store) => ({
|
|
67
67
|
selectedCommentKey: store.selectedCommentKey,
|
|
@@ -123,7 +123,7 @@ const Inspector = () => {
|
|
|
123
123
|
react_1.default.createElement(style_guide_1.DangerIcon, null),
|
|
124
124
|
store.inconsistencies.length > 0 && (react_1.default.createElement(Inspector_1.WarningBadge, null, store.inconsistencies.length))), isVisible: tabIndex === ISSUES_TAB_INDEX }, "Quality"),
|
|
125
125
|
react_1.default.createElement(Inspector_1.Spacer, null),
|
|
126
|
-
react_1.default.createElement(
|
|
126
|
+
react_1.default.createElement(DocumentOptionsDropdown_1.default, null)),
|
|
127
127
|
react_1.default.createElement(Inspector_1.PaddedInspectorTabPanels, null,
|
|
128
128
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "Comments", "data-cy": "comments" }, tabIndex === COMMENTS_TAB_INDEX && (react_1.default.createElement(CommentsPanel_1.CommentsPanel, { key: "comments" }))),
|
|
129
129
|
!can.editWithoutTracking && (react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "History", "data-cy": "history" }, tabIndex === HISTORY_TAB_INDEX && (react_1.default.createElement(TrackChangesPanel_1.TrackChangesPanel, { key: "track-changes" })))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0DAAuE;AACvE,0DAMiC;AACjC,+CAAkD;AAElD,uFAA6E;AAC7E,uCAAsC;AACtC,6DAAyD;AACzD,4DAAwD;AACxD,4CASqB;AACrB,4DAAwD;AACxD,0DAAsD;AACtD,8DAA0D;AAC1D,qDAA4B;AAC5B,sDAA2D;AAC3D,0EAAsE;
|
|
1
|
+
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
3
|
+
*
|
|
4
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
5
|
+
*
|
|
6
|
+
* The Original Code is manuscripts-frontend.
|
|
7
|
+
*
|
|
8
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
9
|
+
*
|
|
10
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
+
*/
|
|
12
|
+
import isoLanguages from '@cospired/i18n-iso-languages';
|
|
13
|
+
import { DropdownContainer, DropdownList, TickIcon, TriangleCollapsedIcon, } from '@manuscripts/style-guide';
|
|
14
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
15
|
+
import styled from 'styled-components';
|
|
16
|
+
import { useStore } from '../store/useStore';
|
|
17
|
+
// Native names lookup for common languages
|
|
18
|
+
const NATIVE_NAMES = {
|
|
19
|
+
en: 'Default',
|
|
20
|
+
es: 'Español',
|
|
21
|
+
fr: 'Français',
|
|
22
|
+
de: 'Deutsch',
|
|
23
|
+
it: 'Italiano',
|
|
24
|
+
pt: 'Português',
|
|
25
|
+
ru: 'Русский',
|
|
26
|
+
ja: '日本語',
|
|
27
|
+
ko: '한국어',
|
|
28
|
+
zh: '中文',
|
|
29
|
+
ar: 'العربية',
|
|
30
|
+
};
|
|
31
|
+
const COMMON_LANGUAGES = Object.keys(NATIVE_NAMES);
|
|
32
|
+
// Fallback language object for English
|
|
33
|
+
const ENGLISH_FALLBACK = {
|
|
34
|
+
code: 'en',
|
|
35
|
+
name: 'English',
|
|
36
|
+
nativeName: 'English',
|
|
37
|
+
isCommon: true,
|
|
38
|
+
};
|
|
39
|
+
// Get display name for selected language
|
|
40
|
+
const getSelectedLanguageName = (selectedLanguage, allLanguages) => {
|
|
41
|
+
if (!allLanguages.length) {
|
|
42
|
+
return 'English (Default)';
|
|
43
|
+
}
|
|
44
|
+
const lang = allLanguages.find((l) => l.code === selectedLanguage) || ENGLISH_FALLBACK;
|
|
45
|
+
return lang.code === 'en'
|
|
46
|
+
? 'English (Default)'
|
|
47
|
+
: `${lang.name}${lang.nativeName ? ` (${lang.nativeName})` : ''}`;
|
|
48
|
+
};
|
|
49
|
+
const LanguageOptionItem = ({ language, isSelected, onSelect }) => (React.createElement(LanguageOption, { key: language.code, onClick: (event) => onSelect(event, language.code) },
|
|
50
|
+
language.name,
|
|
51
|
+
language.nativeName && ` (${language.nativeName})`,
|
|
52
|
+
isSelected && (React.createElement(TickIconWrapper, null,
|
|
53
|
+
React.createElement(TickIcon, null)))));
|
|
54
|
+
const DocumentLanguageSelector = ({ onCloseParent, }) => {
|
|
55
|
+
const [storeState] = useStore((s) => ({
|
|
56
|
+
doc: s.doc,
|
|
57
|
+
view: s.view,
|
|
58
|
+
}));
|
|
59
|
+
// Get selected language from document's primaryLanguageCode or default to 'en'
|
|
60
|
+
const selectedLanguage = storeState.doc?.attrs?.primaryLanguageCode || 'en';
|
|
61
|
+
const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);
|
|
62
|
+
const [allLanguages, setAllLanguages] = useState([]);
|
|
63
|
+
const submenuRef = useRef(null);
|
|
64
|
+
// Initialize language data and load all languages
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
const loadLanguages = async () => {
|
|
67
|
+
try {
|
|
68
|
+
// Dynamically import the English language data
|
|
69
|
+
const englishLanguageData = await import('@cospired/i18n-iso-languages/langs/en.json');
|
|
70
|
+
isoLanguages.registerLocale(englishLanguageData.default);
|
|
71
|
+
// Get all available language codes
|
|
72
|
+
const languageCodes = isoLanguages.getAlpha2Codes();
|
|
73
|
+
const languagesList = Object.keys(languageCodes).map((code) => ({
|
|
74
|
+
code,
|
|
75
|
+
name: isoLanguages.getName(code, 'en') || code,
|
|
76
|
+
nativeName: NATIVE_NAMES[code] || isoLanguages.getName(code, code) || undefined,
|
|
77
|
+
isCommon: COMMON_LANGUAGES.includes(code),
|
|
78
|
+
}));
|
|
79
|
+
setAllLanguages(languagesList);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error('Failed to load language data:', error);
|
|
83
|
+
// Fallback to English only if loading fails
|
|
84
|
+
setAllLanguages([ENGLISH_FALLBACK]);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
loadLanguages();
|
|
88
|
+
}, []);
|
|
89
|
+
// Prepare language options with common languages first
|
|
90
|
+
const languageOptions = useMemo(() => {
|
|
91
|
+
return [...allLanguages].sort((a, b) => {
|
|
92
|
+
// Sort common languages first
|
|
93
|
+
if (a.isCommon && !b.isCommon) {
|
|
94
|
+
return -1;
|
|
95
|
+
}
|
|
96
|
+
if (!a.isCommon && b.isCommon) {
|
|
97
|
+
return 1;
|
|
98
|
+
}
|
|
99
|
+
// Then sort alphabetically by name
|
|
100
|
+
return a.name.localeCompare(b.name);
|
|
101
|
+
});
|
|
102
|
+
}, [allLanguages]);
|
|
103
|
+
// Close submenu when clicking outside
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
const handleClickOutside = (event) => {
|
|
106
|
+
if (submenuRef.current &&
|
|
107
|
+
!submenuRef.current.contains(event.target)) {
|
|
108
|
+
setIsSubmenuOpen(false);
|
|
109
|
+
onCloseParent?.();
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
if (isSubmenuOpen) {
|
|
113
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
114
|
+
}
|
|
115
|
+
return () => {
|
|
116
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
117
|
+
};
|
|
118
|
+
}, [isSubmenuOpen, onCloseParent]);
|
|
119
|
+
const handleLanguageButtonClick = (event) => {
|
|
120
|
+
event.stopPropagation();
|
|
121
|
+
setIsSubmenuOpen(!isSubmenuOpen);
|
|
122
|
+
};
|
|
123
|
+
const handleLanguageSelect = (event, languageCode) => {
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
if (storeState.view) {
|
|
126
|
+
const { state, dispatch } = storeState.view;
|
|
127
|
+
const tr = state.tr;
|
|
128
|
+
tr.setDocAttribute('primaryLanguageCode', languageCode);
|
|
129
|
+
dispatch(tr);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
return (React.createElement(DropdownContainer, { ref: submenuRef },
|
|
133
|
+
React.createElement(LanguageSelectorButton, { onClick: handleLanguageButtonClick },
|
|
134
|
+
React.createElement(LanguageHeader, null,
|
|
135
|
+
React.createElement(LanguageLabel, null,
|
|
136
|
+
"Document language ",
|
|
137
|
+
React.createElement(TriangleCollapsedIcon, null)),
|
|
138
|
+
React.createElement(SelectedLanguageText, null, getSelectedLanguageName(selectedLanguage, allLanguages)))),
|
|
139
|
+
isSubmenuOpen && (React.createElement(StyledDropdownList, { direction: "right", width: 231, top: 18, height: 400 }, languageOptions.map((language) => (React.createElement(LanguageOptionItem, { key: language.code, language: language, isSelected: selectedLanguage === language.code, onSelect: handleLanguageSelect })))))));
|
|
140
|
+
};
|
|
141
|
+
export default DocumentLanguageSelector;
|
|
142
|
+
const StyledDropdownList = styled(DropdownList) `
|
|
143
|
+
overflow-y: auto;
|
|
144
|
+
overflow-x: hidden;
|
|
145
|
+
border-radius: 8px;
|
|
146
|
+
|
|
147
|
+
/* Custom scrollbar styling */
|
|
148
|
+
&::-webkit-scrollbar {
|
|
149
|
+
width: 6px;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
&::-webkit-scrollbar-track {
|
|
153
|
+
background: ${(props) => props.theme.colors.background.secondary};
|
|
154
|
+
border-radius: 3px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&::-webkit-scrollbar-thumb {
|
|
158
|
+
background: #6e6e6e;
|
|
159
|
+
border-radius: 3px;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
163
|
+
background: #6e6e6e;
|
|
164
|
+
}
|
|
165
|
+
`;
|
|
166
|
+
const LanguageSelectorButton = styled.div `
|
|
167
|
+
display: flex;
|
|
168
|
+
align-items: center;
|
|
169
|
+
justify-content: space-between;
|
|
170
|
+
font-family: ${(props) => props.theme.font.family.Lato};
|
|
171
|
+
cursor: pointer;
|
|
172
|
+
font-size: 14px;
|
|
173
|
+
line-height: 24px;
|
|
174
|
+
color: ${(props) => props.theme.colors.text.primary};
|
|
175
|
+
padding: 10px 16px;
|
|
176
|
+
width: 100%;
|
|
177
|
+
|
|
178
|
+
&:hover {
|
|
179
|
+
background: ${(props) => props.theme.colors.background.fifth};
|
|
180
|
+
}
|
|
181
|
+
`;
|
|
182
|
+
const LanguageHeader = styled.span `
|
|
183
|
+
display: flex;
|
|
184
|
+
flex-direction: column;
|
|
185
|
+
align-items: flex-start;
|
|
186
|
+
`;
|
|
187
|
+
const LanguageLabel = styled.span `
|
|
188
|
+
display: flex;
|
|
189
|
+
align-items: center;
|
|
190
|
+
font-size: 16px;
|
|
191
|
+
|
|
192
|
+
svg {
|
|
193
|
+
top: 10px;
|
|
194
|
+
right: -10px;
|
|
195
|
+
position: relative;
|
|
196
|
+
}
|
|
197
|
+
`;
|
|
198
|
+
const SelectedLanguageText = styled.span `
|
|
199
|
+
font-size: 12px;
|
|
200
|
+
color: ${(props) => props.theme.colors.text.secondary};
|
|
201
|
+
margin-top: 2px;
|
|
202
|
+
`;
|
|
203
|
+
const LanguageOption = styled.div `
|
|
204
|
+
display: flex;
|
|
205
|
+
align-items: center;
|
|
206
|
+
justify-content: space-between;
|
|
207
|
+
font-family: ${(props) => props.theme.font.family.Lato};
|
|
208
|
+
cursor: pointer;
|
|
209
|
+
font-size: 14px;
|
|
210
|
+
line-height: 24px;
|
|
211
|
+
color: ${(props) => props.theme.colors.text.primary};
|
|
212
|
+
padding: 10px 16px;
|
|
213
|
+
`;
|
|
214
|
+
const TickIconWrapper = styled.div `
|
|
215
|
+
svg path {
|
|
216
|
+
fill: #6e6e6e;
|
|
217
|
+
}
|
|
218
|
+
`;
|
|
219
|
+
//# sourceMappingURL=DocumentLanguageSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentLanguageSelector.js","sourceRoot":"","sources":["../../../src/components/DocumentLanguageSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,16 +14,18 @@ import { TrackChangesStatus, trackCommands, } from '@manuscripts/track-changes-p
|
|
|
14
14
|
import React from 'react';
|
|
15
15
|
import styled from 'styled-components';
|
|
16
16
|
import useExecCmd from '../hooks/use-exec-cmd';
|
|
17
|
-
|
|
17
|
+
import DocumentLanguageSelector from './DocumentLanguageSelector';
|
|
18
|
+
const DocumentOptionsDropdown = () => {
|
|
18
19
|
const { isOpen, toggleOpen, wrapperRef } = useDropdown();
|
|
19
20
|
const execCmd = useExecCmd();
|
|
20
21
|
return (React.createElement(DropdownContainer, { ref: wrapperRef },
|
|
21
|
-
React.createElement(ToggleDropdownButton, { "data-cy": "
|
|
22
|
+
React.createElement(ToggleDropdownButton, { "data-cy": "document-options-button", title: "Document Options", onClick: toggleOpen },
|
|
22
23
|
React.createElement(DotsIcon, null)),
|
|
23
24
|
isOpen && (React.createElement(HistoryDropdownList, { "data-cy": "history-dropdown", direction: "right", width: 192, top: 5, onClick: toggleOpen },
|
|
24
|
-
React.createElement(DropdownItem, { onClick: () => execCmd(trackCommands.setTrackingStatus(TrackChangesStatus.viewSnapshots)) }, "Version history")
|
|
25
|
+
React.createElement(DropdownItem, { "data-cy": "version-history-button", onClick: () => execCmd(trackCommands.setTrackingStatus(TrackChangesStatus.viewSnapshots)) }, "Version history"),
|
|
26
|
+
React.createElement(DocumentLanguageSelector, { onCloseParent: toggleOpen })))));
|
|
25
27
|
};
|
|
26
|
-
export default
|
|
28
|
+
export default DocumentOptionsDropdown;
|
|
27
29
|
const ToggleDropdownButton = styled.button `
|
|
28
30
|
border: none;
|
|
29
31
|
background: transparent;
|
|
@@ -40,10 +42,14 @@ const DropdownItem = styled.div `
|
|
|
40
42
|
line-height: 24px;
|
|
41
43
|
color: ${(props) => props.theme.colors.text.primary};
|
|
42
44
|
padding: 16px;
|
|
45
|
+
|
|
46
|
+
&:hover {
|
|
47
|
+
background: ${(props) => props.theme.colors.background.fifth};
|
|
48
|
+
}
|
|
43
49
|
`;
|
|
44
50
|
const HistoryDropdownList = styled(DropdownList) `
|
|
45
51
|
top: 0;
|
|
46
52
|
right: 50%;
|
|
47
53
|
border-radius: 8px;
|
|
48
54
|
`;
|
|
49
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=DocumentOptionsDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentOptionsDropdown.js","sourceRoot":"","sources":["../../../src/components/DocumentOptionsDropdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AAEjE,MAAM,uBAAuB,GAAa,GAAG,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAA;IACxD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,OAAO,CACL,oBAAC,iBAAiB,IAAC,GAAG,EAAE,UAAU;QAChC,oBAAC,oBAAoB,eACX,yBAAyB,EACjC,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,UAAU;YAEnB,oBAAC,QAAQ,OAAG,CACS;QAEtB,MAAM,IAAI,CACT,oBAAC,mBAAmB,eACV,kBAAkB,EAC1B,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,UAAU;YAEnB,oBAAC,YAAY,eACH,wBAAwB,EAChC,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CACL,aAAa,CAAC,iBAAiB,CAC7B,kBAAkB,CAAC,aAAa,CACjC,CACF,sBAIU;YACf,oBAAC,wBAAwB,IAAC,aAAa,EAAE,UAAU,GAAI,CACnC,CACvB,CACiB,CACrB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA;AAEtC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;;;CAQzC,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;iBACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;WAI7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;kBAInC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;;CAE/D,CAAA;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;;;;CAI/C,CAAA"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
3
|
+
*
|
|
4
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
5
|
+
*
|
|
6
|
+
* The Original Code is manuscripts-frontend.
|
|
7
|
+
*
|
|
8
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
9
|
+
*
|
|
10
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2024 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
+
*/
|
|
12
|
+
import { getMediaTypeInfo, } from '@manuscripts/body-editor';
|
|
13
|
+
import { FileFigureIcon, FileGraphicalAbstractIcon, FileImageIcon, FileVideoIcon, ToggleIcon, Tooltip, TriangleCollapsedIcon, TriangleExpandedIcon, } from '@manuscripts/style-guide';
|
|
2
14
|
import { schema } from '@manuscripts/transform';
|
|
3
15
|
import { NodeSelection } from 'prosemirror-state';
|
|
4
16
|
import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
|
|
@@ -23,10 +35,13 @@ export const InlineFilesSection = ({ elements, }) => {
|
|
|
23
35
|
}
|
|
24
36
|
let figureIndex = 1;
|
|
25
37
|
let imageIndex = 1;
|
|
26
|
-
|
|
38
|
+
let mediaIndex = 1;
|
|
39
|
+
const groups = [];
|
|
40
|
+
for (const element of elements) {
|
|
27
41
|
const $pos = view.state.doc.resolve(element.pos);
|
|
28
42
|
const section = findParentNodeOfTypeClosestToPos($pos, schema.nodes.graphical_abstract_section);
|
|
29
|
-
let label
|
|
43
|
+
let label;
|
|
44
|
+
let icon;
|
|
30
45
|
if (section) {
|
|
31
46
|
const category = section.node.attrs.category;
|
|
32
47
|
label = sectionCategories.get(category)?.titles[0] || '';
|
|
@@ -36,17 +51,26 @@ export const InlineFilesSection = ({ elements, }) => {
|
|
|
36
51
|
label = `Image ${imageIndex++}`;
|
|
37
52
|
icon = FileImageIcon;
|
|
38
53
|
}
|
|
54
|
+
else if (element.node.type === schema.nodes.embed) {
|
|
55
|
+
label = `Media ${mediaIndex++}`;
|
|
56
|
+
icon = FileVideoIcon;
|
|
57
|
+
const hasUploadedFile = element.files.some((f) => !!f.file.id);
|
|
58
|
+
if (!hasUploadedFile) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
39
62
|
else {
|
|
40
63
|
label = `Figure ${figureIndex++}`;
|
|
41
64
|
icon = FileFigureIcon;
|
|
42
65
|
}
|
|
43
|
-
|
|
66
|
+
groups.push({
|
|
44
67
|
element,
|
|
45
68
|
label,
|
|
46
69
|
icon,
|
|
47
70
|
files: element.files.filter((f) => f.file.id),
|
|
48
|
-
};
|
|
49
|
-
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return groups;
|
|
50
74
|
}, [elements, view, sectionCategories]);
|
|
51
75
|
const [openGroupIndexes, setOpenGroupIndexes] = useState(new Set(groupedMetadata.map((_, index) => index)));
|
|
52
76
|
const toggleGroupOpen = (groupIndex) => {
|
|
@@ -81,35 +105,48 @@ export const InlineFilesSection = ({ elements, }) => {
|
|
|
81
105
|
view.focus();
|
|
82
106
|
view.dispatch(tr);
|
|
83
107
|
};
|
|
84
|
-
const handleDetach = (pos) => {
|
|
108
|
+
const handleDetach = (node, pos) => {
|
|
85
109
|
if (!pos) {
|
|
86
110
|
return;
|
|
87
111
|
}
|
|
88
112
|
const tr = view.state.tr;
|
|
89
|
-
|
|
113
|
+
if (node.type === schema.nodes.embed) {
|
|
114
|
+
tr.setNodeAttribute(pos, 'href', '');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
tr.setNodeAttribute(pos, 'src', '');
|
|
118
|
+
}
|
|
90
119
|
tr.setSelection(NodeSelection.create(tr.doc, pos));
|
|
91
120
|
tr.scrollIntoView();
|
|
92
121
|
view.focus();
|
|
93
122
|
view.dispatch(tr);
|
|
94
123
|
};
|
|
95
|
-
const handleDelete = (pos) => {
|
|
124
|
+
const handleDelete = (node, pos) => {
|
|
96
125
|
if (!pos || !view) {
|
|
97
126
|
return;
|
|
98
127
|
}
|
|
99
|
-
|
|
100
|
-
|
|
128
|
+
if (node?.type === schema.nodes.figure ||
|
|
129
|
+
node?.type === schema.nodes.embed) {
|
|
101
130
|
const tr = view.state.tr;
|
|
102
131
|
tr.delete(pos, pos + node.nodeSize);
|
|
103
132
|
view.dispatch(tr);
|
|
104
133
|
}
|
|
105
134
|
};
|
|
106
|
-
const handleReplace = async (pos, file) => {
|
|
135
|
+
const handleReplace = async (node, pos, file) => {
|
|
107
136
|
if (!pos || !file) {
|
|
108
137
|
return;
|
|
109
138
|
}
|
|
110
139
|
const uploaded = await fileManagement.upload(file);
|
|
111
140
|
const tr = view.state.tr;
|
|
112
|
-
|
|
141
|
+
if (node.type === schema.nodes.embed) {
|
|
142
|
+
const mediaInfo = getMediaTypeInfo(file);
|
|
143
|
+
tr.setNodeAttribute(pos, 'href', uploaded.id);
|
|
144
|
+
tr.setNodeAttribute(pos, 'mimetype', mediaInfo.mimetype);
|
|
145
|
+
tr.setNodeAttribute(pos, 'mimeSubtype', mediaInfo.mimeSubtype);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
tr.setNodeAttribute(pos, 'src', uploaded.id);
|
|
149
|
+
}
|
|
113
150
|
tr.setSelection(NodeSelection.create(tr.doc, pos));
|
|
114
151
|
tr.scrollIntoView();
|
|
115
152
|
view.focus();
|
|
@@ -139,9 +176,9 @@ export const InlineFilesSection = ({ elements, }) => {
|
|
|
139
176
|
: 'Unknown file',
|
|
140
177
|
fileAttachment.file?.name && (React.createElement(Tooltip, { id: `${fileAttachment.file?.id}-file-name-tooltip`, place: "bottom" }, fileAttachment.file?.name || 'Figure'))),
|
|
141
178
|
fileAttachment.file && (React.createElement(FileCreatedDate, { file: fileAttachment.file, className: "show-on-hover" })),
|
|
142
|
-
React.createElement(FileActions, { sectionType: FileSectionType.Inline, onReplace: async (f) => await handleReplace(fileAttachment.pos, f), onDetach: () => handleDetach(fileAttachment.pos), onDownload: () => fileAttachment.file &&
|
|
179
|
+
React.createElement(FileActions, { sectionType: FileSectionType.Inline, onReplace: async (f) => await handleReplace(fileAttachment.node, fileAttachment.pos, f), onDetach: () => handleDetach(fileAttachment.node, fileAttachment.pos), onDownload: () => fileAttachment.file &&
|
|
143
180
|
fileManagement.download(fileAttachment.file), onDelete: figureCount > 1
|
|
144
|
-
? () => handleDelete(fileAttachment.pos)
|
|
181
|
+
? () => handleDelete(fileAttachment.node, fileAttachment.pos)
|
|
145
182
|
: undefined }))))))));
|
|
146
183
|
})));
|
|
147
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import React, { useEffect, useState } from 'react';
|
|
|
15
15
|
import { InspectorPrimaryTabs } from '../../hooks/use-inspector-tabs-context';
|
|
16
16
|
import { useStore } from '../../store';
|
|
17
17
|
import { CommentsPanel } from '../comments/CommentsPanel';
|
|
18
|
+
import DocumentOptionsDropdown from '../DocumentOptionsDropdown';
|
|
18
19
|
import { FileManager } from '../FileManager/FileManager';
|
|
19
20
|
import { IconWrapper, InspectorContainer, InspectorTabPanel, InspectorTabs, PaddedInspectorTabPanels, PrimaryTabList, Spacer, WarningBadge, } from '../Inspector';
|
|
20
21
|
import { InspectorTab } from '../inspector/InspectorTab';
|
|
@@ -23,7 +24,6 @@ import { SnapshotsList } from '../inspector/SnapshotsList';
|
|
|
23
24
|
import Panel from '../Panel';
|
|
24
25
|
import { ResizingInspectorButton } from '../ResizerButtons';
|
|
25
26
|
import { TrackChangesPanel } from '../track-changes/TrackChangesPanel';
|
|
26
|
-
import VersionHistoryDropdown from '../VersionHistoryDropdown';
|
|
27
27
|
const Inspector = () => {
|
|
28
28
|
const [store] = useStore((store) => ({
|
|
29
29
|
selectedCommentKey: store.selectedCommentKey,
|
|
@@ -85,7 +85,7 @@ const Inspector = () => {
|
|
|
85
85
|
React.createElement(DangerIcon, null),
|
|
86
86
|
store.inconsistencies.length > 0 && (React.createElement(WarningBadge, null, store.inconsistencies.length))), isVisible: tabIndex === ISSUES_TAB_INDEX }, "Quality"),
|
|
87
87
|
React.createElement(Spacer, null),
|
|
88
|
-
React.createElement(
|
|
88
|
+
React.createElement(DocumentOptionsDropdown, null)),
|
|
89
89
|
React.createElement(PaddedInspectorTabPanels, null,
|
|
90
90
|
React.createElement(InspectorTabPanel, { key: "Comments", "data-cy": "comments" }, tabIndex === COMMENTS_TAB_INDEX && (React.createElement(CommentsPanel, { key: "comments" }))),
|
|
91
91
|
!can.editWithoutTracking && (React.createElement(InspectorTabPanel, { key: "History", "data-cy": "history" }, tabIndex === HISTORY_TAB_INDEX && (React.createElement(TrackChangesPanel, { key: "track-changes" })))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,MAAM,EACN,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
|
3
|
+
*
|
|
4
|
+
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
|
5
|
+
*
|
|
6
|
+
* The Original Code is manuscripts-frontend.
|
|
7
|
+
*
|
|
8
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
|
9
|
+
*
|
|
10
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
+
*/
|
|
12
|
+
import React from 'react';
|
|
13
|
+
interface DocumentLanguageSelectorProps {
|
|
14
|
+
onCloseParent?: () => void;
|
|
15
|
+
}
|
|
16
|
+
declare const DocumentLanguageSelector: React.FC<DocumentLanguageSelectorProps>;
|
|
17
|
+
export default DocumentLanguageSelector;
|
|
@@ -10,5 +10,5 @@
|
|
|
10
10
|
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
|
|
11
11
|
*/
|
|
12
12
|
import React from 'react';
|
|
13
|
-
declare const
|
|
14
|
-
export default
|
|
13
|
+
declare const DocumentOptionsDropdown: React.FC;
|
|
14
|
+
export default DocumentOptionsDropdown;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/article-editor",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.4",
|
|
4
4
|
"license": "CPAL-1.0",
|
|
5
5
|
"description": "React components for editing and viewing manuscripts",
|
|
6
6
|
"repository": "github:Atypon-OpenSource/manuscripts-article-editor",
|
|
@@ -28,11 +28,12 @@
|
|
|
28
28
|
"unlink-all": "rm pnpm-workspace.yaml && pnpm install"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
+
"@cospired/i18n-iso-languages": "^4.2.0",
|
|
31
32
|
"@fontsource/lato": "5.2.5",
|
|
32
33
|
"@fontsource/pt-sans": "5.2.5",
|
|
33
34
|
"@fontsource/pt-serif": "5.2.5",
|
|
34
35
|
"@headlessui/react": "2.2.3",
|
|
35
|
-
"@manuscripts/body-editor": "3.3.
|
|
36
|
+
"@manuscripts/body-editor": "3.3.3",
|
|
36
37
|
"@manuscripts/json-schema": "2.2.12",
|
|
37
38
|
"@manuscripts/style-guide": "3.2.1",
|
|
38
39
|
"@manuscripts/track-changes-plugin": "2.0.10",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistoryDropdown.js","sourceRoot":"","sources":["../../../src/components/VersionHistoryDropdown.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;AAEH,0DAKiC;AACjC,4EAG0C;AAC1C,kDAAyB;AACzB,0EAAsC;AAEtC,yEAA8C;AAE9C,MAAM,sBAAsB,GAAa,GAAG,EAAE;IAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAA;IACxD,MAAM,OAAO,GAAG,IAAA,sBAAU,GAAE,CAAA;IAE5B,OAAO,CACL,8BAAC,+BAAiB,IAAC,GAAG,EAAE,UAAU;QAChC,8BAAC,oBAAoB,eACX,wBAAwB,EAChC,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,UAAU;YAEnB,8BAAC,sBAAQ,OAAG,CACS;QAEtB,MAAM,IAAI,CACT,8BAAC,mBAAmB,eACV,kBAAkB,EAC1B,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,UAAU;YAEnB,8BAAC,YAAY,IACX,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CACL,oCAAa,CAAC,iBAAiB,CAC7B,yCAAkB,CAAC,aAAa,CACjC,CACF,sBAIU,CACK,CACvB,CACiB,CACrB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,sBAAsB,CAAA;AAErC,MAAM,oBAAoB,GAAG,2BAAM,CAAC,MAAM,CAAA;;;;;;;;CAQzC,CAAA;AACD,MAAM,YAAY,GAAG,2BAAM,CAAC,GAAG,CAAA;iBACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;WAI7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;CAEpD,CAAA;AACD,MAAM,mBAAmB,GAAG,IAAA,2BAAM,EAAC,0BAAY,CAAC,CAAA;;;;CAI/C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistoryDropdown.js","sourceRoot":"","sources":["../../../src/components/VersionHistoryDropdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAE9C,MAAM,sBAAsB,GAAa,GAAG,EAAE;IAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAA;IACxD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,OAAO,CACL,oBAAC,iBAAiB,IAAC,GAAG,EAAE,UAAU;QAChC,oBAAC,oBAAoB,eACX,wBAAwB,EAChC,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,UAAU;YAEnB,oBAAC,QAAQ,OAAG,CACS;QAEtB,MAAM,IAAI,CACT,oBAAC,mBAAmB,eACV,kBAAkB,EAC1B,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,UAAU;YAEnB,oBAAC,YAAY,IACX,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CACL,aAAa,CAAC,iBAAiB,CAC7B,kBAAkB,CAAC,aAAa,CACjC,CACF,sBAIU,CACK,CACvB,CACiB,CACrB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,sBAAsB,CAAA;AAErC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;;;CAQzC,CAAA;AACD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;iBACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;;;;WAI7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;CAEpD,CAAA;AACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;;;;CAI/C,CAAA"}
|