mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Improve dock tabs UX (#4754)
* Add separators and scroll button Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add tabs controlls Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Update values on resize Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix right button Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add change tab on keydown Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix flickering and arrows position Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix pr comments. Cleanup function. Simplify reaction Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add disposer cleanup Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add separators and scroll button Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add tabs controlls Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Update values on resize Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix right button Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add change tab on keydown Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix flickering and arrows position Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Fix pr comments. Cleanup function. Simplify reaction Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add disposer cleanup Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * PR fixes and improvements Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Add reaction cleanup Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Cleanup. Remove reaction. Signed-off-by: DmitriyNoa <dmytro.zharkov@gmail.com> * Active tab soft background Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Show close btn on hover Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Removing custom left/right arrow buttons Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Remove dock-tabs styles from dock.scss Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add dock-tabs.module.scss Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add useResizeObserver hook Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Set tabs scrollable on small window sizes Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add custom scrollbar on hover Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Update scrollbar overflow on tabs change Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding shadow corners to scrollable area Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Update material icons font Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Change terminal and chart install icons Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add hover tooltip Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Controls scrollable within Tabs Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Move tooltips to top Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Set dock tabs theme colors Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Mock ResizeObserver Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Increase tooltip show delay Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Scroll active tab into view Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Scroll horizontally with mouse wheel Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add tiny shadow to cropped tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Remove dock-tab.scss Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding tab role attributes Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Handle dock open/closed state Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Increase shadow corner size Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Selecting next or previous tab after closing selected one Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Add tiny test Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Use scrollIntoViewIfNeeded in tabs Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Small cleaning Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Small fix for useResizeObserver deps array Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fix plus button padding on empty dock Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Fix close button position in active tab Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Remove min-width for tab title Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Clean up Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
1 parent
a76fc6df84
commit
9f6c3e230a
19 files changed
+406
-73
No files matched your search
@@ -81,10 +81,7 @@ export class Tab extends React.PureComponent<TabProps> {
|
||||
}
|
||||
|
||||
scrollIntoView() {
|
||||
this.ref.current?.scrollIntoView?.({
|
||||
behavior: "smooth",
|
||||
inline: "center",
|
||||
});
|
||||
this.ref.current?.scrollIntoViewIfNeeded();
|
||||
}
|
||||
|
||||
@boundMethod
|
||||
@@ -137,6 +134,7 @@ export class Tab extends React.PureComponent<TabProps> {
|
||||
onClick={this.onClick}
|
||||
onFocus={this.onFocus}
|
||||
onKeyDown={this.onKeyDown}
|
||||
role="tab"
|
||||
ref={this.ref}
|
||||
>
|
||||
{typeof icon === "string" ? <Icon small material={icon}/> : icon}
|
||||
|
||||
Reference in new issue
Block a user