- prevent
fela-plugin-fallback-value
to resolvefontFace
-property used forfela-plugin-embedded
( #304 )
- fixed wrong
fela-dom
export
- added
renderToSheetList
tofela-dom
to enable custom server-side rendering - introducing fela-plugin-simulate to simulate nested style objects e.g. pseudo classes and media queries ( #261 )
Although all API changes ship with backward compatibility, we still publish a new major version as we changed a lot of internal infrastructure and want to make sure to not break existing applications in any way.
- introducing the new fela-dom server-side method
renderToMarkup
as well as a new improvedrender
for to avoid FOUCs and big stylesheet rerenders. ( #156 ) connect
now directly accepts an object of named rules that are mapped to thestyles
prop. ( #260 )createComponent
's passThroughProps now either accept an array of prop keys or a function that returns an array of prop keys (instead of an object of props)
- only set
id
and/orstyle
oncreateComponent
if actually required to reduce overhead - introducing fela-plugin-embedded supporting inlined keyframes and font faces in rules ( #238 )
- introducing fela-plugin-important that adds
!important
to every declaration ( #249 ) - font rendering, especially SVG fonts, has been improved in many ways ( #282 )
- a bug in fela-plugin-validator has been fixed to improve keyframe validation ( #257 )
- the fela-monolithic enhancer has been completely rewritten for better performance ( #256 )
We switched the whole project to an improved workflow with Lerna. This release is the first one done by Lerna.
- fix wrong
<ThemeProvider>
export
- revert ( #239 ) to fix
<ThemeProvider>
- using
prop-types
to support React >= 15.5 ( #245 ) - using
react-broadcast
to ensure a rerender on theme changes ( #239 ) - added support for Base64 font files ( #242 )
- fixed media query validator in fela-plugin-validator ( #231 )
- fixed render returns for
<Provider>
and<ThemeProvider>
in preact-fela ( #228 ) - added TypeScript typings to the plugin presets ( #229 )
- fix for wrong exports of fela-plugin-fallback-value
- introducting preact-fela ( #207 )
- updated inferno-fela ( #212 )
- first-hand fela-native support for
createComponent
( #213 ) - improved fela-plugin-prefixer performance
- various small performance improvements
- typed the whole code base with Flow
- using Jest and Prettier
- fixed package exports for JSPM users
- improved TypeScript type definitions
- many small documentation improvements
- introducing the fela-statistics enhancer providing many different metrics to analyze your styling ( #203 )
- added the option to pass a static
className
to the fela-monolithic enhancer ( #201 )
- updated both prefixer to inline-style-prefixer 3.0.0
- added the
is
prop tocreateComponent
to define a custom type on runtime
- (hot)fixed weird bug introduced by switching
slice(1)
totrim()
- introducing the fela-monolithic enhancer to use component-based CSS classes instead of atomic ones ( #195 )
- improved style assigning to automatically merge arrays e.g. when using fela-plugin-extend
- fixed a bug that prevented the LVHA plugin from working correctly ( #199 )
- removed deprecated
render
from fela in favor of fela-dom - using try-catch to catch unsupported rules inside
insertRule
- removed a deprecated error for
undefined
values - added the
innerRef
prop to pass aref
directly tocreateComponent
components ( #190 )
- Rules support any extending (child) selectors using the
&
-prefix ( #169 ) createComponent
now automatically composes Fela Rules ( #176 )createComponent
's passThrough & passThroughProps now also accept a function ( #174 )
- added fela-plugin-named-media-query which transforms named media queries into valid media query syntax ( #182 )
- added fela-tools which provides useful tools for working with Fela (e.g.
StyleSheet
andmapValueToMediaQuery
) ( #183 )
- only use lowercase classNames to prevent issues in case sensitive modes ( #167 )
- added
selectorPrefix
option to renderer ( #162 )
- added support for optional declarations by automatically removing
undefined
values and string values includingundefined
to support - fixed a typo that lead to false logs using fela-logger
- safe support for child selectors using the
>
special key - [react-fela] treating id as a first class attribute which is passed through by default ( #158 )
This release ships a lot of refactored code which lead to smaller package sizes, simpler and more readable code as well as higher performance.
- moved
render
into separatefela-dom
package - use atomic CSS design to improve performance and reuse styles on declaration base
- added fela-style-debugger which replaces fela-plugin-debug-layout
- removed
defaultProps
fromrenderRule
as they now are obsolete - added
exclude
option tofela-plugin-isolation
( #126 )
- fixed a bug where dynamic rules missed the static className in return ( #151 )
While the changes in this version won't provide any "visible" improvements, actually a lot has happened under the hood. We are proud to introduce a much faster rendering mechanism. It now fully supports nested props and even returns even smaller classes. That way it is now possible to work with complex themes and advanced conditions.
renderRule
now accepts a third parameterdefaultProps
( #140 )- [react-fela]
createComponent
now uses an array forpassThroughProps
( #148 ) - [react-fela]
createComponent
also accepts a fourth parameterdefaultProps
( #140 ) - [react-fela] Introducing
<ThemeProvider>
for component theming ( #84 )
- hashing the style output rather than the input props
- added fela-plugin-isolation which provides true rule isolation ( #118 ) (still experimental)
- fixed rendering order in production ( #108, #111 )
- added ability to order media queries explicitly ( #110 )
- [react-fela] added
passThrough
prop tocreateComponent
to dynamically pass props to the underlaying element
- Improved className readability when using
prettySelectors
( #98 ) - [react-fela]
createComponent
now uses therule.name
asdisplayName
( #99 )
With this version, all packages have been moved to the main repository. Moved packages are react-fela, inferno-fela and fela-stylesheet. This helps to maintain the library and all its packages in a single place.
- [react-fela]
createComponent
auto passesstyle
,id
andclassName
- [react-fela]
connect
invokes the component name for improved CSS debugging
- proper className prefixing abilities ( #96 )
- combined rules are named
combined
withprettySelectors
set totrue
- added fela-plugin-placeholder-prefixer which adds all prefixes to the
::placeholder
pseudo element ( #95 ) - added unit per property option to fela-plugin-unit ( #96 )
- added additional information to change objects that get emitted
- added fela-logger which provides advanced logging ( #93 )
- added
prettySelectors
option to the renderer to enable human readable classNames while in a development environment. ( #89 ) - added fela-plugin-debug-layout which adds colored outlines to every element to debug styles
-
Renderer.subscribe
no longer receives the whole CSS string, but rather a change object describing what has been changed. However it gets the renderer passed as its second parameter which will let you get the whole CSS string using.renderToString
anyway. -
Rehydration ( #71 )
Rehydration has been added to the renderer which enables full style rehydration at runtime to evaluate rules again (e.g. when your application theming changes). It can be triggered usingRenderer.rehydrate
.
While rehydrating, no DOM updates will happen. This happens with a single manipulation as soon as the full rehydration process is done.
- Faster rule rendering in production using
CSSStyleSheet.insertRule
- Added tons of new documentation content as well as 'Related' sections most of the articles
- fixed the
fela-preset-web
npm package which accidently contained thefela-preset-dev
( #87 )
- Diffing style objects is done after processing with plugins ( #81 )
- Added attribute and child selectors to rules ( #69 ) ( #75 )
- fela-plugin-friendly-pseudo-class supports nested pseudo classes
- added TypeScript Bindings and Angular support ( #67 )
- added support for multiple font family declarations ( #76 )
- added fela-plugin-remove-undefined
- enhancers can now be passed to
createRenderer
via config ( #63 )- makes
enhance
optional and is more simple to use
- makes
- fixed
peerDependency
issues - added style object shape validation to fela-plugin-validator
- improved initial rendering performance
- added fela-font-renderer enhancer ( #55 )
- added fela-plugin-extend ( #61 )
- improved fela-perf
- now logging rule, props and elapsed time
- improved fela-beautifier
- using a single entry now
- updated fela-plugin-prefixer to use inline-style-prefixer version 2.0.0 ( #57 )
- added fela-plugin-dynamic-prefixer
- added
logMetaData
option to fela-plugin-logger - improved dynamic style extraction (diffing)
- added
fela
as apeerDependency
to every package
- Added support multiple static styles assigned to a single selector ( #56 )
Initial Version. (1.0.0 can not be published as 1.0.0-beta.2 was already published before.)