Skip to content

Commit 0b7c0ff

Browse files
committed
AnalyticalTable: use custom scrollbar styles
1 parent 0acf064 commit 0b7c0ff

File tree

4 files changed

+65
-42
lines changed

4 files changed

+65
-42
lines changed

packages/main/src/components/AnalyticalTable/AnalyticalTable.module.css

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,9 +572,13 @@
572572
}
573573

574574
/* ==========================================================================
575-
VerticalScrollbar styles
575+
(Vertical)Scrollbar styles
576576
========================================================================== */
577577

578+
.verticalScrollbarContainer {
579+
position: relative;
580+
}
581+
578582
.headerSection {
579583
box-sizing: border-box;
580584
border-block-start: var(--_ui5wcr-AnalyticalTable-OuterBorderBlock);
@@ -594,6 +598,52 @@
594598
box-sizing: border-box;
595599
}
596600

601+
.scrollbar:global(.ui5-content-native-scrollbars) {
602+
background-color: var(--sapList_Background);
603+
width: calc(var(--sapScrollBar_Dimension) + 2px);
604+
}
605+
606+
.analyticalTableDelta:global(.ui5-content-native-scrollbars) {
607+
&::-webkit-scrollbar {
608+
background-color: var(--sapScrollBar_TrackColor);
609+
-webkit-border-start: var(--_ui5wcr_Scrollbar_Border);
610+
}
611+
612+
&::-webkit-scrollbar-thumb {
613+
border-radius: var(--_ui5wcr_Scrollbar_BorderRadius);
614+
background-color: var(--sapScrollBar_FaceColor);
615+
616+
&:hover {
617+
background-color: var(--sapScrollBar_FaceColor);
618+
}
619+
620+
&:horizontal {
621+
height: var(--sapScrollBar_Dimension);
622+
}
623+
624+
&:vertical {
625+
width: var(--sapScrollBar_Dimension);
626+
}
627+
}
628+
629+
&::-webkit-scrollbar-corner {
630+
background-color: var(--sapScrollBar_TrackColor);
631+
}
632+
633+
&::-webkit-scrollbar:horizontal {
634+
height: var(--sapScrollBar_Dimension);
635+
}
636+
637+
&::-webkit-scrollbar:vertical {
638+
width: var(--sapScrollBar_Dimension);
639+
}
640+
}
641+
642+
.verticalScroller {
643+
width: 1px;
644+
background-color: var(--sapList_Background);
645+
}
646+
597647
.bottomSection {
598648
flex-grow: 1;
599649
background-color: var(--sapList_FooterBackground);

packages/main/src/components/AnalyticalTable/index.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
188188
useStylesheet(styleData, AnalyticalTable.displayName);
189189
const isInitialized = useRef(false);
190190

191+
const nativeScrollbar = className?.includes('ui5-content-native-scrollbars');
191192
const alwaysShowSubComponent =
192193
subComponentsBehavior === AnalyticalTableSubComponentsBehavior.Visible ||
193194
subComponentsBehavior === AnalyticalTableSubComponentsBehavior.IncludeHeight;
@@ -700,7 +701,9 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
700701
classNames.table,
701702
withNavigationHighlight && classNames.hasNavigationIndicator,
702703
showVerticalEndBorder && classNames.showVerticalEndBorder,
703-
className?.includes('ui5-content-native-scrollbars') && 'ui5-content-native-scrollbars',
704+
nativeScrollbar
705+
? 'ui5-content-native-scrollbars'
706+
: `ui5-content-native-scrollbars ${classNames.analyticalTableDelta}`,
704707
);
705708

706709
const handleOnLoadMore = (e) => {
@@ -898,7 +901,7 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
898901
ref={verticalScrollBarRef}
899902
scrollContainerRef={scrollContainerRef}
900903
parentRef={parentRef}
901-
nativeScrollbar={className?.includes('ui5-content-native-scrollbars')}
904+
nativeScrollbar={nativeScrollbar}
902905
classNames={classNames}
903906
/>
904907
)}

packages/main/src/components/AnalyticalTable/scrollbars/VerticalScrollbar.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ThemingParameters, useSyncRef } from '@ui5/webcomponents-react-base';
1+
import { useSyncRef } from '@ui5/webcomponents-react-base';
22
import { clsx } from 'clsx';
33
import type { MutableRefObject, RefObject } from 'react';
44
import { forwardRef, useEffect, useRef } from 'react';
@@ -51,7 +51,7 @@ export const VerticalScrollbar = forwardRef<HTMLDivElement, VerticalScrollbarPro
5151
return (
5252
<FlexBox
5353
direction={FlexBoxDirection.Column}
54-
style={{ position: 'relative' }}
54+
className={classNames.verticalScrollbarContainer}
5555
data-component-name="AnalyticalTableVerticalScrollbarContainer"
5656
>
5757
<div
@@ -66,16 +66,20 @@ export const VerticalScrollbar = forwardRef<HTMLDivElement, VerticalScrollbarPro
6666
height: tableRef.current ? `${tableBodyHeight}px` : '0',
6767
}}
6868
onScroll={handleVerticalScrollBarScroll}
69-
className={clsx(classNames.scrollbar, nativeScrollbar && 'ui5-content-native-scrollbars')}
69+
className={clsx(
70+
classNames.scrollbar,
71+
nativeScrollbar
72+
? 'ui5-content-native-scrollbars'
73+
: `ui5-content-native-scrollbars ${classNames.analyticalTableDelta}`,
74+
)}
7075
data-component-name="AnalyticalTableVerticalScrollbar"
7176
tabIndex={-1}
7277
>
7378
<div
7479
ref={scrollElementRef}
80+
className={classNames.verticalScroller}
7581
style={{
7682
height: `${scrollContainerRef.current?.scrollHeight}px`,
77-
width: '1px',
78-
backgroundColor: ThemingParameters.sapList_Background,
7983
}}
8084
/>
8185
</div>

packages/main/src/components/ThemeProvider/ThemeProvider.css

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,38 +14,4 @@
1414
@import '../../themes/sap_horizon_hcb.css';
1515
@import '../../themes/sap_horizon_hcw.css';
1616

17-
:not(.ui5-content-native-scrollbars) {
18-
&::-webkit-scrollbar {
19-
background-color: var(--sapScrollBar_TrackColor);
20-
-webkit-border-start: var(--_ui5wcr_Scrollbar_Border);
21-
}
2217

23-
&::-webkit-scrollbar-thumb {
24-
border-radius: var(--_ui5wcr_Scrollbar_BorderRadius);
25-
background-color: var(--sapScrollBar_FaceColor);
26-
27-
&:hover {
28-
background-color: var(--sapScrollBar_Hover_FaceColor);
29-
}
30-
31-
&:horizontal {
32-
height: var(--sapScrollBar_Dimension);
33-
}
34-
35-
&:vertical {
36-
width: var(--sapScrollBar_Dimension);
37-
}
38-
}
39-
40-
&::-webkit-scrollbar-corner {
41-
background-color: var(--sapScrollBar_TrackColor);
42-
}
43-
44-
&::-webkit-scrollbar:horizontal {
45-
height: var(--sapScrollBar_Dimension);
46-
}
47-
48-
&::-webkit-scrollbar:vertical {
49-
width: var(--sapScrollBar_Dimension);
50-
}
51-
}

0 commit comments

Comments
 (0)