- Patch #110
- Fixes #110
- Pass extra argument to plugins that cen be used determine which
@at
rules are nested within each other. i.e
@media (max-width: 100) {
.a {
color: blue;
}
@supports (color:none) {
.b {
color: red;
}
}
}
When processing the following in @supports
.b {
color: red;
}
Stylis internally knows that it is within @media > @supports
but prior to this release did not pass this meta data to plugins.
The presence of this meta data allows plugins to branch different logic when nested within specific @at
rules, demonstrated in the most simple use case within the stylis-rule-sheet
plugin, more advanced cases might use the specific type(denoted as a character code) of the @at
rules involved.
- patch for incorrect vendor prefixing of many
text-
properties, fixes #95. - improvments to no-semicolon option, fixes #97.
- patch
text-decoration
to re-include vendor-webkit-
prefix. - patch vendor prefix of height/width keyword varients i.e
stretch/fit-content
. - patch rule-sheet plugin to handle nested
@at
rules.
- patch for
@supports
parsing to work on IE8.
- patch inverted parent selector when used with an implicit
:psudo
selector.
- patch vendor prefix for align-content
flex-start
andflex-end
. - Fix typescript declaration.
- Patch for <= Safari 8
webkit
vendor prefix offlex-basis
,flex-shrink
andflex-grow
, fixes 76 - Improve no semicolon mode, fixes #74 and #56.
- Fix
@support (...)
vendor prefix for values that end in parenthesis()
.
- Improve fault tolerance.
- patch
@page {...}
nested context.
- patch for manual prefixed at-rules. i.e
@-moz-document {...}
. - patch for flexbox vendor prefix
flex-grow
,flex-shrink
andflex-basis
. - vendor prefix
box-decoration-break
. - better handle special
:global
selector withnewlines
in cascade isolation mode. - patches for input that end ends exactly(absent-whitespace) with a comment.
- patch incorrect vendor prefixing of justify-content
- support legal block comments
/*! */
- patch multiple none and multiple values for
animation-name
-
patch
@supports
vendor prefixes to include a space between theor
clause i.e@supports (display: sticky)
The lack of space seems to break some css pipelines i.e
insertRule
.
- patch: passes an additional depth argument to plugins.
-
Passes an additional depth argument to plugins.
This can be used within a plugin to tell if you are in a flat selector/nested selector and how far deep.
- patch
mask-image
prefixes for gradientsmask-image: linear-gradient(transparent, black);
- patch, svg
fill
vendor prefixing mismatch.
- patch
<max|min>-content
vendor prefixing mismatch.
- patch
-ms-
vendor prefix foralign-self: flex-<start|end>
align-self in IE10 must be juststart
andend
.
- handle
-ms-
vendor prefix forjustify-content: space-between;
. - improve minification of empty rules.
- patch unnecessary triming of required whitespace in no-semicolon rule
- patch vendor prefix
display :flex
- vendor prefix
@supports (...rules)
rules
- vendor prefix
masks
- patch vendor prefix
position: sticky
- vendor prefix
position: sticky
- minor performance improvements
- vendor prefix
filter
- improve ASI.
- improve whitespace comression.
- improve fault-tolerance.
- improve fault-tolerance.
- improve parsing selectors within a single non-breaking line.
- improve typescript definitions #47
- patch for ASI when last character in selector block is a quote.
- patch to preserve intentional whitespace character in
calc
functions. - patch vendor prefixing of
text-decoration
getting mistaken fortext-size-adjust
.
- patch for valid value
reverse
in theanimation
short hand namespace.
- patch options passed to constructor when using the factory pattern
- add API to extract an isolated stylis instance.
- middleware, allow
pre
context to affect the input. - vendor prefix
writing-mode
. - vendor prefix
column
varients. - add
preserve
options to preserve empty rules.
- patch for inverted parent selector
&
used without a leading space.
- improve ASI(auto semicolon insertion) detection
- patch
webkit
vendor prefix oftransform
withintranstion
property
- patch print
@at-rule
styles i.e@page
,@top-level
etc.
- patch
@at-rule
middleware context replacement value - patch parent
html &
selector - patch
:read-only
selector vendor prefix
- improve cascade isolation mode
- improve inverse selector detection
- improve monkey-patching invalid css patterns
- support monkey-patching some common invalid css patterns
- patch inverse selector
html &:after
- escape user authored control characters that break browser vendor parsers
\0
,\f
,\v
- improve
::placeholder
detection
- middleware, patch: allow middleware to monkey-patch return value
- middleware, patch multiple chained middlewares
- middleware, allow
post
context to affect the output - middleware, pass stylis to plugins as
this
reference for plugins to access - middleware, allow middleware to monkey-patch return value
- patch
backface-visibility
vendor prefix
- patch middleware property context to remove the property when an empty string is returned
- patch middleware preperation and post process context UUID
- improves auto semicolon insertion
- improve minification with compress option
- patch ReferenceError
escade
undefined
- fix a ReferenceError
flex
undefined
- patch isolation mode
:not()
andpseudo
selectors - patch compress option to preserve spaces in
calc(0px + 10px)
- patch vendor prefix flexbox
inline-box
- patch missing
use strict
directive
- plugins, patch line and column number to start at
1
instead of0
- patch isolation mode prefixing
nth-child()
functions
- improve invalid keyframe namespace characters
- patch keyframe namespacing to handle more generic attribute expressions
- patch keyframe namespacing to not include extra characters with valid namespaces
- patch
@media
rule namespacing in cascade isolation mode
- patch isolation mode
#id
and.class
children - patch one character properties with no-semicolon mode ex.
x: value
- patch removal of universal selector
*
- improve no-semicolon detection when the last character is a
)
- improve
@keyframes
scoping to supportnumber
identifiers
- patch css isolation mode
@keyframes
- improve
::placeholder
prefixing to patch mispatching cases ex.:papaya
- patch parsing cascade isolation orphaned
&
operator - patch issue with closure minification
- patch
mangling
keyframes without a name/correct whitespace - patch duplicate
;
in cascade-less mode - patch
webkit
vendor prefix foralign-self
- slightly smaller file size (3.3kb –> ~2.9kb)
- support no semi colons (on by default)
- improved plugin support
- smaller output
- improves on settings options
- added cascade isolation mode (off by default)
- added aggressive compression mode (off by default)
- added an option to disable vendor prefixing
Registering plugins has changed slightly and is solely through.
stylis.use(Function|Array<Function>|null)
Setting options has moved from arguments passed to stylis(selector, css, opts...)
to
a dedicated setter.
stylis.set({
global: false,
keyframe: false
...
})
- support older webkit vendor prefix
transform
when used intransition
- support attribute selectors without values ex.
[attribute]
.
- patch middleware
@media
block context
- patch
:placeholder
in relation to@media
order
- patch regression in selector parsing
- patch
regression output @media order
- patch
regression @media parsing
- patch
@supports nesting
- patch
@supports
- vendor prefix
text-size-adjust
- patch whitespace found in a selector namespace
.class
->.class
- patch nested
::placeholder
vendor prefixing
- add vendor prefix for
::placeholder
- add vendor prefix for
justify-content
- patch vendor prefix for
align-items
- remove mixins, variables and block level
@global {}
- improve disabling compact features option
- 3.67KB -> 3.12KB
- patch
!important
indisplay: flex
vendor prefixing
- patch short hand animation name parser
- improve vendor prefixer, adds max-content and min-content
- improve last semicolon omission
- improve
:global()
selector parsing
- patch nesting for
:global()
selectors
- patch
:global()
selector
- patch
:global()
selector
- patch for
animation*}
when used as a last property without a semicolon
- patch single apostrophes in comments
- patch nested selector
:global()
- patch middleware param ignored when
stylis.use
is used to register middlewares - add new middleware context
ctx = 7
to allow for better linter plugins
- patch nesting in a
@media
block - patch parent reference selector
selector &
- patch to better handle
semicolon
omission on the last property of a selector
- patch
:matches(a, b, c)
and simplify,
token handler
- patch token in selector i.e
.test[title=","]
- patch arguments passed to middleware current
output
character countlength
- patch
&
specifity overloaded, i.e&&, & + &...
- patch
:global(:not())
,&:global()
and:global
in nested block
- patch
@media {}
in nested block - patch column and line number in nested block
- patch nesting in
@global {}
block
- patch
@global
- patch
cubic-bezier
- patch
@font-face {}
- prefix
cursor: grab|grabbing|zoom-in|zoom-out;
- allow
&
to be used as specifity multiplier&&
when used in conjunction
- add middleware context
ctx = 1.5
for every individual selector
- patch block comments
- patch inline-block comments
- follow a consistent property-value format for
display: flex;
prefix
- patch prefix
-ms-flexbox
- patch selectors in nested block
- improve handling
,
comma tokens in attribute selectors
- patch block comments inlined with selectors
- patch attribute selectors
- patch
&
nested selectors
- patch
inline-flex
property being replaced withflex
- patch parsing tokens in urls
- patch urls and data uri's
- improve parsing and namespacing animations names in the
animation:
property - avoid parsing for animation name when animation namespacing is disabled
- performance improvements
- support adding middleware/plugins with objects via
stylis.use
- add IE 8 support
- more supported extensions to the
@import
parser. - finallize middleware lifecycles, adds one before compiling
- add
stylis.use
to register multiple middlewares independently
- patch for @media flat css
- patch flat, nested and import css order
- add new context that executes middleware just before compiled output is returned
- add support for higher level middleware support with middleware objects
- enable compact flag to enable additional features(variables and mixins)
- support nested @media blocks
- patch
&
token useagehtml & {}
to producehtml ${namespace} {}
- seperate tokens passed to middleware into
selector, property, block, flat, imports
- variables
$foo: ;
->~~foo: ;
andcolor: var(~~foo);
- prevent variable declarations in selectors
- improve animation name finder
- patch animation property namespacing
- add support for sass-like mixins
- add support for sass-like variables in string format
$foo: 1; color: $foo;
- add support for middleware
- patch comments in flat css context
- patch animation property
- patch tokens in strings
- patch
:host
conflict with:hover
- better handle line comments
- small improvements to compiler
- patch 0.8.0 regression with @media blocks skipping namespaces
- add nested support
h1 { color: red; &:hover { color: blue; } }
- add support for flat css in @media block
- improve flat css support
- patch
//
line comments
- add inline
:global()
function, change@root
to@global
- patch
:host...
implementation conflict with:root...
- add support for shadow dom selectors
:host, :host(selector), :host-context(selector)
- reduction to output payload(unused prefixes)
- improvements to handling of line comments
- improvements to parsing performance
- improvements to parsing, do away with the little regex that was used
- handle edge cases with
@keyframes
nested in@root
block - support complete prefix support in
@keyframes
and@root
blocks
- patch
h1, &:before{}
pseudo selectors in multiple selectors
- patch flat css
stylis('#id', 'color:red;')
to act as a blockstylis('#id', '&{color:red;}')