framer-motion 4.1.11-beta.6 → 4.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +1835 -0
  2. package/dist/es/render/dom/value-types/number.js +1 -2
  3. package/dist/es/render/html/utils/build-styles.js +0 -3
  4. package/dist/es/render/html/visual-element.js +3 -5
  5. package/dist/es/render/utils/setters.js +2 -5
  6. package/dist/framer-motion.cjs.js +6 -18
  7. package/dist/framer-motion.d.ts +12 -82
  8. package/dist/framer-motion.dev.js +10 -26
  9. package/dist/framer-motion.js +1 -1
  10. package/dist/size-rollup-dom-animation.js +1 -1
  11. package/dist/size-rollup-dom-max.js +1 -1
  12. package/dist/size-rollup-m.js +1 -1
  13. package/dist/size-webpack-dom-animation.js +1 -1
  14. package/dist/size-webpack-dom-max.js +1 -1
  15. package/dist/size-webpack-m.js +1 -1
  16. package/package.json +7 -7
  17. package/dist/es/components/LayoutGroup/index.js +0 -22
  18. package/dist/es/motion/features/layout/AnimateLayout.js +0 -40
  19. package/dist/es/motion/features/layout/MeasureLayout.js +0 -75
  20. package/dist/es/motion/features/use-projection.js +0 -27
  21. package/dist/es/projection/animation/index.js +0 -27
  22. package/dist/es/projection/animation/mix-values.js +0 -71
  23. package/dist/es/projection/geometry/conversion.js +0 -35
  24. package/dist/es/projection/geometry/copy.js +0 -20
  25. package/dist/es/projection/geometry/delta-apply.js +0 -62
  26. package/dist/es/projection/geometry/delta-calc.js +0 -28
  27. package/dist/es/projection/geometry/delta-remove.js +0 -52
  28. package/dist/es/projection/geometry/models.js +0 -17
  29. package/dist/es/projection/geometry/operations.js +0 -34
  30. package/dist/es/projection/geometry/utils.js +0 -8
  31. package/dist/es/projection/node/DocumentProjectionNode.js +0 -14
  32. package/dist/es/projection/node/HTMLProjectionNode.js +0 -31
  33. package/dist/es/projection/node/create-projection-node.js +0 -643
  34. package/dist/es/projection/node/group.js +0 -24
  35. package/dist/es/projection/node/id.js +0 -11
  36. package/dist/es/projection/shared/stack.js +0 -59
  37. package/dist/es/projection/styles/scale-border-radius.js +0 -39
  38. package/dist/es/projection/styles/scale-box-shadow.js +0 -58
  39. package/dist/es/projection/styles/scale-correction.js +0 -6
  40. package/dist/es/projection/styles/transform.js +0 -27
  41. package/dist/es/projection/use-instant-layout-transition.js +0 -14
  42. package/dist/es/projection/utils/each-axis.js +0 -5
  43. package/dist/es/projection/utils/has-transform.js +0 -20
  44. package/dist/es/projection/utils/measure-page-box.js +0 -14
  45. package/dist/es/render/dom/utils/batch-layout.js +0 -41
  46. package/dist/es/utils/is-zero-value-string.js +0 -6
  47. package/dist/projection.dev.js +0 -4511
  48. package/dist/size-rollup-dom-animation-assets.js +0 -1
  49. package/dist/size-rollup-dom-animation-m.js +0 -1
  50. package/dist/size-rollup-dom-max-assets.js +0 -1
  51. package/dist/size-rollup-dom-max-m.js +0 -1
  52. package/types/utils/is-zero-value-string.d.ts +0 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,1835 @@
1
+ # Changelog
2
+
3
+ Framer Motion adheres to [Semantic Versioning](http://semver.org/).
4
+
5
+ ## [4.1.11] 2021-04-28
6
+
7
+ ### Fixed
8
+
9
+ - Layout projection fix.
10
+
11
+ ## [4.1.10] 2021-04-26
12
+
13
+ ### Fixed
14
+
15
+ - Allow a component to have `transform` reset before measuring child layout.
16
+
17
+ ## [4.1.9] 2021-04-23
18
+
19
+ ### Fixed
20
+
21
+ - Further nested drag improvements for external motion values.
22
+
23
+ ## [4.1.8] 2021-04-22
24
+
25
+ ### Fixed
26
+
27
+ - Nested drag improvements for external motion values.
28
+
29
+ ## [4.1.7] 2021-04-21
30
+
31
+ ### Fixed
32
+
33
+ - Nested drag improvements.
34
+
35
+ ## [4.1.6] 2021-04-20
36
+
37
+ ### Fixed
38
+
39
+ - Nested drag improvements.
40
+
41
+ ## [4.1.5] 2021-04-19
42
+
43
+ ### Fixed
44
+
45
+ - Layout projection improvements.
46
+
47
+ ## [4.1.4] 2021-04-19
48
+
49
+ ### Fixed
50
+
51
+ - Disabling hover events when a drag is active.
52
+
53
+ ## [4.1.3] 2021-04-07
54
+
55
+ ### Fixed
56
+
57
+ - Animating to/between `0rem` and other non-specifically handled unit types.
58
+
59
+ ## [4.1.2] 2021-04-01
60
+
61
+ ### Fixed
62
+
63
+ - Clamping `borderRadius` to `0` and above during crossfade.
64
+
65
+ ## [4.1.1] 2021-04-01
66
+
67
+ ### Fixed
68
+
69
+ - Animating from `undefined` to number (including units) now animates from `0`.
70
+
71
+ ## [4.1.0] 2021-03-31
72
+
73
+ ### Added
74
+
75
+ - Relative layout animations
76
+ - Adding `transition.crossfade` and `transition.layout` for crossfade and layout-specific transitions.
77
+
78
+ ### Fixed
79
+
80
+ - Various layout projection improvements.
81
+
82
+ ## [4.0.3] 2021-03-24
83
+
84
+ ### Fixed
85
+
86
+ - Replaced layout animation tree traversal with flat array traversal of **just** projecting elements.
87
+
88
+ ## [4.0.2] 2021-03-19
89
+
90
+ ### Fixed
91
+
92
+ - Various layout animation bugfixes.
93
+
94
+ ### Upgraded
95
+
96
+ - Upgraded `popmotion`, `framesync`, `style-value-types` and `tslib` to `latest`.
97
+
98
+ ## [4.0.1] 2021-03-23
99
+
100
+ ### Fixed
101
+
102
+ - Adding `package.json` to `exports` so it can be imported by Node.
103
+
104
+ ## [4.0.0] 2021-03-18
105
+
106
+ ### Added
107
+
108
+ - Added the new `LazyMotion` component to defer the loading of animations and gestures.
109
+
110
+ ### Removed
111
+
112
+ - The deprecated `motion.custom()`. Use `motion()` instead.
113
+
114
+ ## [3.10.6] 2021-03-18
115
+
116
+ ### Fixed
117
+
118
+ - Various variant bugs.
119
+
120
+ ## [3.10.5] 2021-03-15
121
+
122
+ ### Fixed
123
+
124
+ - Added specific `default` and `require` fields to the `exports` field for CJS compatibility.
125
+
126
+ ## [3.10.4] 2021-03-15
127
+
128
+ ### Added
129
+
130
+ - `exports` field to `package.json`.
131
+
132
+ ### Fixed
133
+
134
+ - `useMotionValue` now forces re-render on the Framer canvas when the underlying `MotionValue` updates.
135
+
136
+ ## [3.10.3] 2021-03-10
137
+
138
+ ### Fixed
139
+
140
+ - Reduced memory consumption in static mode by not loading `VisualElement`.
141
+
142
+ ## [3.10.2] 2021-03-09
143
+
144
+ ### Fixed
145
+
146
+ - Improved memory consumption of `SubscriptionManager`.
147
+
148
+ ## [3.10.1] 2021-03-09
149
+
150
+ ### Fixed
151
+
152
+ - New layout animations now only trigger when the target viewport box has changed.
153
+
154
+ ## [3.10.0] 2021-03-03
155
+
156
+ ### Added
157
+
158
+ - `useVelocity`.
159
+
160
+ ## [3.9.3] 2021-03-03
161
+
162
+ ### Fixed
163
+
164
+ - Exporting `AnimationPlaybackControls` and `AnimationOptions` for `animate()`.
165
+ - Fixed passing dynamic function to `controls.start()`.
166
+
167
+ ## [3.9.2] 2021-03-02
168
+
169
+ ### Fixed
170
+
171
+ - Crossfader now only returns values for the lead and follow components.
172
+
173
+ ## [3.9.1] 2021-03-02
174
+
175
+ ### Fixed
176
+
177
+ - Drag now passing velocity to `useSpring` correctly.
178
+
179
+ ## [3.9.0] 2021-03-02
180
+
181
+ ### Added
182
+
183
+ - `dragElastic` now accepts per-axis elastic settings.
184
+
185
+ ## [3.8.2] 2021-03-01
186
+
187
+ ### Fixed
188
+
189
+ - `perspective` now correctly set as its own `style`. `transformPerspective` still builds into `transform`.
190
+
191
+ ## [3.8.1] 2021-03-01
192
+
193
+ ### Changed
194
+
195
+ - Refactoring `AnimationType` is improve bundle-splitting.
196
+
197
+ ## [3.8.0] 2021-03-01
198
+
199
+ ### Fixed
200
+
201
+ - Code-splitting for Webpack.
202
+
203
+ ## [3.7.0] 2021-02-23
204
+
205
+ ### Added
206
+
207
+ - `motion()` creates custom `motion` components.
208
+ - `forwardMotionProps` boolean to optionally forward `MotionProps` to custom components.
209
+
210
+ ### Changed
211
+
212
+ - Custom `motion` components no longer forward `MotionProps` by default.
213
+
214
+ ### Deprecated
215
+
216
+ - `motion.custom`
217
+
218
+ ### Fixed
219
+
220
+ - Listing React 17 as a `peerDependency`.
221
+
222
+ ## [3.6.7] 2021-02-22
223
+
224
+ ### Fixed
225
+
226
+ - More permissive check for previously-unencountered values.
227
+
228
+ ## [3.6.6] 2021-02-22
229
+
230
+ ### Fixed
231
+
232
+ - Safer `hasOwnProperty` check for `null` values.
233
+
234
+ ## [3.6.5] 2021-02-22
235
+
236
+ ### Fixed
237
+
238
+ - Only fire `onPanEnd` if `onPanStart` has triggered.
239
+
240
+ ## [3.6.4] 2021-02-22
241
+
242
+ ### Fixed
243
+
244
+ - Adding polyfill `performance.now` in `framesync`.
245
+
246
+ ## [3.6.3] 2021-02-22
247
+
248
+ ### Fixed
249
+
250
+ - Only crossfading defined `borderRadius` borders during shared element transitions.
251
+
252
+ ## [3.6.2] 2021-02-20
253
+
254
+ ### Fixed
255
+
256
+ - `AnimatePresence` now correctly unmounts children if it contains no `motion` components.
257
+
258
+ ## [3.6.1] 2021-02-19
259
+
260
+ ### Fixed
261
+
262
+ - `onAnimationComplete` on child variant components now fire as expected.
263
+
264
+ ## [3.6.0] 2021-02-19
265
+
266
+ ### Added
267
+
268
+ - `onAnimationComplete` now provides the definition of the triggering animation.
269
+
270
+ ## [3.5.3] 2021-02-19
271
+
272
+ ### Fixed
273
+
274
+ - Fixing bug with `afterChildren` and `exit` animations.
275
+
276
+ ## [3.5.2] 2021-02-18
277
+
278
+ ### Added
279
+
280
+ - Setting `sideEffects: false` in `package.json` to help code splitting in Webpack.
281
+
282
+ ## [3.5.1] 2021-02-18
283
+
284
+ ### Fixed
285
+
286
+ - `onTapCancel` is now being correctly cleaned up.
287
+
288
+ ## [3.5.0] 2021-02-18
289
+
290
+ ### Added
291
+
292
+ - Adding `transition` prop to `MotionConfig` to set a default `transition` for an entire tree.
293
+
294
+ ## [3.4.2] 2021-02-18
295
+
296
+ ### Added
297
+
298
+ - `onBeforeLayoutMeasure` prop, currently a Framer internal.
299
+
300
+ ## [3.4.1] 2021-02-18
301
+
302
+ ### Fixed
303
+
304
+ - De-duplicating features in nested `MotionConfig`s to avoid key error.
305
+
306
+ ## [3.4.0] 2021-02-18
307
+
308
+ ### Changed
309
+
310
+ - Main `motion` component concurrent-safe.
311
+
312
+ ### Fixed
313
+
314
+ - Crossfading elements can now never fall out of positional/style sync due to mismatched animations or framelag.
315
+ - Fixing SVG double translation transform (props + transform style).
316
+ - `animate` `onComplete` now firing correctly.
317
+ - Only firing keyframe animation when all values have changed.
318
+ - Removing forced re-renders for variant trees.
319
+ - Variant stagger order now determined by DOM APIs.
320
+ - Fixed default spring for `scale`, `opacity` etc from being overdamped to being critically damped when animating to `0`.
321
+
322
+ ## [3.3.0] 2020-02-03
323
+
324
+ - Fixing errant publish.
325
+
326
+ ## [3.2.1] 2020-01-11
327
+
328
+ ### Added
329
+
330
+ - Exporting `useVariantContext` for internal Framer use.
331
+
332
+ ## [3.2.0] 2020-01-08
333
+
334
+ ### Added
335
+
336
+ - Support for hex `alpha`, ie `#FFF0` and `#FFFFFF00`.
337
+ - Support for default `filter` values. For example, when animating from `brightness(50%)`, the animation will start from `brightness(100%)`rather than`brightness(0%)`.
338
+
339
+ ## [3.1.5] 2020-01-08
340
+
341
+ ### Fixed
342
+
343
+ - Hover events are now blocked while layout is being measured.
344
+
345
+ ## [3.1.4] 2020-01-05
346
+
347
+ ### Fixed
348
+
349
+ - Blocking layout animations to/from zero bounding boxes.
350
+ - `onTapCancel` now fires correctly on touch screens.
351
+ - `createDomMotionComponent` types.
352
+
353
+ ## [3.1.3] 2020-01-04
354
+
355
+ ### Fixed
356
+
357
+ - Fixed types for `pathSpacing` and `pathOffset`.
358
+
359
+ ## [3.1.2] 2020-01-04
360
+
361
+ ### Fixed
362
+
363
+ - `snapToCursor` respects drag axis.
364
+
365
+ ## [3.1.1] 2020-12-18
366
+
367
+ ### Updated
368
+
369
+ - Updated dependencies.
370
+
371
+ ## [3.1.0] 2020-12-18
372
+
373
+ ### Added
374
+
375
+ - `whileFocus`
376
+
377
+ ## [3.0.1] 2020-12-18
378
+
379
+ ### Fixed
380
+
381
+ - Error when mixing `initial={false}` and `animate={controls}`.
382
+
383
+ ## [3.0.0] 2020-12-16
384
+
385
+ ### Added
386
+
387
+ - `whileDrag`
388
+ - Adding Safari-prefixed `userSelect` css to draggable elements.
389
+ - `whileHover`, `whileTap` and `exit` all now accept variant lists.
390
+
391
+ ### Changed
392
+
393
+ - New behaviour for when values are removed from animation props (`animate`, `whileHover`, `exit` etc). The value will be searched for in active props of a lower priority running (`style` <- `animate` <- `whileHover` <- `whileTap` <- `whileDrag` <- `exit`). This may introduce subtle behavioural changes, hence the major.
394
+
395
+ ### Removed
396
+
397
+ - The deprecated `useInvertedScale` hook. Use the `layout` prop instead.
398
+ - The deprecated `yoyo`, `flip` and `loop` options. Use `repeat` and `repeatType` options instead.
399
+
400
+ ### Fixed
401
+
402
+ - Correctly applying `transform` on SVG elements.
403
+ - Lazy-initialising viewport scroll, VisualElement.axisProgress, and reduced motion `MotionValue`s, for increased startup performance.
404
+ - Improved measurement scheduling for `drag` components and nested `AnimateSharedLayout` trees.
405
+ - Robust calculation of `treeScale`.
406
+
407
+ ## [2.9.5] 2020-11-16
408
+
409
+ ### Added
410
+
411
+ - Updating `package.json` to be compatible with React 17.
412
+
413
+ ## [2.9.4] 2020-10-21
414
+
415
+ ### Added
416
+
417
+ - Exporting internal API `startVisualElementAnimation` for use in Framer.
418
+
419
+ ## [2.9.3] 2020-10-19
420
+
421
+ ### Added
422
+
423
+ - Exporting `Target` type.
424
+
425
+ ## [2.9.2] 2020-10-19
426
+
427
+ ### Fixed
428
+
429
+ - Over-eager variant propagation.
430
+
431
+ ## [2.9.1] 2020-10-12
432
+
433
+ ### Fixed
434
+
435
+ - Reverting `matchMedia` listener to legacy `addListener` to fix in Safari.
436
+
437
+ ## [2.9.0] 2020-10-12
438
+
439
+ ### Added
440
+
441
+ - Refactor has reduced complete bundle size to 27kb and `m` component bundle size to 12.5kb.
442
+
443
+ ### Fixed
444
+
445
+ - Removing whitespace from resolved CSS variables.
446
+
447
+ ## [2.8.0] 2020-10-09
448
+
449
+ ### Added
450
+
451
+ - `animate` function for low-level single `MotionValue` or arbitrary value animations.
452
+
453
+ ## [2.7.8] 2020-10-07
454
+
455
+ ### Changed
456
+
457
+ - Reverting previous behaviour to allow manual triggering of updating drag constraints via `useDragControls`.
458
+
459
+ ## [2.7.8] 2020-10-07
460
+
461
+ ### Changed
462
+
463
+ - If `dragConstraints` is set to a ref on a non-draggable component, we resolve the constraints on mount in order to pass them to `onMeasureDragConstraints`.
464
+
465
+ ## [2.7.7] 2020-10-01
466
+
467
+ ### Fixed
468
+
469
+ - `duration` and `bounce` are now overridden by `damping`, `stiffness`, and `mass`. This fixes an issue in Framer where legacy transitions were breaking.
470
+
471
+ ## [2.7.6] 2020-09-29
472
+
473
+ ### Fixed
474
+
475
+ - When a `transform` is provided to `style` as a `MotionValue` and then replaced with a number on a subsequent render, we create a new `MotionValue` for it.
476
+
477
+ ## [2.7.5] 2020-09-26
478
+
479
+ ### Fixed
480
+
481
+ - Manually setting a `from` in `transition`.
482
+
483
+ ## [2.7.4] 2020-09-26
484
+
485
+ ### Fixed
486
+
487
+ - Blocks propagation of variants from parent if a component's `animate` prop is set to `AnimationControls`. `inherit` can be used to force inheritence `true` or `false`.
488
+
489
+ ## [2.7.3] 2020-09-25
490
+
491
+ ### Fixed
492
+
493
+ - Blocks touch viewport scrolling from draggable components on a per-axis basis.
494
+ - Reinstating `sideEffects: false` now that the `blockViewportScroll` method has been removed.
495
+
496
+ ## [2.7.2] 2020-09-24
497
+
498
+ ### Added
499
+
500
+ - `createDomMotionComponent` for legacy browser support.
501
+
502
+ ## [2.7.1] 2020-09-23
503
+
504
+ ### Fixed
505
+
506
+ - Reverting `sideEffects: false`, as viewport touch scroll blocking is a side effect.
507
+
508
+ ## [2.7.0] 2020-09-23
509
+
510
+ ### Added
511
+
512
+ - Duration-based springs.
513
+
514
+ ## [2.6.15] 2020-09-18
515
+
516
+ ### Fix
517
+
518
+ - Fixing dynamic type imports in generated types.
519
+
520
+ ## [2.6.14] 2020-09-18
521
+
522
+ ### Fix
523
+
524
+ - No longer unsetting transform motion values from `style` if their current value is `0`.
525
+ - Correct `useDomEvent` types to allow any `EventTarget`.
526
+ - Fix memory leak error in `AnimatePresence`.
527
+
528
+ ### Change
529
+
530
+ - Added `sideEffects: false` to `package.json`.
531
+ - Added `bundlesize` bundle budgeting.
532
+
533
+ ## [2.6.13] 2020-09-12
534
+
535
+ ### Fix
536
+
537
+ - `drag` + `layout` components no longer reset position to center.
538
+
539
+ ## [2.6.12] 2020-09-11
540
+
541
+ ### Change
542
+
543
+ - Reduced full bundle size by 0.8kb by replacing `import * from "popmotion"` with a named map of specifically just the easing functions.
544
+
545
+ ## [2.6.11] 2020-09-11
546
+
547
+ ### Fixed
548
+
549
+ - Reinstating default keyframes duration of `0.8` seconds.
550
+
551
+ ## [2.6.10] 2020-09-10
552
+
553
+ ### Fixed
554
+
555
+ - `dragElastic={0}` gesture end animations now work correctly.
556
+
557
+ ## [2.6.9] 2020-09-09
558
+
559
+ ### Fixed
560
+
561
+ - Ensure `AnimatePresence` children re-render when children exit.
562
+
563
+ ## [2.6.8] 2020-09-08
564
+
565
+ ### Fixed
566
+
567
+ - Ensure useTransform uses the latest handler.
568
+
569
+ ## [2.6.7] 2020-09-08
570
+
571
+ ### Added
572
+
573
+ - Scale correction for `borderRadius` and `boxShadow` found in `style`.
574
+ - Fixed conflict between `initial` and `style`. `initial` will now take precedence on initial render.
575
+ - Support for CSS variables in scale-corrected `boxShadow` styles.
576
+
577
+ ## [2.6.6] 2020-09-03
578
+
579
+ ### Fixed
580
+
581
+ - Correctly mapping `times` option to Popmotion's `offset`.
582
+
583
+ ## [2.6.5] 2020-08-28
584
+
585
+ ### Changed
586
+
587
+ - Tweaked `restSpeed` defaults for smoother halting of physical (px) springs.
588
+
589
+ ### Fixed
590
+
591
+ - Critical-damped spring equations in Popmotion.
592
+
593
+ ## [2.6.4] 2020-08-28
594
+
595
+ ### Fixed
596
+
597
+ - Forcing array targets to use keyframes animations.
598
+
599
+ ## [2.6.3] 2020-08-27
600
+
601
+ ### Fixed
602
+
603
+ - Coercion to type `auto`.
604
+
605
+ ## [2.6.2] 2020-08-26
606
+
607
+ ### Fixed
608
+
609
+ - Fixing detection of transition definitions and application of default transitions.
610
+ - When animating to/from `0` and a unit type, `0` will be coerced to that unit type rather than needing unit conversion via DOM measurement.
611
+
612
+ ## [2.6.1] 2020-08-26
613
+
614
+ ### Fixed
615
+
616
+ - Updating `useDragControls` documentation to reflect that triggering events should be `usePointerDown`, as mouse events work differently on touch screens.
617
+ - `AnimatePresence.custom` is passed throughout the tree for all exit variants.
618
+ - Animating the `viewBox` attribute of `svg` elements now correctly sets the `viewBox` attribute instead of `view-box`.
619
+
620
+ ### Upgrade
621
+
622
+ - Typescript 4.
623
+
624
+ ## [2.6.0] 2020-08-24
625
+
626
+ ### Fixed
627
+
628
+ - Reverting relative `dragConstraints` resolution that was erroneously changed in `2.1.3`.
629
+
630
+ ## [2.5.5] 2020-08-20
631
+
632
+ ### Fixed
633
+
634
+ - Tweaked `restDelta` in `popmotion@9.0.0-rc.7` for smoother `opacity` transitions.
635
+
636
+ ## [2.5.4] 2020-08-20
637
+
638
+ ### Fixed
639
+
640
+ - Fixed jumpy drag transitions resulting from existing animations not being correctly stopped.
641
+
642
+ ## [2.5.3] 2020-08-20
643
+
644
+ ### Fixed
645
+
646
+ - Improved velocity check for underdamped springs.
647
+
648
+ ## [2.5.2] 2020-08-20
649
+
650
+ ### Fixed
651
+
652
+ - Drag transitionEnd conflicting with layout animations.
653
+
654
+ ## [2.5.1] 2020-08-18
655
+
656
+ ### Fixed
657
+
658
+ - Occasional glitchy movement with `type: "spring"` and `repeatType: "mirror"`
659
+
660
+ ## [2.5.0] 2020-08-18
661
+
662
+ ### Added
663
+
664
+ - New repeat syntax
665
+ - Support for repeated springs
666
+
667
+ ### Fixed
668
+
669
+ - Fixed support for `null` in keyframes animations.
670
+ - Fixed `delay` propagation.
671
+
672
+ ## [2.4.3] 2020-08-18
673
+
674
+ ### Changed
675
+
676
+ - Upgrading to Popmotion 9 RC.
677
+
678
+ ## [2.4.1] 2020-08-12
679
+
680
+ ### Fixed
681
+
682
+ - Adding defensive check for `visualElement.box` in `MeasureLayout`.
683
+
684
+ ## [2.4.0] 2020-08-12
685
+
686
+ ### Added
687
+
688
+ - Upgraded `useTransform` to accept multiple `MotionValue`s.
689
+ - Support for `transformPerspective` style.
690
+ - Internal: `_dragX` and `_dragY` external `MotionValue` targets for drag gesture.
691
+ - Internal: Support for rotate in `AnimateSharedLayout` within Framer.
692
+ - Internal: `onViewportBoxUpdate`, `onLayoutMeasure` and `onLayoutUpdate` event handlers added to `HTMLVisualElement`.
693
+
694
+ ### Fixed
695
+
696
+ - Fixed `AnimateSharedLayout` within React `17.0.0-rc.0`.
697
+ - Drag now works directly on `x` and `y` transforms unless `layout` or `layoutId` are also set.
698
+
699
+ ### Changed
700
+
701
+ - Marked `useInvertedScale` as deprecated.
702
+
703
+ ## [2.3.0] 2020-07-28
704
+
705
+ ### Added
706
+
707
+ - `useMotionTemplate`, a hook for combining MotionValues using a string template literal.
708
+
709
+ ## [2.2.0] 2020-07-27
710
+
711
+ ### Added
712
+
713
+ - `m` component is a lightweight, featureless version of the `motion` component.
714
+ - `MotionConfig` is used to dynamically provide features to `m` components via context.
715
+
716
+ ## [2.1.4] 2020-07-24
717
+
718
+ ### Added
719
+
720
+ - Drag Cypress test suite.
721
+
722
+ ### Fixed
723
+
724
+ - Application of relative drag constraints.
725
+ - User-set transforms were only updating when layout transforms updated.
726
+ - Fixing drag on SVG components.
727
+
728
+ ## [2.1.3] 2020-07-23
729
+
730
+ ### Fixed
731
+
732
+ - HSLA interpolation when either HSLA contains a decimal.
733
+ - Whitespace-syntax color support.
734
+ - `onLayoutAnimationComplete` now firing correctly.
735
+
736
+ ## [2.1.2] 2020-07-22
737
+
738
+ ### Fixed
739
+
740
+ - Respecting `transformTemplate` for layout animations.
741
+ - Fixed `this.box is undefined` errors.
742
+
743
+ ### Changed
744
+
745
+ - Internal refactoring to improve tree-shaking and allow for dynamic feature injection.
746
+
747
+ ## [2.1.1] 2020-07-20
748
+
749
+ ### Fixed
750
+
751
+ - Performance improvements to layout delta calculations.
752
+
753
+ ## [2.1.0] 2020-07-17
754
+
755
+ ### Added
756
+
757
+ - `layout="position"` for position-only layout animations.
758
+
759
+ ## [2.0.1] 2020-07-16
760
+
761
+ ### Fixed
762
+
763
+ - Fixed issue with draggable components staying stuck when they're getting render-thrashed.
764
+
765
+ ## [2.0.0] 2020-07-15
766
+
767
+ ### Added
768
+
769
+ - `layout` prop for automatic layout animations.
770
+ - `AnimateSharedLayout` and `layoutId` for shared layout animations.
771
+ - `onMeasureDragConstraints` prop that fires when `dragConstraints` are measured.
772
+ - `useIsPresent`, a read-only version of `usePresence`.
773
+ - Allow `dragConstraints` to be a ref that is smaller than the draggable element.
774
+
775
+ ### Removed
776
+
777
+ - `positionTransition` and `layoutTransition` props (use `layout={true}` instead).
778
+ - `Point` type in favour of `Point2D`.
779
+ - `useAnimatedState`: Moved to Framer library.
780
+ - `dragOriginX`, `dragOriginY` props.
781
+ - `stylefire` as a dependency.
782
+
783
+ ### Fixed
784
+
785
+ - Removing a `MotionValue` from `style` now correctly unsets it from the element.
786
+
787
+ ### Changed
788
+
789
+ - Using `Proxy` to generate `motion` components. This saves ~0.5kb from the bundle size and ensures compatibility with all DOM elements and Web Components.
790
+ - `x` and `y` transform values won't change as a result of a drag gesture as this now works via layout projection.
791
+ - Drag events now report `point` as the pointer relative to the viewport, in line with other pointer events.
792
+ - Changed build process and using Terser for uglification. Reduces bundle size by ~1.2kb. ([@stokesman](https://github.com/stokesman) in [#596](https://github.com/framer/motion/pull/596))
793
+
794
+ ## [1.11.1] 2020-06-16
795
+
796
+ ### Fixed
797
+
798
+ - Using `useIsomorphicEffect` for `useElementScroll` and `useViewportScroll`.([@thebuilder](https://github.com/thebuilder) in [#592](https://github.com/framer/motion/pull/592))
799
+
800
+ ## [1.11.0] 2020-05-15
801
+
802
+ ### Added
803
+
804
+ - Added a `useElementScroll` hook that allows the creation of scroll motion values for HTML elements. ([@souporserious](https://github.com/souporserious) in [#195](https://github.com/framer/motion/pull/195))
805
+
806
+ ## [1.10.3] 2020-03-23
807
+
808
+ ### Fix
809
+
810
+ - Replacing the functionality of `DragControls` `e.preventDefault()` with CSS and HTML attributes. ([@inventingwithmonster](https://github.com/inventingwithmonster) in [#495](https://github.com/framer/motion/pull/495))
811
+
812
+ ## [1.10.2] 2020-03-23
813
+
814
+ ### Fix
815
+
816
+ - Fixing `PresenceChild` losing correct count of exiting children if it re-renders. ([@inventingwithmonster](https://github.com/inventingwithmonster) in [#490](https://github.com/framer/motion/pull/490))
817
+
818
+ ### Changed
819
+
820
+ - Removed developer warning when using `usePresence` outside of an `AnimatePresence` block.
821
+
822
+ ## [1.10.1] 2020-03-23
823
+
824
+ ### Fix
825
+
826
+ - Fixing `AnimatePresence` children not re-rendering when their exiting siblings have been removed from the tree (which broke siblings `positionTransition` and `layoutTransition`). ([@inventingwithmonster](https://github.com/inventingwithmonster) in [#489](https://github.com/framer/motion/pull/489))
827
+ - Adding `null` check for `getTranslateFromMatrix` ([@JoyalJoyMadeckal](https://github.com/JoyalJoyMadeckal) in [#482](https://github.com/framer/motion/pull/482))
828
+
829
+ ## [1.10.0] 2020-03-19
830
+
831
+ ### Added
832
+
833
+ - `AnimatePresence` now supports multiple `usePresence` children within a given sub-tree.
834
+
835
+ ## [1.9.1] 2020-03-06
836
+
837
+ ### Fixed
838
+
839
+ - Ensuring drag momentum animations happen on `_dragValueX` and `_dragValueY` if provided. ([@inventingwithmonster](https://github.com/inventingwithmonster) in [#473](https://github.com/framer/motion/pull/473))
840
+
841
+ ## [1.9.0] 2020-03-02
842
+
843
+ ### Added
844
+
845
+ - `usePresence` hook. ([@inventingwithmonster](https://github.com/inventingwithmonster) in [#473](https://github.com/framer/motion/pull/473))
846
+ - `repository` field in `package.json`. ([@iamstarkov](https://github.com/iamstarkov) in [#469](https://github.com/framer/motion/pull/469))
847
+
848
+ ## [1.8.4] 2020-02-05
849
+
850
+ ### Added
851
+
852
+ - `dragListener` prop to disable drag event listeners.
853
+
854
+ ## [1.8.3] 2020-01-28
855
+
856
+ ### Added
857
+
858
+ - Updated documentation for `DragControls.start`.
859
+
860
+ ## [1.8.2] 2020-01-28
861
+
862
+ ### Downgrade
863
+
864
+ - Downgraded `api-extractor` to `@7.3` as `7.7.7` broke `Method` name indexing.
865
+
866
+ ## [1.8.1] 2020-01-28
867
+
868
+ ### Added
869
+
870
+ - Updated documentation for `useDragControls`.
871
+
872
+ ## [1.8.0] 2020-01-27
873
+
874
+ ### Added
875
+
876
+ - `useDragControls` allows imperative initiation of a drag gesture.
877
+
878
+ ## [1.7.3] 2020-01-24
879
+
880
+ ### Fixed
881
+
882
+ - Updated `transformTemplate` to provide an empty string if all transform values are default.
883
+
884
+ ## [1.7.2] 2020-01-20
885
+
886
+ ### Fixed
887
+
888
+ - Changed definition of `staggerDirection` from `1 | -1` to `number` to reduce the need for casting externally-defined types.
889
+
890
+ ## [1.7.1] 2020-01-20
891
+
892
+ ### Added
893
+
894
+ - Added support for `TargetResolver` in `exit` types.
895
+
896
+ ### Fixed
897
+
898
+ - Filtering `onAnimationStart` from forwarded props.
899
+
900
+ ## [1.7.0] 2019-12-12
901
+
902
+ ### Added
903
+
904
+ - Support for `prefers-reduced-motion` via the `useReducedMotion` hook.
905
+
906
+ ## [1.6.18] 2019-12-10
907
+
908
+ ### Fixed
909
+
910
+ - Various `StrictMode`-related bugs including `layoutTransition` origin calculation.
911
+ - Only applying drag constraints during a `useEffect` to allow render-triggered animations a chance to start (thereby blocking the application of constraints).
912
+
913
+ ## [1.6.17] 2019-11-21
914
+
915
+ ### Added
916
+
917
+ - `controls.set` can now accept a function that will resolve once for each child.
918
+
919
+ ## [1.6.16] 2019-11-21
920
+
921
+ ### Fixes
922
+
923
+ - Fixing `ref` hydration in `useLayoutEffect`. (Note: This release effectively reverts `1.6.10`. Each child of `AnimatePresence` with a unique `key` should be given a unique `ref`).
924
+ - Moving callback ref mutation in `use-drag` and `use-pan-gesture` to a `useEffect`.
925
+
926
+ ## [1.6.15] 2019-10-24
927
+
928
+ ### Added
929
+
930
+ - Quick start section to README.
931
+
932
+ ## [1.6.14] 2019-10-14
933
+
934
+ ### Fix
935
+
936
+ - Making position change detection more intelligent.
937
+
938
+ ## [1.6.13] 2019-10-14
939
+
940
+ ### Fix
941
+
942
+ - Fixing undefined `this.props` error for `AnimatePresence.exitBeforeEnter`.
943
+
944
+ ## [1.6.12] 2019-10-10
945
+
946
+ ### Fix
947
+
948
+ - Support strings in `motion.custom` for Web Component support.
949
+
950
+ ## [1.6.11] 2019-10-09
951
+
952
+ ### Fix
953
+
954
+ - Inconsistency in handling `x`/`y` between SVG and HTML. Now always a shorthand for `translateX` and `translateY`.
955
+
956
+ ## [1.6.10] 2019-10-09
957
+
958
+ ### Fix
959
+
960
+ - Fixing the use of externally-provided `ref`s with single-child `AnimatePresence` components.
961
+
962
+ ## [1.6.9] 2019-10-08
963
+
964
+ ### Fix
965
+
966
+ - Exit variant propagation.
967
+ - Cancelling exit animations.
968
+
969
+ ## [1.6.8] 2019-10-02
970
+
971
+ ### Fix
972
+
973
+ - Fixed exit animation when `animate={useAnimation()}`.
974
+ - Fixed exit animations when another animation is playing concurrently and finishes first.
975
+ - Upgrade `stylefire@6.0.11` to fix `clipPath` in Webkit.
976
+ - Allow `motion.custom` to accept custom prop types.
977
+ - Support clicks within draggable components on iOS Safari.
978
+ - Making `inherit` public API.
979
+
980
+ ## [1.6.7] 2019-08-30
981
+
982
+ ### Fix
983
+
984
+ - Restoring React-style behaviour for transform `style` properties when a component `isStatic`.
985
+
986
+ ## [1.6.6] 2019-08-29
987
+
988
+ ### Fix
989
+
990
+ - Adding `@emotion/is-prop-valid` as an optional dependency to ensure we filter out arbitrary props passed along by Emotion and Styled Components.
991
+
992
+ ## [1.6.5] 2019-08-27
993
+
994
+ ### Fix
995
+
996
+ - Value-specific `delay`.
997
+
998
+ ## [1.6.4] 2019-08-27
999
+
1000
+ ### Upgrade
1001
+
1002
+ - `stylefire@6.0.10`
1003
+
1004
+ ## [1.6.3] 2019-08-19
1005
+
1006
+ ### Fixed
1007
+
1008
+ - Ensuring `onDragEnd` always fires after if `onDragStart` fired.
1009
+
1010
+ ## [1.6.2] 2019-08-14
1011
+
1012
+ ### Fixed
1013
+
1014
+ - Invalid property in SVGs.
1015
+
1016
+ ## [1.6.1] 2019-08-12
1017
+
1018
+ ### Fixed
1019
+
1020
+ - Making `useInvertedScale` public and changing const to function.
1021
+
1022
+ ## [1.6.0] 2019-08-12
1023
+
1024
+ ### Added
1025
+
1026
+ - `layoutTransition`
1027
+ - `EventInfo` now passed as second argument to `onHoverStart` and `onHoverEnd`.
1028
+ - `useDomEvent` hook for attaching events directly to an `Element`.
1029
+
1030
+ ### Fixed
1031
+
1032
+ - Simplifying event system.
1033
+ - Applying values in `animate.transitionEnd` if not initial animation.
1034
+ - Made drag constraints only apply if a value isn't animating.
1035
+ - Don't throw error if `useInvertedScale` is provided arguments.
1036
+
1037
+ ## [1.5.0] 2019-08-02
1038
+
1039
+ ### Added
1040
+
1041
+ - `useInvertedScale` for inverting parent scales.
1042
+
1043
+ ## [1.4.2] 2019-07-31
1044
+
1045
+ ### Fixed
1046
+
1047
+ - `positionTransition` on exiting components within `AnimatePresence`.
1048
+
1049
+ ## [1.4.1] 2019-07-30
1050
+
1051
+ ### Fixed
1052
+
1053
+ - Pan and drag gestures with `PointerEvent`.
1054
+
1055
+ ## [1.4.0] 2019-07-29
1056
+
1057
+ ### Added
1058
+
1059
+ - `AnimatePresence.exitBeforeEnter`.
1060
+ - Added explicit support for custom components as children of `AnimatePresence`.
1061
+
1062
+ ### Fixed
1063
+
1064
+ - Fixing issue with drag constraints (ref-based) being reset, while dragging, on unrelated parent component updates.
1065
+ - Updated rollup config to list `tslib` as an external dependency.
1066
+ - Ensuring unmounting components don't call `onAnimationComplete`.
1067
+ - Adding error message when no initial value is set, or can be read or inferred.
1068
+ - Ensuring color alpha is always within bounds.
1069
+ - Ensuring variants propagate on unmount.
1070
+
1071
+ ## [1.3.0] 2019-07-24
1072
+
1073
+ - Added `onAnimationStart`.
1074
+
1075
+ ### Fixed
1076
+
1077
+ ## [1.2.6] 2019-07-23
1078
+
1079
+ ### Fixed
1080
+
1081
+ - Make sure `select`, `input`, `textarea` loose focus when blocking default behaviour in a draggable element.
1082
+
1083
+ ## [1.2.5] 2019-07-23
1084
+
1085
+ ### Fixed
1086
+
1087
+ - Value type conversion for currently-hidden elements.
1088
+ - Fixing unit type conversions when non-positional transforms are applied.
1089
+ - Fixing variant propagation via `useAnimation()` when the parent component has no `variants` prop set.
1090
+ - Fixing unsetting `whileHover` and `whileTap` if they contain `transitionEnd` values.
1091
+ - Child components within variant trees now animate to `animate` as set by their parent.
1092
+ - Checking animation props for array variants as well as strings.
1093
+ - If unencountered value is animated, first attempt to extract an initial value from keyframes definition. Also upgrading `stylefire` to gracefully handle transform requests.
1094
+
1095
+ ## [1.2.4] 2019-07-15
1096
+
1097
+ ### Added
1098
+
1099
+ - `isValidMotionProp` function.
1100
+
1101
+ ### Fixed
1102
+
1103
+ - Improving types for `SVGTextElement` components.
1104
+
1105
+ ## [1.2.3] 2019-07-11
1106
+
1107
+ ### Fixed
1108
+
1109
+ - Don't load `positionTransition` functionality component server-side.
1110
+ - In development mode, ensuring all child keys are unique.
1111
+
1112
+ ## [1.2.2] 2019-07-11
1113
+
1114
+ ### Upgrade
1115
+
1116
+ - Typescript to `3.5`.
1117
+
1118
+ ## [1.2.1] 2019-07-10
1119
+
1120
+ ### Fixed
1121
+
1122
+ - Removing re-entering children from exiting list in `AnimatePresence`.
1123
+
1124
+ ## [1.2.0] 2019-07-09
1125
+
1126
+ ### Added
1127
+
1128
+ - Supporting `positionTransition` as a function that resolves when the component has moved.
1129
+ - Adding `dragOriginX` and `dragOriginY` props.
1130
+
1131
+ ### Fixed
1132
+
1133
+ - Excluding `positionTransition` from SVG type.
1134
+
1135
+ ## [1.1.4] 2019-07-08
1136
+
1137
+ ### Updated
1138
+
1139
+ - Exporting `AnimatePresenceProps`.
1140
+
1141
+ ## [1.1.3] 2019-07-08
1142
+
1143
+ ### Fixed
1144
+
1145
+ - Fixing `positionTransition` on server-side.
1146
+
1147
+ ## [1.1.2] 2019-07-08
1148
+
1149
+ ### Fixed
1150
+
1151
+ - Upgrade to `AnimatePresence` algo.
1152
+
1153
+ ## [1.1.1] 2019-07-05
1154
+
1155
+ ### Changed
1156
+
1157
+ - Moving UMD global from `FramerMotion` to `Motion`.
1158
+ - Removed `@emotion/is-valid-prop`, saving ~1.9kb from bundle.
1159
+ - Using a slimmed-down version of Popmotion, saving ~3kb from bundle.
1160
+ - Removing `async` markers, saving ~0.7kb from bundle.
1161
+
1162
+ ### Fixed
1163
+
1164
+ - Cancelling `drag` and `pan` gestures on component unmount.
1165
+ - Previously unseen props in `animate` animate correctly.
1166
+ - Fixing reading SVG attributes from DOM.
1167
+ - Fixed unit type conversion not working with previously-undefined values.
1168
+ - Calling `onAnimationComplete` when `while` overrides are unset.
1169
+ - 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.
1170
+
1171
+ ## [1.1.0] 2019-07-03
1172
+
1173
+ ### Added
1174
+
1175
+ - `AnimatePresence` component for controlling mount/unmount animations.
1176
+ - `positionTransition` prop for animating when the layout of a component changes.
1177
+
1178
+ ## [1.0.5] 2019-07-02
1179
+
1180
+ ### Fixed
1181
+
1182
+ - Fixing SVG path props.
1183
+
1184
+ ## [1.0.4] 2019-07-01
1185
+
1186
+ ### Fixed
1187
+
1188
+ - Moving SVG path props to `MotionStyle` type.
1189
+ - Changing `MakeMotion` to accept either `MotionValue<string>` OR `MotionValue<number>`.
1190
+
1191
+ ## [1.0.3] 2019-07-01
1192
+
1193
+ ### Fixed
1194
+
1195
+ - Moving `dragConstraints` to a ref if a component re-renders mid gesture.
1196
+ - Only applying `dragConstraints` on render if component isn't currently dragging.
1197
+
1198
+ ## [1.0.2] 2019-06-28
1199
+
1200
+ ### Fixed
1201
+
1202
+ - Making `when` type more permissive for passing in implicitly typed, pre-defined `variants`.
1203
+ - Not blocking default browser behaviour when dragging is initiated on draggable element's `select`, `input`, `textarea` elements.
1204
+
1205
+ ## [1.0.1] 2019-06-27
1206
+
1207
+ ### Fixed
1208
+
1209
+ - Fixing `useSpring` unsubscriptions.
1210
+
1211
+ ## [1.0.0] 2019-06-26
1212
+
1213
+ ### Added
1214
+
1215
+ - Improved SVG support.
1216
+
1217
+ ## [0.20.2] 2019-06-20
1218
+
1219
+ ### Fixed
1220
+
1221
+ - Ensuring each `MotionValue` receives one `MotionValuesMap` update subscriber.
1222
+
1223
+ ## [0.20.1] 2019-06-20
1224
+
1225
+ ### Fixed
1226
+
1227
+ - Adding `x`/`y` `MotionValue`s to the `useDrag` dependency list.
1228
+ - Ensure hover events only fire as a result of mouse interactions.
1229
+
1230
+ ## [0.20.0] 2019-06-18
1231
+
1232
+ ### Feature
1233
+
1234
+ - Allowing SVG `motion` components to accept `MotionValue`s via attributes.
1235
+ - Adding SVG attribute types to `Target`.
1236
+
1237
+ ## [0.19.2] 2019-06-13
1238
+
1239
+ ### Fixed
1240
+
1241
+ - Detecting `originZ` as a `transform-origin` value.
1242
+
1243
+ ## [0.19.1] 2019-06-13
1244
+
1245
+ ### Added
1246
+
1247
+ - `initial={false}` to shadow contents of `animate` thereby disabling on mount animation.
1248
+ - `AnimationControls.set` for imperative setting of values.
1249
+
1250
+ ### Fixed
1251
+
1252
+ - Resolve animations only after a defined `delay` to ensure `velocity` is only resolved as an animation begins on a value.
1253
+
1254
+ ## [0.19.0] 2019-06-13
1255
+
1256
+ ### Upgraded
1257
+
1258
+ - `stylefire@5.0.0` - Changes `originX`/`Y` default to `"50%"`.
1259
+
1260
+ ## [0.18.6] 2019-06-13
1261
+
1262
+ ### Added
1263
+
1264
+ - Production and prototype environment-specific tsdocs.
1265
+
1266
+ ## [0.18.5] 2019-06-07
1267
+
1268
+ ### Fixed
1269
+
1270
+ - Properly cleaning up event listeners in tap gesture.
1271
+ - Only starting pan gesture when pointer has moved more than one point.
1272
+ - Applying `transformPagePoint` to `dragConstraints` when it's a `RefObject<Element>` to ensure it works in scaled environments.
1273
+ - Fixing `dragElastic` behaviour when `dragMomentum={false}`.
1274
+
1275
+ ## [0.18.4] 2019-05-30
1276
+
1277
+ ### Fixed
1278
+
1279
+ - Preventing default browser behaviours on draggable elements.
1280
+
1281
+ ## [0.18.3] 2019-05-30
1282
+
1283
+ ### Fixed
1284
+
1285
+ - Fixing drag when a multitouch gesture starts.
1286
+
1287
+ ## [0.18.2] 2019-05-22
1288
+
1289
+ ### Fixed
1290
+
1291
+ - Application of `delay`.
1292
+
1293
+ ## [0.18.1] 2019-05-21
1294
+
1295
+ ### Fixed
1296
+
1297
+ - Fixed regex detection for fallbacks containing a decimal.
1298
+
1299
+ ## [0.18.0] 2019-05-21
1300
+
1301
+ ### Added
1302
+
1303
+ - `dragConstraints` can now be set as a `React.RefObject`.
1304
+
1305
+ ### Fixed
1306
+
1307
+ - Support CSS variables with metadata
1308
+ - Fixing circular CSS dependencies
1309
+
1310
+ ## [0.17.2] 2019-05-15
1311
+
1312
+ ### Fixed
1313
+
1314
+ - 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.
1315
+ - Only firing `onDragEnd` if dragging has actually happened.
1316
+
1317
+ ## [0.17.1] 2019-05-13
1318
+
1319
+ ### Fixed
1320
+
1321
+ - `dragTransition` now listed as a `useDraggable` dependency.
1322
+
1323
+ ## [0.17.0] 2019-05-09
1324
+
1325
+ ### Added
1326
+
1327
+ - Experimental `useAnimatedState` Hook for animating arbitrary values.
1328
+
1329
+ ## [0.16.11] 2019-05-08
1330
+
1331
+ ### Fixed
1332
+
1333
+ - Disabling the animation of `zIndex`.
1334
+ - Making components without variants or animation-controlling props invisible to `staggerChildren`.
1335
+
1336
+ ## [0.16.10] 2019-05-07
1337
+
1338
+ ### Updated
1339
+
1340
+ - API
1341
+
1342
+ ### Fixed
1343
+
1344
+ - Variant propagation when rerendering children
1345
+
1346
+ ## [0.16.9] 2019-05-07
1347
+
1348
+ ### Fixed
1349
+
1350
+ - Using `transition` and `transitionEnd` as direct values on the `animate` prop on subsequent renders.
1351
+ - Rounding `zIndex`.
1352
+ - `AnimationControls.start` now accepts the same `AnimationDefinition` as `ValueAnimationControls.start`.
1353
+
1354
+ ## [0.16.8] 2019-05-06
1355
+
1356
+ ### Fixed
1357
+
1358
+ - Cancelling pan gesture when the move events have no mouse button.
1359
+
1360
+ ## [0.16.7] 2019-05-06
1361
+
1362
+ ### Fixed
1363
+
1364
+ - Fixing propagation of unsetting variant overrides.
1365
+ - Making variant inheritance more permissive.
1366
+
1367
+ ## [0.16.6] 2019-05-02
1368
+
1369
+ ### Fixed
1370
+
1371
+ - Improved handling of attempting to animate between non-animatable and animatable values.
1372
+
1373
+ ## [0.16.5] 2019-05-01
1374
+
1375
+ ### Added
1376
+
1377
+ - Adds array and object support to `transform`.
1378
+
1379
+ ### Fixed
1380
+
1381
+ - Makes boxShadow and other complex value type support more robust.
1382
+ - Fixing overwriting `transform`.
1383
+
1384
+ ## [0.16.4] 2019-04-30
1385
+
1386
+ - Updating deps.
1387
+
1388
+ ## [0.16.3] 2019-04-30
1389
+
1390
+ ### Added
1391
+
1392
+ - `shadow` to `CustomValueTypes`.
1393
+
1394
+ ## [0.16.2] 2019-04-30
1395
+
1396
+ ### Fixed
1397
+
1398
+ - Fixed propagation of `initial` in `static` mode.
1399
+ - Fixing animations from values that are read as "none".
1400
+
1401
+ ## [0.16.1] 2019-04-25
1402
+
1403
+ ### Fixed
1404
+
1405
+ - Filtering pointer events not from the primary pointer (ie non-left clicks for mouse).
1406
+ - 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.
1407
+
1408
+ ## [0.16.0] 2019-04-19
1409
+
1410
+ ### Added
1411
+
1412
+ - `custom` prop for dynamic variants.
1413
+
1414
+ ### Removed
1415
+
1416
+ - `useAnimation` no longer takes `variants` or `defaultTransition` arguments (provide these to the component).
1417
+
1418
+ ### Fixed
1419
+
1420
+ - Improving comparison for `animate` prop to account for keyframe arrays.
1421
+ - Adding drag point in `onDragStart` and `onDragEnd` callbacks.
1422
+
1423
+ ## [0.15.2] 2019-04-17
1424
+
1425
+ ### Added
1426
+
1427
+ - Support for CSS variables.
1428
+
1429
+ ### Fixed
1430
+
1431
+ - `onDragEnd` not returning transformed point.
1432
+ - Fixing use of `variants` prop with `useAnimation`.
1433
+
1434
+ ## [0.15.1] 2019-04-16
1435
+
1436
+ ### Added
1437
+
1438
+ - `HTMLMotionProps` and `SVGMotionProps`.
1439
+
1440
+ ## [0.15.0] 2019-04-16
1441
+
1442
+ ### Added
1443
+
1444
+ - `onPanSessionStart` event handler.
1445
+
1446
+ ### Changed
1447
+
1448
+ - `useViewportScrollValues` => `useViewportScroll`.
1449
+
1450
+ ### Added
1451
+
1452
+ - `ease` can now be an array for keyframes animations.
1453
+
1454
+ ### Removed
1455
+
1456
+ - `easings` prop.
1457
+
1458
+ ## [0.14.3] 2019-04-12
1459
+
1460
+ ### Fixed
1461
+
1462
+ - Only firing `value.onChange` when value actually changes.
1463
+
1464
+ ## [0.14.2] 2019-04-11
1465
+
1466
+ ### Fixed
1467
+
1468
+ - Updating `hey-listen`.
1469
+
1470
+ ## [0.14.1] 2019-04-11
1471
+
1472
+ ### Added
1473
+
1474
+ - Explicit support for the `radius` value.
1475
+
1476
+ ## [0.14.0] 2019-04-10
1477
+
1478
+ ### Changed
1479
+
1480
+ - Making special value support configurable
1481
+
1482
+ ## [0.13.0] 2019-04-08
1483
+
1484
+ ### Changed
1485
+
1486
+ - `useTransformedValue` => `useTransform`
1487
+
1488
+ ### Added
1489
+
1490
+ - `transform(value, input, output, options)` overload.
1491
+
1492
+ ## [0.12.2] 2019-04-08
1493
+
1494
+ ### Changed
1495
+
1496
+ - Added new methods to `safeWindow` SSR window mocking.
1497
+
1498
+ ### Fixed
1499
+
1500
+ - Deleting unused props from `style` object rather than setting to `undefined`. [#99](https://github.com/framer/motion/pull/99)
1501
+
1502
+ ## [0.12.1] 2019-04-03
1503
+
1504
+ ### Fixed
1505
+
1506
+ - `size` works with `while` gestures.
1507
+
1508
+ ## [0.12.0] 2019-04-03
1509
+
1510
+ ### Changed
1511
+
1512
+ - `useCycle([...args])` -> `useCycle(...args)`
1513
+
1514
+ ### Added
1515
+
1516
+ - `static` components reflect changes in `initial`.
1517
+
1518
+ ### Fixed
1519
+
1520
+ - Dragging doesn't break during re-renders.
1521
+ - `useCycle` setter is independent from render cycle.
1522
+
1523
+ ### Removed
1524
+
1525
+ - `useCycle` no longer has the ability to start at a different index.
1526
+
1527
+ ## [0.11.1] 2019-04-02
1528
+
1529
+ ### Added
1530
+
1531
+ - `onDragTransitionEnd`
1532
+
1533
+ ### Upgraded
1534
+
1535
+ - Popmotion libraries.
1536
+
1537
+ ## [0.11.0] 2019-04-01
1538
+
1539
+ ### Changed
1540
+
1541
+ - `value.addUpdateSubscription` => `value.onChange`
1542
+ - `value.addRenderSubscription` => `value.onRenderRequest` (and made internal)
1543
+
1544
+ ### Upgraded
1545
+
1546
+ - `popmotion@8.6.5`
1547
+
1548
+ ### Fixed
1549
+
1550
+ - Variants propagate to children even if not present on parent.
1551
+
1552
+ ## [0.10.2] 2019-03-27
1553
+
1554
+ ### Changed
1555
+
1556
+ - Updating docs to avoid single-letter `event` vars.
1557
+
1558
+ ## [0.10.1] 2019-03-27
1559
+
1560
+ ### Fixed
1561
+
1562
+ - Fixing `TargetAndTransform` type to omit CSS-native `rotate` property.
1563
+
1564
+ ## [0.10.0] 2019-03-26
1565
+
1566
+ ### Changed
1567
+
1568
+ - `press` -> `whileTap`
1569
+ - `hover` -> `whileHover`
1570
+
1571
+ ## [0.9.4] 2019-03-26
1572
+
1573
+ ### Fixed
1574
+
1575
+ - Fixing HTML types.
1576
+
1577
+ ## [0.9.3] 2019-03-25
1578
+
1579
+ ### Added
1580
+
1581
+ - Exporting `MotionTransform` type.
1582
+
1583
+ ## [0.9.2] 2019-03-22
1584
+
1585
+ ### Added
1586
+
1587
+ - Added support for `CustomValueType` in `unwrapMotionValue`.
1588
+
1589
+ ## [0.9.0] 2019-03-22
1590
+
1591
+ ### Added
1592
+
1593
+ - Added `dragDirectionLock` prop.
1594
+
1595
+ ### Removed
1596
+
1597
+ - `"lockDirection"` from `dragEnabled`.
1598
+
1599
+ ### Changed
1600
+
1601
+ - Renamed `dragEnabled` to `drag`.
1602
+
1603
+ ## [0.8.8] 2019-03-20
1604
+
1605
+ ## [0.8.7] 2019-03-20
1606
+
1607
+ ### Added
1608
+
1609
+ - Adding `transition` argument to `animation.start()`.
1610
+
1611
+ ### Fixed
1612
+
1613
+ - No longer fire tap gesture if parent is dragging.
1614
+ - Adjusting default `inertia` settings to more naturally incorporate velocity.
1615
+ - Killing drag momentum on subsequent `pressDown`.
1616
+ - Preventing pan velocity from adjusting draggable parents that have not received `dragPropagation`.
1617
+ - Updating of `dragConstraints` repositions the draggable element to adhere to the new values
1618
+
1619
+ ## [0.8.6] 2019-03-19
1620
+
1621
+ ### Added
1622
+
1623
+ - `Point.relativeTo`
1624
+ - `transform`
1625
+
1626
+ ### Fixed
1627
+
1628
+ - Statefull style bug.
1629
+ - Fixing `Promise` resolution with `animate.start()` when fired pre-mount.
1630
+
1631
+ ## [0.8.5] 2019-03-15
1632
+
1633
+ ### Fix
1634
+
1635
+ - Blocking extra gesture props from being passed to DOM.
1636
+ - Upgrading `@popmotion/popcorn` to fix Jest bug.
1637
+
1638
+ ## [0.8.4] 2019-03-15
1639
+
1640
+ ### Fix
1641
+
1642
+ - Fixing `style` set as `null`.
1643
+
1644
+ ## [0.8.3] 2019-03-14
1645
+
1646
+ ### Update
1647
+
1648
+ - Adding support for custom values.
1649
+
1650
+ ## [0.8.2] 2019-03-14
1651
+
1652
+ ### Update
1653
+
1654
+ - Updating tsdocs for `MotionValue`.
1655
+
1656
+ ## [0.8.1] 2019-03-12
1657
+
1658
+ ### Update
1659
+
1660
+ - Updating dependencies.
1661
+
1662
+ ## [0.8.0] 2019-03-12
1663
+
1664
+ ### Changed
1665
+
1666
+ - `originX`, `originY`, `pathLength`, `pathOffset` changed from percent to progress value types.
1667
+
1668
+ ## [0.7.5] 2019-03-11
1669
+
1670
+ ### Added
1671
+
1672
+ - Exporting `AnimationControls`.
1673
+
1674
+ ## [0.7.4] 2019-03-11
1675
+
1676
+ ### Added
1677
+
1678
+ - Exporting `animationControls` and `motionValue` for internal use.
1679
+
1680
+ ## [0.7.3] 2019-03-08
1681
+
1682
+ ### Added
1683
+
1684
+ - Passing `panInfo` through to `onDragStart` and `onDragEnd`.
1685
+
1686
+ ## [0.7.2] 2019-03-07
1687
+
1688
+ ### Fixed
1689
+
1690
+ - `easings` property on `keyframes` now maps correctly to easing functions.
1691
+
1692
+ ## [0.7.1] 2019-03-07
1693
+
1694
+ ### Fixed
1695
+
1696
+ - Enforcing keyframes animation if target is array.
1697
+ - Orchestration props in `transition` prop weren't being respected by variants with no `transition` of their own.
1698
+
1699
+ ## [0.7.0] 2019-03-07
1700
+
1701
+ ### Added
1702
+
1703
+ - Animation targets can be set as `keyframes`.
1704
+
1705
+ ## [0.6.8] 2019-03-05
1706
+
1707
+ ### Fixed
1708
+
1709
+ - Updating `dragConstraints` when they change.
1710
+
1711
+ ## [0.6.7] 2019-03-04
1712
+
1713
+ ### Updated
1714
+
1715
+ - Removing GPU-acceleration for `static` components.
1716
+ - Adding `customStyles` plugin.
1717
+
1718
+ ## [0.6.6] 2019-02-29
1719
+
1720
+ ### Updated
1721
+
1722
+ - `stylefire@2.4.3`
1723
+
1724
+ ## [0.6.4] 2019-02-22
1725
+
1726
+ ### Added
1727
+
1728
+ - Exporting `MotionContext`.
1729
+
1730
+ ### Update
1731
+
1732
+ - Updated `popmotion@8.6.3` to improve synchronisation across tweens when yoyoing.
1733
+
1734
+ ## [0.6.3] 2019-02-21
1735
+
1736
+ ### Fixed
1737
+
1738
+ - If `transformPagePoint` is present, transforming initial point.
1739
+
1740
+ ## [0.6.2] 2019-02-21
1741
+
1742
+ ### Fixed
1743
+
1744
+ - Recognising `press` when it's the lone gesture.
1745
+
1746
+ ## [0.6.1] 2019-02-20
1747
+
1748
+ ### Fixed
1749
+
1750
+ - Fixed an issue where values set to `style` would overwrite `animate` values even if they hadn't changed.
1751
+
1752
+ ## [0.6.0] 2019-02-20
1753
+
1754
+ ### Added
1755
+
1756
+ - `static` prop. Set `static` on a motion component to prevent animation and interaction.
1757
+
1758
+ ### Removed
1759
+
1760
+ - `render`
1761
+
1762
+ ## [0.5.2] 2019-02-20
1763
+
1764
+ ### Fixed
1765
+
1766
+ - Animating unit-converting values on mount.
1767
+
1768
+ ## [0.5.1] 2019-02-19
1769
+
1770
+ ### Added
1771
+
1772
+ - Exporting `MotionComponents`, `CustomMotionComponent`, `HTMLMotionComponents` and `SVGMotionComponents` types.
1773
+ - Exporting `safeWindow`.
1774
+
1775
+ ## [0.5.0] 2019-02-19
1776
+
1777
+ ### Added
1778
+
1779
+ - `onDrag` event listener
1780
+ - Exporting `MotionStyles` type.
1781
+
1782
+ ### Changed
1783
+
1784
+ - `tap` -> `press`
1785
+
1786
+ ## [0.4.5] 2019-02-15
1787
+
1788
+ ### Fixed
1789
+
1790
+ - Fixing `originX` and `originY` SSR.
1791
+ - Updating `style` props to overwrite CSS `rotate`, `scale` and `perspective`.
1792
+
1793
+ ## [0.4.3] 2019-02-14
1794
+
1795
+ ### Fixed
1796
+
1797
+ - 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.
1798
+ - Exporting `htmlElements`, `svgElements` and `createMotionComponent` as their exclusion was causing errors with the output declaration file.
1799
+
1800
+ ## [0.4.2] 2019-02-14
1801
+
1802
+ ### Changed
1803
+
1804
+ - Exporting `useExternalRef`.
1805
+
1806
+ ## [0.4.1] 2019-02-13
1807
+
1808
+ ### Changed
1809
+
1810
+ - Simplifying inline tsdocs.
1811
+
1812
+ ## [0.4.0] 2019-02-12
1813
+
1814
+ ### Changed
1815
+
1816
+ - Standardizing `(event, pointInfo)` as signature for gesture callbacks.
1817
+
1818
+ ### Fixed
1819
+
1820
+ - Gesture priority bugs
1821
+
1822
+ ## [0.3.2] 2019-02-08
1823
+
1824
+ ### Changed
1825
+
1826
+ - Added TSDocs for `useCycle`
1827
+
1828
+ ## [0.3.0] 2019-02-05
1829
+
1830
+ ### Changed
1831
+
1832
+ - `duration` and `delay` are now defined as seconds.
1833
+ - `tapActive` -> `tap`
1834
+ - `hoverActive` -> `hover`
1835
+ - `drag` -> `dragEnabled`