- Add support for more Math notations:
&&
,||
,|
,&
,∧
,∨
- Fix default context value.
-
Add the general
@match
selector./* match the first 5 elements */ @match( i <= 5 ) { background: red; } /* other math calculations */ @match( gcd(x, y) ≠ 1 ) { background: red; }
- Use a shorter name
fill
forfill-rule
.
- Fix
frame
calculation on graph transformations.
- Fix negative functions in
calc
.
-
Support left-handed negative commands or variables inside
shape
function.clip-path: @shape( -x: cos(t) - .2 ); /* equals to */ clip-path: @shape( x: -1 * (cos(t) - .2) );
-
Add
range
function within shape context so that it's easy to draw Math equations.@grid: 11x1 / 200px; @place-cell: @point( x: range(-1, 1); /* -1, -.9, 0, ..., .9, 1 */ y: x^2; );
- Rename shape command
origin
tomove
. - Change shape function to respect Math coordinate system.
- Fix calc function for heading negative variables.
-
Add support for nested selectors shorthand.
g circle { } /* equals to */ g { circle { } }
-
Resolve
id
property on selectors.circle#my-circle { } /* equals to */ circle { id: my-circle; }
-
Handle special properties in SVG.
use { xlink:href: #my-circle; }
-
Fix for semicolons as value separators.
animate { values: 50; 490; 350; 450; keyTimes: 0; 0.5; 0.8; 1; }
- Add another experimental
@reverse
function for svg paths.
- Temporarily fix nagative number calculations.
- Add
@canvas
for generating background with JS.
- Add flip/invert support for H and V commands.
- Add lowercase
flipv
andfliph
aliases.
- Change
offset
topoint
for a better name.
- Add
Offset
function for generating absolute values.
- Add experimental
@flip
and@revert
function for svg path
- Rewrite small parsers.
- Fix args for composed functions
- Make
@n-
modifiable with extra argument.
- Add
turn
option for shape commands.
- Fix bad variable for
@svg-filter
. - Fix extra arguments for sequence functions.
- Add support for group properties.
- Add support for svg text node with
content
property.
- Catch error on creating illegal SVG elements.
- Add a new way to write SVG inside
@svg
function.
- Remove
contain: content
.
- Fix SVG size in Safari.
- Add experimental
@reflect
and@offset
functions. - Set
aspect-ratio
for auto width/height grid.
- Make
@rand
function starts from 0. - Remove unused size presets.
- Remove/add new basic shapes.
- Add
points
alias forsplit
. - Set css-doodle element default to be
contain: content
.
- Fix build size to minimal.
- Fix blank canvas issue in shader.
- Catch error while WebGL is disabled.
- Skip HTML tags inside rules.
- Don't use random seed for unique ids.
- Avoid error while charset is missing.
- Fix error in composition for empty functions.
- Add
@path
function for responsive path commands used by clip-path. - Add
@rn
function for normalize distribution random. (Thanks @Plasmatium).
- Fix event binding and grid generation for empty block.
- Fix property register for
update()
method. - Fix initial time uniform name.
- Fix uniform timing function.
- Prevent uniform animation from getting over-written inside.
- Add experimental time uniform via
@t
.
- Fix calc parsing.
- Keep fraction values for degree in
@shape()
function. - Use empty string for empty
seq()
args for preventing side effects.
- Add seq() function for shape.
- Prevent empty shape commands.
- Recognize θ symbol.
- Do not evaluate
π
for compound expressions.
- Add support for function composition.
- Add support for comments inside
@shape
function. - Increase max split to 3600.
- Replace rotate with degree to normalize all commands to nouns.
- Switch the action order of rotate and origin.
- Fix trailing semicolon.
- Add
frame
option for shape, like stroke.
- Fix the exponent operator precedence to highest.
- Fix cycle direction.
- Add origin commands for
@shape
. - Support exponent operator in
@shape
.
- Fix reading undefined variables.
- Handle empty values for shape commands.
- Validate user input fill-rule value.
- Add polar equation support.
- Fix calc expand with variables.
- Make the polygon fill rule default to be
nonzero
.
- Fix default shader background-size.
- Fix promise not resolving correctly.
- Fix reading shaders from CSS variables.
Add a :host
display style that respects the hidden
attribute.
- Remove conditional statements since terser will remove line breaks ( a quick fix).
- Add
@shaders
function for writing GLSL inside css-doodle.
- Fix issue when
@doodle
is part of function arguments.
- Prevent circular references inside
@shape
function. - Normalize default values for
@shape
function.
- Add
@doodle
function to make css-doodle as backgrounds. - Add custom shape via
@shape
function.
- Fix error when calling
@shape
function.
- Respect to
devicePixelRatio
only when the given exporting scale value equals 1.
- Fix scale issue in Safari.
- Fix missing variables defined outside by applying all variables to the exported root element.
- Remove custom warnings for overload resolution.
- Fix default scale for retina screen.
- Fix the size of the exported image for relative values.
- Add
detail
option for export. - No export
scale
for Safari.
- Add
export
API for saving css-doodle as an image.
- Add 2-dimensional traversal ability to
@m
function. - Simplify function names by introducing capitalized names.
- Improve code generation speed.
- Fix '0' value in arguments not being included.
- Fix attribute update for seed number.
- Normalize the count of sequence generator so it's ok to use
@r
function in@m
function. - Replace all errors with warnings.
- Add version to released files.
- Fix reading property names.
- Add seed number to css-doodle.
- Add cross options to even/odd functions.
- Automatically register properties by their names.
- Make row/col respect to y/x.
- Fix blink on reinitialization.
- Fix the value of
@n
and@M
with no context.
- Fix grid parsing.
- Set default width/height to be
auto
. - Export CSSDoodle as the module name for working with Observable.
- Support for function composition.
- Make arguments expandable.
- Fix Math function name like
ln10
andSQRT2
.
- Add top-level grid definition.
- Add stripe() function for gradients.
- Make function arguments less error prone, e.g. trailing commas.
- Increase the grid size up to 64x64.
- Use place-items instead of place-content for pseudo elements.
- Modify the name shape
pear
todrop
and add rotation. - Limit size of the lp and lr to 20.
- Fix unexpectable bug in Chrome.
- Add max iteration count
@N
. - Support last n value for
@lp()
and@lr()
.
- Ignore null or undefined values.
- Add
π
symbol. - Recongize function without parentheses.
- Add
rep
forrepeat
and several others for personal usage.
- Add shorthand for common standard paper sizes.
- Prevent duplicated definition when more than one css-doodle source being included in the page.
- Set all elements inside the component to be
border-box
. - Use
place-content
insteaad offlexbox
alignment. - Add opencollective funding to package.
- Expand the '±' symbol to '-' and '+' in one place.
- Add
click-to-update
attribute for demo stuff. - Add
@id()
function.
- Fix the nesting limit inside shadowDOM.
- Add
depth
dimension. - Add alias for
row
andcol
.
- Fix typo for
multiple-with-space
.
-
The third dimension now based on
1x1
. That is to say, the1x2x8
will not work, but1x1x8
does. -
Deprecated the
@multi
alias.
- Add
@ms()
multiple values separated with space. - Add support for dynamic functions with numeric parameters.
- Fix for
content: none
- Add
@rand-int()
.
- Ignore empty composed values.
- Fix the missing varaible for dimension
z
.
- Experiment for new dimension z.
- Fix the clamped min value.
- Fix type error in
@rand()
. - Fix the shuffle algorithm.
- Improve the behaviours of
@pd()
and@pn()
.
- Support multiple arguments for
@nth()
,@row()
and@col()
. - The range of
@rand()
is now unlimited.
- Remove step value for
@rand()
.
- Fix native content values.
- Fix bug on attribute changing.
DO NOT USE
- Fix coords reference.
- Fix pseudo content value with
var()
. - Fix empty value for
@use()
.
- Support multitple pseudo selectors on one rule.
- Fix bug on multitple animation names.
- Fix parse error on keyframe names.
- Fix generated multiple animation names.
- Prevent error on empty or unknown shapes.
- Don't throw JS errors.
- Fix the shuffle algorithm.
- Fix context bug for
@pick-d()
. - Prevent scrollbars caused by
@place-cell()
.
- Automatically add vendor prefixes for properties.
- Automatically add quotes for pseudo-content.
- Support char range in
@pick
functions. - Add experimental
@svg-filter()
function.
- Fix error in
@pick-d()
. - Fix type error of units handling.
- Rename
@max-row()
to@size-row()
and@max-col()
to@size-col()
. - Replace uglify-es with terser.
- Fix scientific notation in
@calc()
.
@nth()
now behaves like nth-child.- Add
@pick-d()
function. - Accept any unit.
- Fix errors in
@calc()
. - Fix invalid
@n()
caused by the idx params.
- Increase iterating limit for
@repeat()
and@multiple()
. - Make
:container
inherits all the grid properties from:doodle
element.
- Fix parse error to read arguments.
- Fix context called by
@n()
and@pick-by-turn()
.
- Remove legacy functions and properties:
size()
,min-size()
,max-size()
and@shape()
.
- Add aliases for frequently used functions.
- Fix parse error to support more dynamic value inside function parameters.
- Fix parse error related to @keyfames.
- The second value of
@place-cell
is set to50%
when it is missing.
- Add
@multiple()
function to easily compose values. - Add
@pick-by-turn()
to pick a value one by one. - Add
@last-pick()
andlast-rand()
to reference the last generated value. - Add
@var()
to replace the use ofvar()
inside the styles which passed to the@use
property.
- Fix parse error
- Add experimental
@svg()
function to use svg as background
- Fix bug in @size()
- Fix type error in @calc()
- Support more CSS units
- Fix bug on reset
- Support
left/right
,top/bottom
keywords for@place-cell
- Fix duplicate rule for
nth-of-type(1)
- Remove
eval()
for Math functions
- Add
@use
property anduse
attribute