Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ember-style-modifier

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ember-style-modifier

{{style}} modifier to set an element's style using the CSSStyleDeclaration API.

  • 4.3.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
65K
increased by44.77%
Maintainers
1
Weekly downloads
 
Created
Source

ember-style-modifier

CI Ember Observer Score npm version

This addon provides a {{style}} element modifier to set element's style. This allows to set custom CSS of an element without requiring a Content Security Policy style-src-attr: "unsafe-inline".

Compatibility

  • Ember.js v3.28 or above
  • Ember CLI v3.28 or above
  • Node.js v18 or above

Installation

ember install ember-style-modifier

Usage

It expects CSS declarations as named arguments or as a hash as positional argument. Property names are supported in dasherized as well as in camelCase spelling. Value must be a string or undefined. You may set a priority by adding an "!important" suffix.

<p
  {{style
    border="1px"
    padding="1em !important"
  }}
>
</p>

<p
  {{style
    (hash border="1px" padding="1em !important")
  }}
>
</p>

You may pass multiple hashes as positional arguments and combine hashes with named arguments. If multiple hashes are passed and contain CSS declarations for the same property, last one wins. If hashes and named arguments declare same property, named argument wins.

Adding styles to pseudo-elements is not supported.

Known limitations

Ember Style Modifier suffers from two known limitations of Modifiers in Ember. Both need to be addressed by extending modifiers capabilities. Doing so, is discussed in a RFC issue.

Server-side rendering is not supported

Modifiers do not run in server-side rendering (SSR). Styles set using ember-style-modifier are therefore not applied if application is run with FastBoot or prerendered using Prember. This may lead to wrong layout before rehydration and layout shifts on rehydration.

Browser may paint the element twice on initial render

Modifiers run after browser has printed the page. If styles are applied to an elements immediately, the browser first renders the element without those styles applied and immediately afterwards with these styles applied.

This may theoretically cause the experience of a flickering user interface. But such a case has not been noticed yet in practice.

Rendering the element twice has a performance impact. But it should not have any noticeable impact in practice.

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

Keywords

FAQs

Package last updated on 13 Feb 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc