@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 2.56 kB
Source Map (JSON)
{"version":3,"file":"ScrollAreaScrollbarHover.cjs","names":["useScrollAreaContext","ScrollAreaScrollbarAuto"],"sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useScrollAreaContext } from '../ScrollArea.context';\nimport { ScrollAreaScrollbarAuto, ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto';\n\ninterface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {\n forceMount?: true;\n}\n\nexport function ScrollAreaScrollbarHover(props: ScrollAreaScrollbarHoverProps) {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const { scrollArea } = context;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener('pointerenter', handlePointerEnter);\n scrollArea.addEventListener('pointerleave', handlePointerLeave);\n\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener('pointerenter', handlePointerEnter);\n scrollArea.removeEventListener('pointerleave', handlePointerLeave);\n };\n }\n\n return undefined;\n }, [context.scrollArea, context.scrollHideDelay]);\n\n if (forceMount || visible) {\n return (\n <ScrollAreaScrollbarAuto data-state={visible ? 'visible' : 'hidden'} {...scrollbarProps} />\n );\n }\n\n return null;\n}\n\nScrollAreaScrollbarHover.displayName = '@mantine/core/ScrollAreaScrollbarHover';\n"],"mappings":";;;;;;;AAQA,SAAgB,yBAAyB,OAAsC;CAC7E,MAAM,EAAE,YAAY,GAAG,mBAAmB;CAC1C,MAAM,UAAUA,2BAAAA,sBAAsB;CACtC,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,UAAuB,MAAM;AAE7C,EAAA,GAAA,MAAA,iBAAgB;EACd,MAAM,EAAE,eAAe;EACvB,IAAI,YAAY;AAChB,MAAI,YAAY;GACd,MAAM,2BAA2B;AAC/B,WAAO,aAAa,UAAU;AAC9B,eAAW,KAAK;;GAElB,MAAM,2BAA2B;AAC/B,gBAAY,OAAO,iBAAiB,WAAW,MAAM,EAAE,QAAQ,gBAAgB;;AAEjF,cAAW,iBAAiB,gBAAgB,mBAAmB;AAC/D,cAAW,iBAAiB,gBAAgB,mBAAmB;AAE/D,gBAAa;AACX,WAAO,aAAa,UAAU;AAC9B,eAAW,oBAAoB,gBAAgB,mBAAmB;AAClE,eAAW,oBAAoB,gBAAgB,mBAAmB;;;IAKrE,CAAC,QAAQ,YAAY,QAAQ,gBAAgB,CAAC;AAEjD,KAAI,cAAc,QAChB,QACE,iBAAA,GAAA,kBAAA,KAACC,gCAAAA,yBAAD;EAAyB,cAAY,UAAU,YAAY;EAAU,GAAI;EAAkB,CAAA;AAI/F,QAAO;;AAGT,yBAAyB,cAAc"}