UNPKG

@ozen-ui/kit

Version:

React component library

28 lines (27 loc) 1.48 kB
import { __assign, __rest } from "tslib"; import './BottomSheetBaseBlock.css'; import React, { forwardRef, useRef } from 'react'; import { useUniqueId } from '../../../../hooks/useUniqueId'; import { cn } from '../../../../utils/classname'; import { setRef } from '../../../../utils/setRef'; import { useBottomSheetBaseContext } from '../../context'; import { useBottomSheetBaseDrag } from '../../hooks'; import { BOTTOM_SHEET_BASE_BLOCK_DEFAULT_EXPAND_ON_DRAG } from './constants'; export var cnBottomSheetBaseBlock = cn('BottomSheetBaseBlock'); export var BottomSheetBaseBlock = forwardRef(function (_a, ref) { var children = _a.children, className = _a.className, _b = _a.expandOnDrag, expandOnDrag = _b === void 0 ? BOTTOM_SHEET_BASE_BLOCK_DEFAULT_EXPAND_ON_DRAG : _b, other = __rest(_a, ["children", "className", "expandOnDrag"]); var internalRef = useRef(null); var addBlockRef = useBottomSheetBaseContext().addBlockRef; var blockId = useUniqueId('BaseBottomSheetBlock-'); useBottomSheetBaseDrag(internalRef, { isDraggable: expandOnDrag, }); return (React.createElement("div", __assign({}, other, { ref: function (instance) { setRef(ref, instance); setRef(internalRef, instance); addBlockRef(blockId, instance); }, className: cnBottomSheetBaseBlock({ draggable: expandOnDrag, }, [className]) }), children)); }); BottomSheetBaseBlock.displayName = 'BottomSheetBaseBlock';