@element-public/react-portal
v5.68.10-alpha.1
Published
Portal component for Element React
Keywords
Readme
Portal
Description
Portal provides an easy way to render a child component outside of its parent component.
See live demos on storybook
Install from Artifactory
- Verify that you have access to (https://docs.int.bayer.com/cloud/devops/artifactory/)[Bayer Artifactory]
- Verify your token is correctly set up in your .npmrc as per the link above
- Verify you have the @element scope configured in your .npmrc
@element:registry=https://artifactory.bayer.com/artifactory/api/npm/npm-platforms-engineering/
- Install the component and themes bundles
npm i @element/react-components @element/themes- alternatively install the component individually along with the themes bundle
npm i @element/react-portal @element/themes
- alternatively install the component individually along with the themes bundle
Notes
Portal is used for rendering content outside of its parent component, to improve readability and allow for smoother navigation.
Some important props for Portal include portalContainer, which is a DOM element for children to render in, and children, which represents the content to be rendered. If hoisted is true and portalContainer is undefined, it defaults to render in document.body, but only for React. In Vue, it will never render to document.body, you have to add the Portal Target component to where you want it to render to.
Usage
Portal is commonly used with hoisted components, like Tooltip, for example.
Portal Props
| Name | Type | Default | Required | Description |
| --------------- | ----------------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| disabled | boolean | false | false | Disables the portal to rendering children in the natural flow of the DOM. |
| portalContainer | string|React.ReactNode | 'document.body' | false | The DOM element the children will render in. If a string is sent it should be a valid DOM query selector. If one is not sent, Portal will default to document.body. |
Portal Render Props
| Name | Type | Default | Required | Description | | -------- | --------------- | ------- | -------- | ----------------------------------------- | | children | React.ReactNode | null | false | Content to be rendered inside the portal. |
