Security News
Research
Supply Chain Attack on Rspack npm Packages Injects Cryptojacking Malware
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
@depay/react-shadow-dom
Advanced tools
A library to easily render react compatible shadow DOMs for web components with individual styling for inside and outside.
yarn add @depay/react-shadow-dom
import { ReactShadowDOM } from '@depay/react-shadow-dom';
ReactShadowDOM({
document,
element,
content,
outsideStyle: outsideStyle,
insideStyle: insideStyle
})
The function ReactShadowDOM
renders a react compontent (content
) into an insideContainer
that lives inside a shadowRoot of the outsideContainer
target element (element
) within a given document (document
) while also applying insideStyle
to the insideContainer
and outsideStyle
to the outsideContainer
.
You can either pas a ReactElement to content
or a function. In case of a function
that function will be call with the insideContainer
as an argument and it's expected to return a ReactElement.
While outsideStyle
is applied to the outside container directly:
outsideStyle: `
border: 1px solid red;
color: black;
`
<div class="ReactShadowDOMOutsideContainer" style="border: 1px solid red;color: black;"></div>
insideStyle
is wrapped in a style tag and prepend to the shadowRoot:
insideStyle: `
.ReactShadowDOMInsideContainer {
background: blue;
color: white;
}
`
#shadow-root
<style type="text/css">.ReactShadowDOMInsideContainer {background: blue;color: white;}</style>
<div class="ReactShadowDOMInsideContainer"><h1>I'm in a ShadowDOM</h1></div>
wich allows you to style all elements and classes within the shadowRoot.
insideClasses
sets classes on inside container:
insideClasses: ['contained', 'another-class']
#shadow-root
<div class="ReactShadowDOMInsideContainer contained another-class"><h1>I'm in a ShadowDOM</h1></div>
In order to completly unmount everything (removing containers and unmounting React components),
the ReactShadowDOM
function returns an object containing an unmount
function:
let { unmount } = ReactShadowDOM(...)
unmount()
yarn install
yarn demo
yarn test:integration
yarn test:cypress:debug 'cypress/integration/ReactShadowDOM.js'
npm publish
FAQs
A library to easily render react compatible shadow DOMs for web components with individual styling for inside and outside.
We found that @depay/react-shadow-dom demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.
Security News
Sonar’s acquisition of Tidelift highlights a growing industry shift toward sustainable open source funding, addressing maintainer burnout and critical software dependencies.