@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
41 lines (40 loc) • 2.13 kB
JavaScript
"use client";
require("../../../_virtual/_rolldown/runtime.cjs");
const require_ScrollArea_context = require("../ScrollArea.context.cjs");
const require_ScrollAreaScrollbarVisible = require("./ScrollAreaScrollbarVisible.cjs");
const require_ScrollAreaScrollbarAuto = require("./ScrollAreaScrollbarAuto.cjs");
const require_ScrollAreaScrollbarHover = require("./ScrollAreaScrollbarHover.cjs");
const require_ScrollAreaScrollbarScroll = require("./ScrollAreaScrollbarScroll.cjs");
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region packages/@mantine/core/src/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.tsx
function ScrollAreaScrollbar(props) {
const { forceMount, ...scrollbarProps } = props;
const context = require_ScrollArea_context.useScrollAreaContext();
const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
const isHorizontal = props.orientation === "horizontal";
(0, react.useEffect)(() => {
isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
return () => {
isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
};
}, [
isHorizontal,
onScrollbarXEnabledChange,
onScrollbarYEnabledChange
]);
return context.type === "hover" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScrollAreaScrollbarHover.ScrollAreaScrollbarHover, {
...scrollbarProps,
forceMount
}) : context.type === "scroll" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScrollAreaScrollbarScroll.ScrollAreaScrollbarScroll, {
...scrollbarProps,
forceMount
}) : context.type === "auto" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScrollAreaScrollbarAuto.ScrollAreaScrollbarAuto, {
...scrollbarProps,
forceMount
}) : context.type === "always" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScrollAreaScrollbarVisible.ScrollAreaScrollbarVisible, { ...scrollbarProps }) : null;
}
ScrollAreaScrollbar.displayName = "@mantine/core/ScrollAreaScrollbar";
//#endregion
exports.ScrollAreaScrollbar = ScrollAreaScrollbar;
//# sourceMappingURL=ScrollAreaScrollbar.cjs.map