* dbeaver/pro#7570 adds highlight for text spaces and new line
* refactors + changes colors
* allows to add props to extensions
* pointer events none for new line
* do not show enter symbol if line has no whitespaces below this line
* removes highlightTrailingWhitespace so the red background disappears
---------
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: Sychev Andrey <44414066+SychevAndrey@users.noreply.github.com>
* dbeaver/pro#7465 refactor: migrate context menu to ariakit
* refactor: remove unused modal prop from ContextMenu and clean up schema name handling
* chore: add memoization to the base context menu components
* fix: menu issues
---------
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
* dbeaver/pro#4583 feat: add tab reordering functionality in NavigationTabsService
* dbeaver/pro#4583 feat: update tab filtering to support tabs order
* dbeaver/pro#4583 feat: add tab drag-and-drop functionality and associated tests
* dbeaver/pro#4583 feat: implement tab drag-and-drop functionality
* dbeaver/pro#4583 fix: adjust tab reordering logic to handle dragged tab position correctly
since our reordering logic is duplicating in two components and, moreover, I found a bug in one of the implementations, I decided to put all the common logic to a dedicated helper with test coverage to be sure we use the right logic everywhere.
* dbeaver/pro#4583 test: remove redundant tests for onReorder in useTabDragAndDrop
* dbeaver/pro#4583 refactor: update reorderTab method to remove return value
* dbeaver/pro#4583 feat: add tab reordering functionality to SqlResultTabs component
* dbeaver/pro#4583 feat: add tabs order persistence via useUserData hook
* dbeaver/pro#4583 feat: integrate react-dnd for tab drag-and-drop functionality
* dbeaver/pro#4583 chore: update deps
* dbeaver/pro#4583 feat: integrate @dbeaver/js-helpers for array reordering in useHeaderDnD
* dbeaver/pro#4583 refactor: simplify reorderArray implementation by extracting some logic to helpers
* dbeaver/pro#4583 refactor: extracted tab reordering to a separate hook
- moved the tab order persistence logic into a new useTabOrderPersistence hook to make the flow is more obvious (we use this default persistence only with tabs container)
- introduced new reorderStateKey tab state to have an identifier for a tab panel, use it in canDrop check to prevent cross-panel DnD
-replaced reorderable prop with reorderStateKey, because without a key you can't use reordering
* dbeaver/pro#4583 refactor: add dropAllowed state to useTabDragAndDrop for improved drag-and-drop UI
* dbeaver/pro#4583 chore: add a comment about reorderStateKey
* dbeaver/pro#4583 refactor: add safe guard in SqlResultTabs.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* dbeaver/pro#4583 refactor: wrap onReorder function into useCallback for improved performance
* dbeaver/pro#4583 refactor: remove applyOrder method from ITabsContainer and update useTabOrderPersistence to not have dependencies on container
* dbeaver/pro#4583 refactor: use refactored hook in SideBarPanel and ToolsPanel
Since we are not mutating a container state anymore, we have to update sorting separately in TabList level because it reads directly from the container.
* dbeaver/pro#4583 refactor: remove fallback for stateKey
* dbeaver/pro#4583 refactor: replace hardcoded values with constants in useTabDragAndDrop
* dbeaver/pro#4583 refactor: add DragPosition type
* dbeaver/pro#4583 refactor: remove dependencies in TabsState effect
* dbeaver/pro#4583 refactor: remove stateKey from useTab hook
* dbeaver/pro#4583 feat: add panelId prop to SideBarPanel and use as persistence key
* dbeaver/pro#4583 refactor: persistence key in useTabOrderPersistence
* dbeaver/pro#4583 feat: add reorderArrayWithOrder helper and update SqlResultTabs to use it
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
* dbeaver/pro#5471 fix: "Delete" data viewer action tooltip
* dbeaver/pro#5471 refactor: "merge" save and save as script actions
We used to have two buttons with different shortcuts for saving SQL as a script(first save) and saving already created script (updating). On UI they had the same icon and were more or less identical for the user. We decided to use the same shortcut and labels for both buttons (mod + S).
* dbeaver/pro#5471 feat: adds Find and Comment shortcuts to the shortcuts list
* dbeaver/pro#5471 refactor: use common l10n keys for save/undo/redo
* dbeaver/pro#5471 refactor: use key bindings API for Delete action in TableView
* dbeaver/pro#5471 refactor: use key bindings API for add, duplicate and revert actions
* dbeaver/pro#5471 fix: extra import
* dbeaver/pro#5471 refactor: don't use a symbol for delete shortcut
---------
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
* dbeaver/pro#6189 feat: group extra tools
* fix: context menu size
* fix: make context menu more compact
* fix: context menu shortcuts
* fix: change color for shortcuts in context menu
* fix: codestyle
* fix: revert more tools
* fix: submenu arrow position
* fix: show output
* fix: upload / download tooltips
---------
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
* dbeaver/pro#5789 refactor: add ButtonIcon component instead of Button.Icon
* dbeaver/pro#5789 refactor: button components across whole application to use UIKit button and UIKit variables
- Rewrite Button.css(former button.module.css) file to define button styles for better maintainability and scalability
- Added props to the Button component for Icons: 'size' and 'placement', currently used only in PropertiesTable (Add property)
- Changed button modifiers to 'variant' swapping unelevated mod to primary(default one, so mod just deleted) and outlined mod to variant secondary.
- In one case changed raised mod to danger variant (deleting a license)
* dbeaver/pro#5789 refactor: fix Button component styling and removed redundant css file
* dbeaver/pro#5789 style: clean up button formatting across multiple components
* dbeaver/pro#5789 refactor: update Tailwind CSS import to use layer directive
* dbeaver/pro#5789 refactor[kit]: add disabled state styles for buttons
* dbeaver/pro#5789 refactor: enhance button styles for disabled state
* dbeaver/pro#5789 fix button problems
* dbeaver/pro#5789 fix: change layer name from theme to base in color styles
* dbeaver/pro#5789 refactor: update button padding from 16px to 15px
* dbeaver/pro#5789 refactor: adjust button gap and update InputFiles button props
* dbeaver/pro#5789 style: center align button in SSHKeyUploader component
* dbeaver/pro#5789 fix: update button classes to use inline-flex for better alignment
* dbeaver/pro#5789 fix: remove initial background from tab styles
* dbeaver/pro#5789 fix: move cursor pointer rule to button container
* dbeaver/pro#5789 fix: update checkbox SVG fill property for proper rendering
* dbeaver/pro#5789 fix: add variant prop to Button component for styling options
* dbeaver/pro#5789 fix: add InlineEditor to CSS layer to compete with theme Important! border-color
* dbeaver/pro#5789 fix: add min-width to button styles for consistency
* dbeaver/pro#5789 refactor: adjust margin for trigger element in context menu
first of all it's done to fix autotests and the second reason is to visually balance the cell with menu
* dbeaver/pro#5789 fix: make boolean great again
---------
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
* СB-6265 sets up vitest instead of jest
* CB-6265 gets back core-utils tests
* СB-6265 gets back react-testing-library tests
* СB-6265 gets back some tests from another plugins
* CB-6265 renames dist -> lib in each plugin + removes all jest from the repo
* CB-6265 disables watch mode so build can go on
* CB-6265 extends tests types for react-testing-library
* CB-6265 reverts dist->lib rename cause it contains other assets also
* CB-6265 moves setupFiles to the vitest.config.ts
* CB-6265 pr fixes
* CB-6265 fixes tests run for Windows
* CB-6265 removes global: true in config + uses jest-dom/vitest lib to have extended expect types
* CB-6565 removes unused deps
* СB-6265 improves performance of the test x10 times
* CB-6265 gets back renderInApp, fixes vitest setup reset config for mocks, cleans up
* CB-6265 reset -> restore all mocks
* CB-6265 fixes unit tests
* CB-6265 vitest.setup.ts cleanup
* CB-6265 timestamp to date shows military time both: on unix and windows (win tests fix)
* CB-6265 improves tests running (sequential run instead of parallel)
* CB-6265 cleanup
* CB-6265 eslint fix
* CB-6265 eslint fix 2
* CB-6265 reverts useCombined handler
* CB-6265 reverts some tests
* CB-6265 removes all redundant timer configs
* Merge branch 'devel' into CB-6265-return-front-unit-tests-after-migration
* CB-6265 pr fixes
* CB-6265 fixes time for windows
* CB-6265 removes default fake timers before each test
* CB-6207 add order to setting group
* CB-6207 use method instead of const value
* CB-6207 remove const
* CB-6207 sort on tree level
---------
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
* feat: add ui-kit package to common-react
* feat: add tailwind and ladle to ui-kit, use ui-kit in ce
* feat: create custom properties for button and checkbox using tailwind values as default
* feat: create simple button with 2 variants
* feat: create simple checkbox
* refactor: update after rebase
* feat: experiments with button and checkbox
* feat: add buttons sizes, adjust btn loader, add interactive story instead of many stories
* fix: add license
* fix: a11y issues with color contrast
* fix: mdx stories support
* feat: experiments with icons
* feat: try custom rendering
* docs: add small kinda docs for button
* refactor: css layers
* chore: deps
* chore: remove buildinfo from git
* chore: remove tsbuildinfo from git
* fix: vertical tab overflow
* feat: use UIKit button as base for Cloudbeaver button
* fix: box-sizing problems
* refactor: button styles use BEM model
* refactor: separate base tokens from aliases
* refactor: add some defaults, write all properties in snake case
* refactor: rename button classes, add ui-kit prefix
* refactor: remove redundant story, omit a couple of props, add example to ladle
* refactor: add general sizes tokens, update license
* feat: add scaffold for input component
* refactor: update deps
* refactor: remove links
* refactor: change props naming, add prefixes in checkbox, removes validation nodes in input
* refactor: partially revert "feat: use UIKit button as base for Cloudbeaver button" to keep the old Button interface without changes
Original commit SHA: 62bb1fe9a0.
* Revert "refactor: update deps"
This reverts commit f7d6533967.
* refactor: update deps once again
* refactor: rename ui-kit prefix
* chore: update deps
* refactor: Button Icon Interface
* refactor: use JSDoc for placement comment
* refactor css custom props for Button
* refactor: introduce opacity custom property, fix icon margin property
* fix: button text should not wrap;
* fix: tailwindcss version
* fix: tailwindcss version
* refactor: remove checkbox styles, keep only wireframe
* refactor: move input-related css variables to the dedicated folder
* refactor: remove unused input props
* refactor: btn loader animation
* refactor: use nesting for states, refactor classnames using BEM delimiters
* refactor: introduce btn-border-width prop, removed redundant btn-padding-block since we use fixed heights
* refactor: input and button
* fix: input
* chore: deps
* chore: deps
* chore: add vite as dev dep
* refactor: button variants
* chore: yarn install
* fix: loading button should not react on hover
* docs: add stories about tokens
* chore: remove lint command
* refactor: add prefix to css variables
* refactor: add base border-radius and border-width for controls
* fix: don't import tailwind in style files
* fix: add tailwindcss import for ladle
* fix: base radius variable
* refactor: rename css var
* refactor: add tw prefix for tailwind classes and vars
* fix: styles in easy-config
* fix: after tailwind reset paddings don't in width anymore, compensate
* fix: don't show outline on mouse click
* refactor: change btn state classes, remove not loading for hover because it's strange that button reacts on click when in loading state, but not on hover.
* fix: icons
* fix: add letter-spacing to normalize to prevent tailwind reset it with inherit value
* fix: welcome page selector
* fix: button outline uses a variable for width, proper loading state in aria, icon class name
* feat: add global styles for UI-kit ladle
* docs: refactored stories composition, added stories
* refactor: simplify loader, enable custom loaders, introduced token for btn loader, fix class names, updated stories
* docs: add global styles for ladle
* feat: use custom loader in cloudbeaver
* refactor: use oklch color space for color mixing in loaders
* docs: add readme
* fix: tsconfig, format ladle config
* docs: add short command for ladle, update readme
* fix: module export
* build: add vite plugin
* fix: remove aria-label for loading
* fix: yarn
---------
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
* CB-5832 feat: add shortcut for save as script action
* CB-5832 feat: add info about a shortcut to Shortcuts modal
* CB-5832 fix: ru localization
* CB-5832 refactor: use SqlEditorView for action registration
* CB-5832 refactor: use SqlEditorView for action registration
* CB-5832 refactor: check action in handler
* CB-5832 refactor: bind function in constructor
---------
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
* CB-3508 create events for session async tasks
* CB-3508 remove redundant events
* CB-3508 update async web task event logic
* CB-6000 refactor: migrate AsyncTask code to core-root package
* CB-6000: fix
* CB-3508 use only update async task event
* CB-3508 add result info to async task event
* CB-6000 feat: change the way of updating task state
* CB-6000 refactor: rename type and property
* CB-6000 fix: use id from server
* CB-3508 do not have results in task info event
* CB-6000 changes after BE update
* CB-6000 fix: set only status on status update
* CB-3508 fixes after review
* CB-6000 refactor: task id
return back task id generation and saving on creation. Added second map filled on running and linking backend Id and frontend Id. Added helper method to get task
* CB-6000 refactor: handle race condition
add pending events map to save last status if it's came earlier than we saved the task
* CB-6000 refactor: AsyncTask creation
* CB-3508 fixes build
* CB-6000 fix: retry update task info later if locked
* CB-6000 refactor: add a comment about delayed update
---------
Co-authored-by: Andrey Sychev <nukemoore@gmail.com>
Co-authored-by: Sychev Andrey <44414066+SychevAndrey@users.noreply.github.com>
Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>