@manuscripts/article-editor 4.3.3 → 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.
@@ -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 VersionHistoryDropdown = () => {
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": "version-history-button", title: "Version History", onClick: toggleOpen },
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 = VersionHistoryDropdown;
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=VersionHistoryDropdown.js.map
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"}
@@ -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(VersionHistoryDropdown_1.default, null)),
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":"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"}
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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,YAAY,MAAM,8BAA8B,CAAA;AACvD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAa5C,2CAA2C;AAC3C,MAAM,YAAY,GAA2B;IAC3C,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,SAAS;CACd,CAAA;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAElD,uCAAuC;AACvC,MAAM,gBAAgB,GAAmB;IACvC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,IAAI;CACf,CAAA;AAED,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,CAC9B,gBAAwB,EACxB,YAA8B,EACtB,EAAE;IACV,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED,MAAM,IAAI,GACR,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,gBAAgB,CAAA;IAE3E,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI;QACvB,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,kBAAkB,GAInB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC3C,oBAAC,cAAc,IACb,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEjD,QAAQ,CAAC,IAAI;IACb,QAAQ,CAAC,UAAU,IAAI,KAAK,QAAQ,CAAC,UAAU,GAAG;IAClD,UAAU,IAAI,CACb,oBAAC,eAAe;QACd,oBAAC,QAAQ,OAAG,CACI,CACnB,CACc,CAClB,CAAA;AAED,MAAM,wBAAwB,GAA4C,CAAC,EACzE,aAAa,GACd,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC,CAAC,CAAA;IAEH,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,IAAI,IAAI,CAAA;IAC3E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAE/C,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,MAAM,mBAAmB,GAAG,MAAM,MAAM,CACtC,4CAA4C,CAC7C,CAAA;gBACD,YAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAExD,mCAAmC;gBACnC,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;gBACnD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9D,IAAI;oBACJ,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI;oBAC9C,UAAU,EACR,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS;oBACrE,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAC1C,CAAC,CAAC,CAAA;gBAEH,eAAe,CAAC,aAAa,CAAC,CAAA;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;gBACrD,4CAA4C;gBAC5C,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC,CAAA;QAED,aAAa,EAAE,CAAA;IACjB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,uDAAuD;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,8BAA8B;YAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,CAAA;YACX,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAA;YACV,CAAC;YACD,mCAAmC;YACnC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC/C,IACE,UAAU,CAAC,OAAO;gBAClB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAiB,CAAC,EACrD,CAAC;gBACD,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACvB,aAAa,EAAE,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAA;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;QAC5D,CAAC;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;QAC/D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;IAElC,MAAM,yBAAyB,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC5D,KAAK,CAAC,eAAe,EAAE,CAAA;QACvB,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAC3B,KAAuB,EACvB,YAAoB,EACpB,EAAE;QACF,KAAK,CAAC,eAAe,EAAE,CAAA;QACvB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,CAAA;YAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAA;YACnB,EAAE,CAAC,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;YACvD,QAAQ,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,iBAAiB,IAAC,GAAG,EAAE,UAAU;QAChC,oBAAC,sBAAsB,IAAC,OAAO,EAAE,yBAAyB;YACxD,oBAAC,cAAc;gBACb,oBAAC,aAAa;;oBACM,oBAAC,qBAAqB,OAAG,CAC7B;gBAChB,oBAAC,oBAAoB,QAClB,uBAAuB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACnC,CACR,CACM;QAExB,aAAa,IAAI,CAChB,oBAAC,kBAAkB,IAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IACnE,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,oBAAC,kBAAkB,IACjB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,gBAAgB,KAAK,QAAQ,CAAC,IAAI,EAC9C,QAAQ,EAAE,oBAAoB,GAC9B,CACH,CAAC,CACiB,CACtB,CACiB,CACrB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,wBAAwB,CAAA;AAEvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;;;;;;;;;;;kBAW7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS;;;;;;;;;;;;CAYnE,CAAA;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;iBAIxB,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;;;;;kBAKnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;;CAE/D,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAA;;;;CAIjC,CAAA;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;;;;;CAUhC,CAAA;AAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAA;;WAE7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;;CAEtD,CAAA;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;iBAIhB,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;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIjC,CAAA"}
@@ -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
- const VersionHistoryDropdown = () => {
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": "version-history-button", title: "Version History", onClick: toggleOpen },
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 VersionHistoryDropdown;
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=VersionHistoryDropdown.js.map
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"}
@@ -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(VersionHistoryDropdown, null)),
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":"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"}
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 VersionHistoryDropdown: React.FC;
14
- export default VersionHistoryDropdown;
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",
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,6 +28,7 @@
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",
@@ -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"}