Fix scrollbar gutters on web (#1401)

* Fix scrollbar gutters on web

* Fix typecheck
zio/stable
Paul Frazee 2023-09-07 09:32:14 -07:00 committed by GitHub
parent 138e6d9b97
commit 2963fb4c6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 12 deletions

View File

@ -91,6 +91,9 @@
*[data-word-wrap] { *[data-word-wrap] {
word-break: break-word; word-break: break-word;
} }
*[data-stable-gutters] {
scrollbar-gutter: stable both-edges;
}
/* ProseMirror */ /* ProseMirror */
.ProseMirror { .ProseMirror {

View File

@ -73,8 +73,4 @@ const styles = StyleSheet.create({
flexDirection: 'row', flexDirection: 'row',
alignItems: 'center', alignItems: 'center',
}, },
tabBarAvi: {
marginTop: 1,
marginRight: 18,
},
}) })

View File

@ -70,10 +70,18 @@ export const FlatList = React.forwardRef(function <ItemT>(
if (desktopFixedHeight) { if (desktopFixedHeight) {
style = addStyle(style, styles.fixedHeight) style = addStyle(style, styles.fixedHeight)
if (!isMobile) { if (!isMobile) {
contentContainerStyle = addStyle( // NOTE
contentContainerStyle, // react native web produces *three* wrapping divs
styles.stableGutters, // the first two use the `style` prop and the innermost uses the
) // `contentContainerStyle`. Unfortunately the stable-gutter style
// needs to be applied to only the "middle" of these. To hack
// around this, we set data-stable-gutters which can then be
// styled in our external CSS.
// -prf
// @ts-ignore web only -prf
props.dataSet = props.dataSet || {}
// @ts-ignore web only -prf
props.dataSet.stableGutters = '1'
} }
} }
return ( return (
@ -137,8 +145,4 @@ const styles = StyleSheet.create({
// @ts-ignore web only // @ts-ignore web only
height: '100vh', height: '100vh',
}, },
stableGutters: {
// @ts-ignore web only -prf
scrollbarGutter: 'stable both-edges',
},
}) })

View File

@ -95,6 +95,9 @@
*[data-word-wrap] { *[data-word-wrap] {
word-break: break-word; word-break: break-word;
} }
*[data-stable-gutters] {
scrollbar-gutter: stable both-edges;
}
/* ProseMirror */ /* ProseMirror */
.ProseMirror { .ProseMirror {