Package detail
popmotion
The animator's toolbox
readme
changelog
Changelog
Popmotion adheres to Semantic Versioning.
[11.0.5] 2022-08-15
Update
tslibandtypescript.
[11.0.4] 2022-08-10
Update
- Adding
typestoexportsfield.
[11.0.3] 2021-12-03
Update
- Dynamic
restDeltafor smoother springs at low values.
[11.0.2] 2021-12-02
Update
- Locking dependencies.
[11.0.1] 2021-12-02
Update
- Locking dependencies.
[11.0.0] 2021-11-03
Changed
mixColoralways outputs RGB, even when mixing HSLA.
Added
- Animate HSLA with linear color mix.
- Animate between HSLA, RGBA and Hex with
mixColor.
[10.0.2] 2021-10-22
Fixed
- Updating
framesync.
[10.0.0] 2021-09-23
Fixed
- Fixing
exportsandmoduleinpackage.json. This will break (unsupported) direct file imports.
[9.4.1] 2021-09-21
Changed
- Change
mixComplex"too complex" error to warning, and allowing instant interpolation whenp > 0.
[9.4.0] 2021-06-18
Added
onStoptoinertia.
[9.3.6] 2021-05-11
Fix
- Correctly end spring animation if provided
bouncewithoutduration.
[9.3.5] 2021-03-30
Update
- Updating
framesync.
[9.3.4] 2021-03-19
Fixed
- Updating
style-value-types.
[9.3.3] 2021-03-19
Fixed
- Fixing
mainentry point.
[9.3.2] 2021-03-19
Added
- Adding
exportstopackage.json.
Updated
tslibto latest.
[9.3.1] 2021-03-02
Fixed
- Scheduling of first animation frame was previously set to
immediate, leading to double animations for animations stopped/started within the same frame.
[9.3.0] 2021-03-01
Fixed
- Unbundling ES code to facilitate code-splitting in Webpack.
[9.2.1] 2020-02-22
Update
- Upgrading to `style-value-types@4.0.3`.
[9.2.0] 2020-02-22
Update
- Upgrading to `framesync@5.1.0` for better Node compatibility.
[9.1.0] 2020-01-08
Update
- Support for hex alpha in
mixColor.
[9.0.2] 2020-12-18
Update
- Dependency updates.
[9.0.1] 2020-12-01
Fixed
- If
offsetsis a different length tovalues, rather than throw an error we now just generate default offsets.
[9.0.0] 2020-10-24
- Full API revamp, see documentation.
[8.7.5] 2020-09-03
Fixed
- Refreshing published bundle.
[8.7.2] 2020-04-28
Fixed
- Decay and inertia correctly start motion at from prop when using modifyTarget
- Decay and inertia no longer round target calculation
- Inertia calls modifyTarget even with zero-velocity
Changed
- Inertia implementation refinements
[8.7.1] 2019-11-14
Upgrade
- Upgraded to Typescript 3.7.
[8.7.0] 2019-06-25
Added
repeatDelayprop totween.
[8.6.10] 2019-05-09
Fixed
- Fixing undefined action creator. (https://github.com/Popmotion/popmotion/issues/794)[#794]
[8.6.9] 2019-05-01
Update
- Dependencies.
[8.6.8] 2019-04-01
Update
@popmotion/popcorn@0.3.6
[8.6.7] 2019-04-01
Fixed
- Making
inertia.completecall conditional on there not being a subsequent animation. (https://github.com/Popmotion/popmotion/pull/763)[#763]
[8.6.6] 2019-04-01
Update
@popmotion/popcorn@0.3.5
[8.6.5] 2019-04-01
Update
- Changing the behaviour of
inertiato always spring back if the initial value is out of bounds. On multi-axisinertiaanimations it used to be possible that both values are out of bounds and only one was travelling towards its bound - this led to a situation where one animation used a spring and the other used decay.
[8.6.4] 2019-03-12
Upgrade
- Upgrading `style-value-types@3.1.0`.
[8.6.3] 2019-02-21
Fixed
- Correctly integrating remainder of
elapsedin yoyo tweens to ensure multiple concurrent tweens stay in sync.
[8.6.2] 2019-01-28
Updated
- Tightened type definitions for TransitionMapFactory #714
[8.6.1] 2019-01-23
Added
- Adding
bounceStiffness,bounceDamping,restDelta,timeConstantandpoweroptions toinertia.
[8.6.0] 2019-01-16
Added
inertiaanimation.
[8.5.5] 2018-12-28
Update
[8.5.4] 2018-12-10
Fixed
- When a subscriber is added, only that subscriber is fired with the latest value.
[8.5.3] 2018-11-20
Fixed
- Ensuring
.stop()is part ofColdSubscriptiondefinition.
[8.5.2] 2018-11-16
Upgrade
- Moving to `popcorn@0.2.0`
[8.5.0] 2018-11-01
Fixed
- Enforcing minor upgrade to Popcorn.
[8.4.2] 2018-11-01
Fixed
- Migrating functions to Popcorn.
[8.4.1] 2018-09-29
Fixed
- Calling
transform.steps()should round properly to each step. #528
[8.4.0] 2018-09-21
Updated
- Moved to `framesync@4.0.0`
[8.3.8] 2018-08-30
Fixed
- Calling
tween.resume()would speed the tween up by firing multiple timers. #395
[8.3.7] 2018-08-30
Fixed
- Updating latest style-value-types and stylefire
[8.3.6] 2018-08-21
Fixed
- Fixed
postinstallscript by removing Chalk.
[8.3.4] 2018-08-20
Fixed
- Forcing
multitouchto usepassive: true.
[8.3.2] 2018-06-27
Fixed
- Forced fix from `style-value-types@3.0.3`
[8.3.2] 2018-06-27
Fixed
- Updated color regex in
style-value-types
[8.3.1] 2018-06-27
Fixed
- Fixing some TypeScript definition incompatibilities with newer versions of TS.
[8.3.0] 2018-06-20
Added
- Support for animating value types:
pxdeg%vwvh- Complex types including:
- SVG paths
- CSS gradients
- CSS shadows
[8.2.5] 2018-06-13
Fixed
- Removing
imports from output declaration files.
[8.2.4] 2018-06-08
Added
- Exporting popular types from index.ts.
[8.2.3] 2018-05-28
Fixed
- Renaming
popmotion.min.jsback topopmotion.global.min.js
[8.2.1] 2018-05-17
Fixed
- Removing
process.env.NODE_ENVfrom bundled hey-listen
[8.2.0] 2018-05-17
Changed
- Added Rollup to build process. Now just 11.1kb.
Deprecated
cssandsvgfunctions fromstylefire. Usestylerinstead.
[8.1.23] 2018-05-10
Fixed
- If an action stops more than once,
paralleldoesn't increase the stop counter.
[8.1.22] 2018-03-23
Fixed
- Making
easingtype optional ininterpolate.
[8.1.21] 2018-03-13
Updated
- Updating
stylefire.
[8.1.20] 2018-03-13
Updated
- Updating
stylefire.
[8.1.19] 2018-03-13
Updated
- Updating
stylefire.
[8.1.18] 2018-03-13
Updated
- Changed
Updatetype definition toFunction.
[8.1.17] 2018-03-09
Updated
- Stylefire updated to
1.2.6
[8.1.16] 2018-03-06
Fixed
valuenow fires a velocity check at the end of the following frame to set velocity to0if it hasn't been updated.
[8.1.15] 2018-03-06
Updated
- Stylefire updated to
1.2.5
[8.1.14] 2018-03-04
Updated
- Stylefire updated to
1.2.4
[8.1.13] 2018-03-04
Updated
- Stylefire updated to
1.2.3
[8.1.12] 2018-03-04
Update
- Running
parseFloaton string values when returning velocity. - Stylefire and Style Value Types upgrade
[8.1.11] 2018-02-19
Update
interpolateroughly 200x faster when interpolating between just two numbers.
[8.1.10] 2018-02-04
Fixed
- Stylefire update.
[8.1.9] 2018-01-22
Fixed
- Fix removeEventListener in Chrome 46 #248
[8.1.8] 2018-01-15
Fixed
- Fixing TS errors for
stop
[8.1.7] 2018-01-04
Changed
- Updating Framesync to improve performance at 30fps.
[8.1.6] 2018-01-03
Fixed
- Fix build.
[8.1.5] 2018-01-03
Fixed
- Upgrading Stylefire.
- Corrected types on
tween.
[8.1.4] 2017-12-22
Added
generateStaticSpringtransformer.
[8.1.3] 2017-12-18
Added
conditionaltransformer.
[8.1.2] 2017-12-12
Changed
- Removed
esnextandmodulesettings from package.json, addedsrcto exclude.
[8.1.1] 2017-12-12
Changed
- Adding README.md to package.
[8.1.0] 2017-12-12
Release!
[8.0.37@beta] 2017-12-11
Changed
everyFramenow outputs thetimeSinceStartrather than the current framestamp (which can be taken fromframesync).
Fixed
- Actions that use internal
everyFrameactions now stop the timer when complete.
[8.0.35@beta] 2017-12-09
Added
- The API matching of
parallelandcompositecan now accept arguments with the same shape. For instance:
composite({
x: physics(),
y: physics(),
}).setSpringStrength({ x: 100, y: 50 })[8.0.34@beta] 2017-12-05
Changed
keyframespropeaseis noweasings.easeapplies easing to the overall tween.
[8.0.33@beta] 2017-12-04
Added
timelineanimation.
Changed
staggernow outputs array.
[8.0.32@beta] 2017-11-28
Added
- New
schedulecompositor.
Changed
transformChildValuesis nowtransformMap, and finally docced.
[8.0.31@beta] 2017-11-27
Fixed
- Stopped new instances of actions mutating shared vars.
[8.0.30@beta] 2017-11-24
Fixed
- Published with wrong version of Stylefire.
[8.0.29@beta] 2017-11-24
Fixed
- Ensuring
everyFramestops when it's bloody well told to.
[8.0.28@beta] 2017-11-22
Changed
- Upgrading Stylefire
[8.0.27@beta] 2017-11-16
Fixed
delaywaits appropriate number of time beforecomplete.
[8.0.26@beta] 2017-11-16
Fixed
- Fixing
scaledelta equation and firingpreventDefaulton multitouch events.
[8.0.25@beta] 2017-11-16
Fixed
- Providing
multitouchscaleandrotateprops outputs the delta as applied to those values.
[8.0.24@beta] 2017-11-16
Added
keyframeseaseproperty can now be a single function.multitouchaccepts initialscaleandrotateproperties.filterchainable to actions and reactions.
Changed
touchbecomesmultitouch.reactionbecomesmulticast.onFramebecomeseveryFrame.
[8.0.22@beta] 2017-11-16
Fixed
- Fixed
tweenflip.
[8.0.21@beta] 2017-11-16
Added
scaleandrotateproperties totouch.listenaction.
[8.0.20@beta] 2017-11-14
Fixed
- Fixed
isActivebug with observable. Should look at removing this in favor of Reaction.
[8.0.19@beta] 2017-11-14
[8.0.18@beta] 2017-11-14
Changed
- Changed
springequation.
[8.0.17@beta] 2017-11-14
Changed
- Changed
springequation.
[8.0.16@beta] 2017-11-14
Fixed
- Reactivating a reaction when provided a new parent.
[8.0.15@beta] 2017-11-14
Fixed
- Re-reversing
springinitial velocity.
[8.0.14@beta] 2017-11-14
Fixed
- Not reversing
springinitial velocity.
[8.0.13@beta] 2017-11-14
Fixed
keyframescomposite undefined value fixed.
[8.0.12@beta] 2017-11-11
Added
valuehandles objects and arrays.reactionandvalueautomatically stop previous action if used to start a new one.
Fixed
compositeAPIs now map return values to the provided object, rather than as a flat array.
[8.0.11@beta] 2017-11-10
Added
- Object, array and colour support to
keyframes.
Changed
pointerDeltahas been removed,pointernow accepts an initial point.
[8.0.10@beta] 2017-11-09
Fixed
- Fixing broken entry point in
package.json.
[8.0.9@beta] 2017-11-08
Added
- Color support to all vector actions.
[8.0.8@beta] 2017-11-08
Added
crossfade,delay,mergeandstaggercompositors.
[8.0.7@beta] 2017-11-07
Added
chaincompositor.
[8.0.4@beta] 2017-10-30
Added
- New reactive API.
keyframesanimation.decayanimation.deltatransformer.
Removed
flowalias forpipe- Transformers:
add/subtract/divide/multiply/conditional/alpha/percent/degrees/px/rgbUnit/rgba/hex/color/hsla - Renderers: Moved to Stylefire
- Render Loop: Moved to Framesync
- Color Tween: Moved to Popmotion Color Tween
- Value Types: Moved to Style Value Types
Changed
physicsproptois nowtophysicspropspringis nowspringStrengthphysicspropautoStopSpeedis nowrestSpeed.springproprestDisplacementis nowrestDelta.
[7.8.2] 2017-10-02
Changed
- Now publishing
distfolder on npm for use on CodePen via unpkg.com
Changed
springtransformer becomeslinearSpringto avoid clashing with thespringaction.
[7.8.1] 2017-08-29
Fixed
- Fixing mistake where Framesync's renamed
currentFrameTimewas exported instead of the previously-namedcurrentFrameTimestamp.
[7.8.0] 2017-08-29
- Spinning off
framesyncto it's own module and deprecating render loop functions for removal in8.0.0.
[7.7.1] 2017-08-27
Fixed
- Bug in
touches(via Mars)
[7.7.0] 2017-08-24
Added
touchesaction for multitouch support. (via Mars)parallel.getChildrenmethod now returns array of children actions.parallelcan now accept anonUpdatefunction that is provided an array of latest child values.
[7.6.2] 2017-08-17
Fixed
- Composite Actions were firing
onUpdateas soon as registered.
[7.6.1] 2017-08-17
Fixed
- Actions were firing
onUpdateas soon as registered.
[7.6.0] 2017-08-07
Added
- New
springaction based on an interpretation of Apple'sCASpringAnimationby @skevy
[7.5.6] 2017-08-04
Fixed
- Prevent
Value.toUpdatefrom being undefined.
[7.5.5] 2017-08-02
Fixed
- Only firing
onStopon an action bound to a value if the action is active.
[7.5.4] 2017-07-31
Fixed
- A key is only added to Renderer's
changedValuesarray if it doesn't already exist for that frame.
[7.5.3] 2017-07-18
Fixed
- Consistency issue with scheduling update on
value.set- area to look at in the future.
[7.5.2] 2017-07-18
Fixed
- Bug with
csstranslate map.
[7.5.1] 2017-07-17
Fixed
- Fixed a bug with
smooth, preventing it from working if the initial given numbers were0, or if it was called twice in the same frame.
[7.5.0] 2017-07-17
Added
- Enforced order for css
transformproperties.
[7.4.0] 2017-07-16
Added
- Added
seektotween.
[7.3.1] 2017-07-13
Added
- Updated
snaptransform to take numbers for regular interval snapping.
[7.3.0] 2017-07-13
Added
- New
snaptransformer.
[7.2.9] 2017-07-12
Changed
trackOffsetnow callsgetinstead ofgetBeforeTransform.
[7.2.8] 2017-07-12
Fixed
anglecalculation fixed.
[7.2.7] 2017-07-11
Fixed
stepsnow returning actual value rather than stepped progress.
[7.2.6] 2017-07-05
Fixed
speedPerSeconddivide by0bug.
[7.2.5] 2017-07-05
Fixed
lastUpdatedset to0on action start to preventNaNvelocities.
[7.2.4] 2017-07-05
Fixed
prev = currenton action start, to preventNaNvelocities.
[7.2.3] 2017-07-04
Fixed
pointerevents are nowpassive: trueifpreventDefaultis also set totrueto fix bug introduced by Chrome 56.
[7.2.2] 2017-07-03
Changed
compositeaction is nowpassive: trueto enable composition of other passive actions.
[7.2.0] 2017-06-26
Added
valuecan now be provided to an action'sonUpdatefor automatic action management.
[7.1.1] 2017-06-23
- Minor bugfix.
[7.1.0] 2017-06-23
Added
complexvalueType.
[7.0.3] 2017-06-23
Fixed
- Changed
pointerto read mouse eventclientpositioning instead ofpage, to make consistent with touch events.
[7.0.2] 2017-06-23
- Minor bugfix.
[7.0.1] 2017-06-23
- Minor bugfix.
[7.0.0] 2017-06-22
Features
trackOffsetaction returns to simplify the process of tracking the offset of other actions.esnextpackage.json property supported.
Deprecated
flowis nowpipe, to avoid terminology clashes with Flow.flowwill continue to work until7.1.0.
Removed
blendTweensis now an optional include.
[6.7.2] 2017-06-01
Fixed
- Removing dependencies from
package.json
[6.7.1] 2017-06-01
Fixed
colorTweennow usestransformproperty to convert from progress to color, which fixes composition compatibility.
[6.7.0] 2017-06-01
Added
transformproperty for actions. If set, any values passed toonUpdateor returned fromgetwill be run through this function.getBeforeTransformmethod added for actions. Will return the current value, before transform is applied.
[6.3.5] 2017-03-03
Added
applyOffsettransformer.
[6.3.4] 2017-03-01
Fixed
- Undocumented range easing property in
interpolatetransformer was looking at the wrong index.
[6.3.3] 2017-18-01
Added
top,left,bottomandrightCSS renderer value types.
[6.3.2] 2017-11-01
Added
smoothtransformer
[6.3.1] 2017-11-01
Fixed
transformChildValuestransformer now keeps a local mutable state rather than mutating the provided state.
[6.3.0] 2017-11-01
Added
- Actions now have an
outputshorthand for setting theonUpdateproperty.
[6.2.1] 2017-09-01
Added
- Updated bezier tween blend algorithm.
- Exposed bezier resolver as a transformer.
[6.2.0] 2017-09-01
Added
- Bezier tween blending
[6.1.0] 2017-06-01
- Public release of new API
[6.0.0@alpha] 2017-01-01
- New API
[5.0.20] 2016-11-15
Fixed
- Accidentally transpiled a version of 6.0.
[5.0.19] 2016-11-15
Added
trackCan takepreventDefaultas optional second param. Defaults totrue.
[5.0.18] 2016-08-08
Fixed
- Firing
onActivateLoopeven if task is already active to preventoncefrom running more than once.
[5.0.17] 2016-05-08
Fixed
- Actually fixing spring clamping this time.
[5.0.16] 2016-05-08
Fixed
- Spring physics action now automatically ending when target is reached.
[5.0.15] 2016-18-07
Fixed
- Missing compilation of
5.0.14
[5.0.14] 2016-18-07
Fixed
- Preventing
currentbeing overwritten by value type default properties. Tweens now finish automatically when scrubbed, fixing timeline/stagger bug where tweens wouldn't end.
[5.0.13] 2016-06-07
Fixed
track.startandtrack.stopnow returningthis, allowing chaining.fromrestored astrackdefault value.
[5.0.12] 2016-06-01
Fixed
- @jamieowen:
transformnow being prefixed correctly. - #156: Explicit tween
fromvalues now honoured byflow.start.
Changed
- Converted project from 4 space indent to 2.
[5.0.11] 2016-05-21
Changed
- Tween
blendproperty set tofalseby default.
Fixed
- Mouse tracking in Firefox -
Object.watchis truthy in Firefox.
[5.0.10] 2016-05-21
Fixed
- @FreakTheMighty: Setting bound pointer listener to ensure correct removal on
Pointer.stop.
[5.0.9] 2016-05-21
Fixed
- @jamieowen: Prefixed properties now being set correctly.
[5.0.8] 2016-05-15
Added
- Unit tests for
transformers.createMapper.
Fixed
- Fixed mapped values calculated from
transformers.createMappermappers that are outside of the input range returningundefined.
[5.0.7] 2016-04-20
Changed
- Subsequent actions started on a flow are only given the flow's velocity if their velocity is 0.
[5.0.6] 2016-04-17
Changed
- Inherited actions now receive a
parentIdproperty with theidof their parent action.
[5.0.5] 2016-04-13
Fixed
- On
set,currentwas returning undefined ifvaluesprop set as value, forcing anadapterread.
[5.0.4] 2016-04-13
Fixed
- If
adapterreturns a string that should be a pure number, we parse that as a float.
[5.0.3] 2016-04-06
Fixed
- Regression from testing
5.0.2.
[5.0.2] 2016-04-06
Fixed
- Fixing entry point in
package.json.
[5.0.1] 2016-03-30
Minor bugfixes.
[5.0.0] 2016-03-29
Popmotion 5.0: timelines, streamlined API, tween blending, still 12kb.
Warning: This is a major API revision. Previous Popmotion code will be incompatible with this upgrade.
Added
- Timelines: Super-simple yet fully-featured nestable timelines to easily sequence
tweens. - Tween blending: Smooth transitions between overlapping tweens.
- Standalone actions:
tween,physicsandtrackcan all run without the need for anactor. - Adapters: Minimal
get/setAPI wrappers for smoothing differences between DOM, SVG and frameworks. - Transformers: Composable functions to transform values between update and render.
- Unified physics engine: Handles
velocity,frictionandspringin one unifiedphysicsaction. - Small: All this for less than 12kb minified & gzipped.
- Smaller: Rewritten entirely using ES6 exports to allow tree-shaking, ignoring the parts of Popmotion you don't include.
- Global time dilation:
setGlobalDilationmethod can change the global time. - Flow layer: Replaces Actors and can work entirely in the background to manage multiple actions on the same object.
- Support
pointsproperty forpolygonandpolylinetags. - MIT: Changed licence to MIT.
Removed
new- dropped in favour of factory functions (ienew Tween()becomestween()). This will allow further non-API-breaking optimisations.Actordropped in favour offlow. The Actor model was monolithic, flows are automatically generated forelements in the background and can be accessed optionally viadetectFlow.process: Nowtask. Prevents conflict with global common in browsers.- Removed Action
watchproperty in favour of more flexibletransform: Simply provide a function that returns a different value. - Native Meteor support, as we kept forgetting to update it.
- jQuery support - provide elements as returned from
$('.yourElement').get()instead. Sequence: Dropped in favour of thetimelinefunction.Iterator: Dropped in favour of using native array methods and the newstaggerfunction.Simulate: Dropped in favour of unifiedphysicsaction.
Changed
frictionnow a value between0and1-0provides no friction,1will strip all velocity within a single frame.
[4.3.4] 2015-12-30
Fixed
Simulate.hasChangedincorrectly calculated.
[4.3.3] 2015-12-29
Fixed
- Added
accelerationto list of properties that can be set as functions, resolved when an Action starts.
[4.3.2] 2015-12-26
Fixed
- Recursion bug with
Actor.syncunder specific circumstances.
[4.3.1] 2015-12-24
Removed
decelerationfromSimulate.
Fixed
- Fixed bug where
Tweenwould start as ended if initialised duringupdateie via aSequence.
[4.3.0] 2015-12-17
Added
scalevalue type hooked up to CSS and SVG roles.utils.camelToDashutility function for converting camelCase props to dash-case.
Changed
- Default
SimulatestopSpeedchanged from5to0.0001to account for tiny numbers like 0-1.
[4.2.7] 2015-12-09
Fixed
- SVG properties set ie
fillOpacityare now getting set asfill-opacity.
[4.2.6] 2015-12-08
Fixed
- Fixed recursive loop when splitting Actor values.
[4.2.5] 2015-12-07
Added
opacity,fillOpacityandstrokeOpacitytoui.svgRole type map.
[4.2.4] 2015-12-07
Added
Simulate.autoEndproperty, set tofalseto prevent simulations from automatically ending.
Fixed
- TweenControls
reversenow work on completed Tweens.
[4.2.3] 2015-12-06
Added
- Actors automatically
syncon init.
[4.2.2] 2015-12-03
Update
- Moving from Babel's official es2015 preset to a custom build.
[4.2.1] 2015-12-03
Update
- Updating Babel to fix transpilation errors in IE10.
[4.2.0] 2015-12-02
Changed
- Moving to dual commercial and GPLv3 licence.
[4.1.0] 2015-11-28
Added
- Actor value
watchproperty can now be a function returning any numerical value. - Added
smoothfor all actions. - Added
calc.toDecimalcalculator function.
[4.0.0] 2015-11-20
Added
- New core processing loop. Separates processes into four stages:
update,preRender,render,postRender. Process.onceto fire a Process for a single frame.- Run background processes by passing
truetoProcess.setBackgroundor as the last argument to theProcessconstructor. Background processes won't spin up the process loop when activated, only running when non-background processes are active.
Changed
new ui.Process()takescallback, scopeinstead ofscope, callback.Processcallbacks now receivescopeas the first argument, thenframestamp, frameDuration.
Removed
Process.every,Process.resetandProcess.fire. Processes should only be started/stopped withProcess.startandProcess.stoprespectively, to ensure they're run as part of the main loop.everyis redundant with a combination ofsetIntervalandProcess.once.Process.startno longer takes a time period as an argument - usesetTimeouttoProcess.stop.
[3.8.1] 2015-11-19
Fixed
- Pow easings incorrectly named var.
[3.8.0] 2015-11-19
Added
- Elliot Geno's awesome
'anticipate'easing. Follow him at @ElliotGeno. - In-built easings now available in the
ui.easenamespace. So instead of providing'backOut'you can reference it literally -ui.ease.anticipate. - Create modified easing function strengths, for instance
ease: ui.modifyEase(ui.ease.backOut, 2).'ease'and'back'in/out/inOut variants and'anticipate'are available. You must provide the literal reference rather than string reference.
[3.7.1] 2015-11-11
Changed
- Refactored core clock to increase performance in lower-end devices.
[3.7.0] 2015-11-07
Changed
- Software licence changed. Popmotion is now free for non-commercial uses, and requires a per-project licence for commercial projects.
- More files converted to ES6 syntax.
- Moved back to small for production compilation.
- Upgraded Babel from 5 to 6.
Added
- Beginning suite of Mocha unit tests.
[3.6.3] 2015-11-03
Added
- Extra tests to ensure Popmotion is loading correctly in Meteor.
Fixed
- Explicit test for rAF for when
windowis available andrequestAnimationFrameisn't.
[3.6.2] 2015-11-02
Added
- Meteor support. Published on Atmosphere as
popmotion:popmotion.
Fixed
performanceandwindowchecks in Node.
[3.6.1] 2015-10-29
Fixed
- Smoothing lower than frameduration produced odd values.
- Smooth by
0Infinityerror
[3.6.0] 2015-10-29
Added
- New
transform(value, key, actor)property forActorvalues. Allows you to return a new value after its been processed by an action, but before it's been limited/rounded etc. - Exposed our
Tracksmoothcalculator asui.calc.smooth.
Changed
- Refactored some files to cut down on filesize.
Fixed
- Fixed a regression from
3.3.3that fixedperformancein IE9.
[3.5.0] 2015-10-21
Added
Roles are now getter/setters, if
getandsetmethods are present. For example: CSS role has getter/setters, so you can call:ui.css(element, { position: 'absolute', top: 0 });
[3.4.4] 2015-10-22
Fixed
Actor.stop().start()was failing to run.
[3.4.3] 2015-10-21
Fixed
Actor.syncnow returnsActorrather than the bound syncAction.
[3.4.2] 2015-10-21
Fixed
svgtags are now assignedui.cssrole.
[3.4.1] 2015-10-17
Fixed
- Delaying test element creation in CSS Role prevents error in server-side rendering.
[3.4.0] 2015-10-16
Added
Sequenceclass, for creating a sequence of non-sequential actions.onCompleteproperty toIterator.stagger.- Pass an action as the
Iterator.eachandIterator.staggermethodargument to automatically runstarton eachActor.
Changed
- Using rAF-provided timestamp instead of
performance.nowfor smoother motion.
[3.3.3] 2015-10-13
Fixed
- @stoikerty: Fixed
performance.nowcheck for IE9.
[3.3.2] 2015-10-10
Fixed
Pointerevents now properly unbound onActorstop.
[3.3.1] 2015-10-09
Added
Actor.smoothnow settable on a per-value basis.directvalue property added to take direct input values instead of inputOffset.
[3.3.0] 2015-10-08
Added
smoothproperty added toTrack- smoothes out values coming fromInputsources.
[3.2.1] 2015-10-07
Fixed
watchno longer overwritten onset.
[3.2.0] 2015-10-06
Added
ui.selectnow caches and finds cached Actors bound to DOM elements. If one Actor is found, it returns an Actor. If multiple Actors are found, an Iterator.reversemethod toIterator.
[3.1.7] 2015-10-05
Fixed
- Adjusting
hasChangedlogic to always fire on first frame. - Changing
Iterator.staggerlogic for more even staggers.
[3.1.6] 2015-10-05
Fixed
- Manually moved the library class filenames to uppercase.
[3.1.5] 2015-10-05
Fixed
- Renamed some class files to uppercase to fix include fails in some Browserify compilations.
[3.1.4] 2015-10-05
Added
- Simulation functions are now sent
value <object>, frameDuration <int>, timeStarted <timestamp>as arguments.
[3.1.3] 2015-10-04
Fixed
- Actions fired within an
onCompletewouldn't start because the number of active Actions was being counted incorrectly.
[3.1.2] 2015-10-03
Fixed
- Major Firefox bug 1)
valuesfalse-positive test forwatchproperty, now explicitly checking forstring. - Major Firefox bug 2)
element.style.hasOwnProperty()always returning false, switching toin element.style.
[3.1.1] 2015-10-02
Fixed
- Clearing Actor then/next queue on
start. - Saving all arguments to queue via
thenso we can pass Inputs.
[3.1.0] 2015-10-01
Added
- Action-specific
onStart,onUpdate,onFrameandonCompletecallbacks. These callbacks will be active only for the duration of the action, while callbacks attached to the host Actor will persist through all actions.
Changed
onStartcallbacks are now fired immediately before the Actor is activated, giving actions extra time to initiate and make use of the < 100ms response window.
Fixed
- Bugfix for deep-copying Actions on Action start. That was a whoops and a half.
[3.0.4] 2015-09-30
Fixed
- Bugfix for subvalues not being flipped correctly.
[3.0.3] 2015-09-30
Fixed
- SVG Role divide by 0 error when
scale=== 0.
[3.0.2] 2015-09-29
Fixed
- Bugfix where Popmotion would attempt to split numerical values.
- Bugfix for
complexvalueType regex where negative numbers were made positive.
[3.0.0] 2015-09-29
Added
- Full SVG support.
- Multiple simultaneous Actions on a single Actor - mix Simulations, Tracking and Tweens on the same elements!
- Animate complex strings, like
pathdattributes. - Iterator - to allow single classes to be extended the ActorCollector has been dropped in favour of a generic Iterator class, which can iterate over any set of classes. This also makes it clearer when you're interacting with multiple items vs a single Actor, and these items are not longer limited to Actors.
- Roles -
ui.css,ui.attr,ui.svg,ui.draw. These are auto-assigned to Actors when initialised with anelementproperty, but can also be manually assigned with theasproperty on Actor initialisation. - Actors can have multiple roles by providing an array to
as. - New roles can be created with
new ui.Role(). - Value names can be translated before a Role accesses it, via a Role's
mapproperty. For exampleui.cssRolemapsxtotranslateX. - Action classes/definitions -
Tween,Simulate,Track
Removed
ui.addRoute- see Rolesui.addPreset,ui.addAction- see Tween, Simulate and Track classesActorCollection- see Iteratorplay,run,trackActor methods - usestart
Changed
addToQueueActor method is nowthenand takes Tween, Simulate and Track instances instead of raw properties.mapLinkActor value property is nowmapFrom.- Default tween
durationset to300. - Default tween
easeset to"easeOut". reverse,reset->restart,seekmethods moved toTweenControls(returned when aTweenis passed tostart)
Deprecated
flipValues,reverse,reset,resetProgress,resetOriginsandseekActor methods - these are all going to be moved to theTweenclass in3.2.0
[2.0.4] 2015-08-10
Fixed
- Fixing
bounceandcapturesimulation calls.
[2.0.3] 2015-08-10
Removed
- Removed undocumented
ui.addSimulation- new simulations now passed as function instead of simulation name.
[2.0.2] 2015-08-10
Changed
Actor.seekno longer an Action, much higher performance.
[2.0.1] 2015-08-07
Changed
- Only numerical properties can be set as functions to be resolved on action start.
[2.0.0] 2015-08-07
Removed
ui.addEasing()
Added
- New easing functions are now generated with
new ui.Easing()and provided as theeaseproperty. When provided an easeIn function,in,outandinOutmethods are returned.
[1.0.0] 2015-08-06
Note: Forked from Redshift v2.1.1.
Changed
redshiftobject name nowui.- Terminology changes to fix API semantics:
- Action: Actor
- ActionCollection: ActionCollection
- Rubix: Action (as in, an Action an Actor can perform)
Added
- Add new easing functions with
ui.addEasing(). Provide the easeIn function and Popmotion will generate easeOut and easeInOut variants. - Add new simulation functions to
runwithui.addSimulation(). - Any value can be a special value type, ie a color.
'#FFF'splits into four numerical properties,Red,Blue,GreenandAlpha. - Add new value types with
ui.addValueType(). - HSLA value type support.
[2.1.1] 2015-06-11
Fixed
- Change Action
rubixfrom"seek"to"play"onEnd.
[2.1.0] 2015-06-11
Added
- Added
.seek()method to Actions.
[2.0.5] 2015-06-02
Added
- ActionGroup returns array of values when a getter is called.
[2.0.4] 2015-06-01
Fixed
onStartregression from 2.0.0 - only firing for 'values' route.
[2.0.3] 2015-06-01
Fixed
- Fixing hasChanged regression, prevented .run() from stopping automatically.
[2.0.2] 2015-06-01
Fixed
- Adding Alpha property to all split color values (default: 1), in case a value has mixed RGB and RGBA properties.
[2.0.1] 2015-06-01
Added
- CSS values travelling through a splitter (ie backgroundColor is split into RGB values) can be set as functions like normal values.
[2.0.0] 2015-06-01
Changed
- Upgraded stepped easing algorithm.
Action.hasChangedset totruewhenAction.isActive(true)
Removed
.props()method removed - properties now saved directly to Action object..data()functionality removed, just set properties of Action instead..flip()is now.flipValues().
[1.4.1] 2015-05-31
Fixed
- ActionGroup.stagger() wasn't returning
this
[1.4.0] 2015-05-31
Added
- Action Groups for controlling multiple Actions at once.
- Stagger method for Action Groups.
- DOM selection support for creating Actions prepopulated with DOM elements.
Fixed
- Calling .play(preset) while Action was in progress failed to add that call to the play queue.
- Added check for Process timers before clearing as clearTimeout is costing ~.4ms.
