partywall

0.3.0 • Public • Published

partywall

A prollyfill for the style aspects of the HTML Parts and Walls spec.

For the DOM aspects of the HTML Parts and Walls spec, see getpart-polyfill.

Using partywall.js

To start using this script, call the partywallStyler() function it adds to the global environment. This will populate the needed information for all elements on the page, set up mutation observers to keep that information accurate, and add a stylesheet to the document to contain all styles whose selectors are dynamically generated by this styler.

To add a style to be applied by the styler, use addStyle(list, style). The list argument is an array of selectors, where the selectors are arrays of wall-separated selector strings. (Any selectors that involve non-walled descendant selectors between them may be specified as further arrays, whose contents will be concatenated with spaces.) The style argument is the string of CSS style properties, like what you would assign to a style property on an element.

Known limitations

  • Part selectors specified as an ID do not increase specificity the way the spec states they should.
  • While the spec states that walled descendant selectors should be capable of crossing Shadow DOM boundaries, the selectors specified by partywall-style.js are document-bound.
  • Increases in wall depth will increase selector application time, due to the way styles are generated to match through all potential wall roots.

Readme

Keywords

Package Sidebar

Install

npm i partywall

Weekly Downloads

0

Version

0.3.0

License

MIT

Last publish

Collaborators

  • stuartpb