dbeaver/pro#5673 Add search ability for the value panel (#3511)

* dbeaver/pro#5673 feat: add search panel component and integrate search functionality

* dbeaver/pro#5673 feat: enhance search panel layout styles

* dbeaver/pro#5673 feat: reactive search panel

* dbeaver/pro#5673 refactor: separation of concerns

* dbeaver/pro#5673 refactor: make outline thinner in search panel

* dbeaver/pro#5673 feat: Add new SVG icons for match word, regex, and replace functionalities

* dbeaver/pro#5673 feat: add Icon component with customizable properties and documentation

* dbeaver/pro#5673 feat: update OrderButton and SearchPanel to use new Icon component

* dbeaver/pro#5673 feat: refactor SearchPanel layout

* dbeaver/pro#5673 refactor: remove redundant reexport

* dbeaver/pro#5673 refactor: convert SearchPanel to a MobX observer component

* dbeaver/pro#5673 refactor: remove unused searchOptions from IDefaultExtensions interface

* dbeaver/pro#5673 refactor: use useImperativeHandle for focus handling

To exclude the chance of manipulating input unexpectedly outside of the component.

* dbeaver/pro#5673 refactor: adjust padding and margin in search panel styles

* dbeaver/pro#5673 refactor: update SVG icon import to use react component

* dbeaver/pro#5673 build: update dependencies in yarn.lock

* dbeaver/pro#5673 fix: regexp

* dbeaver/pro#5673 fix: correct translation for 'No found' to 'Not found'

* dbeaver/pro#5673 refactor: remove extra regex check

* dbeaver/pro#5673 refactor: fix styles

* dbeaver/pro#5673 fix: swap arrow icons for find next and find previous buttons

* dbeaver/pro#5673 fix: adjust flex-basis for search panel matches container

* dbeaver/pro#5673 feat: add isReadOnly prop to SearchPanel

* dbeaver/pro#5673 feat: add placeholder color variables for input fields

---------

Co-authored-by: Alexey <wrouds@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
This commit is contained in:
Sychev Andrey
2025-06-13 17:22:38 +08:00
committed by GitHub
co-authored by Alexey Evgenia mr-anton-t
parent 41ff7485d5
commit 5c17cc660d
58 changed files with 2406 additions and 37 deletions
@@ -7,7 +7,7 @@
*/
import { defaultKeymap, indentWithTab } from '@codemirror/commands';
import { bracketMatching, foldGutter, indentOnInput, syntaxHighlighting } from '@codemirror/language';
import { highlightSelectionMatches } from '@codemirror/search';
import { highlightSelectionMatches, searchKeymap } from '@codemirror/search';
import { Compartment, type Extension } from '@codemirror/state';
import {
crosshairCursor,
@@ -35,6 +35,7 @@ DEFAULT_KEY_MAP.push({
key: 'Mod-s',
run: () => true,
});
DEFAULT_KEY_MAP.push(...searchKeymap);
const defaultExtensionsFlags: IDefaultExtensions = {
lineNumbers: false,
@@ -52,6 +53,7 @@ const defaultExtensionsFlags: IDefaultExtensions = {
rectangularSelection: true,
keymap: true,
lineWrapping: false,
search: true,
};
export interface IDefaultExtensions {
@@ -70,6 +72,7 @@ export interface IDefaultExtensions {
rectangularSelection?: boolean;
keymap?: boolean;
lineWrapping?: boolean;
search?: boolean;
}
const extensionMap = {