@synerise/ds-scrollbar 2.0.7 → 2.0.8
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.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.0.8](https://github.com/Synerise/synerise-design/compare/@synerise/ds-scrollbar@2.0.7...@synerise/ds-scrollbar@2.0.8) (2026-10-22)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **scrollbar:** widen thumb hit area to the full rail width ([df915fc](https://github.com/Synerise/synerise-design/commit/df915fc79b099ac0ad731996f910ee5a02dab89d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [2.0.7](https://github.com/Synerise/synerise-design/compare/@synerise/ds-scrollbar@2.0.6...@synerise/ds-scrollbar@2.0.7) (2026-10-20)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @synerise/ds-scrollbar
|
package/CLAUDE.md
CHANGED
|
@@ -109,7 +109,7 @@ Two layers of styling:
|
|
|
109
109
|
2. **Less overrides** (`style/scrollbar.mixin.less`) — patches PerfectScrollbar's `.ps__rail-*` and `.ps__thumb-*` classes. The `.large-size` class (applied via `classnames` in `VirtualScrollbar`) activates the wide blue thumb variant.
|
|
110
110
|
|
|
111
111
|
**Token usage:**
|
|
112
|
-
- Default thumb: `grey-300` / `grey-500` (hover)
|
|
112
|
+
- Default thumb: `grey-300` / `grey-500` (hover). In both variants the thumb element spans the full 11 px rail so it is easy to grab, and only a 3 px bar is painted by its `::before`
|
|
113
113
|
- Large thumb: `blue-050` / `blue-100` (hover), `grey-300` border / `grey-400` border (hover)
|
|
114
114
|
- Loading spinner in `Scrollbar.styles`: `grey-600`; in `DnDScrollbar.styles`: `blue-600`
|
|
115
115
|
|
|
@@ -162,7 +162,7 @@ const DnDScrollbar = ({
|
|
|
162
162
|
}, onScroll: handleScroll, onWheel: handleWheel, children: /* @__PURE__ */ jsx(ScrollbarWrapper, { ref: wrapperRef, loading, absolute, largeSize, children }) }),
|
|
163
163
|
/* @__PURE__ */ jsxs(ScrollbarTrackWrapper, { largeSize, children: [
|
|
164
164
|
/* @__PURE__ */ jsx(TrackVertical, { ref: scrollTrackRef, onClick: handleTrackClick }),
|
|
165
|
-
/* @__PURE__ */ jsx(ThumbVertical, { ref: scrollThumbRef, onMouseDown: handleThumbMousedown, style: {
|
|
165
|
+
/* @__PURE__ */ jsx(ThumbVertical, { ref: scrollThumbRef, largeSize, onMouseDown: handleThumbMousedown, style: {
|
|
166
166
|
height: `${thumbHeight}px`
|
|
167
167
|
} })
|
|
168
168
|
] })
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import styled, { keyframes } from "styled-components";
|
|
1
|
+
import styled, { css, keyframes } from "styled-components";
|
|
2
2
|
const ScrollbarContent = /* @__PURE__ */ styled.div.withConfig({
|
|
3
3
|
displayName: "DnDScrollbarstyles__ScrollbarContent",
|
|
4
4
|
componentId: "sc-12t6y2d-0"
|
|
@@ -20,11 +20,11 @@ const ScrollbarWrapper = /* @__PURE__ */ styled.div.withConfig({
|
|
|
20
20
|
const ThumbVertical = /* @__PURE__ */ styled.div.withConfig({
|
|
21
21
|
displayName: "DnDScrollbarstyles__ThumbVertical",
|
|
22
22
|
componentId: "sc-12t6y2d-2"
|
|
23
|
-
})(["
|
|
23
|
+
})(["position:absolute;", ""], (props) => props.largeSize ? css(["right:4px;width:16px;background-color:", ";border-radius:3px;border:1px solid ", ";&:hover,&:active{background-color:", ";border:1px solid ", ";}"], props.theme.palette["blue-050"], props.theme.palette["grey-300"], props.theme.palette["blue-100"], props.theme.palette["grey-400"]) : css(["right:0;width:11px;background-color:transparent;&::before{content:'';position:absolute;top:0;bottom:0;right:4px;width:3px;border-radius:3px;background-color:", ";}&:hover::before,&:active::before{background-color:", ";}"], props.theme.palette["grey-300"], props.theme.palette["grey-500"]));
|
|
24
24
|
const ScrollbarTrackWrapper = /* @__PURE__ */ styled.div.withConfig({
|
|
25
25
|
displayName: "DnDScrollbarstyles__ScrollbarTrackWrapper",
|
|
26
26
|
componentId: "sc-12t6y2d-3"
|
|
27
|
-
})(["display:block;height:100%;position:absolute;width:", ";top:0;right:", ";bottom:0;user-select:none;opacity:0;transition:opacity 0.3s ease-in-out;", "
|
|
27
|
+
})(["display:block;height:100%;position:absolute;width:", ";top:0;right:", ";bottom:0;user-select:none;opacity:0;transition:opacity 0.3s ease-in-out;", " ", ""], (props) => props.largeSize ? "24px" : "11px", (props) => props.largeSize ? "3px" : "0", (props) => props.largeSize && css(["&:hover ", "{background-color:", ";border:1px solid ", ";}"], ThumbVertical, props.theme.palette["blue-100"], props.theme.palette["grey-400"]), (props) => !props.largeSize && css(["&:hover ", "::before{background-color:", ";}"], ThumbVertical, props.theme.palette["grey-500"]));
|
|
28
28
|
const TrackVertical = /* @__PURE__ */ styled.div.withConfig({
|
|
29
29
|
displayName: "DnDScrollbarstyles__TrackVertical",
|
|
30
30
|
componentId: "sc-12t6y2d-4"
|
package/dist/style/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}.scrollbar-container{position:relative;height:100%}.ps__rail-x.ps__rail-x{opacity:0;height:11px;top:unset!important;bottom:0;position:absolute;width:calc(100% - 8px)!important;transform:translateX(-4px);overflow:hidden;margin-right:12px;transition:opacity .3s ease-in-out}.ps__rail-y.ps__rail-y{opacity:0;width:11px;left:unset!important;right:0;position:absolute;height:calc(100% - 8px)!important;transform:translateY(4px);overflow:hidden;margin-bottom:12px;transition:opacity .3s ease-in-out}.ps:hover .ps__rail-x,.ps:hover .ps__rail-y{opacity:1}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:unset}.ps__thumb-x{background-color:#dbe0e3;border-radius:3px;height:
|
|
1
|
+
.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}.scrollbar-container{position:relative;height:100%}.ps__rail-x.ps__rail-x{opacity:0;height:11px;top:unset!important;bottom:0;position:absolute;width:calc(100% - 8px)!important;transform:translateX(-4px);overflow:hidden;margin-right:12px;transition:opacity .3s ease-in-out}.ps__rail-y.ps__rail-y{opacity:0;width:11px;left:unset!important;right:0;position:absolute;height:calc(100% - 8px)!important;transform:translateY(4px);overflow:hidden;margin-bottom:12px;transition:opacity .3s ease-in-out}.ps:hover .ps__rail-x,.ps:hover .ps__rail-y{opacity:1}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:unset}.ps__thumb-x,.ps__thumb-y{background-color:transparent;border-radius:0}.ps__thumb-x::before,.ps__thumb-y::before{content:'';position:absolute;background-color:#dbe0e3;border-radius:3px;transition:background-color .2s linear}.ps__thumb-x{height:11px;bottom:0;margin:0 4px}.ps__thumb-x::before{left:0;right:0;bottom:4px;height:3px}.ps__thumb-y{width:11px;right:0}.ps__thumb-y::before{top:0;bottom:0;right:4px;width:3px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x,.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:transparent}.ps__rail-x.ps--clicking .ps__thumb-x::before,.ps__rail-x:focus>.ps__thumb-x::before,.ps__rail-x:hover>.ps__thumb-x::before,.ps__rail-y.ps--clicking .ps__thumb-y::before,.ps__rail-y:focus>.ps__thumb-y::before,.ps__rail-y:hover>.ps__thumb-y::before{background-color:#949ea6}.large-size .ps__rail-x.ps__rail-x,.large-size .ps__rail-y.ps__rail-y{width:26px;height:26px;position:absolute;overflow:hidden}.large-size .ps__rail-y.ps--clicking .ps__thumb-y,.large-size .ps__rail-y:focus>.ps__thumb-y,.large-size .ps__rail-y:hover>.ps__thumb-y,.large-size .ps__thumb-x,.large-size .ps__thumb-y,.large-size .ps__thumb-y--clicking,.large-size .ps__thumb-y:hover{background-color:#f4faff;border-radius:3px;width:16px;height:16px;border:1px solid #dbe0e3}.large-size .ps__thumb-x{bottom:4px}.large-size .ps__thumb-y{right:4px}.large-size .ps__thumb-x::before,.large-size .ps__thumb-y::before{content:none}.large-size .ps__rail-x.ps--clicking .ps__thumb-x,.large-size .ps__rail-x:focus>.ps__thumb-x,.large-size .ps__rail-x:hover>.ps__thumb-x,.large-size .ps__rail-y.ps--clicking .ps__thumb-y,.large-size .ps__rail-y:focus>.ps__thumb-y,.large-size .ps__rail-y:hover>.ps__thumb-y{background-color:#d9eeff;border:1px solid #b5bdc3;height:16px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-scrollbar",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"description": "Scrollbar UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"styled-components": "^5.3.3",
|
|
54
54
|
"vitest": "4"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "953d50843fbcbec956b6252a6185def119652282"
|
|
57
57
|
}
|