UNPKG

@wordpress/components

Version:
45 lines (34 loc) 1.25 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useScrollable = useScrollable; var _emotion = require("emotion"); var _element = require("@wordpress/element"); var _context = require("../context"); var styles = _interopRequireWildcard(require("./styles")); /** * WordPress dependencies */ /** * Internal dependencies */ /* eslint-disable jsdoc/valid-types */ /** * @param {import('../context').ViewOwnProps<import('./types').Props, 'div'>} props */ /* eslint-enable jsdoc/valid-types */ function useScrollable(props) { const { className, scrollDirection = 'y', smoothScroll = false, ...otherProps } = (0, _context.useContextSystem)(props, 'Scrollable'); const classes = (0, _element.useMemo)(() => (0, _emotion.cx)(styles.Scrollable, styles.scrollableScrollbar, smoothScroll && styles.smoothScroll, scrollDirection === 'x' && styles.scrollX, scrollDirection === 'y' && styles.scrollY, scrollDirection === 'auto' && styles.scrollAuto, className), [className, scrollDirection, smoothScroll]); return { ...otherProps, className: classes }; } //# sourceMappingURL=hook.js.map