From e855197acfa06a0ef4088166e22b2e7a05dbf1ed Mon Sep 17 00:00:00 2001 From: CatsJuice Date: Thu, 27 Mar 2025 08:53:27 +0000 Subject: [PATCH] feat(editor): responsive edgeless toolbar pen menu (#11150) close BS-2855 --- .../components/toolbar/common/slide-menu.ts | 24 +++++++---- .../src/toolbar/components/pen/pen-menu.ts | 42 ++++++++++--------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/blocksuite/affine/blocks/block-root/src/edgeless/components/toolbar/common/slide-menu.ts b/blocksuite/affine/blocks/block-root/src/edgeless/components/toolbar/common/slide-menu.ts index b79ab3e6a8..029a6aa31d 100644 --- a/blocksuite/affine/blocks/block-root/src/edgeless/components/toolbar/common/slide-menu.ts +++ b/blocksuite/affine/blocks/block-root/src/edgeless/components/toolbar/common/slide-menu.ts @@ -29,21 +29,26 @@ export class EdgelessSlideMenu extends WithDisposable(LitElement) { align-items: center; width: fit-content; max-width: 100%; - overflow-x: auto; - overscroll-behavior: none; - scrollbar-width: none; position: relative; height: calc(var(--menu-height) + 1px); box-sizing: border-box; - padding: 0 10px; + padding-left: 10px; scroll-snap-type: x mandatory; } + .menu-container-scrollable { + overflow-x: auto; + overscroll-behavior: none; + scrollbar-width: none; + height: 100%; + padding-right: 10px; + } .slide-menu-content { display: flex; align-items: center; justify-content: center; height: 100%; transition: left 0.5s ease-in-out; + width: fit-content; } .next-slide-button, .previous-slide-button { @@ -109,7 +114,7 @@ export class EdgelessSlideMenu extends WithDisposable(LitElement) { const menuWidth = this._menuContainer.clientWidth; const leftMin = 0; - const leftMax = this._slideMenuContent.clientWidth - menuWidth + 2; // border is 2 + const leftMax = this._slideMenuContent.clientWidth - menuWidth; this.showPrevious = scrollLeft > leftMin; this.showNext = scrollLeft < leftMax; } @@ -140,8 +145,11 @@ export class EdgelessSlideMenu extends WithDisposable(LitElement) { class="menu-container" style=${styleMap({ '--menu-height': this.height })} > -
- + +
-