UNPKG

17.4 kBMarkdownView Raw
1# Changelog
2
3Framer Motion adheres to [Semantic Versioning](http://semver.org/).
4
5## [1.6.7] 2019-08-30
6
7## Fix
8
9- Restoring React-style behaviour for transform `style` properties when a component `isStatic`.
10
11## [1.6.6] 2019-08-29
12
13## Fix
14
15- Adding `@emotion/is-prop-valid` as an optional dependency to ensure we filter out arbitrary props passed along by Emotion and Styled Components.
16
17## [1.6.5] 2019-08-27
18
19## Fix
20
21- Value-specific `delay`.
22
23## [1.6.4] 2019-08-27
24
25## Upgrade
26
27- `stylefire@6.0.10`
28
29## [1.6.3] 2019-08-19
30
31## Fixed
32
33- Ensuring `onDragEnd` always fires after if `onDragStart` fired.
34
35## [1.6.2] 2019-08-14
36
37## Fixed
38
39- Invalid property in SVGs.
40
41## [1.6.1] 2019-08-12
42
43## Fixed
44
45- Making `useInvertedScale` public and changing const to function.
46
47## [1.6.0] 2019-08-12
48
49## Added
50
51- `layoutTransition`
52- `EventInfo` now passed as second argument to `onHoverStart` and `onHoverEnd`.
53- `useDomEvent` hook for attaching events directly to an `Element`.
54
55## Fixed
56
57- Simplifying event system.
58- Applying values in `animate.transitionEnd` if not initial animation.
59- Made drag constraints only apply if a value isn't animating.
60- Don't throw error if `useInvertedScale` is provided arguments.
61
62## [1.5.0] 2019-08-02
63
64### Added
65
66- `useInvertedScale` for inverting parent scales.
67
68## [1.4.2] 2019-07-31
69
70### Fixed
71
72- `positionTransition` on exiting components within `AnimatePresence`.
73
74## [1.4.1] 2019-07-30
75
76### Fixed
77
78- Pan and drag gestures with `PointerEvent`.
79
80## [1.4.0] 2019-07-29
81
82### Added
83
84- `AnimatePresence.exitBeforeEnter`.
85- Added explicit support for custom components as children of `AnimatePresence`.
86
87### Fixed
88
89- Fixing issue with drag constraints (ref-based) being reset, while dragging, on unrelated parent component updates.
90- Updated rollup config to list `tslib` as an external dependency.
91- Ensuring unmounting components don't call `onAnimationComplete`.
92- Adding error message when no initial value is set, or can be read or inferred.
93- Ensuring color alpha is always within bounds.
94- Ensuring variants propagate on unmount.
95
96## [1.3.0] 2019-07-24
97
98- Added `onAnimationStart`.
99
100### Fixed
101
102## [1.2.6] 2019-07-23
103
104### Fixed
105
106- Make sure `select`, `input`, `textarea` loose focus when blocking default behaviour in a draggable element.
107
108## [1.2.5] 2019-07-23
109
110### Fixed
111
112- Value type conversion for currently-hidden elements.
113- Fixing unit type conversions when non-positional transforms are applied.
114- Fixing variant propagation via `useAnimation()` when the parent component has no `variants` prop set.
115- Fixing unsetting `whileHover` and `whileTap` if they contain `transitionEnd` values.
116- Child components within variant trees now animate to `animate` as set by their parent.
117- Checking animation props for array variants as well as strings.
118- If unencountered value is animated, first attempt to extract an initial value from keyframes definition. Also upgrading `stylefire` to gracefully handle transform requests.
119
120## [1.2.4] 2019-07-15
121
122### Added
123
124- `isValidMotionProp` function.
125
126### Fixed
127
128- Improving types for `SVGTextElement` components.
129
130## [1.2.3] 2019-07-11
131
132### Fixed
133
134- Don't load `positionTransition` functionality component server-side.
135- In development mode, ensuring all child keys are unique.
136
137## [1.2.2] 2019-07-11
138
139### Upgrade
140
141- Typescript to `3.5`.
142
143## [1.2.1] 2019-07-10
144
145### Fixed
146
147- Removing re-entering children from exiting list in `AnimatePresence`.
148
149## [1.2.0] 2019-07-09
150
151### Added
152
153- Supporting `positionTransition` as a function that resolves when the component has moved.
154- Adding `dragOriginX` and `dragOriginY` props.
155
156### Fixed
157
158- Excluding `positionTransition` from SVG type.
159
160## [1.1.4] 2019-07-08
161
162### Updated
163
164- Exporting `AnimatePresenceProps`.
165
166## [1.1.3] 2019-07-08
167
168### Fixed
169
170- Fixing `positionTransition` on server-side.
171
172## [1.1.2] 2019-07-08
173
174### Fixed
175
176- Upgrade to `AnimatePresence` algo.
177
178## [1.1.1] 2019-07-05
179
180### Changed
181
182- Moving UMD global from `FramerMotion` to `Motion`.
183- Removed `@emotion/is-valid-prop`, saving ~1.9kb from bundle.
184- Using a slimmed-down version of Popmotion, saving ~3kb from bundle.
185- Removing `async` markers, saving ~0.7kb from bundle.
186
187### Fixed
188
189- Cancelling `drag` and `pan` gestures on component unmount.
190- Previously unseen props in `animate` animate correctly.
191- Fixing reading SVG attributes from DOM.
192- Fixed unit type conversion not working with previously-undefined values.
193- Calling `onAnimationComplete` when `while` overrides are unset.
194- Preventing initial animation if `animate` is a map of props and `initial={false}`. This went previously unseen as both values were equivalent, but `onAnimationComplete` would fire on mount.
195
196## [1.1.0] 2019-07-03
197
198### Added
199
200- `AnimatePresence` component for controlling mount/unmount animations.
201- `positionTransition` prop for animating when the layout of a component changes.
202
203## [1.0.5] 2019-07-02
204
205### Fixed
206
207- Fixing SVG path props.
208
209## [1.0.4] 2019-07-01
210
211### Fixed
212
213- Moving SVG path props to `MotionStyle` type.
214- Changing `MakeMotion` to accept either `MotionValue<string>` OR `MotionValue<number>`.
215
216## [1.0.3] 2019-07-01
217
218### Fixed
219
220- Moving `dragConstraints` to a ref if a component re-renders mid gesture.
221- Only applying `dragConstraints` on render if component isn't currently dragging.
222
223## [1.0.2] 2019-06-28
224
225### Fixed
226
227- Making `when` type more permissive for passing in implicitly typed, pre-defined `variants`.
228- Not blocking default browser behaviour when dragging is initiated on draggable element's `select`, `input`, `textarea` elements.
229
230## [1.0.1] 2019-06-27
231
232### Fixed
233
234- Fixing `useSpring` unsubscriptions.
235
236## [1.0.0] 2019-06-26
237
238### Added
239
240- Improved SVG support.
241
242## [0.20.2] 2019-06-20
243
244### Fixed
245
246- Ensuring each `MotionValue` receives one `MotionValuesMap` update subscriber.
247
248## [0.20.1] 2019-06-20
249
250### Fixed
251
252- Adding `x`/`y` `MotionValue`s to the `useDrag` dependency list.
253- Ensure hover events only fire as a result of mouse interactions.
254
255## [0.20.0] 2019-06-18
256
257### Feature
258
259- Allowing SVG `motion` components to accept `MotionValue`s via attributes.
260- Adding SVG attribute types to `Target`.
261
262## [0.19.2] 2019-06-13
263
264### Fixed
265
266- Detecting `originZ` as a `transform-origin` value.
267
268## [0.19.1] 2019-06-13
269
270### Added
271
272- `initial={false}` to shadow contents of `animate` thereby disabling on mount animation.
273- `AnimationControls.set` for imperative setting of values.
274
275### Fixed
276
277- Resolve animations only after a defined `delay` to ensure `velocity` is only resolved as an animation begins on a value.
278
279## [0.19.0] 2019-06-13
280
281### Upgraded
282
283- `stylefire@5.0.0` - Changes `originX`/`Y` default to `"50%"`.
284
285## [0.18.6] 2019-06-13
286
287### Added
288
289- Production and prototype environment-specific tsdocs.
290
291## [0.18.5] 2019-06-07
292
293### Fixed
294
295- Properly cleaning up event listeners in tap gesture.
296- Only starting pan gesture when pointer has moved more than one point.
297- Applying `transformPagePoint` to `dragConstraints` when it's a `RefObject<Element>` to ensure it works in scaled environments.
298- Fixing `dragElastic` behaviour when `dragMomentum={false}`.
299
300## [0.18.4] 2019-05-30
301
302### Fixed
303
304- Preventing default browser behaviours on draggable elements.
305
306## [0.18.3] 2019-05-30
307
308### Fixed
309
310- Fixing drag when a multitouch gesture starts.
311
312## [0.18.2] 2019-05-22
313
314### Fixed
315
316- Application of `delay`.
317
318## [0.18.1] 2019-05-21
319
320### Fixed
321
322- Fixed regex detection for fallbacks containing a decimal.
323
324## [0.18.0] 2019-05-21
325
326### Added
327
328- `dragConstraints` can now be set as a `React.RefObject`.
329
330### Fixed
331
332- Support CSS variables with metadata
333- Fixing circular CSS dependencies
334
335## [0.17.2] 2019-05-15
336
337### Fixed
338
339- Even if a `motion` component **wasn't** inheriting variant changes, it'd still register with its parent, meaning it'd be considered during stagger duration calculations.
340- Only firing `onDragEnd` if dragging has actually happened.
341
342## [0.17.1] 2019-05-13
343
344### Fixed
345
346- `dragTransition` now listed as a `useDraggable` dependency.
347
348## [0.17.0] 2019-05-09
349
350### Added
351
352- Experimental `useAnimatedState` Hook for animating arbitrary values.
353
354## [0.16.11] 2019-05-08
355
356### Fixed
357
358- Disabling the animation of `zIndex`.
359- Making components without variants or animation-controlling props invisible to `staggerChildren`.
360
361## [0.16.10] 2019-05-07
362
363### Updated
364
365- API
366
367### Fixed
368
369- Variant propagation when rerendering children
370
371## [0.16.9] 2019-05-07
372
373### Fixed
374
375- Using `transition` and `transitionEnd` as direct values on the `animate` prop on subsequent renders.
376- Rounding `zIndex`.
377- `AnimationControls.start` now accepts the same `AnimationDefinition` as `ValueAnimationControls.start`.
378
379## [0.16.8] 2019-05-06
380
381### Fixed
382
383- Cancelling pan gesture when the move events have no mouse button.
384
385## [0.16.7] 2019-05-06
386
387### Fixed
388
389- Fixing propagation of unsetting variant overrides.
390- Making variant inheritance more permissive.
391
392## [0.16.6] 2019-05-02
393
394### Fixed
395
396- Improved handling of attempting to animate between non-animatable and animatable values.
397
398## [0.16.5] 2019-05-01
399
400### Added
401
402- Adds array and object support to `transform`.
403
404### Fixed
405
406- Makes boxShadow and other complex value type support more robust.
407- Fixing overwriting `transform`.
408
409## [0.16.4] 2019-04-30
410
411- Updating deps.
412
413## [0.16.3] 2019-04-30
414
415### Added
416
417- `shadow` to `CustomValueTypes`.
418
419## [0.16.2] 2019-04-30
420
421### Fixed
422
423- Fixed propagation of `initial` in `static` mode.
424- Fixing animations from values that are read as "none".
425
426## [0.16.1] 2019-04-25
427
428### Fixed
429
430- Filtering pointer events not from the primary pointer (ie non-left clicks for mouse).
431- Fixing drag in Android devices by adding aggressive viewport scroll blocking. This will need dialling back down when it comes to open sourcing Framer Motion so, for instance, a horizontal carousel doesn't block vertical scrolling.
432
433## [0.16.0] 2019-04-19
434
435### Added
436
437- `custom` prop for dynamic variants.
438
439### Removed
440
441- `useAnimation` no longer takes `variants` or `defaultTransition` arguments (provide these to the component).
442
443### Fixed
444
445- Improving comparison for `animate` prop to account for keyframe arrays.
446- Adding drag point in `onDragStart` and `onDragEnd` callbacks.
447
448## [0.15.2] 2019-04-17
449
450### Added
451
452- Support for CSS variables.
453
454### Fixed
455
456- `onDragEnd` not returning transformed point.
457- Fixing use of `variants` prop with `useAnimation`.
458
459## [0.15.1] 2019-04-16
460
461### Added
462
463- `HTMLMotionProps` and `SVGMotionProps`.
464
465## [0.15.0] 2019-04-16
466
467### Added
468
469- `onPanSessionStart` event handler.
470
471### Changed
472
473- `useViewportScrollValues` => `useViewportScroll`.
474
475### Added
476
477- `ease` can now be an array for keyframes animations.
478
479### Removed
480
481- `easings` prop.
482
483## [0.14.3] 2019-04-12
484
485### Fixed
486
487- Only firing `value.onChange` when value actually changes.
488
489## [0.14.2] 2019-04-11
490
491### Fixed
492
493- Updating `hey-listen`.
494
495## [0.14.1] 2019-04-11
496
497### Added
498
499- Explicit support for the `radius` value.
500
501## [0.14.0] 2019-04-10
502
503### Changed
504
505- Making special value support configurable
506
507## [0.13.0] 2019-04-08
508
509### Changed
510
511- `useTransformedValue` => `useTransform`
512
513### Added
514
515- `transform(value, input, output, options)` overload.
516
517## [0.12.2] 2019-04-08
518
519### Changed
520
521- Added new methods to `safeWindow` SSR window mocking.
522
523### Fixed
524
525- Deleting unused props from `style` object rather than setting to `undefined`. [#99](https://github.com/framer/motion/pull/99)
526
527## [0.12.1] 2019-04-03
528
529### Fixed
530
531- `size` works with `while` gestures.
532
533## [0.12.0] 2019-04-03
534
535### Changed
536
537- `useCycle([...args])` -> `useCycle(...args)`
538
539### Added
540
541- `static` components reflect changes in `initial`.
542
543### Fixed
544
545- Dragging doesn't break during re-renders.
546- `useCycle` setter is independent from render cycle.
547
548### Removed
549
550- `useCycle` no longer has the ability to start at a different index.
551
552## [0.11.1] 2019-04-02
553
554### Added
555
556- `onDragTransitionEnd`
557
558### Upgraded
559
560- Popmotion libraries.
561
562## [0.11.0] 2019-04-01
563
564### Changed
565
566- `value.addUpdateSubscription` => `value.onChange`
567- `value.addRenderSubscription` => `value.onRenderRequest` (and made internal)
568
569### Upgraded
570
571- `popmotion@8.6.5`
572
573### Fixed
574
575- Variants propagate to children even if not present on parent.
576
577## [0.10.2] 2019-03-27
578
579### Changed
580
581- Updating docs to avoid single-letter `event` vars.
582
583## [0.10.1] 2019-03-27
584
585### Fixed
586
587- Fixing `TargetAndTransform` type to omit CSS-native `rotate` property.
588
589## [0.10.0] 2019-03-26
590
591### Changed
592
593- `press` -> `whileTap`
594- `hover` -> `whileHover`
595
596## [0.9.4] 2019-03-26
597
598### Fixed
599
600- Fixing HTML types.
601
602## [0.9.3] 2019-03-25
603
604### Added
605
606- Exporting `MotionTransform` type.
607
608## [0.9.2] 2019-03-22
609
610### Added
611
612- Added support for `CustomValueType` in `unwrapMotionValue`.
613
614## [0.9.0] 2019-03-22
615
616### Added
617
618- Added `dragDirectionLock` prop.
619
620### Removed
621
622- `"lockDirection"` from `dragEnabled`.
623
624### Changed
625
626- Renamed `dragEnabled` to `drag`.
627
628## [0.8.8] 2019-03-20
629
630## [0.8.7] 2019-03-20
631
632### Added
633
634- Adding `transition` argument to `animation.start()`.
635
636### Fixed
637
638- No longer fire tap gesture if parent is dragging.
639- Adjusting default `inertia` settings to more naturally incorporate velocity.
640- Killing drag momentum on subsequent `pressDown`.
641- Preventing pan velocity from adjusting draggable parents that have not received `dragPropagation`.
642- Updating of `dragConstraints` repositions the draggable element to adhere to the new values
643
644## [0.8.6] 2019-03-19
645
646### Added
647
648- `Point.relativeTo`
649- `transform`
650
651### Fixed
652
653- Statefull style bug.
654- Fixing `Promise` resolution with `animate.start()` when fired pre-mount.
655
656## [0.8.5] 2019-03-15
657
658### Fix
659
660- Blocking extra gesture props from being passed to DOM.
661- Upgrading `@popmotion/popcorn` to fix Jest bug.
662
663## [0.8.4] 2019-03-15
664
665### Fix
666
667- Fixing `style` set as `null`.
668
669## [0.8.3] 2019-03-14
670
671### Update
672
673- Adding support for custom values.
674
675## [0.8.2] 2019-03-14
676
677### Update
678
679- Updating tsdocs for `MotionValue`.
680
681## [0.8.1] 2019-03-12
682
683### Update
684
685- Updating dependencies.
686
687## [0.8.0] 2019-03-12
688
689### Changed
690
691- `originX`, `originY`, `pathLength`, `pathOffset` changed from percent to progress value types.
692
693## [0.7.5] 2019-03-11
694
695### Added
696
697- Exporting `AnimationControls`.
698
699## [0.7.4] 2019-03-11
700
701### Added
702
703- Exporting `animationControls` and `motionValue` for internal use.
704
705## [0.7.3] 2019-03-08
706
707### Added
708
709- Passing `panInfo` through to `onDragStart` and `onDragEnd`.
710
711## [0.7.2] 2019-03-07
712
713### Fixed
714
715- `easings` property on `keyframes` now maps correctly to easing functions.
716
717## [0.7.1] 2019-03-07
718
719### Fixed
720
721- Enforcing keyframes animation if target is array.
722- Orchestration props in `transition` prop weren't being respected by variants with no `transition` of their own.
723
724## [0.7.0] 2019-03-07
725
726### Added
727
728- Animation targets can be set as `keyframes`.
729
730## [0.6.8] 2019-03-05
731
732### Fixed
733
734- Updating `dragConstraints` when they change.
735
736## [0.6.7] 2019-03-04
737
738### Updated
739
740- Removing GPU-acceleration for `static` components.
741- Adding `customStyles` plugin.
742
743## [0.6.6] 2019-02-29
744
745### Updated
746
747- `stylefire@2.4.3`
748
749## [0.6.4] 2019-02-22
750
751### Added
752
753- Exporting `MotionContext`.
754
755### Update
756
757- Updated `popmotion@8.6.3` to improve synchronisation across tweens when yoyoing.
758
759## [0.6.3] 2019-02-21
760
761### Fixed
762
763- If `transformPagePoint` is present, transforming initial point.
764
765## [0.6.2] 2019-02-21
766
767### Fixed
768
769- Recognising `press` when it's the lone gesture.
770
771## [0.6.1] 2019-02-20
772
773### Fixed
774
775- Fixed an issue where values set to `style` would overwrite `animate` values even if they hadn't changed.
776
777## [0.6.0] 2019-02-20
778
779### Added
780
781- `static` prop. Set `static` on a motion component to prevent animation and interaction.
782
783### Removed
784
785- `render`
786
787## [0.5.2] 2019-02-20
788
789### Fixed
790
791- Animating unit-converting values on mount.
792
793## [0.5.1] 2019-02-19
794
795### Added
796
797- Exporting `MotionComponents`, `CustomMotionComponent`, `HTMLMotionComponents` and `SVGMotionComponents` types.
798- Exporting `safeWindow`.
799
800## [0.5.0] 2019-02-19
801
802### Added
803
804- `onDrag` event listener
805- Exporting `MotionStyles` type.
806
807### Changed
808
809- `tap` -> `press`
810
811## [0.4.5] 2019-02-15
812
813### Fixed
814
815- Fixing `originX` and `originY` SSR.
816- Updating `style` props to overwrite CSS `rotate`, `scale` and `perspective`.
817
818## [0.4.3] 2019-02-14
819
820### Fixed
821
822- Rendering `initial` properties via Stylefire when component mounts to ensure its in-sync with all transform values set in `initial` that might not later be rendered.
823- Exporting `htmlElements`, `svgElements` and `createMotionComponent` as their exclusion was causing errors with the output declaration file.
824
825## [0.4.2] 2019-02-14
826
827### Changed
828
829- Exporting `useExternalRef`.
830
831## [0.4.1] 2019-02-13
832
833### Changed
834
835- Simplifying inline tsdocs.
836
837## [0.4.0] 2019-02-12
838
839### Changed
840
841- Standardizing `(event, pointInfo)` as signature for gesture callbacks.
842
843### Fixed
844
845- Gesture priority bugs
846
847## [0.3.2] 2019-02-08
848
849### Changed
850
851- Added TSDocs for `useCycle`
852
853## [0.3.0] 2019-02-05
854
855### Changed
856
857- `duration` and `delay` are now defined as seconds.
858- `tapActive` -> `tap`
859- `hoverActive` -> `hover`
860- `drag` -> `dragEnabled`