@ozen-ui/kit
Version:
React component library
28 lines (27 loc) • 1.48 kB
JavaScript
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';