UNPKG

@ozen-ui/kit

Version:

React component library

17 lines (16 loc) 1.14 kB
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';