@jupyterlab/shortcuts-extension 5.4.0-alpha.2 → 5.4.0-alpha.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.
Files changed (46) hide show
  1. package/lib/components/NewShortcutItem.d.ts +44 -0
  2. package/lib/components/NewShortcutItem.js +107 -0
  3. package/lib/components/NewShortcutItem.js.map +1 -0
  4. package/lib/components/ShortcutCustomOptions.d.ts +20 -0
  5. package/lib/components/ShortcutCustomOptions.js +173 -0
  6. package/lib/components/ShortcutCustomOptions.js.map +1 -0
  7. package/lib/components/ShortcutInput.d.ts +2 -2
  8. package/lib/components/ShortcutInput.js.map +1 -1
  9. package/lib/components/ShortcutItem.d.ts +10 -3
  10. package/lib/components/ShortcutItem.js +82 -8
  11. package/lib/components/ShortcutItem.js.map +1 -1
  12. package/lib/components/ShortcutList.d.ts +2 -1
  13. package/lib/components/ShortcutList.js +1 -1
  14. package/lib/components/ShortcutList.js.map +1 -1
  15. package/lib/components/ShortcutTitleItem.d.ts +1 -1
  16. package/lib/components/ShortcutUI.d.ts +18 -1
  17. package/lib/components/ShortcutUI.js +81 -121
  18. package/lib/components/ShortcutUI.js.map +1 -1
  19. package/lib/components/TopNav.d.ts +4 -2
  20. package/lib/components/TopNav.js +6 -3
  21. package/lib/components/TopNav.js.map +1 -1
  22. package/lib/index.d.ts +1 -1
  23. package/lib/index.js +12 -7
  24. package/lib/index.js.map +1 -1
  25. package/lib/registry.d.ts +11 -5
  26. package/lib/registry.js +174 -24
  27. package/lib/registry.js.map +1 -1
  28. package/lib/renderer.d.ts +1 -1
  29. package/lib/types.d.ts +49 -3
  30. package/lib/types.js.map +1 -1
  31. package/package.json +11 -7
  32. package/src/components/NewShortcutItem.tsx +154 -0
  33. package/src/components/ShortcutCustomOptions.tsx +235 -0
  34. package/src/components/ShortcutInput.tsx +6 -6
  35. package/src/components/ShortcutItem.tsx +154 -21
  36. package/src/components/ShortcutList.tsx +3 -1
  37. package/src/components/ShortcutTitleItem.tsx +1 -1
  38. package/src/components/ShortcutUI.tsx +112 -167
  39. package/src/components/TopNav.tsx +19 -3
  40. package/src/index.ts +27 -15
  41. package/src/registry.ts +218 -32
  42. package/src/renderer.tsx +1 -1
  43. package/src/types.ts +62 -5
  44. package/style/base.css +99 -1
  45. package/style/index.css +3 -0
  46. package/style/index.js +3 -0
@@ -0,0 +1,44 @@
1
+ import type { ISignal } from '@lumino/signaling';
2
+ import type { ICustomOptions, IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types';
3
+ import type { IShortcutItemProps } from './ShortcutItem';
4
+ /** Props for ShortcutItem component */
5
+ export interface INewShortcutItemProps {
6
+ findConflictsFor: IShortcutRegistry['findConflictsFor'];
7
+ showSelectors: boolean;
8
+ external: IShortcutUI.IExternalBundle;
9
+ }
10
+ export declare class NewShortcutItem implements IShortcutItemProps {
11
+ constructor(options: INewShortcutItemProps);
12
+ showSelectors: boolean;
13
+ external: IShortcutUI.IExternalBundle;
14
+ get shortcut(): IShortcutTarget;
15
+ get changed(): ISignal<NewShortcutItem, void>;
16
+ /**
17
+ * Reset the shortcut.
18
+ */
19
+ reset: () => void;
20
+ /**
21
+ * Add a new keybinding.
22
+ */
23
+ addKeybinding: (target: IShortcutTarget, keys: string[]) => Promise<void>;
24
+ /**
25
+ * Replace the given keybinding with a new keybinding as defined by given keys.
26
+ */
27
+ replaceKeybinding: (target: IShortcutTarget, keybinding: IKeybinding, keys: string[]) => Promise<void>;
28
+ /**
29
+ * Delete a single keybinding for given shortcut target.
30
+ */
31
+ deleteKeybinding: (target: IShortcutTarget, keybinding: IKeybinding) => Promise<void>;
32
+ /**
33
+ * Reset keybindings for given target to defaults.
34
+ */
35
+ resetKeybindings: (target: IShortcutTarget) => Promise<void>;
36
+ /**
37
+ * Update the selector and args for a user defined shortcut.
38
+ */
39
+ setCustomOptions: (target: IShortcutTarget, options: ICustomOptions) => Promise<boolean>;
40
+ updateCommand: (command: string, category: string) => void;
41
+ private _shortcut;
42
+ findConflictsFor: (keys: string[], selector: string) => IShortcutTarget[];
43
+ private _changed;
44
+ }
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { Signal } from '@lumino/signaling';
6
+ export class NewShortcutItem {
7
+ constructor(options) {
8
+ /**
9
+ * Reset the shortcut.
10
+ */
11
+ this.reset = () => {
12
+ this._shortcut = {
13
+ id: 'new shortcut',
14
+ command: '',
15
+ keybindings: [],
16
+ selector: 'body',
17
+ category: '',
18
+ args: {}
19
+ };
20
+ this._changed.emit();
21
+ };
22
+ /**
23
+ * Add a new keybinding.
24
+ */
25
+ this.addKeybinding = async (target, keys) => {
26
+ this._shortcut.keybindings.push({ keys, isDefault: false });
27
+ this._changed.emit();
28
+ };
29
+ /**
30
+ * Replace the given keybinding with a new keybinding as defined by given keys.
31
+ */
32
+ this.replaceKeybinding = async (target, keybinding, keys) => {
33
+ //Remove empty keys and delete keybindings if there is no new key.
34
+ keys = keys.filter(key => key !== '');
35
+ if (!keys.length) {
36
+ return this.deleteKeybinding(target, keybinding);
37
+ }
38
+ const index = this._shortcut.keybindings.findIndex(binding => binding.keys === keybinding.keys);
39
+ if (index > -1) {
40
+ this._shortcut.keybindings[index] = { keys, isDefault: false };
41
+ }
42
+ else {
43
+ void this.addKeybinding(target, keys);
44
+ }
45
+ this._changed.emit();
46
+ };
47
+ /**
48
+ * Delete a single keybinding for given shortcut target.
49
+ */
50
+ this.deleteKeybinding = async (target, keybinding) => {
51
+ const index = this._shortcut.keybindings.findIndex(binding => binding.keys === keybinding.keys);
52
+ if (index > -1) {
53
+ this._shortcut.keybindings.splice(index, 1);
54
+ this._changed.emit();
55
+ }
56
+ };
57
+ /**
58
+ * Reset keybindings for given target to defaults.
59
+ */
60
+ this.resetKeybindings = async (target) => {
61
+ this._shortcut = {
62
+ ...this._shortcut,
63
+ keybindings: []
64
+ };
65
+ this._changed.emit();
66
+ };
67
+ /**
68
+ * Update the selector and args for a user defined shortcut.
69
+ */
70
+ this.setCustomOptions = async (target, options) => {
71
+ this._shortcut = {
72
+ ...this._shortcut,
73
+ selector: options.selector,
74
+ args: options.args
75
+ };
76
+ this._changed.emit();
77
+ return true;
78
+ };
79
+ this.updateCommand = (command, category) => {
80
+ this._shortcut = {
81
+ ...this._shortcut,
82
+ command,
83
+ category
84
+ };
85
+ this._changed.emit();
86
+ };
87
+ this._changed = new Signal(this);
88
+ this._shortcut = {
89
+ id: 'new shortcut',
90
+ command: '',
91
+ keybindings: [],
92
+ selector: 'body',
93
+ category: '',
94
+ args: {}
95
+ };
96
+ this.findConflictsFor = options.findConflictsFor;
97
+ this.showSelectors = options.showSelectors;
98
+ this.external = options.external;
99
+ }
100
+ get shortcut() {
101
+ return this._shortcut;
102
+ }
103
+ get changed() {
104
+ return this._changed;
105
+ }
106
+ }
107
+ //# sourceMappingURL=NewShortcutItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewShortcutItem.js","sourceRoot":"","sources":["../../src/components/NewShortcutItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Dialog } from '@jupyterlab/apputils';
2
+ import { CodeEditor } from '@jupyterlab/codeeditor';
3
+ import type { ITranslator } from '@jupyterlab/translation';
4
+ import type { ICustomOptions, IShortcutTarget } from '../types';
5
+ export declare class CustomOptionsDialog extends Dialog<ICustomOptions> {
6
+ constructor(options: {
7
+ shortcut: IShortcutTarget;
8
+ editorFactory: CodeEditor.Factory;
9
+ translator: ITranslator;
10
+ readOnly: boolean;
11
+ });
12
+ /**
13
+ * Overwrite the keyboard event to prevent the dialog from submitting when
14
+ * pressing Enter in the JSON editor.
15
+ *
16
+ * For all other keys (and Enter outside the JSON editor), delegate to the
17
+ * base dialog handler to preserve standard keyboard behavior.
18
+ */
19
+ protected _evtKeydown(event: KeyboardEvent): void;
20
+ }
@@ -0,0 +1,173 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { Dialog } from '@jupyterlab/apputils';
6
+ import { CodeEditor } from '@jupyterlab/codeeditor';
7
+ import { Widget } from '@lumino/widgets';
8
+ export class CustomOptionsDialog extends Dialog {
9
+ constructor(options) {
10
+ const { shortcut, translator, editorFactory } = options;
11
+ const trans = translator.load('jupyterlab');
12
+ const body = new CustomOptionsDialogBody(shortcut, translator, editorFactory, () => this._checkValidation(), options.readOnly);
13
+ const buttons = [];
14
+ if (options.readOnly) {
15
+ buttons.push(Dialog.cancelButton({ label: trans.__('OK') }));
16
+ }
17
+ else {
18
+ buttons.push(Dialog.cancelButton({ label: trans.__('Cancel') }));
19
+ buttons.push(Dialog.okButton({ label: trans.__('Apply') }));
20
+ }
21
+ super({
22
+ title: options.readOnly
23
+ ? trans.__('Shortcut Options')
24
+ : trans.__('Custom Shortcut Options'),
25
+ body,
26
+ buttons
27
+ });
28
+ }
29
+ /**
30
+ * Overwrite the keyboard event to prevent the dialog from submitting when
31
+ * pressing Enter in the JSON editor.
32
+ *
33
+ * For all other keys (and Enter outside the JSON editor), delegate to the
34
+ * base dialog handler to preserve standard keyboard behavior.
35
+ */
36
+ _evtKeydown(event) {
37
+ if (event.key === 'Enter') {
38
+ // If focus is inside the JSON editor, prevent the dialog from treating
39
+ // Enter as a submit/activate-default-button key.
40
+ const jsonEditorNode = this.node.querySelector('.jp-JSONEditor');
41
+ const activeElement = document.activeElement;
42
+ if (jsonEditorNode instanceof HTMLElement &&
43
+ activeElement instanceof HTMLElement &&
44
+ jsonEditorNode.contains(activeElement)) {
45
+ event.stopPropagation();
46
+ return;
47
+ }
48
+ }
49
+ // Fallback to the default dialog behavior.
50
+ super._evtKeydown(event);
51
+ }
52
+ }
53
+ /**
54
+ * Body widget for the custom options dialog.
55
+ */
56
+ class CustomOptionsDialogBody extends Widget {
57
+ constructor(shortcut, translator, editorFactory, checkValidation, readOnly) {
58
+ var _a, _b;
59
+ super();
60
+ const trans = translator.load('jupyterlab');
61
+ this.addClass('jp-Shortcuts-CustomOptionsDialogBody');
62
+ // Create main container
63
+ const container = document.createElement('div');
64
+ container.className = 'jp-Shortcuts-CustomOptionDialog-container';
65
+ // Selector section
66
+ const selectorLabel = document.createElement('label');
67
+ selectorLabel.textContent = trans.__('Selector:');
68
+ selectorLabel.className = 'jp-Dialog-label';
69
+ this._selectorInput = document.createElement('input');
70
+ this._selectorInput.type = 'text';
71
+ this._selectorInput.disabled = readOnly !== null && readOnly !== void 0 ? readOnly : false;
72
+ this._selectorInput.value = shortcut.selector;
73
+ this._selectorInput.className = 'jp-mod-styled';
74
+ container.appendChild(selectorLabel);
75
+ container.appendChild(this._selectorInput);
76
+ // Args section
77
+ const argsLabel = document.createElement('label');
78
+ argsLabel.textContent = trans.__('Arguments:');
79
+ argsLabel.className = 'jp-Dialog-label';
80
+ container.appendChild(argsLabel);
81
+ if (readOnly) {
82
+ const argsPre = document.createElement('pre');
83
+ argsPre.textContent = JSON.stringify((_a = shortcut.args) !== null && _a !== void 0 ? _a : {}, undefined, 2);
84
+ container.appendChild(argsPre);
85
+ }
86
+ else {
87
+ // Create dedicated JSON editor widget
88
+ this._editorWidget = new JSONEditorWidget((_b = shortcut.args) !== null && _b !== void 0 ? _b : {}, editorFactory, checkValidation);
89
+ container.appendChild(this._editorWidget.node);
90
+ }
91
+ this.node.appendChild(container);
92
+ }
93
+ /**
94
+ * Get the value from the dialog body.
95
+ */
96
+ getValue() {
97
+ var _a, _b;
98
+ const argsText = (_b = (_a = this._editorWidget) === null || _a === void 0 ? void 0 : _a.getJSON()) !== null && _b !== void 0 ? _b : '{}';
99
+ let args;
100
+ try {
101
+ args = JSON.parse(argsText);
102
+ }
103
+ catch (error) {
104
+ console.error(`Invalid JSON in arguments: ${error instanceof Error ? error.message : String(error)}`);
105
+ args = {};
106
+ }
107
+ return {
108
+ selector: this._selectorInput.value,
109
+ args
110
+ };
111
+ }
112
+ /**
113
+ * Dispose resources.
114
+ */
115
+ dispose() {
116
+ var _a;
117
+ (_a = this._editorWidget) === null || _a === void 0 ? void 0 : _a.dispose();
118
+ super.dispose();
119
+ }
120
+ }
121
+ /**
122
+ * A dedicated widget for JSON editing with validation.
123
+ */
124
+ class JSONEditorWidget extends Widget {
125
+ constructor(initialArgs, editorFactory, checkValidation) {
126
+ super();
127
+ /**
128
+ * Validate the JSON sources.
129
+ */
130
+ this._validateJSON = () => {
131
+ try {
132
+ const text = this._editor.model.sharedModel.getSource();
133
+ JSON.parse(text);
134
+ this.node.classList.remove('jp-mod-error');
135
+ }
136
+ catch (error) {
137
+ this.node.classList.add('jp-mod-error');
138
+ }
139
+ this._checkValidation();
140
+ };
141
+ this.addClass('jp-JSONEditor');
142
+ this._checkValidation = checkValidation;
143
+ const editorHostNode = document.createElement('div');
144
+ editorHostNode.className = 'jp-JSONEditor-host';
145
+ const model = new CodeEditor.Model({ mimeType: 'application/json' });
146
+ const content = JSON.stringify(initialArgs, null, 2);
147
+ model.sharedModel.setSource(content);
148
+ this._editor = editorFactory({
149
+ host: editorHostNode,
150
+ model,
151
+ config: {
152
+ readOnly: false
153
+ }
154
+ });
155
+ this.node.appendChild(editorHostNode);
156
+ this._editor.model.sharedModel.changed.connect(this._validateJSON, this);
157
+ }
158
+ /**
159
+ * Get the current JSON text.
160
+ */
161
+ getJSON() {
162
+ return this._editor.model.sharedModel.getSource();
163
+ }
164
+ /**
165
+ * Dispose of the resources.
166
+ */
167
+ dispose() {
168
+ this._editor.model.sharedModel.changed.disconnect(this._validateJSON, this);
169
+ this._editor.dispose();
170
+ super.dispose();
171
+ }
172
+ }
173
+ //# sourceMappingURL=ShortcutCustomOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutCustomOptions.js","sourceRoot":"","sources":["../../src/components/ShortcutCustomOptions.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { ITranslator } from '@jupyterlab/translation';
3
- import { IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types';
2
+ import type { ITranslator } from '@jupyterlab/translation';
3
+ import type { IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types';
4
4
  export declare const CONFLICT_CONTAINER_CLASS = "jp-Shortcuts-ConflictContainer";
5
5
  export interface IConflicts {
6
6
  keys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ShortcutInput.js","sourceRoot":"","sources":["../../src/components/ShortcutInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShortcutInput.js","sourceRoot":"","sources":["../../src/components/ShortcutInput.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { IConflicts } from './ShortcutInput';
3
- import { IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types';
2
+ import type { IConflicts } from './ShortcutInput';
3
+ import type { IKeybinding, IShortcutRegistry, IShortcutTarget, IShortcutUI } from '../types';
4
4
  /** Props for ShortcutItem component */
5
5
  export interface IShortcutItemProps {
6
6
  shortcut: IShortcutTarget;
@@ -9,8 +9,14 @@ export interface IShortcutItemProps {
9
9
  resetKeybindings: IShortcutUI['resetKeybindings'];
10
10
  deleteKeybinding: IShortcutUI['deleteKeybinding'];
11
11
  findConflictsFor: IShortcutRegistry['findConflictsFor'];
12
+ setCustomOptions: IShortcutUI['setCustomOptions'];
12
13
  showSelectors: boolean;
13
14
  external: IShortcutUI.IExternalBundle;
15
+ newShortcutUtils?: {
16
+ searchQuery: string;
17
+ updateCommand: (command: string, category: string) => void;
18
+ saveShortcut: () => Promise<void>;
19
+ };
14
20
  }
15
21
  /** State for ShortcutItem component */
16
22
  export interface IShortcutItemState {
@@ -36,7 +42,7 @@ export declare class ShortcutItem extends React.Component<IShortcutItemProps, IS
36
42
  getClassNameForShortCuts(nonEmptyBindings: IKeybinding[]): string;
37
43
  toggleInputReplaceMethod(location: number): void;
38
44
  getDisplayReplaceInput(location: number): boolean;
39
- getOrDiplayIfNeeded(force: boolean): JSX.Element;
45
+ getOrDisplayIfNeeded(force: boolean): JSX.Element;
40
46
  getShortCutAsInput(binding: IKeybinding, location: number): JSX.Element;
41
47
  getShortCutForDisplayOnly(binding: IKeybinding): JSX.Element[];
42
48
  isLocationBeingEdited(location: number): boolean;
@@ -53,6 +59,7 @@ export declare class ShortcutItem extends React.Component<IShortcutItemProps, IS
53
59
  * Create a unique conflict identifier.
54
60
  */
55
61
  private _conflictId;
62
+ private _getFilteredCommands;
56
63
  private get _nonEmptyBindings();
57
64
  render(): JSX.Element;
58
65
  private _trans;
@@ -2,9 +2,13 @@
2
2
  * Copyright (c) Jupyter Development Team.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
+ import { Button } from '@jupyter/react-components';
6
+ import { checkIcon, editIcon, HTMLSelect, infoIcon } from '@jupyterlab/ui-components';
5
7
  import { Platform } from '@lumino/domutils';
6
8
  import * as React from 'react';
9
+ import { CustomOptionsDialog } from './ShortcutCustomOptions';
7
10
  import { CONFLICT_CONTAINER_CLASS, ShortcutInput } from './ShortcutInput';
11
+ import { ShortcutRegistry } from '../registry';
8
12
  /** React component for each command shortcut item */
9
13
  export class ShortcutItem extends React.Component {
10
14
  constructor(props) {
@@ -75,17 +79,62 @@ export class ShortcutItem extends React.Component {
75
79
  }
76
80
  getLabelCell() {
77
81
  var _a;
78
- return (React.createElement("div", { className: "jp-Shortcuts-Cell" },
79
- React.createElement("div", { className: "jp-label" }, (_a = this.props.shortcut.label) !== null && _a !== void 0 ? _a : this._trans.__('(Command label missing)'))));
82
+ if (this.props.newShortcutUtils) {
83
+ const filteredShortcuts = this._getFilteredCommands();
84
+ return (React.createElement("div", { className: "jp-Shortcuts-Cell" },
85
+ React.createElement(HTMLSelect, { value: this.props.shortcut.command, options: [
86
+ { value: '', label: this._trans.__('Select a command') },
87
+ ...filteredShortcuts.map(shortcut => ({
88
+ value: shortcut.command,
89
+ label: `${shortcut.category}: ${shortcut.label}`
90
+ }))
91
+ ], onChange: e => {
92
+ var _a, _b, _c;
93
+ const shortcut = filteredShortcuts.find(shortcut => shortcut.command === e.target.value);
94
+ (_a = this.props.newShortcutUtils) === null || _a === void 0 ? void 0 : _a.updateCommand((_b = shortcut === null || shortcut === void 0 ? void 0 : shortcut.command) !== null && _b !== void 0 ? _b : '', (_c = shortcut === null || shortcut === void 0 ? void 0 : shortcut.category) !== null && _c !== void 0 ? _c : '');
95
+ } })));
96
+ }
97
+ else {
98
+ return (React.createElement("div", { className: "jp-Shortcuts-Cell" },
99
+ React.createElement("div", { className: "jp-label" }, (_a = this.props.shortcut.label) !== null && _a !== void 0 ? _a : this._trans.__('(Command label missing)'))));
100
+ }
80
101
  }
81
102
  getResetShortCutLink() {
82
- return (React.createElement("a", { className: "jp-Shortcuts-Reset", onClick: () => this.props.resetKeybindings(this.props.shortcut) }, this._trans.__('Reset')));
103
+ return (React.createElement("a", { className: "jp-Shortcuts-Reset", onClick: () => this.props.resetKeybindings(this.props.shortcut) }, this.props.shortcut.userDefined
104
+ ? this._trans.__('Delete')
105
+ : this._trans.__('Reset')));
83
106
  }
84
107
  getSourceCell() {
108
+ var _a;
85
109
  const allDefault = this.props.shortcut.keybindings.every(binding => binding.isDefault);
110
+ const editable = this.props.shortcut.userDefined || !!this.props.newShortcutUtils;
111
+ const showOptionsButtonTitle = editable
112
+ ? this._trans.__('Custom options')
113
+ : this._trans.__('Show options');
86
114
  return (React.createElement("div", { className: "jp-Shortcuts-Cell" },
87
- React.createElement("div", { className: "jp-Shortcuts-SourceCell" }, allDefault ? this._trans.__('Default') : this._trans.__('Custom')),
88
- !allDefault ? this.getResetShortCutLink() : ''));
115
+ !this.props.newShortcutUtils && (React.createElement("div", { className: "jp-Shortcuts-SourceCell" }, allDefault ? this._trans.__('Default') : this._trans.__('Custom'))),
116
+ !allDefault ? this.getResetShortCutLink() : '',
117
+ this.props.external.editorFactory && (React.createElement(Button, { className: "jp-mod-styled jp-mod-reject jp-Shortcuts-CustomOptions", onClick: async () => {
118
+ if (!this.props.external.editorFactory) {
119
+ console.error('Cannot build the custom options form');
120
+ return;
121
+ }
122
+ const dialog = new CustomOptionsDialog({
123
+ shortcut: this.props.shortcut,
124
+ translator: this.props.external.translator,
125
+ editorFactory: this.props.external.editorFactory,
126
+ readOnly: !editable
127
+ });
128
+ const result = await dialog.launch();
129
+ if (result.button.accept && editable && result.value) {
130
+ await this.props.setCustomOptions(this.props.shortcut, result.value);
131
+ }
132
+ }, title: showOptionsButtonTitle, "aria-label": showOptionsButtonTitle, appearance: 'neutral' }, editable ? (React.createElement(editIcon.react, { tag: null })) : (React.createElement(infoIcon.react, { tag: null })))),
133
+ !!this.props.newShortcutUtils && (React.createElement(React.Fragment, null,
134
+ React.createElement(Button, { className: "jp-mod-styled jp-mod-accept jp-Shortcuts-SaveNew", onClick: (_a = this.props.newShortcutUtils) === null || _a === void 0 ? void 0 : _a.saveShortcut, title: this._trans.__('Save shortcut'), "aria-label": this._trans.__('Save shortcut'), appearance: "neutral", disabled: !this.props.shortcut.command ||
135
+ !this.props.shortcut.keybindings.length ||
136
+ this.props.shortcut.keybindings.every(binding => !binding.keys || binding.keys.length === 0) },
137
+ React.createElement(checkIcon.react, { tag: null }))))));
89
138
  }
90
139
  getOptionalSelectorCell() {
91
140
  return this.props.showSelectors ? (React.createElement("div", { className: "jp-Shortcuts-Cell" },
@@ -117,7 +166,7 @@ export class ShortcutItem extends React.Component {
117
166
  getDisplayReplaceInput(location) {
118
167
  return this.state.displayReplaceInput[location];
119
168
  }
120
- getOrDiplayIfNeeded(force) {
169
+ getOrDisplayIfNeeded(force) {
121
170
  const classes = ['jp-Shortcuts-Or'];
122
171
  if (force || this.state.displayNewInput) {
123
172
  classes.push('jp-Shortcuts-Or-Forced');
@@ -146,7 +195,7 @@ export class ShortcutItem extends React.Component {
146
195
  : this.getShortCutForDisplayOnly(binding),
147
196
  !(index === this._nonEmptyBindings.length - 1 &&
148
197
  Object.values(this.state.displayReplaceInput).some(Boolean)) &&
149
- this.getOrDiplayIfNeeded(index < this._nonEmptyBindings.length - 1)));
198
+ this.getOrDisplayIfNeeded(index < this._nonEmptyBindings.length - 1)));
150
199
  }
151
200
  getAddLink() {
152
201
  return (React.createElement("a", { className: !this.state.displayNewInput ? 'jp-Shortcuts-Plus' : '', onClick: () => {
@@ -220,12 +269,37 @@ export class ShortcutItem extends React.Component {
220
269
  '_' +
221
270
  conflict.conflictsWith.map(target => target.id).join(''));
222
271
  }
272
+ _getFilteredCommands() {
273
+ var _a, _b;
274
+ const registry = new ShortcutRegistry({
275
+ commandRegistry: this.props.external.commandRegistry,
276
+ allCommands: true
277
+ });
278
+ const filteredShortcuts = ShortcutRegistry.matchItems(registry, (_b = (_a = this.props.newShortcutUtils) === null || _a === void 0 ? void 0 : _a.searchQuery) !== null && _b !== void 0 ? _b : '')
279
+ .map((item) => item.item)
280
+ .filter(target => !target.command.startsWith('__internal:'));
281
+ filteredShortcuts.sort((a, b) => {
282
+ var _a, _b;
283
+ const compareA = a.category;
284
+ const compareB = b.category;
285
+ const compareResult = compareA.localeCompare(compareB);
286
+ if (compareResult) {
287
+ return compareResult;
288
+ }
289
+ else {
290
+ const aLabel = (_a = a['label']) !== null && _a !== void 0 ? _a : '';
291
+ const bLabel = (_b = b['label']) !== null && _b !== void 0 ? _b : '';
292
+ return aLabel.localeCompare(bLabel);
293
+ }
294
+ });
295
+ return filteredShortcuts;
296
+ }
223
297
  get _nonEmptyBindings() {
224
298
  return this.props.shortcut.keybindings.filter(binding => binding.keys.filter(k => k != '').length !== 0);
225
299
  }
226
300
  render() {
227
301
  return (React.createElement(React.Fragment, null,
228
- React.createElement("div", { className: "jp-Shortcuts-Row", "data-shortcut": this.props.shortcut.id },
302
+ React.createElement("div", { className: `jp-Shortcuts-Row${this.props.newShortcutUtils ? ' jp-Shortcuts-Row-newShortcut' : ''}`, "data-shortcut": this.props.shortcut.id },
229
303
  this.getCategoryCell(),
230
304
  this.getLabelCell(),
231
305
  this.getShortCutsCell(this._nonEmptyBindings),