All Projects → jelhan → ember-style-modifier

jelhan / ember-style-modifier

Licence: MIT license
{{style}} element modifier for ember.js

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Handlebars
879 projects

Projects that are alternatives of or similar to ember-style-modifier

ember-autoresize-modifier
Autoresize Element Modifier for Ember.js
Stars: ✭ 15 (-53.12%)
Mutual labels:  ember, ember-addon, ember-modifier
ember-on-modifier
Implements the `{{on eventName this.someAction}}` element modifier from https://github.com/emberjs/rfcs/blob/master/text/0471-on-modifier.md
Stars: ✭ 37 (+15.63%)
Mutual labels:  ember, ember-addon, ember-modifier
ember-i18n-cp-validations
ember-i18n support for ember-cp-validations
Stars: ✭ 20 (-37.5%)
Mutual labels:  ember, ember-addon
ember-template-inspector
An ember add-on which opens the template file in the code editor while inspecting an element.
Stars: ✭ 15 (-53.12%)
Mutual labels:  ember, ember-addon
ember-cli-nouislider
{{range-slider}} component for ember-cli powered by noUiSlider
Stars: ✭ 43 (+34.38%)
Mutual labels:  ember, ember-addon
Ember Graphql Adapter
GraphQL adapter for Ember Data
Stars: ✭ 244 (+662.5%)
Mutual labels:  ember, ember-addon
ember-data-contentful
Ember Data adapter for contentful.com
Stars: ✭ 33 (+3.13%)
Mutual labels:  ember, ember-addon
ember-pipeline
Railway oriented programming in Ember
Stars: ✭ 17 (-46.87%)
Mutual labels:  ember, ember-addon
Ember Font Awesome
ember-cli addon for using Font Awesome icons in Ember apps
Stars: ✭ 225 (+603.13%)
Mutual labels:  ember, ember-addon
ember-qunit-assert-helpers
An ember-addon that provides additional QUnit 2.0 assertions specific to Ember.js.
Stars: ✭ 12 (-62.5%)
Mutual labels:  ember, ember-addon
ember-emojione
EmojiOne helper and components for your Ember App
Stars: ✭ 16 (-50%)
Mutual labels:  ember, ember-addon
ember-cli-string-helpers
Set of the String helpers extracted from DockYard's ember-composable-helpers.
Stars: ✭ 73 (+128.13%)
Mutual labels:  ember, ember-addon
ember-validity-modifier
Ember Octane addon to add custom validity (form validation) to form fields
Stars: ✭ 28 (-12.5%)
Mutual labels:  ember, ember-addon
Ember Lifeline
An Ember addon for managing the lifecyle of asynchronous behavior in your objects
Stars: ✭ 241 (+653.13%)
Mutual labels:  ember, ember-addon
ember-airtable
Boilerplate for quickly prototyping apps with Airtable, Node & Ember
Stars: ✭ 21 (-34.37%)
Mutual labels:  ember, ember-addon
Ember Service Worker
A pluggable approach to Service Workers for Ember.js
Stars: ✭ 227 (+609.38%)
Mutual labels:  ember, ember-addon
ember-vertical-timeline
A Vertical Timeline for Ember.js apps 🚀
Stars: ✭ 19 (-40.62%)
Mutual labels:  ember, ember-addon
ember-resources
An implementation of Resources with some helpful utilities
Stars: ✭ 68 (+112.5%)
Mutual labels:  ember, ember-addon
Ember Models Table
Table with pagination, sorting, filtering and much more
Stars: ✭ 212 (+562.5%)
Mutual labels:  ember, ember-addon
Ember Cli Document Title
Adding document title behaviour to your ember app
Stars: ✭ 220 (+587.5%)
Mutual labels:  ember, ember-addon

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 v14 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].