motion 12.0.0-alpha.2 → 12.0.1

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 (157) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +7 -24
  3. package/dist/cjs/index.js +2792 -2446
  4. package/dist/cjs/mini.js +629 -193
  5. package/dist/cjs/react-client.js +3611 -3416
  6. package/dist/cjs/react-m.js +397 -351
  7. package/dist/cjs/react-mini.js +225 -191
  8. package/dist/es/framer-motion/dist/es/animation/animate/index.mjs +3 -2
  9. package/dist/es/framer-motion/dist/es/animation/animate/resolve-subjects.mjs +2 -1
  10. package/dist/es/framer-motion/dist/es/animation/animate/single-value.mjs +1 -1
  11. package/dist/es/framer-motion/dist/es/animation/animate/subject.mjs +1 -1
  12. package/dist/es/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs +16 -12
  13. package/dist/es/framer-motion/dist/es/animation/animators/BaseAnimation.mjs +3 -2
  14. package/dist/es/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs +10 -10
  15. package/dist/es/framer-motion/dist/es/animation/animators/utils/can-animate.mjs +2 -2
  16. package/dist/es/framer-motion/dist/es/animation/animators/waapi/NativeAnimation.mjs +30 -89
  17. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs +4 -4
  18. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-sequence.mjs +14 -0
  19. package/dist/es/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs +2 -1
  20. package/dist/es/framer-motion/dist/es/animation/animators/waapi/index.mjs +2 -1
  21. package/dist/es/framer-motion/dist/es/animation/animators/waapi/utils/supports-partial-keyframes.mjs +2 -1
  22. package/dist/es/framer-motion/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +2 -1
  23. package/dist/es/framer-motion/dist/es/animation/generators/spring/defaults.mjs +27 -0
  24. package/dist/es/framer-motion/dist/es/animation/generators/spring/find.mjs +10 -13
  25. package/dist/es/framer-motion/dist/es/animation/generators/spring/index.mjs +57 -18
  26. package/dist/es/framer-motion/dist/es/animation/hooks/animation-controls.mjs +1 -1
  27. package/dist/es/framer-motion/dist/es/animation/interfaces/motion-value.mjs +7 -6
  28. package/dist/es/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs +6 -5
  29. package/dist/es/framer-motion/dist/es/animation/optimized-appear/start.mjs +2 -1
  30. package/dist/es/framer-motion/dist/es/animation/optimized-appear/store-id.mjs +1 -1
  31. package/dist/es/framer-motion/dist/es/animation/sequence/create.mjs +32 -6
  32. package/dist/es/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs +5 -0
  33. package/dist/es/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs +13 -0
  34. package/dist/es/framer-motion/dist/es/animation/utils/default-transitions.mjs +1 -1
  35. package/dist/es/framer-motion/dist/es/components/AnimatePresence/index.mjs +10 -7
  36. package/dist/es/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs +6 -3
  37. package/dist/es/framer-motion/dist/es/components/AnimateSharedLayout.mjs +1 -1
  38. package/dist/es/framer-motion/dist/es/components/Reorder/Group.mjs +1 -1
  39. package/dist/es/framer-motion/dist/es/components/Reorder/Item.mjs +1 -1
  40. package/dist/es/framer-motion/dist/es/easing/cubic-bezier.mjs +2 -1
  41. package/dist/es/framer-motion/dist/es/easing/utils/map.mjs +6 -6
  42. package/dist/es/framer-motion/dist/es/events/event-info.mjs +5 -4
  43. package/dist/es/framer-motion/dist/es/frameloop/frame.mjs +2 -1
  44. package/dist/es/framer-motion/dist/es/frameloop/render-step.mjs +3 -2
  45. package/dist/es/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs +12 -15
  46. package/dist/es/framer-motion/dist/es/gestures/drag/index.mjs +2 -1
  47. package/dist/es/framer-motion/dist/es/gestures/drag/utils/constraints.mjs +2 -1
  48. package/dist/es/framer-motion/dist/es/gestures/hover.mjs +20 -22
  49. package/dist/es/framer-motion/dist/es/gestures/pan/PanSession.mjs +6 -5
  50. package/dist/es/framer-motion/dist/es/gestures/pan/index.mjs +2 -1
  51. package/dist/es/framer-motion/dist/es/gestures/press.mjs +20 -119
  52. package/dist/es/framer-motion/dist/es/motion/index.mjs +11 -7
  53. package/dist/es/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs +1 -1
  54. package/dist/es/framer-motion/dist/es/motion/utils/use-motion-ref.mjs +3 -1
  55. package/dist/es/framer-motion/dist/es/motion/utils/use-visual-element.mjs +1 -1
  56. package/dist/es/framer-motion/dist/es/motion/utils/use-visual-state.mjs +11 -5
  57. package/dist/es/framer-motion/dist/es/projection/animation/mix-values.mjs +3 -2
  58. package/dist/es/framer-motion/dist/es/projection/node/create-projection-node.mjs +29 -23
  59. package/dist/es/framer-motion/dist/es/render/VisualElement.mjs +15 -13
  60. package/dist/es/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs +4 -3
  61. package/dist/es/framer-motion/dist/es/render/dom/DOMVisualElement.mjs +15 -0
  62. package/dist/es/framer-motion/dist/es/render/dom/resize/handle-element.mjs +2 -1
  63. package/dist/es/framer-motion/dist/es/render/dom/scroll/index.mjs +4 -4
  64. package/dist/es/framer-motion/dist/es/render/dom/scroll/info.mjs +2 -1
  65. package/dist/es/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs +6 -5
  66. package/dist/es/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs +1 -1
  67. package/dist/es/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs +2 -14
  68. package/dist/es/framer-motion/dist/es/render/dom/viewport/index.mjs +4 -3
  69. package/dist/es/framer-motion/dist/es/render/html/HTMLVisualElement.mjs +6 -20
  70. package/dist/es/framer-motion/dist/es/render/html/utils/build-styles.mjs +2 -2
  71. package/dist/es/framer-motion/dist/es/render/html/utils/build-transform.mjs +1 -1
  72. package/dist/es/framer-motion/dist/es/render/html/utils/keys-position.mjs +13 -0
  73. package/dist/es/framer-motion/dist/es/render/svg/SVGVisualElement.mjs +6 -6
  74. package/dist/es/framer-motion/dist/es/render/svg/config-motion.mjs +57 -24
  75. package/dist/es/framer-motion/dist/es/render/svg/utils/build-attrs.mjs +1 -1
  76. package/dist/es/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs +1 -1
  77. package/dist/es/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
  78. package/dist/es/framer-motion/dist/es/utils/delay.mjs +2 -1
  79. package/dist/es/framer-motion/dist/es/utils/get-context-window.mjs +1 -1
  80. package/dist/es/framer-motion/dist/es/utils/interpolate.mjs +8 -5
  81. package/dist/es/framer-motion/dist/es/utils/mix/color.mjs +1 -1
  82. package/dist/es/framer-motion/dist/es/utils/mix/complex.mjs +1 -1
  83. package/dist/es/framer-motion/dist/es/utils/offsets/fill.mjs +2 -1
  84. package/dist/es/framer-motion/dist/es/utils/use-instant-transition.mjs +1 -1
  85. package/dist/es/framer-motion/dist/es/value/index.mjs +2 -2
  86. package/dist/es/framer-motion/dist/es/value/use-inverted-scale.mjs +1 -1
  87. package/dist/es/framer-motion/dist/es/value/use-scroll.mjs +1 -1
  88. package/dist/es/framer-motion/dist/es/value/use-spring.mjs +3 -3
  89. package/dist/es/framer-motion/dist/es/value/use-will-change/get-will-change-name.mjs +1 -1
  90. package/dist/es/motion/lib/index.mjs +12 -7
  91. package/dist/es/motion/lib/mini.mjs +1 -0
  92. package/dist/es/motion/lib/react.mjs +41 -37
  93. package/dist/es/{framer-motion/dist/es/animation/GroupPlaybackControls.mjs → motion-dom/dist/es/animation/controls/BaseGroup.mjs} +7 -6
  94. package/dist/es/motion-dom/dist/es/animation/controls/Group.mjs +13 -0
  95. package/dist/es/{framer-motion/dist/es/easing → motion-dom/dist/es/animation/generators}/utils/create-generator-easing.mjs +6 -3
  96. package/dist/es/motion-dom/dist/es/animation/waapi/NativeAnimationControls.mjs +85 -0
  97. package/dist/es/{framer-motion/dist/es/animation/animators/waapi → motion-dom/dist/es/animation/waapi/utils}/easing.mjs +3 -3
  98. package/dist/es/{framer-motion/dist/es/animation/animators → motion-dom/dist/es/animation}/waapi/utils/linear.mjs +4 -4
  99. package/dist/es/motion-dom/dist/es/gestures/drag/state/is-active.mjs +9 -0
  100. package/dist/es/motion-dom/dist/es/gestures/drag/state/set-active.mjs +28 -0
  101. package/dist/es/motion-dom/dist/es/gestures/hover.mjs +37 -0
  102. package/dist/es/motion-dom/dist/es/gestures/press/index.mjs +76 -0
  103. package/dist/es/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs +13 -0
  104. package/dist/es/motion-dom/dist/es/gestures/press/utils/keyboard.mjs +38 -0
  105. package/dist/es/motion-dom/dist/es/gestures/press/utils/state.mjs +3 -0
  106. package/dist/es/motion-dom/dist/es/gestures/utils/setup.mjs +15 -0
  107. package/dist/es/motion-dom/dist/es/utils/resolve-elements.mjs +22 -0
  108. package/dist/es/{framer-motion/dist/es/animation/animators/waapi/utils/supports-linear-easing.mjs → motion-dom/dist/es/utils/supports/linear-easing.mjs} +1 -1
  109. package/dist/es/{framer-motion/dist/es/animation/animators/waapi/utils/memo-supports.mjs → motion-dom/dist/es/utils/supports/memo.mjs} +3 -2
  110. package/dist/es/motion-dom/dist/es/utils/supports/scroll-timeline.mjs +6 -0
  111. package/dist/es/{framer-motion/dist/es/utils → motion-utils/dist/es}/memo.mjs +1 -0
  112. package/dist/es/{framer-motion/dist/es/utils → motion-utils/dist/es}/noop.mjs +1 -0
  113. package/dist/es/{framer-motion/dist/es/utils → motion-utils/dist/es}/progress.mjs +1 -0
  114. package/dist/es/{framer-motion/dist/es/utils → motion-utils/dist/es}/time-conversion.mjs +2 -0
  115. package/dist/motion.dev.js +2792 -2446
  116. package/dist/motion.js +1 -1
  117. package/package.json +6 -6
  118. package/.turbo/turbo-build.log +0 -47
  119. package/dist/es/framer-motion/dist/es/gestures/drag/utils/lock.mjs +0 -53
  120. package/dist/es/framer-motion/dist/es/render/dom/scroll/supports.mjs +0 -5
  121. package/dist/es/framer-motion/dist/es/render/dom/utils/resolve-element.mjs +0 -28
  122. package/lib/index.js +0 -2
  123. package/lib/index.js.map +0 -1
  124. package/lib/mini.js +0 -2
  125. package/lib/mini.js.map +0 -1
  126. package/lib/react-client.js +0 -3
  127. package/lib/react-client.js.map +0 -1
  128. package/lib/react-m.js +0 -3
  129. package/lib/react-m.js.map +0 -1
  130. package/lib/react-mini.js +0 -3
  131. package/lib/react-mini.js.map +0 -1
  132. package/lib/react.js +0 -3
  133. package/lib/react.js.map +0 -1
  134. package/rollup.config.mjs +0 -210
  135. package/src/index.ts +0 -1
  136. package/src/mini.ts +0 -1
  137. package/src/react-client.ts +0 -3
  138. package/src/react-m.ts +0 -3
  139. package/src/react-mini.ts +0 -3
  140. package/src/react.ts +0 -3
  141. package/tsconfig.json +0 -25
  142. package/types/index.d.ts +0 -1
  143. package/types/mini.d.ts +0 -1
  144. package/types/react-client.d.ts +0 -1
  145. package/types/react-m.d.ts +0 -1
  146. package/types/react-mini.d.ts +0 -1
  147. package/types/react.d.ts +0 -1
  148. /package/dist/es/framer-motion/dist/es/render/html/utils/{transform.mjs → keys-transform.mjs} +0 -0
  149. /package/dist/es/{framer-motion → motion-dom}/dist/es/animation/generators/utils/calc-duration.mjs +0 -0
  150. /package/dist/es/{framer-motion → motion-dom}/dist/es/animation/generators/utils/is-generator.mjs +0 -0
  151. /package/dist/es/{framer-motion → motion-dom}/dist/es/animation/utils/get-value-transition.mjs +0 -0
  152. /package/dist/es/{framer-motion/dist/es/animation/animators → motion-dom/dist/es/animation}/waapi/utils/attach-timeline.mjs +0 -0
  153. /package/dist/es/{framer-motion → motion-dom}/dist/es/gestures/utils/is-node-or-child.mjs +0 -0
  154. /package/dist/es/{framer-motion/dist/es/events → motion-dom/dist/es/gestures}/utils/is-primary-pointer.mjs +0 -0
  155. /package/dist/es/{framer-motion/dist/es/easing → motion-dom/dist/es}/utils/is-bezier-definition.mjs +0 -0
  156. /package/dist/es/{framer-motion/dist/es/animation/animators/waapi/utils/supports-flags.mjs → motion-dom/dist/es/utils/supports/flags.mjs} +0 -0
  157. /package/dist/es/{framer-motion/dist/es/utils → motion-utils/dist/es}/errors.mjs +0 -0
package/rollup.config.mjs DELETED
@@ -1,210 +0,0 @@
1
- import resolve from "@rollup/plugin-node-resolve"
2
- import { terser } from "rollup-plugin-terser"
3
- import replace from "@rollup/plugin-replace"
4
- import dts from "rollup-plugin-dts"
5
- import alias from "@rollup/plugin-alias"
6
- import path from "node:path"
7
- import { fileURLToPath } from 'url'
8
- import pkg from "./package.json" with { type: "json" }
9
- import tsconfig from "./tsconfig.json" with { type: "json" }
10
- import preserveDirectives from "rollup-plugin-preserve-directives";
11
-
12
- const config = {
13
- input: "lib/index.js",
14
- }
15
-
16
- export const replaceSettings = (env) => {
17
- const replaceConfig = env
18
- ? {
19
- "process.env.NODE_ENV": JSON.stringify(env),
20
- preventAssignment: false,
21
- }
22
- : {
23
- preventAssignment: false,
24
- }
25
-
26
- replaceConfig.__VERSION__ = `${pkg.version}`
27
-
28
- return replace(replaceConfig)
29
- }
30
-
31
- const external = [
32
- ...Object.keys(pkg.dependencies || {}),
33
- ...Object.keys(pkg.peerDependencies || {}),
34
- ...Object.keys(pkg.optionalDependencies || {}),
35
- "react/jsx-runtime",
36
- ]
37
-
38
- const pureClass = {
39
- transform(code) {
40
- // Replace TS emitted @class function annotations with PURE so terser
41
- // can remove them
42
- return code.replace(/\/\*\* @class \*\//g, "/*@__PURE__*/")
43
- },
44
- }
45
-
46
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
47
- const shimReactJSXRuntimePlugin = alias({
48
- entries: [
49
- { find: 'react/jsx-runtime', replacement: path.resolve(__dirname, '../../dev/inc/jsxRuntimeShim.js') }
50
- ]
51
- });
52
-
53
- const umd = Object.assign({}, config, {
54
- output: {
55
- file: `dist/${pkg.name}.dev.js`,
56
- format: "umd",
57
- name: "Motion",
58
- exports: "named",
59
- globals: { react: "React", "react/jsx-runtime": "jsxRuntime" },
60
- },
61
- external: ["react", "react-dom"],
62
- plugins: [resolve(), replaceSettings("development"), shimReactJSXRuntimePlugin],
63
- onwarn(warning, warn) {
64
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
65
- return
66
- }
67
- warn(warning)
68
- }
69
- })
70
-
71
- const umdProd = Object.assign({}, umd, {
72
- output: Object.assign({}, umd.output, {
73
- file: `dist/${pkg.name}.js`,
74
- }),
75
- plugins: [
76
- resolve(),
77
- replaceSettings("production"),
78
- pureClass,
79
- shimReactJSXRuntimePlugin,
80
- terser({ output: { comments: false } }),
81
- ],
82
- onwarn(warning, warn) {
83
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
84
- return
85
- }
86
- warn(warning)
87
- }
88
- })
89
-
90
- const cjs = Object.assign({}, config, {
91
- input: "lib/index.js",
92
- output: {
93
- entryFileNames: `[name].js`,
94
- dir: "dist/cjs",
95
- format: "cjs",
96
- exports: "named",
97
- esModule: true
98
- },
99
- plugins: [resolve(), replaceSettings()],
100
- external,
101
- onwarn(warning, warn) {
102
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
103
- return
104
- }
105
- warn(warning)
106
- }
107
- })
108
-
109
- /**
110
- * Bundle seperately so bundles don't share common modules
111
- */
112
- const cjsReact = Object.assign({}, cjs, { input : "lib/react.js" })
113
- const cjsMini = Object.assign({}, cjs, { input : "lib/mini.js" })
114
- const cjsReactMini = Object.assign({}, cjs, { input : "lib/react-mini.js" })
115
- const cjsClient = Object.assign({}, cjs, { input : "lib/react-client.js" })
116
- const cjsM = Object.assign({}, cjs, { input : "lib/react-m.js" })
117
-
118
- export const es = Object.assign({}, config, {
119
- input: ["lib/index.js", "lib/mini.js", "lib/react.js", "lib/react-mini.js", "lib/react-client.js", "lib/react-m.js"],
120
- output: {
121
- entryFileNames: "[name].mjs",
122
- format: "es",
123
- exports: "named",
124
- preserveModules: true,
125
- dir: "dist/es",
126
- },
127
- plugins: [resolve(), replaceSettings(), preserveDirectives()],
128
- external: ["react", "react-dom", "react/jsx-runtime"],
129
- onwarn(warning, warn) {
130
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
131
- return
132
- }
133
- warn(warning)
134
- }
135
- })
136
-
137
- const typePlugins = [dts({compilerOptions: {...tsconfig, baseUrl:"types"}})]
138
-
139
- const types = {
140
- input: "types/index.d.ts",
141
- output: {
142
- format: "es",
143
- file: "dist/index.d.ts",
144
- },
145
- plugins: typePlugins,
146
- }
147
-
148
- const reactTypes = {
149
- input: "types/react.d.ts",
150
- output: {
151
- format: "es",
152
- file: "dist/react.d.ts",
153
- },
154
- plugins: typePlugins,
155
- }
156
-
157
- const miniTypes = {
158
- input: "types/mini.d.ts",
159
- output: {
160
- format: "es",
161
- file: "dist/mini.d.ts",
162
- },
163
- plugins: typePlugins,
164
- }
165
-
166
- const mTypes = {
167
- input: "types/react-m.d.ts",
168
- output: {
169
- format: "es",
170
- file: "dist/react-m.d.ts",
171
- },
172
- plugins: typePlugins,
173
- }
174
-
175
- const reactMiniTypes = {
176
- input: "types/react-mini.d.ts",
177
- output: {
178
- format: "es",
179
- file: "dist/react-mini.d.ts",
180
- },
181
- plugins: typePlugins,
182
- }
183
-
184
- const clientTypes = {
185
- input: "types/react-client.d.ts",
186
- output: {
187
- format: "es",
188
- file: "dist/react-client.d.ts",
189
- },
190
- plugins: typePlugins,
191
- }
192
-
193
- // eslint-disable-next-line import/no-default-export
194
- export default [
195
- umd,
196
- umdProd,
197
- cjs,
198
- cjsClient,
199
- cjsReact,
200
- cjsMini,
201
- cjsReactMini,
202
- cjsM,
203
- es,
204
- types,
205
- reactTypes,
206
- reactMiniTypes,
207
- mTypes,
208
- miniTypes,
209
- clientTypes,
210
- ]
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from "framer-motion/dom"
package/src/mini.ts DELETED
@@ -1 +0,0 @@
1
- export * from "framer-motion/dom/mini"
@@ -1,3 +0,0 @@
1
- "use client"
2
-
3
- export * from "framer-motion/client"
package/src/react-m.ts DELETED
@@ -1,3 +0,0 @@
1
- "use client"
2
-
3
- export * from "framer-motion/m"
package/src/react-mini.ts DELETED
@@ -1,3 +0,0 @@
1
- "use client"
2
-
3
- export * from "framer-motion/mini"
package/src/react.ts DELETED
@@ -1,3 +0,0 @@
1
- "use client"
2
-
3
- export * from "framer-motion"
package/tsconfig.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "extends": "config/tsconfig.json",
3
- "filesGlob": ["./src/**/*.ts"],
4
- "exclude": [
5
- "node_modules",
6
- "build",
7
- "**/__tests__/*",
8
- "jest.setup.tsx",
9
- "dev",
10
- "types",
11
- "dev/examples.framer",
12
- "test",
13
- "skins",
14
- "dist",
15
- "temp",
16
- "api",
17
- "cypress"
18
- ],
19
- "compilerOptions": {
20
- "baseUrl": "src",
21
- "declarationDir": "types",
22
- "outDir": "lib",
23
- "rootDir": "src"
24
- }
25
- }
package/types/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "framer-motion/dom";
package/types/mini.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "framer-motion/dom/mini";
@@ -1 +0,0 @@
1
- export * from "framer-motion/client";
@@ -1 +0,0 @@
1
- export * from "framer-motion/m";
@@ -1 +0,0 @@
1
- export * from "framer-motion/mini";
package/types/react.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "framer-motion";