@intility/bifrost-react
Version:
React library for Intility's design system, Bifrost.
29 lines (28 loc) • 1.05 kB
JavaScript
"use client";
import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef, useRef } from "react";
import classNames from "classnames";
import useScrollDirection from "../../hooks/useScrollDirection.js";
import setRef from "../../utils/setRef.js";
/**
* FloatingArea appears in bottom right corner when user is scrolling upwards. Only use a single FloatingArea at a time.
*/ const FloatingArea = /*#__PURE__*/ forwardRef(({ className, children, noPadding = false, ...props }, ref)=>{
const divRef = useRef(null);
const scrollDirection = useScrollDirection({
elementRef: divRef
});
return /*#__PURE__*/ _jsx("div", {
ref: (r)=>{
setRef(ref, r);
setRef(divRef, r);
},
className: classNames(className, "bf-floating-area bf-notch", {
"bf-scrolled-up": scrollDirection !== "down",
"bf-page-padding": !noPadding
}),
...props,
children: children
});
});
FloatingArea.displayName = "FloatingArea";
export default FloatingArea;