framer-motion 11.13.1 → 11.13.3

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.
package/README.md CHANGED
@@ -105,6 +105,8 @@ Motion powers Framer animations, the web builder for creative pros. Design and s
105
105
 
106
106
  <a href="https://liveblocks.io"><img alt="Liveblocks" src="https://github.com/user-attachments/assets/31436a47-951e-4eab-9a68-bdd54ccf9444" width="225px" height="150px"></a>
107
107
 
108
+ <a href="https://lu.ma"><img alt="Luma" src="https://github.com/user-attachments/assets/4fae0c9d-de0f-4042-9cd6-e07885d028a9" width="225px" height="150px"></a>
109
+
108
110
  ### Silver
109
111
 
110
112
  <a href="https://www.frontend.fyi/?utm_source=motion"><img alt="Frontend.fyi" src="https://github.com/user-attachments/assets/07d23aa5-69db-44a0-849d-90177e6fc817" width="150px" height="100px"></a>
@@ -3333,7 +3333,7 @@ class MotionValue {
3333
3333
  * This will be replaced by the build step with the latest version number.
3334
3334
  * When MotionValues are provided to motion components, warn if versions are mixed.
3335
3335
  */
3336
- this.version = "11.13.1";
3336
+ this.version = "11.13.3";
3337
3337
  /**
3338
3338
  * Tracks whether this value can output a velocity. Currently this is only true
3339
3339
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -5857,7 +5857,7 @@ function updateMotionValuesFromProps(element, next, prev) {
5857
5857
  * and warn against mismatches.
5858
5858
  */
5859
5859
  if (process.env.NODE_ENV === "development") {
5860
- warnOnce(nextValue.version === "11.13.1", `Attempting to mix Motion versions ${nextValue.version} with 11.13.1 may not work as expected.`);
5860
+ warnOnce(nextValue.version === "11.13.3", `Attempting to mix Motion versions ${nextValue.version} with 11.13.3 may not work as expected.`);
5861
5861
  }
5862
5862
  }
5863
5863
  else if (isMotionValue(prevValue)) {
@@ -8593,25 +8593,26 @@ const drag = {
8593
8593
  },
8594
8594
  };
8595
8595
 
8596
- function handleHoverEvent(node, event, isActive) {
8596
+ function handleHoverEvent(node, event, lifecycle) {
8597
8597
  const { props } = node;
8598
8598
  if (node.animationState && props.whileHover) {
8599
- node.animationState.setActive("whileHover", isActive);
8599
+ node.animationState.setActive("whileHover", lifecycle === "Start");
8600
8600
  }
8601
- const callback = props[isActive ? "onHoverStart" : "onHoverEnd"];
8601
+ const eventName = ("onHover" + lifecycle);
8602
+ const callback = props[eventName];
8602
8603
  if (callback) {
8603
8604
  frame.postRender(() => callback(event, extractEventInfo(event)));
8604
8605
  }
8605
8606
  }
8606
8607
  class HoverGesture extends Feature {
8607
8608
  mount() {
8608
- const { current, props } = this.node;
8609
+ const { current } = this.node;
8609
8610
  if (!current)
8610
8611
  return;
8611
8612
  this.unmount = motionDom.hover(current, (startEvent) => {
8612
- handleHoverEvent(this.node, startEvent, true);
8613
- return (endEvent) => handleHoverEvent(this.node, endEvent, false);
8614
- }, { passive: !props.onHoverStart && !props.onHoverEnd });
8613
+ handleHoverEvent(this.node, startEvent, "Start");
8614
+ return (endEvent) => handleHoverEvent(this.node, endEvent, "End");
8615
+ });
8615
8616
  }
8616
8617
  unmount() { }
8617
8618
  }
@@ -8949,7 +8950,7 @@ function useVisualElement(Component, visualState, props, createVisualElement, Pr
8949
8950
  const lazyContext = react.useContext(LazyContext);
8950
8951
  const presenceContext = react.useContext(PresenceContext);
8951
8952
  const reducedMotionConfig = react.useContext(MotionConfigContext).reducedMotion;
8952
- const visualElementRef = react.useRef();
8953
+ const visualElementRef = react.useRef(null);
8953
8954
  /**
8954
8955
  * If we haven't preloaded a renderer, check to see if we have one lazy-loaded
8955
8956
  */
package/dist/cjs/dom.js CHANGED
@@ -280,7 +280,7 @@ class MotionValue {
280
280
  * This will be replaced by the build step with the latest version number.
281
281
  * When MotionValues are provided to motion components, warn if versions are mixed.
282
282
  */
283
- this.version = "11.13.1";
283
+ this.version = "11.13.3";
284
284
  /**
285
285
  * Tracks whether this value can output a velocity. Currently this is only true
286
286
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -4117,7 +4117,7 @@ function updateMotionValuesFromProps(element, next, prev) {
4117
4117
  * and warn against mismatches.
4118
4118
  */
4119
4119
  if (process.env.NODE_ENV === "development") {
4120
- warnOnce(nextValue.version === "11.13.1", `Attempting to mix Motion versions ${nextValue.version} with 11.13.1 may not work as expected.`);
4120
+ warnOnce(nextValue.version === "11.13.3", `Attempting to mix Motion versions ${nextValue.version} with 11.13.3 may not work as expected.`);
4121
4121
  }
4122
4122
  }
4123
4123
  else if (isMotionValue(prevValue)) {
package/dist/cjs/index.js CHANGED
@@ -3416,7 +3416,7 @@ class MotionValue {
3416
3416
  * This will be replaced by the build step with the latest version number.
3417
3417
  * When MotionValues are provided to motion components, warn if versions are mixed.
3418
3418
  */
3419
- this.version = "11.13.1";
3419
+ this.version = "11.13.3";
3420
3420
  /**
3421
3421
  * Tracks whether this value can output a velocity. Currently this is only true
3422
3422
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -6260,7 +6260,7 @@ function updateMotionValuesFromProps(element, next, prev) {
6260
6260
  * and warn against mismatches.
6261
6261
  */
6262
6262
  if (process.env.NODE_ENV === "development") {
6263
- warnOnce(nextValue.version === "11.13.1", `Attempting to mix Motion versions ${nextValue.version} with 11.13.1 may not work as expected.`);
6263
+ warnOnce(nextValue.version === "11.13.3", `Attempting to mix Motion versions ${nextValue.version} with 11.13.3 may not work as expected.`);
6264
6264
  }
6265
6265
  }
6266
6266
  else if (isMotionValue(prevValue)) {
@@ -10077,25 +10077,26 @@ const drag = {
10077
10077
  },
10078
10078
  };
10079
10079
 
10080
- function handleHoverEvent(node, event, isActive) {
10080
+ function handleHoverEvent(node, event, lifecycle) {
10081
10081
  const { props } = node;
10082
10082
  if (node.animationState && props.whileHover) {
10083
- node.animationState.setActive("whileHover", isActive);
10083
+ node.animationState.setActive("whileHover", lifecycle === "Start");
10084
10084
  }
10085
- const callback = props[isActive ? "onHoverStart" : "onHoverEnd"];
10085
+ const eventName = ("onHover" + lifecycle);
10086
+ const callback = props[eventName];
10086
10087
  if (callback) {
10087
10088
  frame.postRender(() => callback(event, extractEventInfo(event)));
10088
10089
  }
10089
10090
  }
10090
10091
  class HoverGesture extends Feature {
10091
10092
  mount() {
10092
- const { current, props } = this.node;
10093
+ const { current } = this.node;
10093
10094
  if (!current)
10094
10095
  return;
10095
10096
  this.unmount = motionDom.hover(current, (startEvent) => {
10096
- handleHoverEvent(this.node, startEvent, true);
10097
- return (endEvent) => handleHoverEvent(this.node, endEvent, false);
10098
- }, { passive: !props.onHoverStart && !props.onHoverEnd });
10097
+ handleHoverEvent(this.node, startEvent, "Start");
10098
+ return (endEvent) => handleHoverEvent(this.node, endEvent, "End");
10099
+ });
10099
10100
  }
10100
10101
  unmount() { }
10101
10102
  }
@@ -10433,7 +10434,7 @@ function useVisualElement(Component, visualState, props, createVisualElement, Pr
10433
10434
  const lazyContext = React.useContext(LazyContext);
10434
10435
  const presenceContext = React.useContext(PresenceContext);
10435
10436
  const reducedMotionConfig = React.useContext(MotionConfigContext).reducedMotion;
10436
- const visualElementRef = React.useRef();
10437
+ const visualElementRef = React.useRef(null);
10437
10438
  /**
10438
10439
  * If we haven't preloaded a renderer, check to see if we have one lazy-loaded
10439
10440
  */
@@ -12461,7 +12462,7 @@ function startTransition(callback) {
12461
12462
  function useInstantTransition() {
12462
12463
  const [forceUpdate, forcedRenderCount] = useForceUpdate();
12463
12464
  const startInstantLayoutTransition = useInstantLayoutTransition();
12464
- const unlockOnFrameRef = React.useRef();
12465
+ const unlockOnFrameRef = React.useRef(-1);
12465
12466
  React.useEffect(() => {
12466
12467
  /**
12467
12468
  * Unblock after two animation frames, otherwise this will unblock too soon.
package/dist/cjs/m.js CHANGED
@@ -202,7 +202,7 @@ function useVisualElement(Component, visualState, props, createVisualElement, Pr
202
202
  const lazyContext = react.useContext(LazyContext);
203
203
  const presenceContext = react.useContext(PresenceContext);
204
204
  const reducedMotionConfig = react.useContext(MotionConfigContext).reducedMotion;
205
- const visualElementRef = react.useRef();
205
+ const visualElementRef = react.useRef(null);
206
206
  /**
207
207
  * If we haven't preloaded a renderer, check to see if we have one lazy-loaded
208
208
  */
package/dist/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import * as React$1 from 'react';
3
- import { SVGAttributes, CSSProperties, PropsWithoutRef, RefAttributes, ReactHTML, DetailedHTMLFactory, HTMLAttributes } from 'react';
3
+ import { SVGAttributes, CSSProperties, PropsWithoutRef, RefAttributes } from 'react';
4
4
 
5
5
  type EasingFunction = (v: number) => number;
6
6
  type BezierDefinition = readonly [number, number, number, number];
@@ -1584,7 +1584,7 @@ interface DraggableProps extends DragHandlers {
1584
1584
  * }
1585
1585
  * ```
1586
1586
  */
1587
- dragConstraints?: false | Partial<BoundingBox> | RefObject<Element>;
1587
+ dragConstraints?: false | Partial<BoundingBox> | RefObject<Element | null>;
1588
1588
  /**
1589
1589
  * The degree of movement allowed outside constraints. 0 = no movement, 1 =
1590
1590
  * full movement.
@@ -2034,7 +2034,7 @@ interface HoverHandlers {
2034
2034
 
2035
2035
  type ViewportEventHandler = (entry: IntersectionObserverEntry | null) => void;
2036
2036
  interface ViewportOptions {
2037
- root?: RefObject<Element>;
2037
+ root?: RefObject<Element | null>;
2038
2038
  once?: boolean;
2039
2039
  margin?: string;
2040
2040
  amount?: "some" | "all" | number;
@@ -2294,13 +2294,131 @@ type MotionComponentProps<Props> = {
2294
2294
  [K in Exclude<keyof Props, keyof MotionProps>]?: Props[K];
2295
2295
  } & MotionProps;
2296
2296
 
2297
- type UnionStringArray$1<T extends Readonly<string[]>> = T[number];
2297
+ type UnionStringArray<T extends Readonly<string[]>> = T[number];
2298
2298
  declare const svgElements: readonly ["animate", "circle", "defs", "desc", "ellipse", "g", "image", "line", "filter", "marker", "mask", "metadata", "path", "pattern", "polygon", "polyline", "rect", "stop", "svg", "switch", "symbol", "text", "tspan", "use", "view", "clipPath", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "foreignObject", "linearGradient", "radialGradient", "textPath"];
2299
- type SVGElements = UnionStringArray$1<typeof svgElements>;
2299
+ type SVGElements = UnionStringArray<typeof svgElements>;
2300
2300
 
2301
- type UnionStringArray<T extends Readonly<string[]>> = T[number];
2302
- declare const htmlElements: readonly ["a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", "webview"];
2303
- type HTMLElements = UnionStringArray<typeof htmlElements>;
2301
+ interface HTMLElements {
2302
+ a: HTMLAnchorElement;
2303
+ abbr: HTMLElement;
2304
+ address: HTMLElement;
2305
+ area: HTMLAreaElement;
2306
+ article: HTMLElement;
2307
+ aside: HTMLElement;
2308
+ audio: HTMLAudioElement;
2309
+ b: HTMLElement;
2310
+ base: HTMLBaseElement;
2311
+ bdi: HTMLElement;
2312
+ bdo: HTMLElement;
2313
+ big: HTMLElement;
2314
+ blockquote: HTMLQuoteElement;
2315
+ body: HTMLBodyElement;
2316
+ br: HTMLBRElement;
2317
+ button: HTMLButtonElement;
2318
+ canvas: HTMLCanvasElement;
2319
+ caption: HTMLElement;
2320
+ center: HTMLElement;
2321
+ cite: HTMLElement;
2322
+ code: HTMLElement;
2323
+ col: HTMLTableColElement;
2324
+ colgroup: HTMLTableColElement;
2325
+ data: HTMLDataElement;
2326
+ datalist: HTMLDataListElement;
2327
+ dd: HTMLElement;
2328
+ del: HTMLModElement;
2329
+ details: HTMLDetailsElement;
2330
+ dfn: HTMLElement;
2331
+ dialog: HTMLDialogElement;
2332
+ div: HTMLDivElement;
2333
+ dl: HTMLDListElement;
2334
+ dt: HTMLElement;
2335
+ em: HTMLElement;
2336
+ embed: HTMLEmbedElement;
2337
+ fieldset: HTMLFieldSetElement;
2338
+ figcaption: HTMLElement;
2339
+ figure: HTMLElement;
2340
+ footer: HTMLElement;
2341
+ form: HTMLFormElement;
2342
+ h1: HTMLHeadingElement;
2343
+ h2: HTMLHeadingElement;
2344
+ h3: HTMLHeadingElement;
2345
+ h4: HTMLHeadingElement;
2346
+ h5: HTMLHeadingElement;
2347
+ h6: HTMLHeadingElement;
2348
+ head: HTMLHeadElement;
2349
+ header: HTMLElement;
2350
+ hgroup: HTMLElement;
2351
+ hr: HTMLHRElement;
2352
+ html: HTMLHtmlElement;
2353
+ i: HTMLElement;
2354
+ iframe: HTMLIFrameElement;
2355
+ img: HTMLImageElement;
2356
+ input: HTMLInputElement;
2357
+ ins: HTMLModElement;
2358
+ kbd: HTMLElement;
2359
+ keygen: HTMLElement;
2360
+ label: HTMLLabelElement;
2361
+ legend: HTMLLegendElement;
2362
+ li: HTMLLIElement;
2363
+ link: HTMLLinkElement;
2364
+ main: HTMLElement;
2365
+ map: HTMLMapElement;
2366
+ mark: HTMLElement;
2367
+ menu: HTMLElement;
2368
+ menuitem: HTMLElement;
2369
+ meta: HTMLMetaElement;
2370
+ meter: HTMLMeterElement;
2371
+ nav: HTMLElement;
2372
+ noindex: HTMLElement;
2373
+ noscript: HTMLElement;
2374
+ object: HTMLObjectElement;
2375
+ ol: HTMLOListElement;
2376
+ optgroup: HTMLOptGroupElement;
2377
+ option: HTMLOptionElement;
2378
+ output: HTMLOutputElement;
2379
+ p: HTMLParagraphElement;
2380
+ param: HTMLParamElement;
2381
+ picture: HTMLElement;
2382
+ pre: HTMLPreElement;
2383
+ progress: HTMLProgressElement;
2384
+ q: HTMLQuoteElement;
2385
+ rp: HTMLElement;
2386
+ rt: HTMLElement;
2387
+ ruby: HTMLElement;
2388
+ s: HTMLElement;
2389
+ samp: HTMLElement;
2390
+ search: HTMLElement;
2391
+ slot: HTMLSlotElement;
2392
+ script: HTMLScriptElement;
2393
+ section: HTMLElement;
2394
+ select: HTMLSelectElement;
2395
+ small: HTMLElement;
2396
+ source: HTMLSourceElement;
2397
+ span: HTMLSpanElement;
2398
+ strong: HTMLElement;
2399
+ style: HTMLStyleElement;
2400
+ sub: HTMLElement;
2401
+ summary: HTMLElement;
2402
+ sup: HTMLElement;
2403
+ table: HTMLTableElement;
2404
+ template: HTMLTemplateElement;
2405
+ tbody: HTMLTableSectionElement;
2406
+ td: HTMLTableDataCellElement;
2407
+ textarea: HTMLTextAreaElement;
2408
+ tfoot: HTMLTableSectionElement;
2409
+ th: HTMLTableHeaderCellElement;
2410
+ thead: HTMLTableSectionElement;
2411
+ time: HTMLTimeElement;
2412
+ title: HTMLTitleElement;
2413
+ tr: HTMLTableRowElement;
2414
+ track: HTMLTrackElement;
2415
+ u: HTMLElement;
2416
+ ul: HTMLUListElement;
2417
+ var: HTMLElement;
2418
+ video: HTMLVideoElement;
2419
+ wbr: HTMLElement;
2420
+ webview: HTMLWebViewElement;
2421
+ }
2304
2422
 
2305
2423
  /**
2306
2424
  * @public
@@ -2308,25 +2426,20 @@ type HTMLElements = UnionStringArray<typeof htmlElements>;
2308
2426
  type ForwardRefComponent<T, P> = {
2309
2427
  readonly $$typeof: symbol;
2310
2428
  } & ((props: PropsWithoutRef<P> & RefAttributes<T>) => JSX.Element);
2311
- /**
2312
- * Support for React component props
2313
- */
2314
- type UnwrapFactoryAttributes<F> = F extends DetailedHTMLFactory<infer P, any> ? P : never;
2315
- type UnwrapFactoryElement<F> = F extends DetailedHTMLFactory<any, infer P> ? P : never;
2316
- type HTMLAttributesWithoutMotionProps<Attributes extends HTMLAttributes<Element>, Element extends HTMLElement> = {
2429
+ type AttributesWithoutMotionProps<Attributes> = {
2317
2430
  [K in Exclude<keyof Attributes, keyof MotionProps>]?: Attributes[K];
2318
2431
  };
2319
2432
  /**
2320
2433
  * @public
2321
2434
  */
2322
- type HTMLMotionProps<TagName extends keyof ReactHTML> = HTMLAttributesWithoutMotionProps<UnwrapFactoryAttributes<ReactHTML[TagName]>, UnwrapFactoryElement<ReactHTML[TagName]>> & MotionProps;
2435
+ type HTMLMotionProps<Tag extends keyof HTMLElements> = AttributesWithoutMotionProps<JSX.IntrinsicElements[Tag]> & MotionProps;
2323
2436
  /**
2324
2437
  * Motion-optimised versions of React's HTML components.
2325
2438
  *
2326
2439
  * @public
2327
2440
  */
2328
2441
  type HTMLMotionComponents = {
2329
- [K in HTMLElements]: ForwardRefComponent<UnwrapFactoryElement<ReactHTML[K]>, HTMLMotionProps<K>>;
2442
+ [K in keyof HTMLElements]: ForwardRefComponent<HTMLElements[K], HTMLMotionProps<K>>;
2330
2443
  };
2331
2444
 
2332
2445
  interface SVGAttributesWithoutMotionProps<T> extends Pick<SVGAttributes<T>, Exclude<keyof SVGAttributes<T>, keyof MotionProps>> {
@@ -2427,7 +2540,7 @@ type DOMMotionComponents = HTMLMotionComponents & SVGMotionComponents;
2427
2540
 
2428
2541
  declare const createMotionComponent: <Props, TagName extends string = "div">(Component: string | TagName | React$1.ForwardRefExoticComponent<Props>, { forwardMotionProps }?: {
2429
2542
  forwardMotionProps: boolean;
2430
- }) => TagName extends "symbol" | "object" | "map" | "filter" | "stop" | "clipPath" | "mask" | "marker" | "a" | "b" | "var" | "style" | "animate" | "progress" | "text" | "ruby" | "table" | "small" | "embed" | "sub" | "path" | "image" | "button" | "meter" | "textarea" | "circle" | "pre" | "caption" | "menu" | "menuitem" | "article" | "dialog" | "figure" | "form" | "img" | "link" | "main" | "option" | "switch" | "time" | "div" | "abbr" | "address" | "area" | "aside" | "audio" | "base" | "bdi" | "bdo" | "blockquote" | "body" | "br" | "canvas" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "footer" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "input" | "ins" | "kbd" | "label" | "legend" | "li" | "mark" | "meta" | "nav" | "noscript" | "ol" | "optgroup" | "output" | "p" | "picture" | "q" | "rp" | "rt" | "s" | "samp" | "script" | "section" | "select" | "source" | "span" | "strong" | "summary" | "sup" | "tbody" | "td" | "tfoot" | "th" | "thead" | "title" | "tr" | "track" | "u" | "ul" | "video" | "wbr" | "big" | "svg" | "keygen" | "param" | "webview" | "defs" | "desc" | "ellipse" | "g" | "line" | "metadata" | "pattern" | "polygon" | "polyline" | "rect" | "tspan" | "use" | "view" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "linearGradient" | "radialGradient" | "textPath" ? DOMMotionComponents[TagName] : React$1.ForwardRefExoticComponent<MotionComponentProps<React$1.PropsWithChildren<Props>>>;
2543
+ }) => TagName extends "symbol" | "filter" | "stop" | "clipPath" | "mask" | "marker" | "animate" | "text" | "path" | "image" | "circle" | "switch" | "svg" | keyof HTMLElements | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "line" | "linearGradient" | "metadata" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "textPath" | "tspan" | "use" | "view" ? DOMMotionComponents[TagName] : React$1.ForwardRefExoticComponent<MotionComponentProps<React$1.PropsWithChildren<Props>>>;
2431
2544
 
2432
2545
  /**
2433
2546
  * HTML components