@ozen-ui/kit
Version:
React component library
17 lines (16 loc) • 1.14 kB
JavaScript
import { __assign, __rest } from "tslib";
import React from 'react';
import { usePortalContainer } from '../../hooks/usePortalContainer';
import { useThemeProps } from '../../hooks/useThemeProps';
import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef';
import { PortalBase } from '../PortalBase';
import { PORTAL_DEFAULT_CONTAINER, PORTAL_DEFAULT_DISABLE_PORTAL, PORTAL_DEFAULT_TAG, } from './constants';
export var Portal = polymorphicComponentWithRef(function (inProps, ref) {
var _a = useThemeProps({
props: inProps,
name: 'Portal',
}), _b = _a.disablePortal, disablePortal = _b === void 0 ? PORTAL_DEFAULT_DISABLE_PORTAL : _b, _c = _a.as, as = _c === void 0 ? PORTAL_DEFAULT_TAG : _c, containerProp = _a.container, children = _a.children, other = __rest(_a, ["disablePortal", "as", "container", "children"]);
var container = usePortalContainer(containerProp || PORTAL_DEFAULT_CONTAINER);
return (React.createElement(PortalBase, __assign({}, other, { container: container, as: as, ref: ref, disablePortal: disablePortal }), children));
});
Portal.displayName = 'Portal';