@manuscripts/article-editor 4.7.28 → 4.7.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/cjs/components/DocumentOptionsDropdown.js +92 -6
  2. package/dist/cjs/components/DocumentOptionsDropdown.js.map +1 -1
  3. package/dist/cjs/components/FileManager/FileActions.js +68 -11
  4. package/dist/cjs/components/FileManager/FileActions.js.map +1 -1
  5. package/dist/cjs/components/FileManager/FileContainer.js +10 -2
  6. package/dist/cjs/components/FileManager/FileContainer.js.map +1 -1
  7. package/dist/cjs/components/FileManager/FileGroup.js +7 -2
  8. package/dist/cjs/components/FileManager/FileGroup.js.map +1 -1
  9. package/dist/cjs/components/FileManager/FileUploader.js +12 -1
  10. package/dist/cjs/components/FileManager/FileUploader.js.map +1 -1
  11. package/dist/cjs/components/FileManager/InlineFilesSection.js +11 -0
  12. package/dist/cjs/components/FileManager/InlineFilesSection.js.map +1 -1
  13. package/dist/cjs/components/FileManager/MainFilesSection.js +8 -0
  14. package/dist/cjs/components/FileManager/MainFilesSection.js.map +1 -1
  15. package/dist/cjs/components/FileManager/OtherFilesSection.js +1 -1
  16. package/dist/cjs/components/FileManager/OtherFilesSection.js.map +1 -1
  17. package/dist/cjs/components/FileManager/SupplementsSection.js +5 -1
  18. package/dist/cjs/components/FileManager/SupplementsSection.js.map +1 -1
  19. package/dist/cjs/components/Inspector.js +17 -1
  20. package/dist/cjs/components/Inspector.js.map +1 -1
  21. package/dist/cjs/components/Panel.js +2 -2
  22. package/dist/cjs/components/Panel.js.map +1 -1
  23. package/dist/cjs/components/SearchReplace/SearchField.js +3 -3
  24. package/dist/cjs/components/SearchReplace/SearchField.js.map +1 -1
  25. package/dist/cjs/components/SearchReplace/SearchReplace.js +1 -1
  26. package/dist/cjs/components/SearchReplace/SearchReplace.js.map +1 -1
  27. package/dist/cjs/components/comments/CommentActions.js +78 -7
  28. package/dist/cjs/components/comments/CommentActions.js.map +1 -1
  29. package/dist/cjs/components/comments/CommentBody.js +2 -2
  30. package/dist/cjs/components/comments/CommentBody.js.map +1 -1
  31. package/dist/cjs/components/comments/CommentResolveButton.js +6 -1
  32. package/dist/cjs/components/comments/CommentResolveButton.js.map +1 -1
  33. package/dist/cjs/components/comments/CommentThread.js +30 -2
  34. package/dist/cjs/components/comments/CommentThread.js.map +1 -1
  35. package/dist/cjs/components/comments/CommentsPanel.js +39 -5
  36. package/dist/cjs/components/comments/CommentsPanel.js.map +1 -1
  37. package/dist/cjs/components/comments/DeleteCommentConfirmation.js +2 -2
  38. package/dist/cjs/components/comments/DeleteCommentConfirmation.js.map +1 -1
  39. package/dist/cjs/components/comments/ReplyBox.js +2 -2
  40. package/dist/cjs/components/comments/ReplyBox.js.map +1 -1
  41. package/dist/cjs/components/inspector/SnapshotsList.js +2 -2
  42. package/dist/cjs/components/inspector/SnapshotsList.js.map +1 -1
  43. package/dist/cjs/components/projects/EditorElement.js +17 -1
  44. package/dist/cjs/components/projects/EditorElement.js.map +1 -1
  45. package/dist/cjs/components/projects/ListToolbarItem.js +87 -6
  46. package/dist/cjs/components/projects/ListToolbarItem.js.map +1 -1
  47. package/dist/cjs/components/projects/ListToolbarItemStyles.js +12 -0
  48. package/dist/cjs/components/projects/ListToolbarItemStyles.js.map +1 -1
  49. package/dist/cjs/components/projects/ManuscriptMenus.js +2 -2
  50. package/dist/cjs/components/projects/ManuscriptMenus.js.map +1 -1
  51. package/dist/cjs/components/projects/ManuscriptPageContainer.js +23 -3
  52. package/dist/cjs/components/projects/ManuscriptPageContainer.js.map +1 -1
  53. package/dist/cjs/components/projects/ManuscriptToolbar.js +86 -2
  54. package/dist/cjs/components/projects/ManuscriptToolbar.js.map +1 -1
  55. package/dist/cjs/components/track-changes/ApproveAllButton.js +1 -1
  56. package/dist/cjs/components/track-changes/ApproveAllButton.js.map +1 -1
  57. package/dist/cjs/components/track-changes/SortByDropdown.js +52 -15
  58. package/dist/cjs/components/track-changes/SortByDropdown.js.map +1 -1
  59. package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js +76 -5
  60. package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
  61. package/dist/cjs/components/track-changes/suggestion-list/SuggestionActions.js +7 -4
  62. package/dist/cjs/components/track-changes/suggestion-list/SuggestionActions.js.map +1 -1
  63. package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js +26 -1
  64. package/dist/cjs/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
  65. package/dist/cjs/components/track-changes/suggestion-list/SuggestionSnippet.js +14 -10
  66. package/dist/cjs/components/track-changes/suggestion-list/SuggestionSnippet.js.map +1 -1
  67. package/dist/cjs/theme/colors.js +2 -1
  68. package/dist/cjs/theme/colors.js.map +1 -1
  69. package/dist/cjs/theme/theme.js +3 -0
  70. package/dist/cjs/theme/theme.js.map +1 -1
  71. package/dist/es/components/DocumentOptionsDropdown.js +59 -6
  72. package/dist/es/components/DocumentOptionsDropdown.js.map +1 -1
  73. package/dist/es/components/FileManager/FileActions.js +68 -11
  74. package/dist/es/components/FileManager/FileActions.js.map +1 -1
  75. package/dist/es/components/FileManager/FileContainer.js +10 -2
  76. package/dist/es/components/FileManager/FileContainer.js.map +1 -1
  77. package/dist/es/components/FileManager/FileGroup.js +7 -2
  78. package/dist/es/components/FileManager/FileGroup.js.map +1 -1
  79. package/dist/es/components/FileManager/FileUploader.js +12 -1
  80. package/dist/es/components/FileManager/FileUploader.js.map +1 -1
  81. package/dist/es/components/FileManager/InlineFilesSection.js +11 -0
  82. package/dist/es/components/FileManager/InlineFilesSection.js.map +1 -1
  83. package/dist/es/components/FileManager/MainFilesSection.js +8 -0
  84. package/dist/es/components/FileManager/MainFilesSection.js.map +1 -1
  85. package/dist/es/components/FileManager/OtherFilesSection.js +1 -1
  86. package/dist/es/components/FileManager/OtherFilesSection.js.map +1 -1
  87. package/dist/es/components/FileManager/SupplementsSection.js +5 -1
  88. package/dist/es/components/FileManager/SupplementsSection.js.map +1 -1
  89. package/dist/es/components/Inspector.js +17 -1
  90. package/dist/es/components/Inspector.js.map +1 -1
  91. package/dist/es/components/Panel.js +2 -2
  92. package/dist/es/components/Panel.js.map +1 -1
  93. package/dist/es/components/SearchReplace/SearchField.js +3 -3
  94. package/dist/es/components/SearchReplace/SearchField.js.map +1 -1
  95. package/dist/es/components/SearchReplace/SearchReplace.js +1 -1
  96. package/dist/es/components/SearchReplace/SearchReplace.js.map +1 -1
  97. package/dist/es/components/comments/CommentActions.js +45 -7
  98. package/dist/es/components/comments/CommentActions.js.map +1 -1
  99. package/dist/es/components/comments/CommentBody.js +2 -2
  100. package/dist/es/components/comments/CommentBody.js.map +1 -1
  101. package/dist/es/components/comments/CommentResolveButton.js +6 -1
  102. package/dist/es/components/comments/CommentResolveButton.js.map +1 -1
  103. package/dist/es/components/comments/CommentThread.js +30 -2
  104. package/dist/es/components/comments/CommentThread.js.map +1 -1
  105. package/dist/es/components/comments/CommentsPanel.js +40 -6
  106. package/dist/es/components/comments/CommentsPanel.js.map +1 -1
  107. package/dist/es/components/comments/DeleteCommentConfirmation.js +2 -2
  108. package/dist/es/components/comments/DeleteCommentConfirmation.js.map +1 -1
  109. package/dist/es/components/comments/ReplyBox.js +2 -2
  110. package/dist/es/components/comments/ReplyBox.js.map +1 -1
  111. package/dist/es/components/inspector/SnapshotsList.js +2 -2
  112. package/dist/es/components/inspector/SnapshotsList.js.map +1 -1
  113. package/dist/es/components/projects/EditorElement.js +17 -1
  114. package/dist/es/components/projects/EditorElement.js.map +1 -1
  115. package/dist/es/components/projects/ListToolbarItem.js +54 -6
  116. package/dist/es/components/projects/ListToolbarItem.js.map +1 -1
  117. package/dist/es/components/projects/ListToolbarItemStyles.js +12 -0
  118. package/dist/es/components/projects/ListToolbarItemStyles.js.map +1 -1
  119. package/dist/es/components/projects/ManuscriptMenus.js +2 -2
  120. package/dist/es/components/projects/ManuscriptMenus.js.map +1 -1
  121. package/dist/es/components/projects/ManuscriptPageContainer.js +23 -3
  122. package/dist/es/components/projects/ManuscriptPageContainer.js.map +1 -1
  123. package/dist/es/components/projects/ManuscriptToolbar.js +53 -2
  124. package/dist/es/components/projects/ManuscriptToolbar.js.map +1 -1
  125. package/dist/es/components/track-changes/ApproveAllButton.js +1 -1
  126. package/dist/es/components/track-changes/ApproveAllButton.js.map +1 -1
  127. package/dist/es/components/track-changes/SortByDropdown.js +52 -12
  128. package/dist/es/components/track-changes/SortByDropdown.js.map +1 -1
  129. package/dist/es/components/track-changes/suggestion-list/Suggestion.js +77 -6
  130. package/dist/es/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
  131. package/dist/es/components/track-changes/suggestion-list/SuggestionActions.js +7 -4
  132. package/dist/es/components/track-changes/suggestion-list/SuggestionActions.js.map +1 -1
  133. package/dist/es/components/track-changes/suggestion-list/SuggestionList.js +26 -1
  134. package/dist/es/components/track-changes/suggestion-list/SuggestionList.js.map +1 -1
  135. package/dist/es/components/track-changes/suggestion-list/SuggestionSnippet.js +10 -6
  136. package/dist/es/components/track-changes/suggestion-list/SuggestionSnippet.js.map +1 -1
  137. package/dist/es/theme/colors.js +1 -0
  138. package/dist/es/theme/colors.js.map +1 -1
  139. package/dist/es/theme/theme.js +3 -0
  140. package/dist/es/theme/theme.js.map +1 -1
  141. package/dist/types/components/FileManager/FileActions.d.ts +1 -1
  142. package/dist/types/components/Inspector.d.ts +3 -1
  143. package/dist/types/components/SearchReplace/SearchField.d.ts +1 -0
  144. package/dist/types/components/comments/CommentThread.d.ts +2 -0
  145. package/dist/types/components/projects/ListToolbarItemStyles.d.ts +4 -2
  146. package/dist/types/components/track-changes/suggestion-list/Suggestion.d.ts +2 -0
  147. package/dist/types/components/track-changes/suggestion-list/SuggestionActions.d.ts +1 -0
  148. package/dist/types/components/track-changes/suggestion-list/SuggestionSnippet.d.ts +3 -0
  149. package/dist/types/theme/colors.d.ts +1 -0
  150. package/package.json +3 -3
@@ -43,33 +43,59 @@ var __importStar = (this && this.__importStar) || (function () {
43
43
  return result;
44
44
  };
45
45
  })();
46
- var __importDefault = (this && this.__importDefault) || function (mod) {
47
- return (mod && mod.__esModule) ? mod : { "default": mod };
48
- };
49
46
  Object.defineProperty(exports, "__esModule", { value: true });
50
47
  exports.SortByDropdown = void 0;
51
48
  const style_guide_1 = require("@manuscripts/style-guide");
52
- const react_1 = __importDefault(require("react"));
49
+ const react_1 = __importStar(require("react"));
53
50
  const styled_components_1 = __importStar(require("styled-components"));
54
51
  const Dropdown_1 = require("../nav/Dropdown");
55
52
  const SortByDropdown = ({ sortBy, setSortBy }) => {
56
53
  const { isOpen, toggleOpen, wrapperRef } = (0, style_guide_1.useDropdown)();
54
+ const toggleButtonRef = (0, react_1.useRef)(null);
55
+ const optionRefs = (0, react_1.useRef)([]);
56
+ const options = ['Date', 'in Context'];
57
+ (0, react_1.useEffect)(() => {
58
+ if (isOpen) {
59
+ optionRefs.current[0]?.focus();
60
+ }
61
+ }, [isOpen]);
62
+ const handleDropdownKeyDown = (e) => {
63
+ const buttons = optionRefs.current;
64
+ const currentIndex = Array.from(buttons).indexOf(document.activeElement);
65
+ switch (e.key) {
66
+ case 'ArrowDown':
67
+ e.preventDefault();
68
+ buttons[(currentIndex + 1) % buttons.length]?.focus();
69
+ break;
70
+ case 'ArrowUp':
71
+ e.preventDefault();
72
+ buttons[(currentIndex - 1 + buttons.length) % buttons.length]?.focus();
73
+ break;
74
+ case 'Escape':
75
+ e.preventDefault();
76
+ toggleOpen();
77
+ toggleButtonRef.current?.focus();
78
+ break;
79
+ }
80
+ };
57
81
  return (react_1.default.createElement(react_1.default.Fragment, null,
58
82
  react_1.default.createElement(Container, { ref: wrapperRef },
59
- react_1.default.createElement(Dropdown_1.DropdownButtonContainer, { isOpen: isOpen, onClick: toggleOpen, className: 'dropdown-toggle' },
83
+ react_1.default.createElement(Dropdown_1.DropdownButtonContainer, { ref: toggleButtonRef, isOpen: isOpen, onClick: toggleOpen, onKeyDown: (e) => {
84
+ if (e.key === 'ArrowDown') {
85
+ toggleOpen();
86
+ }
87
+ }, className: 'dropdown-toggle', tabIndex: 0 },
60
88
  react_1.default.createElement(Label, null,
61
89
  "Sorted by:",
62
90
  react_1.default.createElement(Bold, null, sortBy),
63
91
  react_1.default.createElement(Dropdown_1.DropdownToggle, { className: isOpen ? 'open' : '' }))),
64
- isOpen && (react_1.default.createElement(DropdownList, { direction: 'right', minWidth: 100 },
65
- react_1.default.createElement(Option, { onClick: (e) => {
66
- setSortBy('Date');
67
- toggleOpen();
68
- }, key: 'Date', value: 'Date' }, "Date"),
69
- react_1.default.createElement(Option, { onClick: (e) => {
70
- setSortBy('in Context');
71
- toggleOpen();
72
- }, key: 'in Context', value: 'in Context' }, "in Context")))),
92
+ isOpen && (react_1.default.createElement(DropdownList, { direction: 'right', minWidth: 100, onKeyDown: handleDropdownKeyDown }, options.map((opt, index) => (react_1.default.createElement(Option, { key: opt, value: opt, ref: (el) => {
93
+ if (el)
94
+ optionRefs.current[index] = el;
95
+ }, onClick: () => {
96
+ setSortBy(opt);
97
+ toggleOpen();
98
+ } }, opt)))))),
73
99
  react_1.default.createElement(SeparatorLine, null)));
74
100
  };
75
101
  exports.SortByDropdown = SortByDropdown;
@@ -96,6 +122,11 @@ const Container = (0, styled_components_1.default)(Dropdown_1.DropdownContainer)
96
122
  .dropdown-toggle {
97
123
  border: none;
98
124
  background: transparent !important;
125
+
126
+ &:focus-visible {
127
+ outline: 2px solid ${(props) => props.theme.colors.outline.focus};
128
+ outline-offset: 2px;
129
+ }
99
130
  }
100
131
  `;
101
132
  const Option = (0, styled_components_1.default)(style_guide_1.SecondaryButton) `
@@ -103,10 +134,16 @@ const Option = (0, styled_components_1.default)(style_guide_1.SecondaryButton) `
103
134
  text-align: left;
104
135
  display: block;
105
136
  border: none;
106
- &:not([disabled]):hover {
137
+ &:not([disabled]):hover,
138
+ &:not([disabled]):focus {
107
139
  background: ${(props) => props.theme.colors.background.fifth} !important;
108
140
  color: ${(props) => props.theme.colors.button.secondary.color.default} !important;
109
141
  }
142
+
143
+ &:focus-visible {
144
+ outline: 2px solid ${(props) => props.theme.colors.outline.focus};
145
+ outline-offset: -2px;
146
+ }
110
147
  `;
111
148
  const DropdownList = (0, styled_components_1.default)(Dropdown_1.Dropdown) `
112
149
  padding: ${(props) => props.theme.grid.unit * 2}px 0;
@@ -1 +1 @@
1
- {"version":3,"file":"SortByDropdown.js","sourceRoot":"","sources":["../../../../src/components/track-changes/SortByDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SortByDropdown.js","sourceRoot":"","sources":["../../../../src/components/track-changes/SortByDropdown.tsx"],"names":[],"mappings":"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"}
@@ -54,8 +54,17 @@ const utils_1 = require("../../../lib/utils");
54
54
  const store_1 = require("../../../store");
55
55
  const TrackModal_1 = __importDefault(require("../TrackModal"));
56
56
  const SuggestionSnippet_1 = require("./SuggestionSnippet");
57
- const Suggestion = ({ suggestions, isSelected, onAccept, onReject, onSelect, }) => {
57
+ const Suggestion = ({ suggestions, isSelected, onAccept, onReject, onSelect, isTabbable, cardLinkRef, }) => {
58
58
  const wrapperRef = (0, react_1.useRef)(null);
59
+ const linkRef = (0, react_1.useRef)(null);
60
+ const actionButtonRefs = (0, react_1.useRef)([]);
61
+ const setLinkRef = (el) => {
62
+ linkRef.current = el;
63
+ cardLinkRef?.(el);
64
+ };
65
+ const setActionButtonRef = (el, index) => {
66
+ actionButtonRefs.current[index] = el;
67
+ };
59
68
  const [trackModalVisible, setModalVisible] = (0, react_1.useState)(false);
60
69
  const [{ isComparingMode, isTrackingChangesVisible }] = (0, store_1.useStore)((store) => ({
61
70
  isComparingMode: store.isComparingMode,
@@ -71,22 +80,84 @@ const Suggestion = ({ suggestions, isSelected, onAccept, onReject, onSelect, })
71
80
  onSelect();
72
81
  }
73
82
  };
83
+ const handleKeyDown = (e) => {
84
+ // Only handle horizontal navigation (Left/Right)
85
+ // Let vertical navigation (Up/Down) bubble to parent SuggestionList
86
+ if (!['ArrowLeft', 'ArrowRight'].includes(e.key)) {
87
+ return;
88
+ }
89
+ const actionButtons = actionButtonRefs.current.filter(Boolean);
90
+ if (actionButtons.length === 0) {
91
+ return;
92
+ }
93
+ const currentElement = document.activeElement;
94
+ // If on the card link and arrow right is pressed, move to first action button
95
+ if (currentElement === linkRef.current && e.key === 'ArrowRight') {
96
+ e.preventDefault();
97
+ e.stopPropagation();
98
+ actionButtons[0]?.focus();
99
+ }
100
+ // If on an action button, navigate between them
101
+ else if (actionButtons.includes(currentElement)) {
102
+ const currentIndex = actionButtons.indexOf(currentElement);
103
+ if (e.key === 'ArrowLeft') {
104
+ e.preventDefault();
105
+ e.stopPropagation();
106
+ if (currentIndex === 0) {
107
+ linkRef.current?.focus();
108
+ }
109
+ else {
110
+ actionButtons[currentIndex - 1]?.focus();
111
+ }
112
+ }
113
+ else if (e.key === 'ArrowRight') {
114
+ e.preventDefault();
115
+ e.stopPropagation();
116
+ if (currentIndex < actionButtons.length - 1) {
117
+ actionButtons[currentIndex + 1]?.focus();
118
+ }
119
+ }
120
+ }
121
+ };
74
122
  (0, react_1.useEffect)(() => {
75
123
  if (isSelected && wrapperRef.current) {
76
124
  (0, utils_1.scrollIntoView)(wrapperRef.current);
77
125
  }
78
126
  }, [isSelected]);
79
- return (react_1.default.createElement(Wrapper, { "data-cy": "suggestion", isFocused: isSelected, ref: wrapperRef },
80
- react_1.default.createElement(FocusHandle, { isTrackingChangesVisible: isTrackingChangesVisible, href: "#", onClick: handleClick },
81
- react_1.default.createElement(SuggestionSnippet_1.SuggestionSnippet, { suggestions: suggestions, isComparingMode: isComparingMode, isFocused: isSelected, handleAccept: onAccept, handleReject: onReject })),
127
+ return (react_1.default.createElement(Wrapper, { "data-cy": "suggestion", isFocused: isSelected, ref: wrapperRef, onKeyDown: handleKeyDown },
128
+ react_1.default.createElement(FocusHandle, { ref: setLinkRef, tabIndex: isTabbable ? 0 : -1, isTrackingChangesVisible: isTrackingChangesVisible, onClick: handleClick, onKeyDown: (e) => {
129
+ if (e.target !== e.currentTarget) {
130
+ return;
131
+ }
132
+ if (e.key === 'Enter') {
133
+ e.preventDefault();
134
+ handleClick(e);
135
+ }
136
+ } },
137
+ react_1.default.createElement(SuggestionSnippet_1.SuggestionSnippet, { suggestions: suggestions, isComparingMode: isComparingMode, isFocused: isSelected, handleAccept: onAccept, handleReject: onReject, isTrackingChangesVisible: isTrackingChangesVisible, actionButtonRefs: setActionButtonRef })),
82
138
  trackModalVisible && (react_1.default.createElement(TrackModal_1.default, { ref: wrapperRef, isVisible: trackModalVisible, changeId: suggestions[0].id, setVisible: setModalVisible }))));
83
139
  };
84
140
  exports.Suggestion = Suggestion;
85
141
  const Wrapper = styled_components_1.default.li ``;
86
142
  const FocusHandle = styled_components_1.default.a `
87
143
  color: inherit;
88
- text-decoration: none;
89
144
  overflow: hidden;
90
145
  cursor: ${(props) => props.isTrackingChangesVisible ? 'pointer' : 'default'};
146
+
147
+ &:focus {
148
+ outline: none;
149
+ }
150
+
151
+ ${(props) => props.isTrackingChangesVisible
152
+ ? `&:focus ${SuggestionSnippet_1.Card},
153
+ &:focus-within ${SuggestionSnippet_1.Card} {
154
+ background: ${props.theme.colors.background.tracked.hover};
155
+
156
+ ${SuggestionSnippet_1.CardActions} {
157
+ opacity: 1;
158
+ pointer-events: auto;
159
+ }
160
+ }`
161
+ : ''}
91
162
  `;
92
163
  //# sourceMappingURL=Suggestion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Suggestion.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/Suggestion.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,+CAA0D;AAC1D,0EAAsC;AAEtC,8CAAmD;AACnD,0CAAyC;AACzC,+DAAsC;AACtC,2DAAuD;AAUhD,MAAM,UAAU,GAAoB,CAAC,EAC1C,WAAW,EACX,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,CAAC,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3E,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;KACzD,CAAC,CAAC,CAAA;IAEH,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,EAAE;QAC1C,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,OAAM;QACR,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,IAAA,sBAAc,EAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,CACL,8BAAC,OAAO,eAAS,YAAY,EAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU;QAClE,8BAAC,WAAW,IACV,wBAAwB,EAAE,wBAAwB,EAClD,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,WAAW;YAEpB,8BAAC,qCAAiB,IAChB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,QAAQ,GACtB,CACU;QAEb,iBAAiB,IAAI,CACpB,8BAAC,oBAAU,IACT,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3B,UAAU,EAAE,eAAe,GACf,CACf,CACO,CACX,CAAA;AACH,CAAC,CAAA;AAzDY,QAAA,UAAU,cAyDtB;AAED,MAAM,OAAO,GAAG,2BAAM,CAAC,EAAE,CAEvB,EAAE,CAAA;AAEJ,MAAM,WAAW,GAAG,2BAAM,CAAC,CAAC,CAE1B;;;;YAIU,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;CACzD,CAAA"}
1
+ {"version":3,"file":"Suggestion.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/Suggestion.tsx"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ const styled_components_1 = __importDefault(require("styled-components"));
55
55
  const capabilities_1 = require("../../../lib/capabilities");
56
56
  const store_1 = require("../../../store");
57
57
  const Icons_1 = require("./Icons");
58
- const SuggestionAction = ({ suggestions, handleAccept, handleReject, }) => {
58
+ const SuggestionAction = ({ suggestions, handleAccept, handleReject, buttonRefs, }) => {
59
59
  const [{ user }] = (0, store_1.useStore)((store) => ({
60
60
  user: store.user,
61
61
  }));
@@ -72,13 +72,15 @@ const SuggestionAction = ({ suggestions, handleAccept, handleReject, }) => {
72
72
  }, [suggestion, can, user?._id]);
73
73
  const rejectTooltip = 'back-tooltip' + '-' + suggestion.id;
74
74
  const approveTooltip = 'approve-tooltip' + '-' + suggestion.id;
75
+ // Track button index for refs
76
+ let buttonIndex = 0;
75
77
  return (react_1.default.createElement(Actions, { "data-cy": "suggestion-actions" },
76
78
  canRejectOwnSuggestion && (react_1.default.createElement(Container, null,
77
- react_1.default.createElement(exports.Action, { type: "button", onClick: () => handleReject(suggestions), "aria-pressed": false, "data-tooltip-id": rejectTooltip, "aria-label": "Reject" },
79
+ react_1.default.createElement(exports.Action, { ref: (el) => buttonRefs?.(el, buttonIndex++), type: "button", onClick: () => handleReject(suggestions), "aria-pressed": false, "data-tooltip-id": rejectTooltip, "aria-label": "Reject" },
78
80
  react_1.default.createElement(Icons_1.Reject, { color: "#353535" })),
79
81
  react_1.default.createElement(style_guide_1.Tooltip, { id: rejectTooltip, place: "bottom" }, "Reject"))),
80
82
  can.handleSuggestion && (react_1.default.createElement(Container, null,
81
- react_1.default.createElement(exports.Action, { type: "button", onClick: () => handleAccept(suggestions), "aria-pressed": false, "data-tip": true, "data-tooltip-id": approveTooltip, "aria-label": "Approve" },
83
+ react_1.default.createElement(exports.Action, { ref: (el) => buttonRefs?.(el, buttonIndex++), type: "button", onClick: () => handleAccept(suggestions), "aria-pressed": false, "data-tip": true, "data-tooltip-id": approveTooltip, "aria-label": "Approve" },
82
84
  react_1.default.createElement(Icons_1.Accept, { color: "#353535" })),
83
85
  react_1.default.createElement(style_guide_1.Tooltip, { id: approveTooltip, place: "bottom" }, "Approve")))));
84
86
  };
@@ -115,7 +117,8 @@ exports.Action = styled_components_1.default.button `
115
117
  opacity: 0.5;
116
118
  }
117
119
 
118
- &:not([disabled]):hover {
120
+ &:not([disabled]):hover,
121
+ &:not([disabled]):focus {
119
122
  &[aria-pressed='true'] {
120
123
  path {
121
124
  stroke: ${(props) => props.theme.colors.brand.medium};
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionActions.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionActions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,0DAAkD;AAClD,4EAA6E;AAC7E,+CAAsC;AACtC,0EAAsC;AAEtC,4DAA0D;AAC1D,0CAAyC;AACzC,mCAAwC;AAQxC,MAAM,gBAAgB,GAAoB,CAAC,EACzC,WAAW,EACX,YAAY,EACZ,YAAY,GACb,EAAE,EAAE;IACH,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC,CAAA;IAEH,MAAM,GAAG,GAAG,IAAA,6BAAc,GAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAEjC,MAAM,sBAAsB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1C,IACE,GAAG,CAAC,gBAAgB;YACpB,CAAC,GAAG,CAAC,mBAAmB;gBACtB,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,oCAAa,CAAC,OAAO;gBACvD,UAAU,CAAC,WAAW,CAAC,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAChD,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;IAEhC,MAAM,aAAa,GAAG,cAAc,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,CAAA;IAC1D,MAAM,cAAc,GAAG,iBAAiB,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,CAAA;IAE9D,OAAO,CACL,8BAAC,OAAO,eAAS,oBAAoB;QAClC,sBAAsB,IAAI,CACzB,8BAAC,SAAS;YACR,8BAAC,cAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,kBAC1B,KAAK,qBACF,aAAa,gBACnB,QAAQ;gBAEnB,8BAAC,cAAM,IAAC,KAAK,EAAC,SAAS,GAAG,CACnB;YACT,8BAAC,qBAAO,IAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAC,QAAQ,aAEhC,CACA,CACb;QACA,GAAG,CAAC,gBAAgB,IAAI,CACvB,8BAAC,SAAS;YACR,8BAAC,cAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,kBAC1B,KAAK,cACT,IAAI,qBACG,cAAc,gBACpB,SAAS;gBAEpB,8BAAC,cAAM,IAAC,KAAK,EAAC,SAAS,GAAG,CACnB;YACT,8BAAC,qBAAO,IAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAC,QAAQ,cAEjC,CACA,CACb,CACO,CACX,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA;AAE/B,MAAM,SAAS,GAAG,2BAAM,CAAC,GAAG,CAAA;;qBAEP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG;eAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;iBAClC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;iBACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;;CAEtD,CAAA;AAED,MAAM,OAAO,GAAG,2BAAM,CAAC,GAAG,CAAA;;SAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;CAC5C,CAAA;AAEY,QAAA,MAAM,GAAG,2BAAM,CAAC,MAAM,CAAA;;;;;;;;;;;;WAYxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;;;;;;;;;kBAU9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;;;;;;gBAM5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;;;kBAGxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;wBAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;;;;;;CAM3E,CAAA"}
1
+ {"version":3,"file":"SuggestionActions.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionActions.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const store_1 = require("../../../store");
10
10
  const InspectorSection_1 = require("../../InspectorSection");
11
11
  const Suggestion_1 = require("./Suggestion");
12
12
  const SuggestionList = ({ changes, selectionID, title, type, sortBy, onAccept, onReject, onAcceptAll, onSelect, }) => {
13
+ const cardLinkRefs = react_1.default.useRef([]);
13
14
  const [{ isComparingMode }] = (0, store_1.useStore)((store) => ({
14
15
  isComparingMode: store.isComparingMode,
15
16
  }));
@@ -18,8 +19,32 @@ const SuggestionList = ({ changes, selectionID, title, type, sortBy, onAccept, o
18
19
  const sortedChanges = changes
19
20
  .slice()
20
21
  .sort(sortBy === 'Date' ? changesByDate : changesByContext);
22
+ const handleKeyDown = (e) => {
23
+ if (!['ArrowDown', 'ArrowUp'].includes(e.key)) {
24
+ return;
25
+ }
26
+ const cardLinks = cardLinkRefs.current.filter(Boolean);
27
+ if (cardLinks.length === 0) {
28
+ return;
29
+ }
30
+ const currentIndex = cardLinks.findIndex((link) => link === document.activeElement || link.contains(document.activeElement));
31
+ if (currentIndex === -1) {
32
+ return;
33
+ }
34
+ e.preventDefault();
35
+ if (e.key === 'ArrowDown') {
36
+ const nextIndex = (currentIndex + 1) % cardLinks.length;
37
+ cardLinks[nextIndex]?.focus();
38
+ }
39
+ else if (e.key === 'ArrowUp') {
40
+ const prevIndex = (currentIndex - 1 + cardLinks.length) % cardLinks.length;
41
+ cardLinks[prevIndex]?.focus();
42
+ }
43
+ };
21
44
  return (react_1.default.createElement(InspectorSection_1.InspectorSection, { title: title.concat(changes.length ? ` (${changes.length})` : ''), approveAll: !isComparingMode ? onAcceptAll : undefined, fixed: true },
22
- react_1.default.createElement(List, { "data-cy": "suggestions-list", "data-cy-type": type }, sortedChanges.map((c) => (react_1.default.createElement(Suggestion_1.Suggestion, { key: c[0].id, suggestions: c, isSelected: selectionID === c[0].id, onAccept: () => !isComparingMode && onAccept(c), onReject: () => !isComparingMode && onReject(c), onSelect: () => onSelect && onSelect(c) }))))));
45
+ react_1.default.createElement(List, { "data-cy": "suggestions-list", "data-cy-type": type, onKeyDown: handleKeyDown }, sortedChanges.map((c, index) => (react_1.default.createElement(Suggestion_1.Suggestion, { key: c[0].id, suggestions: c, isSelected: selectionID === c[0].id, onAccept: () => !isComparingMode && onAccept(c), onReject: () => !isComparingMode && onReject(c), onSelect: () => onSelect && onSelect(c), isTabbable: index === 0, cardLinkRef: (el) => {
46
+ cardLinkRefs.current[index] = el;
47
+ } }))))));
23
48
  };
24
49
  exports.SuggestionList = SuggestionList;
25
50
  const List = styled_components_1.default.ul `
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionList.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionList.tsx"],"names":[],"mappings":";;;;;;AAYA,kDAAyB;AACzB,0EAAsC;AAEtC,0CAAyC;AACzC,6DAAyD;AACzD,6CAAyC;AAclC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,WAAW,EACX,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACrD,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAA;IAEzD,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CACxD,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEvB,MAAM,aAAa,GAAG,OAAO;SAC1B,KAAK,EAAE;SACP,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAE7D,OAAO,CACL,8BAAC,mCAAgB,IACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACtD,KAAK,EAAE,IAAI;QAEX,8BAAC,IAAI,eAAS,kBAAkB,kBAAe,IAAI,IAChD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CACpC,8BAAC,uBAAU,IACT,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACZ,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,GACvC,CACH,CAAC,CACG,CACU,CACpB,CAAA;AACH,CAAC,CAAA;AA7CY,QAAA,cAAc,kBA6C1B;AAED,MAAM,IAAI,GAAG,2BAAM,CAAC,EAAE,CAAA;;;;;;CAMrB,CAAA"}
1
+ {"version":3,"file":"SuggestionList.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionList.tsx"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.AuthorName = exports.AuthorContainer = exports.CardMetadata = exports.CardBody = exports.CardHeader = exports.Card = exports.SuggestionSnippet = void 0;
39
+ exports.AuthorName = exports.AuthorContainer = exports.CardMetadata = exports.CardBody = exports.CardHeader = exports.Card = exports.CardActions = exports.SuggestionSnippet = void 0;
40
40
  /*!
41
41
  * 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.
42
42
  *
@@ -55,7 +55,7 @@ const change_handlers_1 = require("../../../lib/change-handlers");
55
55
  const store_1 = require("../../../store");
56
56
  const SnippetContent_1 = __importDefault(require("./SnippetContent"));
57
57
  const SuggestionActions_1 = __importDefault(require("./SuggestionActions"));
58
- const SuggestionSnippet = ({ suggestions, isComparingMode, isFocused, handleAccept, handleReject, }) => {
58
+ const SuggestionSnippet = ({ suggestions, isComparingMode, isFocused, handleAccept, handleReject, isTrackingChangesVisible: isTrackingChangesVisibleProp, actionButtonRefs, }) => {
59
59
  const [{ view, collaboratorsById, files, isTrackingChangesVisible }] = (0, store_1.useStore)((store) => ({
60
60
  view: store.view,
61
61
  doc: store.doc,
@@ -89,8 +89,8 @@ const SuggestionSnippet = ({ suggestions, isComparingMode, isFocused, handleAcce
89
89
  react_1.default.createElement(exports.AuthorName, null, authorName),
90
90
  ' '),
91
91
  react_1.default.createElement(MetadataDate, { date: dataTracked?.createdAt, isTrackingChangesVisible: isTrackingChangesVisible })),
92
- !isComparingMode && (react_1.default.createElement(CardActions, { "data-cy": "card-actions" },
93
- react_1.default.createElement(SuggestionActions_1.default, { suggestions: suggestions, handleAccept: handleAccept, handleReject: handleReject })))),
92
+ !isComparingMode && (react_1.default.createElement(exports.CardActions, { "data-cy": "card-actions" },
93
+ react_1.default.createElement(SuggestionActions_1.default, { suggestions: suggestions, handleAccept: handleAccept, handleReject: handleReject, buttonRefs: actionButtonRefs })))),
94
94
  react_1.default.createElement(exports.CardBody, { "data-cy": "card-body" },
95
95
  snippet?.operation && (react_1.default.createElement(Operation, { color: isTrackingChangesVisible ? dataTracked.operation : 'muted' },
96
96
  snippet?.operation,
@@ -99,8 +99,10 @@ const SuggestionSnippet = ({ suggestions, isComparingMode, isFocused, handleAcce
99
99
  react_1.default.createElement(SnippetContent_1.default, { content: snippet?.content || '' })))));
100
100
  };
101
101
  exports.SuggestionSnippet = SuggestionSnippet;
102
- const CardActions = styled_components_1.default.div `
103
- visibility: hidden;
102
+ exports.CardActions = styled_components_1.default.div `
103
+ opacity: 0;
104
+ pointer-events: none;
105
+ transition: opacity 0.2s ease;
104
106
  `;
105
107
  const isActive = (props) => props.isFocused && props.isTrackingChangesVisible;
106
108
  exports.Card = styled_components_1.default.div `
@@ -135,16 +137,18 @@ exports.Card = styled_components_1.default.div `
135
137
  : props.theme.colors.background.tracked.default};
136
138
 
137
139
  ${(props) => isActive(props)
138
- ? `${CardActions} {
139
- visibility: visible;
140
+ ? `${exports.CardActions} {
141
+ opacity: 1;
142
+ pointer-events: auto;
140
143
  }`
141
144
  : ''}
142
145
  ${(props) => props.isTrackingChangesVisible
143
146
  ? `&:hover {
144
147
  background: ${props.theme.colors.background.tracked.hover};
145
148
 
146
- ${CardActions} {
147
- visibility: visible;
149
+ ${exports.CardActions} {
150
+ opacity: 1;
151
+ pointer-events: auto;
148
152
  }
149
153
  }`
150
154
  : ''}
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionSnippet.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionSnippet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuggestionSnippet.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/SuggestionSnippet.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.butteryYellow = exports.wheatYellow = exports.zestOrange = exports.peppermintGreen = exports.springGreen = exports.killarneyGreen = exports.darkRed = exports.chablisRed = exports.mandysRed = exports.punchRed = exports.graphBlue1 = exports.powderBlue = exports.aliceBlue = exports.jellyBeanBlue = exports.white = exports.alabasterGrey = exports.seashellGrey = exports.mercuryGrey = exports.greyLight = exports.greyMuted = exports.greyDark = exports.black = exports.manuscriptsSecondary = exports.manuscriptsXLight2 = exports.manuscriptsXLight = exports.manuscriptsLight = exports.manuscriptsIcons = exports.manuscriptsBlue = exports.manuscriptsBlueDark = void 0;
14
+ exports.butteryYellow = exports.wheatYellow = exports.zestOrange = exports.peppermintGreen = exports.springGreen = exports.killarneyGreen = exports.darkRed = exports.chablisRed = exports.mandysRed = exports.punchRed = exports.graphBlue1 = exports.powderBlue = exports.focusBlue = exports.aliceBlue = exports.jellyBeanBlue = exports.white = exports.alabasterGrey = exports.seashellGrey = exports.mercuryGrey = exports.greyLight = exports.greyMuted = exports.greyDark = exports.black = exports.manuscriptsSecondary = exports.manuscriptsXLight2 = exports.manuscriptsXLight = exports.manuscriptsLight = exports.manuscriptsIcons = exports.manuscriptsBlue = exports.manuscriptsBlueDark = void 0;
15
15
  /* PRIMARY PALETTE */
16
16
  exports.manuscriptsBlueDark = '#0b6bb8';
17
17
  exports.manuscriptsBlue = '#0d79d0';
@@ -38,6 +38,7 @@ exports.white = '#fff';
38
38
  /* BLUES */
39
39
  exports.jellyBeanBlue = '#2781a1';
40
40
  exports.aliceBlue = '#f2fbfc';
41
+ exports.focusBlue = '#3DADFF';
41
42
  // export const blueDarker = '#7fb5d5'
42
43
  // export const blue = '#d6e8fc'
43
44
  // export const iceBlue = '#e8f2fc'
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/theme/colors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,qBAAqB;AACR,QAAA,mBAAmB,GAAG,SAAS,CAAA;AAC/B,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,gBAAgB,GAAG,SAAS,CAAA;AAC5B,QAAA,gBAAgB,GAAG,SAAS,CAAA;AAC5B,QAAA,iBAAiB,GAAG,SAAS,CAAA;AAC7B,QAAA,kBAAkB,GAAG,SAAS,CAAA;AAC9B,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAE7C,sBAAsB;AACtB,WAAW;AACE,QAAA,KAAK,GAAG,MAAM,CAAA;AACd,QAAA,QAAQ,GAAG,SAAS,CAAA;AACjC,yCAAyC;AACzC,wCAAwC;AAC3B,QAAA,SAAS,GAAG,SAAS,CAAA;AAClC,sCAAsC;AACtC,qCAAqC;AACxB,QAAA,SAAS,GAAG,SAAS,CAAA;AAClC,oCAAoC;AACvB,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,YAAY,GAAG,SAAS,CAAA;AACxB,QAAA,aAAa,GAAG,SAAS,CAAA;AACzB,QAAA,KAAK,GAAG,MAAM,CAAA;AAE3B,WAAW;AACE,QAAA,aAAa,GAAG,SAAS,CAAA;AACzB,QAAA,SAAS,GAAG,SAAS,CAAA;AAElC,sCAAsC;AACtC,gCAAgC;AAChC,mCAAmC;AACnC,yCAAyC;AAC5B,QAAA,UAAU,GAAG,SAAS,CAAA;AACtB,QAAA,UAAU,GAAG,SAAS,CAAA;AACnC,qCAAqC;AAErC,UAAU;AACG,QAAA,QAAQ,GAAG,SAAS,CAAA;AACjC,qCAAqC;AACrC,qCAAqC;AACrC,oCAAoC;AACvB,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,UAAU,GAAG,SAAS,CAAA;AACtB,QAAA,OAAO,GAAG,SAAS,CAAA;AAEhC,YAAY;AACC,QAAA,cAAc,GAAG,SAAS,CAAA;AACvC,uCAAuC;AACvC,0CAA0C;AAC7B,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,eAAe,GAAG,SAAS,CAAA;AAExC,aAAa;AACA,QAAA,UAAU,GAAG,SAAS,CAAA;AACnC,2CAA2C;AAC3C,sCAAsC;AACtC,yCAAyC;AAC5B,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,aAAa,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/theme/colors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,qBAAqB;AACR,QAAA,mBAAmB,GAAG,SAAS,CAAA;AAC/B,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,gBAAgB,GAAG,SAAS,CAAA;AAC5B,QAAA,gBAAgB,GAAG,SAAS,CAAA;AAC5B,QAAA,iBAAiB,GAAG,SAAS,CAAA;AAC7B,QAAA,kBAAkB,GAAG,SAAS,CAAA;AAC9B,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAE7C,sBAAsB;AACtB,WAAW;AACE,QAAA,KAAK,GAAG,MAAM,CAAA;AACd,QAAA,QAAQ,GAAG,SAAS,CAAA;AACjC,yCAAyC;AACzC,wCAAwC;AAC3B,QAAA,SAAS,GAAG,SAAS,CAAA;AAClC,sCAAsC;AACtC,qCAAqC;AACxB,QAAA,SAAS,GAAG,SAAS,CAAA;AAClC,oCAAoC;AACvB,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,YAAY,GAAG,SAAS,CAAA;AACxB,QAAA,aAAa,GAAG,SAAS,CAAA;AACzB,QAAA,KAAK,GAAG,MAAM,CAAA;AAE3B,WAAW;AACE,QAAA,aAAa,GAAG,SAAS,CAAA;AACzB,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,SAAS,GAAG,SAAS,CAAA;AAElC,sCAAsC;AACtC,gCAAgC;AAChC,mCAAmC;AACnC,yCAAyC;AAC5B,QAAA,UAAU,GAAG,SAAS,CAAA;AACtB,QAAA,UAAU,GAAG,SAAS,CAAA;AACnC,qCAAqC;AAErC,UAAU;AACG,QAAA,QAAQ,GAAG,SAAS,CAAA;AACjC,qCAAqC;AACrC,qCAAqC;AACrC,oCAAoC;AACvB,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,UAAU,GAAG,SAAS,CAAA;AACtB,QAAA,OAAO,GAAG,SAAS,CAAA;AAEhC,YAAY;AACC,QAAA,cAAc,GAAG,SAAS,CAAA;AACvC,uCAAuC;AACvC,0CAA0C;AAC7B,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,eAAe,GAAG,SAAS,CAAA;AAExC,aAAa;AACA,QAAA,UAAU,GAAG,SAAS,CAAA;AACnC,2CAA2C;AAC3C,sCAAsC;AACtC,yCAAyC;AAC5B,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,aAAa,GAAG,SAAS,CAAA"}
@@ -186,6 +186,9 @@ exports.theme = {
186
186
  success: colors.killarneyGreen,
187
187
  warning: colors.zestOrange,
188
188
  },
189
+ outline: {
190
+ focus: colors.focusBlue,
191
+ },
189
192
  },
190
193
  font: {
191
194
  family: {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/theme/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/theme/theme.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,15 @@
12
12
  import { LanguageDropdown } from '@manuscripts/body-editor';
13
13
  import { DotsIcon, DropdownContainer, DropdownList, useDropdown, } from '@manuscripts/style-guide';
14
14
  import { TrackChangesStatus, trackCommands, } from '@manuscripts/track-changes-plugin';
15
- import React from 'react';
15
+ import React, { useEffect, useRef } from 'react';
16
16
  import styled from 'styled-components';
17
17
  import useExecCmd from '../hooks/use-exec-cmd';
18
18
  import { useStore } from '../store/useStore';
19
19
  const DocumentOptionsDropdown = () => {
20
20
  const { isOpen, toggleOpen, wrapperRef } = useDropdown();
21
21
  const execCmd = useExecCmd();
22
+ const toggleButtonRef = useRef(null);
23
+ const itemRefs = useRef([]);
22
24
  const [storeState] = useStore((s) => ({
23
25
  doc: s.doc,
24
26
  view: s.view,
@@ -32,12 +34,52 @@ const DocumentOptionsDropdown = () => {
32
34
  dispatch(tr);
33
35
  }
34
36
  };
37
+ useEffect(() => {
38
+ if (isOpen) {
39
+ itemRefs.current[0]?.focus();
40
+ }
41
+ }, [isOpen]);
42
+ const handleKeyDown = (e) => {
43
+ const menuItems = itemRefs.current.filter(Boolean);
44
+ if (!menuItems.length) {
45
+ return;
46
+ }
47
+ const currentIndex = menuItems.findIndex((item) => item.contains(document.activeElement));
48
+ if (currentIndex === -1) {
49
+ return;
50
+ }
51
+ const length = menuItems.length;
52
+ if (e.key === 'ArrowDown') {
53
+ e.preventDefault();
54
+ const nextIndex = (currentIndex + 1) % length;
55
+ menuItems[nextIndex]?.focus();
56
+ }
57
+ else if (e.key === 'ArrowUp') {
58
+ e.preventDefault();
59
+ const prevIndex = (currentIndex - 1 + length) % length;
60
+ menuItems[prevIndex]?.focus();
61
+ }
62
+ else if (e.key === 'Escape') {
63
+ e.preventDefault();
64
+ toggleOpen();
65
+ toggleButtonRef.current?.focus();
66
+ }
67
+ };
35
68
  return (React.createElement(DropdownContainer, { ref: wrapperRef },
36
- React.createElement(ToggleDropdownButton, { "data-cy": "document-options-button", title: "Document Options", onClick: toggleOpen },
69
+ React.createElement(ToggleDropdownButton, { ref: toggleButtonRef, "data-cy": "document-options-button", title: "Document Options", onClick: toggleOpen, tabIndex: 0 },
37
70
  React.createElement(DotsIcon, null)),
38
- isOpen && (React.createElement(HistoryDropdownList, { "data-cy": "history-dropdown", direction: "right", width: 192, top: 5, onClick: toggleOpen },
39
- React.createElement(DropdownItem, { "data-cy": "version-history-button", onClick: () => execCmd(trackCommands.setTrackingStatus(TrackChangesStatus.viewSnapshots)) }, "Version history"),
40
- React.createElement(LanguageDropdown, { showButton: true, buttonLabel: "Document language", currentLanguage: storeState.doc?.attrs?.primaryLanguageCode || 'en', onLanguageSelect: handleLanguageChange, onCloseParent: toggleOpen, languages: storeState.languages })))));
71
+ isOpen && (React.createElement(HistoryDropdownList, { role: "menu", "data-cy": "history-dropdown", direction: "right", width: 192, top: 5, onKeyDown: handleKeyDown },
72
+ React.createElement(DropdownItem, { ref: (el) => {
73
+ itemRefs.current[0] = el;
74
+ }, "data-cy": "version-history-button", tabIndex: 0, role: "menuitem", onClick: () => execCmd(trackCommands.setTrackingStatus(TrackChangesStatus.viewSnapshots)), onKeyDown: (e) => {
75
+ if (e.key === 'Enter') {
76
+ e.preventDefault();
77
+ execCmd(trackCommands.setTrackingStatus(TrackChangesStatus.viewSnapshots));
78
+ }
79
+ } }, "Version history"),
80
+ React.createElement(LanguageDropdown, { showButton: true, buttonLabel: "Document language", currentLanguage: storeState.doc?.attrs?.primaryLanguageCode || 'en', onLanguageSelect: handleLanguageChange, onCloseParent: toggleOpen, languages: storeState.languages, menuItemRef: (el) => {
81
+ itemRefs.current[1] = el;
82
+ } })))));
41
83
  };
42
84
  export default DocumentOptionsDropdown;
43
85
  const ToggleDropdownButton = styled.button `
@@ -48,6 +90,11 @@ const ToggleDropdownButton = styled.button `
48
90
  &:focus {
49
91
  outline: none;
50
92
  }
93
+
94
+ &:focus-visible {
95
+ outline: 2px solid ${(props) => props.theme.colors.outline.focus};
96
+ outline-offset: -2px;
97
+ }
51
98
  `;
52
99
  const DropdownItem = styled.div `
53
100
  font-family: ${(props) => props.theme.font.family.Lato};
@@ -57,9 +104,15 @@ const DropdownItem = styled.div `
57
104
  color: ${(props) => props.theme.colors.text.primary};
58
105
  padding: 16px;
59
106
 
60
- &:hover {
107
+ &:hover,
108
+ &:focus-visible {
61
109
  background: ${(props) => props.theme.colors.background.fifth};
62
110
  }
111
+
112
+ &:focus-visible {
113
+ outline: 2px solid ${(props) => props.theme.colors.outline.focus};
114
+ outline-offset: -2px;
115
+ }
63
116
  `;
64
117
  const HistoryDropdownList = styled(DropdownList) `
65
118
  top: 0;