framer-motion 12.23.27 → 12.24.0
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/dist/cjs/client.js +1 -1
- package/dist/cjs/{feature-bundle-kvRbMDEA.js → feature-bundle-DhbxBqkJ.js} +32 -15
- package/dist/cjs/feature-bundle-DhbxBqkJ.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/m.js +14 -11
- package/dist/cjs/m.js.map +1 -1
- package/dist/dom-mini.js +1 -1
- package/dist/dom.js +1 -1
- package/dist/es/components/Reorder/Group.mjs.map +1 -1
- package/dist/es/gestures/drag/index.mjs +10 -0
- package/dist/es/gestures/drag/index.mjs.map +1 -1
- package/dist/es/motion/index.mjs +10 -6
- package/dist/es/motion/index.mjs.map +1 -1
- package/dist/es/motion/utils/use-visual-element.mjs +2 -1
- package/dist/es/motion/utils/use-visual-element.mjs.map +1 -1
- package/dist/es/projection/geometry/delta-apply.mjs +1 -1
- package/dist/es/projection/geometry/delta-apply.mjs.map +1 -1
- package/dist/es/projection/node/create-projection-node.mjs +1 -1
- package/dist/es/projection/node/create-projection-node.mjs.map +1 -1
- package/dist/es/render/dom/create-visual-element.mjs +5 -1
- package/dist/es/render/dom/create-visual-element.mjs.map +1 -1
- package/dist/es/render/dom/use-render.mjs +2 -4
- package/dist/es/render/dom/use-render.mjs.map +1 -1
- package/dist/framer-motion.dev.js +73 -17
- package/dist/framer-motion.js +1 -1
- package/dist/m.d.ts +9 -1
- package/dist/mini.js +1 -1
- package/dist/size-rollup-animate.js +1 -1
- package/dist/size-rollup-animate.js.map +1 -1
- package/dist/size-rollup-dom-animation-assets.js +1 -1
- package/dist/size-rollup-dom-animation-m.js +1 -1
- package/dist/size-rollup-dom-animation.js +1 -1
- package/dist/size-rollup-dom-max-assets.js +1 -1
- package/dist/size-rollup-dom-max.js +1 -1
- package/dist/size-rollup-m.js +1 -1
- package/dist/size-rollup-m.js.map +1 -1
- package/dist/size-rollup-motion.js +1 -1
- package/dist/size-rollup-motion.js.map +1 -1
- package/dist/size-rollup-scroll.js +1 -1
- package/dist/size-rollup-scroll.js.map +1 -1
- package/dist/size-rollup-waapi-animate.js +1 -1
- package/dist/size-rollup-waapi-animate.js.map +1 -1
- package/dist/types/client.d.ts +1 -1
- package/dist/types/index.d.ts +13 -5
- package/dist/{types.d-DagZKalS.d.ts → types.d-a9pt5qxk.d.ts} +6 -1
- package/package.json +4 -4
- package/dist/cjs/feature-bundle-kvRbMDEA.js.map +0 -1
package/dist/cjs/m.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"m.js","sources":["../../src/context/LayoutGroupContext.ts","../../src/context/LazyContext.ts","../../src/context/MotionConfigContext.tsx","../../src/context/MotionContext/index.ts","../../src/animation/utils/is-animation-controls.ts","../../src/render/utils/is-variant-label.ts","../../src/render/utils/variant-props.ts","../../src/render/utils/is-controlling-variants.ts","../../src/context/MotionContext/utils.ts","../../src/context/MotionContext/create.ts","../../src/projection/styles/scale-border-radius.ts","../../src/projection/styles/scale-box-shadow.ts","../../src/projection/styles/scale-correction.ts","../../src/motion/utils/is-forced-motion-value.ts","../../src/render/html/utils/build-transform.ts","../../src/render/html/utils/build-styles.ts","../../src/render/html/utils/create-render-state.ts","../../src/render/html/use-props.ts","../../src/render/svg/utils/path.ts","../../src/render/svg/utils/build-attrs.ts","../../src/render/svg/utils/create-render-state.ts","../../src/render/svg/utils/is-svg-tag.ts","../../src/render/svg/use-props.ts","../../src/motion/utils/valid-prop.ts","../../src/render/dom/utils/filter-props.ts","../../src/render/svg/lowercase-elements.ts","../../src/render/dom/utils/is-svg-component.ts","../../src/render/dom/use-render.ts","../../src/context/PresenceContext.ts","../../src/render/utils/resolve-variants.ts","../../src/utils/use-constant.ts","../../src/value/utils/resolve-motion-value.ts","../../src/motion/utils/use-visual-state.ts","../../src/render/html/utils/scrape-motion-values.ts","../../src/render/html/use-html-visual-state.ts","../../src/render/svg/utils/scrape-motion-values.ts","../../src/render/svg/use-svg-visual-state.ts","../../src/utils/is-browser.ts","../../src/motion/features/definitions.ts","../../src/motion/utils/symbol.ts","../../src/utils/is-ref-object.ts","../../src/motion/utils/use-motion-ref.ts","../../src/render/dom/utils/camel-to-dash.ts","../../src/animation/optimized-appear/data-id.ts","../../src/context/SwitchLayoutGroupContext.ts","../../src/utils/use-isomorphic-effect.ts","../../src/motion/utils/use-visual-element.ts","../../src/motion/index.tsx","../../src/render/components/m/create.ts","../../src/render/components/m/elements.ts"],"sourcesContent":["\"use client\"\n\nimport { createContext } from \"react\"\nimport { NodeGroup } from \"../projection/node/group\"\n\nexport interface LayoutGroupContextProps {\n id?: string\n group?: NodeGroup\n forceRender?: VoidFunction\n}\n\nexport const LayoutGroupContext = createContext<LayoutGroupContextProps>({})\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport { CreateVisualElement } from \"../render/types\"\n\nexport interface LazyContextProps {\n renderer?: CreateVisualElement\n strict: boolean\n}\n\nexport const LazyContext = createContext<LazyContextProps>({ strict: false })\n","\"use client\"\n\nimport type { Transition } from \"motion-dom\"\nimport { TransformPoint } from \"motion-utils\"\nimport { createContext } from \"react\"\n\nexport type ReducedMotionConfig = \"always\" | \"never\" | \"user\"\n\n/**\n * @public\n */\nexport interface MotionConfigContext {\n /**\n * Internal, exported only for usage in Framer\n */\n transformPagePoint: TransformPoint\n\n /**\n * Internal. Determines whether this is a static context ie the Framer canvas. If so,\n * it'll disable all dynamic functionality.\n */\n isStatic: boolean\n\n /**\n * Defines a new default transition for the entire tree.\n *\n * @public\n */\n transition?: Transition\n\n /**\n * If true, will respect the device prefersReducedMotion setting by switching\n * transform animations off.\n *\n * @public\n */\n reducedMotion?: ReducedMotionConfig\n\n /**\n * A custom `nonce` attribute used when wanting to enforce a Content Security Policy (CSP).\n * For more details see:\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src#unsafe_inline_styles\n *\n * @public\n */\n nonce?: string\n}\n\n/**\n * @public\n */\nexport const MotionConfigContext = createContext<MotionConfigContext>({\n transformPagePoint: (p) => p,\n isStatic: false,\n reducedMotion: \"never\",\n})\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport type { VisualElement } from \"../../render/VisualElement\"\n\nexport interface MotionContextProps<Instance = unknown> {\n visualElement?: VisualElement<Instance>\n initial?: false | string | string[]\n animate?: string | string[]\n}\n\nexport const MotionContext = /* @__PURE__ */ createContext<MotionContextProps>(\n {}\n)\n","import { LegacyAnimationControls } from \"motion-dom\"\n\nexport function isAnimationControls(v?: unknown): v is LegacyAnimationControls {\n return (\n v !== null &&\n typeof v === \"object\" &&\n typeof (v as LegacyAnimationControls).start === \"function\"\n )\n}\n","/**\n * Decides if the supplied variable is variant label\n */\nexport function isVariantLabel(v: unknown): v is string | string[] {\n return typeof v === \"string\" || Array.isArray(v)\n}\n","import { AnimationType } from \"./types\"\n\nexport const variantPriorityOrder: AnimationType[] = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n]\n\nexport const variantProps = [\"initial\", ...variantPriorityOrder]\n","import { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isVariantLabel } from \"./is-variant-label\"\nimport { variantProps } from \"./variant-props\"\n\nexport function isControllingVariants(props: MotionProps) {\n return (\n isAnimationControls(props.animate) ||\n variantProps.some((name) =>\n isVariantLabel(props[name as keyof typeof props])\n )\n )\n}\n\nexport function isVariantNode(props: MotionProps) {\n return Boolean(isControllingVariants(props) || props.variants)\n}\n","import type { MotionContextProps } from \".\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isControllingVariants } from \"../../render/utils/is-controlling-variants\"\nimport { isVariantLabel } from \"../../render/utils/is-variant-label\"\n\nexport function getCurrentTreeVariants(\n props: MotionProps,\n context: MotionContextProps\n): MotionContextProps {\n if (isControllingVariants(props)) {\n const { initial, animate } = props\n return {\n initial:\n initial === false || isVariantLabel(initial)\n ? (initial as any)\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n }\n }\n return props.inherit !== false ? context : {}\n}\n","\"use client\"\n\nimport { useContext, useMemo } from \"react\"\nimport { MotionContext, type MotionContextProps } from \".\"\nimport { MotionProps } from \"../../motion/types\"\nimport { getCurrentTreeVariants } from \"./utils\"\n\nexport function useCreateMotionContext<Instance>(\n props: MotionProps\n): MotionContextProps<Instance> {\n const { initial, animate } = getCurrentTreeVariants(\n props,\n useContext(MotionContext)\n )\n\n return useMemo(\n () => ({ initial, animate }),\n [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]\n )\n}\n\nfunction variantLabelsAsDependency(\n prop: undefined | string | string[] | boolean\n) {\n return Array.isArray(prop) ? prop.join(\" \") : prop\n}\n","import { px } from \"motion-dom\"\nimport { Axis } from \"motion-utils\"\nimport { ScaleCorrectorDefinition } from \"./types\"\n\nexport function pixelsToPercent(pixels: number, axis: Axis): number {\n if (axis.max === axis.min) return 0\n return (pixels / (axis.max - axis.min)) * 100\n}\n\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nexport const correctBorderRadius: ScaleCorrectorDefinition = {\n correct: (latest, node) => {\n if (!node.target) return latest\n\n /**\n * If latest is a string, if it's a percentage we can return immediately as it's\n * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n */\n if (typeof latest === \"string\") {\n if (px.test(latest)) {\n latest = parseFloat(latest)\n } else {\n return latest\n }\n }\n\n /**\n * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n * pixel value as a percentage of each axis\n */\n const x = pixelsToPercent(latest, node.target.x)\n const y = pixelsToPercent(latest, node.target.y)\n\n return `${x}% ${y}%`\n },\n}\n","import { complex, mixNumber } from \"motion-dom\"\nimport { ScaleCorrectorDefinition } from \"./types\"\n\nexport const correctBoxShadow: ScaleCorrectorDefinition = {\n correct: (latest: string, { treeScale, projectionDelta }) => {\n const original = latest\n const shadow = complex.parse(latest)\n\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5) return original\n\n const template = complex.createTransformer(latest)\n const offset = typeof shadow[0] !== \"number\" ? 1 : 0\n\n // Calculate the overall context scale\n const xScale = projectionDelta!.x.scale * treeScale!.x\n const yScale = projectionDelta!.y.scale * treeScale!.y\n\n // Scale x/y\n ;(shadow[0 + offset] as number) /= xScale\n ;(shadow[1 + offset] as number) /= yScale\n\n /**\n * Ideally we'd correct x and y scales individually, but because blur and\n * spread apply to both we have to take a scale average and apply that instead.\n * We could potentially improve the outcome of this by incorporating the ratio between\n * the two scales.\n */\n const averageScale = mixNumber(xScale, yScale, 0.5)\n\n // Blur\n if (typeof shadow[2 + offset] === \"number\")\n (shadow[2 + offset] as number) /= averageScale\n\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n (shadow[3 + offset] as number) /= averageScale\n\n return template(shadow)\n },\n}\n","import { isCSSVariableName } from \"motion-dom\"\nimport { correctBorderRadius } from \"./scale-border-radius\"\nimport { correctBoxShadow } from \"./scale-box-shadow\"\nimport { ScaleCorrectorMap } from \"./types\"\n\nexport const scaleCorrectors: ScaleCorrectorMap = {\n borderRadius: {\n ...correctBorderRadius,\n applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ],\n },\n borderTopLeftRadius: correctBorderRadius,\n borderTopRightRadius: correctBorderRadius,\n borderBottomLeftRadius: correctBorderRadius,\n borderBottomRightRadius: correctBorderRadius,\n boxShadow: correctBoxShadow,\n}\n\nexport function addScaleCorrector(correctors: ScaleCorrectorMap) {\n for (const key in correctors) {\n scaleCorrectors[key] = correctors[key]\n if (isCSSVariableName(key)) {\n scaleCorrectors[key].isCSSVariable = true\n }\n }\n}\n","import { transformProps } from \"motion-dom\"\nimport { MotionProps } from \"../..\"\nimport { scaleCorrectors } from \"../../projection/styles/scale-correction\"\n\nexport function isForcedMotionValue(\n key: string,\n { layout, layoutId }: MotionProps\n) {\n return (\n transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\"))\n )\n}\n","import {\n getValueAsType,\n numberValueTypes,\n transformPropOrder,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n}\n\nconst numTransforms = transformPropOrder.length\n\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nexport function buildTransform(\n latestValues: ResolvedValues,\n transform: HTMLRenderState[\"transform\"],\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n // The transform string we're going to build into.\n let transformString = \"\"\n let transformIsDefault = true\n\n /**\n * Loop over all possible transforms in order, adding the ones that\n * are present to the transform string.\n */\n for (let i = 0; i < numTransforms; i++) {\n const key = transformPropOrder[i] as keyof typeof translateAlias\n const value = latestValues[key]\n\n if (value === undefined) continue\n\n let valueIsDefault = true\n if (typeof value === \"number\") {\n valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0)\n } else {\n valueIsDefault = parseFloat(value) === 0\n }\n\n if (!valueIsDefault || transformTemplate) {\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (!valueIsDefault) {\n transformIsDefault = false\n const transformName = translateAlias[key] || key\n transformString += `${transformName}(${valueAsType}) `\n }\n\n if (transformTemplate) {\n transform[key] = valueAsType\n }\n }\n }\n\n transformString = transformString.trim()\n\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(\n transform,\n transformIsDefault ? \"\" : transformString\n )\n } else if (transformIsDefault) {\n transformString = \"none\"\n }\n\n return transformString\n}\n","import {\n getValueAsType,\n isCSSVariableName,\n numberValueTypes,\n transformProps,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\nimport { buildTransform } from \"./build-transform\"\n\nexport function buildHTMLStyles(\n state: HTMLRenderState,\n latestValues: ResolvedValues,\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n const { style, vars, transformOrigin } = state\n\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false\n let hasTransformOrigin = false\n\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept separately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key]\n\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true\n continue\n } else if (isCSSVariableName(key)) {\n vars[key] = value\n continue\n } else {\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true\n transformOrigin[key as keyof typeof transformOrigin] =\n valueAsType\n } else {\n style[key] = valueAsType\n }\n }\n }\n\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(\n latestValues,\n state.transform,\n transformTemplate\n )\n } else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\"\n }\n }\n\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const {\n originX = \"50%\",\n originY = \"50%\",\n originZ = 0,\n } = transformOrigin\n style.transformOrigin = `${originX} ${originY} ${originZ}`\n }\n}\n","import { HTMLRenderState } from \"../types\"\n\nexport const createHtmlRenderState = (): HTMLRenderState => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n})\n","\"use client\"\n\nimport { AnyResolvedKeyframe, isMotionValue, MotionValue } from \"motion-dom\"\nimport { HTMLProps, useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isForcedMotionValue } from \"../../motion/utils/is-forced-motion-value\"\nimport { ResolvedValues } from \"../types\"\nimport { buildHTMLStyles } from \"./utils/build-styles\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\n\nexport function copyRawValuesOnly(\n target: ResolvedValues,\n source: { [key: string]: AnyResolvedKeyframe | MotionValue },\n props: MotionProps\n) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key] as AnyResolvedKeyframe\n }\n }\n}\n\nfunction useInitialMotionValues(\n { transformTemplate }: MotionProps,\n visualState: ResolvedValues\n) {\n return useMemo(() => {\n const state = createHtmlRenderState()\n\n buildHTMLStyles(state, visualState, transformTemplate)\n\n return Object.assign({}, state.vars, state.style)\n }, [visualState])\n}\n\nfunction useStyle(\n props: MotionProps,\n visualState: ResolvedValues\n): ResolvedValues {\n const styleProp = props.style || {}\n const style = {}\n\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp as any, props)\n\n Object.assign(style, useInitialMotionValues(props, visualState))\n\n return style\n}\n\nexport function useHTMLProps(\n props: MotionProps & HTMLProps<HTMLElement>,\n visualState: ResolvedValues\n) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps: any = {}\n const style = useStyle(props, visualState)\n\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false\n\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\"\n\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`\n }\n\n if (\n props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)\n ) {\n htmlProps.tabIndex = 0\n }\n\n htmlProps.style = style\n\n return htmlProps\n}\n","import { px } from \"motion-dom\"\nimport { ResolvedValues } from \"../../types\"\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n}\n\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n}\n\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nexport function buildSVGPath(\n attrs: ResolvedValues,\n length: number,\n spacing = 1,\n offset = 0,\n useDashCase: boolean = true\n): void {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1\n\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n const keys = useDashCase ? dashKeys : camelKeys\n\n // Build the dash offset\n attrs[keys.offset] = px.transform!(-offset)\n\n // Build the dash array\n const pathLength = px.transform!(length)\n const pathSpacing = px.transform!(spacing)\n attrs[keys.array] = `${pathLength} ${pathSpacing}`\n}\n","import { MotionProps } from \"../../../motion/types\"\nimport { buildHTMLStyles } from \"../../html/utils/build-styles\"\nimport { ResolvedValues } from \"../../types\"\nimport { SVGRenderState } from \"../types\"\nimport { buildSVGPath } from \"./path\"\n\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nexport function buildSVGAttrs(\n state: SVGRenderState,\n {\n attrX,\n attrY,\n attrScale,\n pathLength,\n pathSpacing = 1,\n pathOffset = 0,\n // This is object creation, which we try to avoid per-frame.\n ...latest\n }: ResolvedValues,\n isSVGTag: boolean,\n transformTemplate?: MotionProps[\"transformTemplate\"],\n styleProp?: MotionProps[\"style\"]\n) {\n buildHTMLStyles(state, latest, transformTemplate)\n\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox\n }\n return\n }\n\n state.attrs = state.style\n state.style = {}\n const { attrs, style } = state\n\n /**\n * However, we apply transforms as CSS transforms.\n * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n */\n if (attrs.transform) {\n style.transform = attrs.transform\n delete attrs.transform\n }\n if (style.transform || attrs.transformOrigin) {\n style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\"\n delete attrs.transformOrigin\n }\n\n if (style.transform) {\n /**\n * SVG's element transform-origin uses its own median as a reference.\n * Therefore, transformBox becomes a fill-box\n */\n style.transformBox = (styleProp?.transformBox as string) ?? \"fill-box\"\n delete attrs.transformBox\n }\n\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined) attrs.x = attrX\n if (attrY !== undefined) attrs.y = attrY\n if (attrScale !== undefined) attrs.scale = attrScale\n\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(\n attrs,\n pathLength as number,\n pathSpacing as number,\n pathOffset as number,\n false\n )\n }\n}\n","import { createHtmlRenderState } from \"../../html/utils/create-render-state\"\nimport { SVGRenderState } from \"../types\"\n\nexport const createSvgRenderState = (): SVGRenderState => ({\n ...createHtmlRenderState(),\n attrs: {},\n})\n","export const isSVGTag = (tag: unknown) =>\n typeof tag === \"string\" && tag.toLowerCase() === \"svg\"\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { copyRawValuesOnly } from \"../html/use-props\"\nimport { ResolvedValues } from \"../types\"\nimport { buildSVGAttrs } from \"./utils/build-attrs\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { isSVGTag } from \"./utils/is-svg-tag\"\n\nexport function useSVGProps(\n props: MotionProps,\n visualState: ResolvedValues,\n _isStatic: boolean,\n Component: string | React.ComponentType<React.PropsWithChildren<unknown>>\n) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState()\n\n buildSVGAttrs(\n state,\n visualState,\n isSVGTag(Component),\n props.transformTemplate,\n props.style\n )\n\n return {\n ...state.attrs,\n style: { ...state.style },\n }\n }, [visualState])\n\n if (props.style) {\n const rawStyles = {}\n copyRawValuesOnly(rawStyles, props.style as any, props)\n visualProps.style = { ...rawStyles, ...visualProps.style }\n }\n\n return visualProps\n}\n","import { MotionProps } from \"../types\"\n\n/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set<keyof MotionProps>([\n \"animate\",\n \"exit\",\n \"variants\",\n \"initial\",\n \"style\",\n \"values\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"custom\",\n \"inherit\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"_dragX\",\n \"_dragY\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"globalTapTarget\",\n \"ignoreStrict\",\n \"viewport\",\n])\n\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nexport function isValidMotionProp(key: string) {\n return (\n key.startsWith(\"while\") ||\n (key.startsWith(\"drag\") && key !== \"draggable\") ||\n key.startsWith(\"layout\") ||\n key.startsWith(\"onTap\") ||\n key.startsWith(\"onPan\") ||\n key.startsWith(\"onLayout\") ||\n validMotionProps.has(key as keyof MotionProps)\n )\n}\n","import type { MotionProps } from \"../../../motion/types\"\nimport { isValidMotionProp } from \"../../../motion/utils/valid-prop\"\n\nlet shouldForward = (key: string) => !isValidMotionProp(key)\n\nexport type IsValidProp = (key: string) => boolean\n\nexport function loadExternalIsValidProp(isValidProp?: IsValidProp) {\n if (typeof isValidProp !== \"function\") return\n\n // Explicitly filter our events\n shouldForward = (key: string) =>\n key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key)\n}\n\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default)\n} catch {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\n\nexport function filterProps(\n props: MotionProps,\n isDom: boolean,\n forwardMotionProps: boolean\n) {\n const filteredProps: MotionProps = {}\n\n for (const key in props) {\n /**\n * values is considered a valid prop by Emotion, so if it's present\n * this will be rendered out to the DOM unless explicitly filtered.\n *\n * We check the type as it could be used with the `feColorMatrix`\n * element, which we support.\n */\n if (key === \"values\" && typeof props.values === \"object\") continue\n\n if (\n shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\" as keyof MotionProps] &&\n key.startsWith(\"onDrag\"))\n ) {\n filteredProps[key as keyof MotionProps] =\n props[key as keyof MotionProps]\n }\n }\n\n return filteredProps\n}\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nexport const lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"switch\",\n \"symbol\",\n \"svg\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n]\n","import * as React from \"react\"\nimport { lowercaseSVGElements } from \"../../svg/lowercase-elements\"\n\nexport function isSVGComponent(Component: string | React.ComponentType<any>) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")\n ) {\n return false\n } else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/u.test(Component)\n ) {\n return true\n }\n\n return false\n}\n","\"use client\"\n\nimport { isMotionValue } from \"motion-dom\"\nimport { Fragment, createElement, useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { VisualState } from \"../../motion/utils/use-visual-state\"\nimport { HTMLRenderState } from \"../html/types\"\nimport { useHTMLProps } from \"../html/use-props\"\nimport { SVGRenderState } from \"../svg/types\"\nimport { useSVGProps } from \"../svg/use-props\"\nimport { DOMMotionComponents } from \"./types\"\nimport { filterProps } from \"./utils/filter-props\"\nimport { isSVGComponent } from \"./utils/is-svg-component\"\n\nexport function useRender<\n Props = {},\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n props: MotionProps,\n ref: React.Ref<HTMLElement | SVGElement>,\n {\n latestValues,\n }: VisualState<HTMLElement | SVGElement, HTMLRenderState | SVGRenderState>,\n isStatic: boolean,\n forwardMotionProps: boolean = false\n) {\n const useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps\n\n const visualProps = useVisualProps(\n props as any,\n latestValues,\n isStatic,\n Component as any\n )\n const filteredProps = filterProps(\n props,\n typeof Component === \"string\",\n forwardMotionProps\n )\n const elementProps =\n Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {}\n\n /**\n * If component has been handed a motion value as its child,\n * memoise its initial value and render that. Subsequent updates\n * will be handled by the onChange handler\n */\n const { children } = props\n const renderedChildren = useMemo(\n () => (isMotionValue(children) ? children.get() : children),\n [children]\n )\n\n return createElement<any>(Component, {\n ...elementProps,\n children: renderedChildren,\n })\n}\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport { VariantLabels } from \"../motion/types\"\n\n/**\n * @public\n */\nexport interface PresenceContextProps {\n id: string\n isPresent: boolean\n register: (id: string | number) => () => void\n onExitComplete?: (id: string | number) => void\n initial?: false | VariantLabels\n custom?: any\n}\n\n/**\n * @public\n */\nexport const PresenceContext =\n /* @__PURE__ */ createContext<PresenceContextProps | null>(null)\n","import type {\n AnimationDefinition,\n TargetAndTransition,\n TargetResolver,\n} from \"motion-dom\"\nimport type { MotionProps } from \"../../motion/types\"\nimport { VisualElement } from \"../VisualElement\"\nimport type { ResolvedValues } from \"../types\"\n\nfunction getValueState(\n visualElement?: VisualElement\n): [ResolvedValues, ResolvedValues] {\n const state: [ResolvedValues, ResolvedValues] = [{}, {}]\n\n visualElement?.values.forEach((value, key) => {\n state[0][key] = value.get()\n state[1][key] = value.getVelocity()\n })\n\n return state\n}\n\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition: TargetAndTransition | TargetResolver,\n custom?: any,\n visualElement?: VisualElement\n): TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n): undefined | TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = props.variants && props.variants[definition]\n }\n\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n return definition\n}\n","\"use client\"\n\nimport { useRef } from \"react\"\n\ntype Init<T> = () => T\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nexport function useConstant<T>(init: Init<T>) {\n const ref = useRef<T | null>(null)\n\n if (ref.current === null) {\n ref.current = init()\n }\n\n return ref.current\n}\n","import { AnyResolvedKeyframe, isMotionValue, MotionValue } from \"motion-dom\"\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n */\nexport function resolveMotionValue(\n value?: AnyResolvedKeyframe | MotionValue\n): AnyResolvedKeyframe {\n return isMotionValue(value) ? value.get() : value\n}\n","\"use client\"\n\nimport { AnyResolvedKeyframe } from \"motion-dom\"\nimport { useContext } from \"react\"\nimport { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { MotionContext, MotionContextProps } from \"../../context/MotionContext\"\nimport {\n PresenceContext,\n type PresenceContextProps,\n} from \"../../context/PresenceContext\"\nimport { ResolvedValues, ScrapeMotionValuesFromProps } from \"../../render/types\"\nimport {\n isControllingVariants as checkIsControllingVariants,\n isVariantNode as checkIsVariantNode,\n} from \"../../render/utils/is-controlling-variants\"\nimport { resolveVariantFromProps } from \"../../render/utils/resolve-variants\"\nimport { useConstant } from \"../../utils/use-constant\"\nimport { resolveMotionValue } from \"../../value/utils/resolve-motion-value\"\nimport { MotionProps } from \"../types\"\n\nexport interface VisualState<Instance, RenderState> {\n renderState: RenderState\n latestValues: ResolvedValues\n onMount?: (instance: Instance) => void\n}\n\nexport type UseVisualState<Instance, RenderState> = (\n props: MotionProps,\n isStatic: boolean\n) => VisualState<Instance, RenderState>\n\nexport interface UseVisualStateConfig<RenderState> {\n scrapeMotionValuesFromProps: ScrapeMotionValuesFromProps\n createRenderState: () => RenderState\n}\n\nfunction makeState<I, RS>(\n {\n scrapeMotionValuesFromProps,\n createRenderState,\n }: UseVisualStateConfig<RS>,\n props: MotionProps,\n context: MotionContextProps,\n presenceContext: PresenceContextProps | null\n) {\n const state: VisualState<I, RS> = {\n latestValues: makeLatestValues(\n props,\n context,\n presenceContext,\n scrapeMotionValuesFromProps\n ),\n renderState: createRenderState(),\n }\n\n return state\n}\n\nfunction makeLatestValues(\n props: MotionProps,\n context: MotionContextProps,\n presenceContext: PresenceContextProps | null,\n scrapeMotionValues: ScrapeMotionValuesFromProps\n) {\n const values: ResolvedValues = {}\n\n const motionValues = scrapeMotionValues(props, {})\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key])\n }\n\n let { initial, animate } = props\n const isControllingVariants = checkIsControllingVariants(props)\n const isVariantNode = checkIsVariantNode(props)\n\n if (\n context &&\n isVariantNode &&\n !isControllingVariants &&\n props.inherit !== false\n ) {\n if (initial === undefined) initial = context.initial\n if (animate === undefined) animate = context.animate\n }\n\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false\n\n const variantToSet = isInitialAnimationBlocked ? animate : initial\n\n if (\n variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)\n ) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet]\n for (let i = 0; i < list.length; i++) {\n const resolved = resolveVariantFromProps(props, list[i] as any)\n if (resolved) {\n const { transitionEnd, transition, ...target } = resolved\n for (const key in target) {\n let valueTarget = target[key as keyof typeof target]\n\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0\n valueTarget = valueTarget[index] as any\n }\n\n if (valueTarget !== null) {\n values[key] = valueTarget as AnyResolvedKeyframe\n }\n }\n for (const key in transitionEnd) {\n values[key] = transitionEnd[\n key as keyof typeof transitionEnd\n ] as AnyResolvedKeyframe\n }\n }\n }\n }\n\n return values\n}\n\nexport const makeUseVisualState =\n <I, RS>(config: UseVisualStateConfig<RS>): UseVisualState<I, RS> =>\n (props: MotionProps, isStatic: boolean): VisualState<I, RS> => {\n const context = useContext(MotionContext)\n const presenceContext = useContext(PresenceContext)\n const make = () => makeState(config, props, context, presenceContext)\n\n return isStatic ? make() : useConstant(make)\n }\n","import { isMotionValue } from \"motion-dom\"\nimport { MotionProps, MotionStyle } from \"../../../motion/types\"\nimport { isForcedMotionValue } from \"../../../motion/utils/is-forced-motion-value\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const { style } = props\n const newValues: { [key: string]: any } = {}\n\n for (const key in style) {\n if (\n isMotionValue(style[key as keyof MotionStyle]) ||\n (prevProps.style &&\n isMotionValue(prevProps.style[key as keyof MotionStyle])) ||\n isForcedMotionValue(key, props) ||\n visualElement?.getValue(key)?.liveStyle !== undefined\n ) {\n newValues[key] = style[key as keyof MotionStyle]\n }\n }\n\n return newValues\n}\n","\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps } from \"./utils/scrape-motion-values\"\n\nexport const useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n})\n","import { isMotionValue, transformPropOrder } from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { scrapeMotionValuesFromProps as scrapeHTMLMotionValuesFromProps } from \"../../html/utils/scrape-motion-values\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const newValues = scrapeHTMLMotionValuesFromProps(\n props,\n prevProps,\n visualElement\n )\n\n for (const key in props) {\n if (\n isMotionValue(props[key as keyof typeof props]) ||\n isMotionValue(prevProps[key as keyof typeof prevProps])\n ) {\n const targetKey =\n transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key\n\n newValues[targetKey] = props[key as keyof typeof props]\n }\n }\n\n return newValues\n}\n","\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps as scrapeSVGProps } from \"./utils/scrape-motion-values\"\n\nexport const useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeSVGProps,\n createRenderState: createSvgRenderState,\n})\n","export const isBrowser = typeof window !== \"undefined\"\n","import { MotionProps } from \"../types\"\nimport { FeatureDefinitions } from \"./types\"\n\nconst featureProps = {\n animation: [\n \"animate\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"exit\",\n \"whileInView\",\n \"whileFocus\",\n \"whileDrag\",\n ],\n exit: [\"exit\"],\n drag: [\"drag\", \"dragControls\"],\n focus: [\"whileFocus\"],\n hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n layout: [\"layout\", \"layoutId\"],\n}\n\nexport const featureDefinitions: Partial<FeatureDefinitions> = {}\n\nfor (const key in featureProps) {\n featureDefinitions[key as keyof typeof featureDefinitions] = {\n isEnabled: (props: MotionProps) =>\n featureProps[key as keyof typeof featureProps].some(\n (name: string) => !!props[name as keyof typeof props]\n ),\n }\n}\n","export const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\")\n","import { MutableRefObject } from \"./safe-react-types\"\n\nexport function isRefObject<E = any>(ref: any): ref is MutableRefObject<E> {\n return (\n ref &&\n typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\")\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { useCallback } from \"react\"\nimport type { VisualElement } from \"../../render/VisualElement\"\nimport { isRefObject } from \"../../utils/is-ref-object\"\nimport { VisualState } from \"./use-visual-state\"\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nexport function useMotionRef<Instance, RenderState>(\n visualState: VisualState<Instance, RenderState>,\n visualElement?: VisualElement<Instance> | null,\n externalRef?: React.Ref<Instance>\n): React.Ref<Instance> {\n return useCallback(\n (instance: Instance) => {\n if (instance) {\n visualState.onMount && visualState.onMount(instance)\n }\n\n if (visualElement) {\n if (instance) {\n visualElement.mount(instance)\n } else {\n visualElement.unmount()\n }\n }\n\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance)\n } else if (isRefObject(externalRef)) {\n ;(externalRef as any).current = instance\n }\n }\n },\n /**\n * Include externalRef in dependencies to ensure the callback updates\n * when the ref changes, allowing proper ref forwarding.\n */\n [visualElement]\n )\n}\n","/**\n * Convert camelCase to dash-case properties.\n */\nexport const camelToDash = (str: string) =>\n str.replace(/([a-z])([A-Z])/gu, \"$1-$2\").toLowerCase()\n","import { camelToDash } from \"../../render/dom/utils/camel-to-dash\"\n\nexport const optimizedAppearDataId = \"framerAppearId\"\n\nexport const optimizedAppearDataAttribute =\n \"data-\" + camelToDash(optimizedAppearDataId) as \"data-framer-appear-id\"\n","\"use client\"\n\nimport type { Transition } from \"motion-dom\"\nimport { createContext } from \"react\"\nimport { IProjectionNode } from \"../projection/node/types\"\n\nexport interface SwitchLayoutGroup {\n register?: (member: IProjectionNode) => void\n deregister?: (member: IProjectionNode) => void\n}\n\nexport type SwitchLayoutGroupContext = SwitchLayoutGroup &\n InitialPromotionConfig\n\nexport type InitialPromotionConfig = {\n /**\n * The initial transition to use when the elements in this group mount (and automatically promoted).\n * Subsequent updates should provide a transition in the promote method.\n */\n transition?: Transition\n /**\n * If the follow tree should preserve its opacity when the lead is promoted on mount\n */\n shouldPreserveFollowOpacity?: (member: IProjectionNode) => boolean\n}\n\n/**\n * Internal, exported only for usage in Framer\n */\nexport const SwitchLayoutGroupContext = createContext<SwitchLayoutGroupContext>(\n {}\n)\n","\"use client\"\n\nimport { useEffect, useLayoutEffect } from \"react\"\nimport { isBrowser } from \"./is-browser\"\n\nexport const useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect\n","\"use client\"\n\nimport * as React from \"react\"\nimport { useContext, useEffect, useInsertionEffect, useRef } from \"react\"\nimport { optimizedAppearDataAttribute } from \"../../animation/optimized-appear/data-id\"\nimport { LazyContext } from \"../../context/LazyContext\"\nimport { MotionConfigContext } from \"../../context/MotionConfigContext\"\nimport { MotionContext } from \"../../context/MotionContext\"\nimport { PresenceContext } from \"../../context/PresenceContext\"\nimport {\n InitialPromotionConfig,\n SwitchLayoutGroupContext,\n} from \"../../context/SwitchLayoutGroupContext\"\nimport { MotionProps } from \"../../motion/types\"\nimport { IProjectionNode } from \"../../projection/node/types\"\nimport { DOMMotionComponents } from \"../../render/dom/types\"\nimport { HTMLRenderState } from \"../../render/html/types\"\nimport { SVGRenderState } from \"../../render/svg/types\"\nimport { CreateVisualElement } from \"../../render/types\"\nimport type { VisualElement } from \"../../render/VisualElement\"\nimport { isRefObject } from \"../../utils/is-ref-object\"\nimport { useIsomorphicLayoutEffect } from \"../../utils/use-isomorphic-effect\"\nimport { VisualState } from \"./use-visual-state\"\n\nexport function useVisualElement<\n Props,\n TagName extends keyof DOMMotionComponents | string\n>(\n Component: TagName | string | React.ComponentType<Props>,\n visualState:\n | VisualState<SVGElement, SVGRenderState>\n | VisualState<HTMLElement, HTMLRenderState>,\n props: MotionProps & Partial<MotionConfigContext>,\n createVisualElement?: CreateVisualElement<Props, TagName>,\n ProjectionNodeConstructor?: any\n): VisualElement<HTMLElement | SVGElement> | undefined {\n const { visualElement: parent } = useContext(MotionContext)\n const lazyContext = useContext(LazyContext)\n const presenceContext = useContext(PresenceContext)\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion\n\n const visualElementRef = useRef<VisualElement<\n HTMLElement | SVGElement\n > | null>(null)\n\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement =\n createVisualElement ||\n (lazyContext.renderer as CreateVisualElement<Props, TagName>)\n\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceContext,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n })\n }\n\n const visualElement = visualElementRef.current\n\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext)\n\n if (\n visualElement &&\n !visualElement.projection &&\n ProjectionNodeConstructor &&\n (visualElement.type === \"html\" || visualElement.type === \"svg\")\n ) {\n createProjectionNode(\n visualElementRef.current!,\n props,\n ProjectionNodeConstructor,\n initialLayoutGroupConfig\n )\n }\n\n const isMounted = useRef(false)\n useInsertionEffect(() => {\n /**\n * Check the component has already mounted before calling\n * `update` unnecessarily. This ensures we skip the initial update.\n */\n if (visualElement && isMounted.current) {\n visualElement.update(props, presenceContext)\n }\n })\n\n /**\n * Cache this value as we want to know whether HandoffAppearAnimations\n * was present on initial render - it will be deleted after this.\n */\n const optimisedAppearId =\n props[optimizedAppearDataAttribute as keyof typeof props]\n const wantsHandoff = useRef(\n Boolean(optimisedAppearId) &&\n !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n window.MotionHasOptimisedAnimation?.(optimisedAppearId)\n )\n\n useIsomorphicLayoutEffect(() => {\n if (!visualElement) return\n\n isMounted.current = true\n window.MotionIsMounted = true\n\n visualElement.updateFeatures()\n visualElement.scheduleRenderMicrotask()\n\n /**\n * Ideally this function would always run in a useEffect.\n *\n * However, if we have optimised appear animations to handoff from,\n * it needs to happen synchronously to ensure there's no flash of\n * incorrect styles in the event of a hydration error.\n *\n * So if we detect a situtation where optimised appear animations\n * are running, we use useLayoutEffect to trigger animations.\n */\n if (wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges()\n }\n })\n\n useEffect(() => {\n if (!visualElement) return\n\n if (!wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges()\n }\n\n if (wantsHandoff.current) {\n // This ensures all future calls to animateChanges() in this component will run in useEffect\n queueMicrotask(() => {\n window.MotionHandoffMarkAsComplete?.(optimisedAppearId)\n })\n\n wantsHandoff.current = false\n }\n\n /**\n * Now we've finished triggering animations for this element we\n * can wipe the enteringChildren set for the next render.\n */\n visualElement.enteringChildren = undefined\n })\n\n return visualElement!\n}\n\nfunction createProjectionNode(\n visualElement: VisualElement<any>,\n props: MotionProps,\n ProjectionNodeConstructor: any,\n initialPromotionConfig?: InitialPromotionConfig\n) {\n const {\n layoutId,\n layout,\n drag,\n dragConstraints,\n layoutScroll,\n layoutRoot,\n layoutCrossfade,\n } = props\n\n visualElement.projection = new ProjectionNodeConstructor(\n visualElement.latestValues,\n props[\"data-framer-portal-id\"]\n ? undefined\n : getClosestProjectingNode(visualElement.parent)\n ) as IProjectionNode\n\n visualElement.projection.setOptions({\n layoutId,\n layout,\n alwaysMeasureLayout:\n Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n visualElement,\n /**\n * TODO: Update options in an effect. This could be tricky as it'll be too late\n * to update by the time layout animations run.\n * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n * ensuring it gets called if there's no potential layout animations.\n *\n */\n animationType: typeof layout === \"string\" ? layout : \"both\",\n initialPromotionConfig,\n crossfade: layoutCrossfade,\n layoutScroll,\n layoutRoot,\n })\n}\n\nfunction getClosestProjectingNode(\n visualElement?: VisualElement<\n unknown,\n unknown,\n { allowProjection?: boolean }\n >\n): IProjectionNode | undefined {\n if (!visualElement) return undefined\n\n return visualElement.options.allowProjection !== false\n ? visualElement.projection\n : getClosestProjectingNode(visualElement.parent)\n}\n","\"use client\"\n\nimport { invariant, warning } from \"motion-utils\"\nimport * as React from \"react\"\nimport { forwardRef, useContext } from \"react\"\nimport { LayoutGroupContext } from \"../context/LayoutGroupContext\"\nimport { LazyContext } from \"../context/LazyContext\"\nimport { MotionConfigContext } from \"../context/MotionConfigContext\"\nimport { MotionContext } from \"../context/MotionContext\"\nimport { useCreateMotionContext } from \"../context/MotionContext/create\"\nimport { DOMMotionComponents } from \"../render/dom/types\"\nimport { useRender } from \"../render/dom/use-render\"\nimport { isSVGComponent } from \"../render/dom/utils/is-svg-component\"\nimport { HTMLRenderState } from \"../render/html/types\"\nimport { useHTMLVisualState } from \"../render/html/use-html-visual-state\"\nimport { SVGRenderState } from \"../render/svg/types\"\nimport { useSVGVisualState } from \"../render/svg/use-svg-visual-state\"\nimport { CreateVisualElement } from \"../render/types\"\nimport { isBrowser } from \"../utils/is-browser\"\nimport { featureDefinitions } from \"./features/definitions\"\nimport { loadFeatures } from \"./features/load-features\"\nimport { FeatureBundle, FeaturePackages } from \"./features/types\"\nimport { MotionProps } from \"./types\"\nimport { motionComponentSymbol } from \"./utils/symbol\"\nimport { useMotionRef } from \"./utils/use-motion-ref\"\nimport { useVisualElement } from \"./utils/use-visual-element\"\n\nexport interface MotionComponentConfig<\n TagName extends keyof DOMMotionComponents | string = \"div\"\n> {\n preloadedFeatures?: FeatureBundle\n createVisualElement?: CreateVisualElement\n Component: TagName | React.ComponentType<React.PropsWithChildren<unknown>>\n forwardMotionProps?: boolean\n}\n\nexport type MotionComponentProps<Props> = {\n [K in Exclude<keyof Props, keyof MotionProps>]?: Props[K]\n} & MotionProps\n\nexport type MotionComponent<T, P> = T extends keyof DOMMotionComponents\n ? DOMMotionComponents[T]\n : React.ComponentType<\n Omit<MotionComponentProps<P>, \"children\"> & {\n children?: \"children\" extends keyof P\n ? P[\"children\"] | MotionComponentProps<P>[\"children\"]\n : MotionComponentProps<P>[\"children\"]\n }\n >\n\nexport interface MotionComponentOptions {\n forwardMotionProps?: boolean\n}\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nexport function createMotionComponent<\n Props,\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n { forwardMotionProps = false }: MotionComponentOptions = {},\n preloadedFeatures?: FeaturePackages,\n createVisualElement?: CreateVisualElement<Props, TagName>\n) {\n preloadedFeatures && loadFeatures(preloadedFeatures)\n\n const useVisualState = isSVGComponent(Component)\n ? useSVGVisualState\n : useHTMLVisualState\n\n function MotionDOMComponent(\n props: MotionComponentProps<Props>,\n externalRef?: React.Ref<HTMLElement | SVGElement>\n ) {\n /**\n * If we need to measure the element we load this functionality in a\n * separate class component in order to gain access to getSnapshotBeforeUpdate.\n */\n let MeasureLayout: undefined | React.ComponentType<MotionProps>\n\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n }\n\n const { isStatic } = configAndProps\n\n const context = useCreateMotionContext<HTMLElement | SVGElement>(props)\n\n const visualState = useVisualState(props, isStatic)\n\n if (!isStatic && isBrowser) {\n useStrictMode(configAndProps, preloadedFeatures)\n\n const layoutProjection = getProjectionFunctionality(configAndProps)\n MeasureLayout = layoutProjection.MeasureLayout\n\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(\n Component,\n visualState,\n configAndProps,\n createVisualElement,\n layoutProjection.ProjectionNode\n )\n }\n\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (\n <MotionContext.Provider value={context}>\n {MeasureLayout && context.visualElement ? (\n <MeasureLayout\n visualElement={context.visualElement}\n {...configAndProps}\n />\n ) : null}\n {useRender<Props, TagName>(\n Component,\n props,\n useMotionRef<\n HTMLElement | SVGElement,\n HTMLRenderState | SVGRenderState\n >(visualState, context.visualElement, externalRef),\n visualState,\n isStatic,\n forwardMotionProps\n )}\n </MotionContext.Provider>\n )\n }\n\n MotionDOMComponent.displayName = `motion.${\n typeof Component === \"string\"\n ? Component\n : `create(${Component.displayName ?? Component.name ?? \"\"})`\n }`\n\n const ForwardRefMotionComponent = forwardRef(MotionDOMComponent as any)\n ;(ForwardRefMotionComponent as any)[motionComponentSymbol] = Component\n\n return ForwardRefMotionComponent as MotionComponent<TagName, Props>\n}\n\nfunction useLayoutId({ layoutId }: MotionProps) {\n const layoutGroupId = useContext(LayoutGroupContext).id\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId\n}\n\nfunction useStrictMode(\n configAndProps: MotionProps,\n preloadedFeatures?: FeaturePackages\n) {\n const isStrict = useContext(LazyContext).strict\n\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (\n process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n isStrict\n ) {\n const strictMessage =\n \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\"\n configAndProps.ignoreStrict\n ? warning(false, strictMessage, \"lazy-strict-mode\")\n : invariant(false, strictMessage, \"lazy-strict-mode\")\n }\n}\n\nfunction getProjectionFunctionality(props: MotionProps) {\n const { drag, layout } = featureDefinitions\n\n if (!drag && !layout) return {}\n\n const combined = { ...drag, ...layout }\n\n return {\n MeasureLayout:\n drag?.isEnabled(props) || layout?.isEnabled(props)\n ? combined.MeasureLayout\n : undefined,\n ProjectionNode: combined.ProjectionNode,\n }\n}\n","import { createMotionComponent, MotionComponentOptions } from \"../../../motion\"\nimport { DOMMotionComponents } from \"../../dom/types\"\n\nexport function createMinimalMotionComponent<\n Props,\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n options?: MotionComponentOptions\n) {\n return createMotionComponent(Component, options)\n}\n","\"use client\"\n\nimport { createMinimalMotionComponent } from \"./create\"\n\n/**\n * HTML components\n */\nexport const MotionA = /*@__PURE__*/ createMinimalMotionComponent(\"a\")\nexport const MotionAbbr = /*@__PURE__*/ createMinimalMotionComponent(\"abbr\")\nexport const MotionAddress =\n /*@__PURE__*/ createMinimalMotionComponent(\"address\")\nexport const MotionArea = /*@__PURE__*/ createMinimalMotionComponent(\"area\")\nexport const MotionArticle =\n /*@__PURE__*/ createMinimalMotionComponent(\"article\")\nexport const MotionAside = /*@__PURE__*/ createMinimalMotionComponent(\"aside\")\nexport const MotionAudio = /*@__PURE__*/ createMinimalMotionComponent(\"audio\")\nexport const MotionB = /*@__PURE__*/ createMinimalMotionComponent(\"b\")\nexport const MotionBase = /*@__PURE__*/ createMinimalMotionComponent(\"base\")\nexport const MotionBdi = /*@__PURE__*/ createMinimalMotionComponent(\"bdi\")\nexport const MotionBdo = /*@__PURE__*/ createMinimalMotionComponent(\"bdo\")\nexport const MotionBig = /*@__PURE__*/ createMinimalMotionComponent(\"big\")\nexport const MotionBlockquote =\n /*@__PURE__*/ createMinimalMotionComponent(\"blockquote\")\nexport const MotionBody = /*@__PURE__*/ createMinimalMotionComponent(\"body\")\nexport const MotionButton = /*@__PURE__*/ createMinimalMotionComponent(\"button\")\nexport const MotionCanvas = /*@__PURE__*/ createMinimalMotionComponent(\"canvas\")\nexport const MotionCaption =\n /*@__PURE__*/ createMinimalMotionComponent(\"caption\")\nexport const MotionCite = /*@__PURE__*/ createMinimalMotionComponent(\"cite\")\nexport const MotionCode = /*@__PURE__*/ createMinimalMotionComponent(\"code\")\nexport const MotionCol = /*@__PURE__*/ createMinimalMotionComponent(\"col\")\nexport const MotionColgroup =\n /*@__PURE__*/ createMinimalMotionComponent(\"colgroup\")\nexport const MotionData = /*@__PURE__*/ createMinimalMotionComponent(\"data\")\nexport const MotionDatalist =\n /*@__PURE__*/ createMinimalMotionComponent(\"datalist\")\nexport const MotionDd = /*@__PURE__*/ createMinimalMotionComponent(\"dd\")\nexport const MotionDel = /*@__PURE__*/ createMinimalMotionComponent(\"del\")\nexport const MotionDetails =\n /*@__PURE__*/ createMinimalMotionComponent(\"details\")\nexport const MotionDfn = /*@__PURE__*/ createMinimalMotionComponent(\"dfn\")\nexport const MotionDialog = /*@__PURE__*/ createMinimalMotionComponent(\"dialog\")\nexport const MotionDiv = /*@__PURE__*/ createMinimalMotionComponent(\"div\")\nexport const MotionDl = /*@__PURE__*/ createMinimalMotionComponent(\"dl\")\nexport const MotionDt = /*@__PURE__*/ createMinimalMotionComponent(\"dt\")\nexport const MotionEm = /*@__PURE__*/ createMinimalMotionComponent(\"em\")\nexport const MotionEmbed = /*@__PURE__*/ createMinimalMotionComponent(\"embed\")\nexport const MotionFieldset =\n /*@__PURE__*/ createMinimalMotionComponent(\"fieldset\")\nexport const MotionFigcaption =\n /*@__PURE__*/ createMinimalMotionComponent(\"figcaption\")\nexport const MotionFigure = /*@__PURE__*/ createMinimalMotionComponent(\"figure\")\nexport const MotionFooter = /*@__PURE__*/ createMinimalMotionComponent(\"footer\")\nexport const MotionForm = /*@__PURE__*/ createMinimalMotionComponent(\"form\")\nexport const MotionH1 = /*@__PURE__*/ createMinimalMotionComponent(\"h1\")\nexport const MotionH2 = /*@__PURE__*/ createMinimalMotionComponent(\"h2\")\nexport const MotionH3 = /*@__PURE__*/ createMinimalMotionComponent(\"h3\")\nexport const MotionH4 = /*@__PURE__*/ createMinimalMotionComponent(\"h4\")\nexport const MotionH5 = /*@__PURE__*/ createMinimalMotionComponent(\"h5\")\nexport const MotionH6 = /*@__PURE__*/ createMinimalMotionComponent(\"h6\")\nexport const MotionHead = /*@__PURE__*/ createMinimalMotionComponent(\"head\")\nexport const MotionHeader = /*@__PURE__*/ createMinimalMotionComponent(\"header\")\nexport const MotionHgroup = /*@__PURE__*/ createMinimalMotionComponent(\"hgroup\")\nexport const MotionHr = /*@__PURE__*/ createMinimalMotionComponent(\"hr\")\nexport const MotionHtml = /*@__PURE__*/ createMinimalMotionComponent(\"html\")\nexport const MotionI = /*@__PURE__*/ createMinimalMotionComponent(\"i\")\nexport const MotionIframe = /*@__PURE__*/ createMinimalMotionComponent(\"iframe\")\nexport const MotionImg = /*@__PURE__*/ createMinimalMotionComponent(\"img\")\nexport const MotionInput = /*@__PURE__*/ createMinimalMotionComponent(\"input\")\nexport const MotionIns = /*@__PURE__*/ createMinimalMotionComponent(\"ins\")\nexport const MotionKbd = /*@__PURE__*/ createMinimalMotionComponent(\"kbd\")\nexport const MotionKeygen = /*@__PURE__*/ createMinimalMotionComponent(\"keygen\")\nexport const MotionLabel = /*@__PURE__*/ createMinimalMotionComponent(\"label\")\nexport const MotionLegend = /*@__PURE__*/ createMinimalMotionComponent(\"legend\")\nexport const MotionLi = /*@__PURE__*/ createMinimalMotionComponent(\"li\")\nexport const MotionLink = /*@__PURE__*/ createMinimalMotionComponent(\"link\")\nexport const MotionMain = /*@__PURE__*/ createMinimalMotionComponent(\"main\")\nexport const MotionMap = /*@__PURE__*/ createMinimalMotionComponent(\"map\")\nexport const MotionMark = /*@__PURE__*/ createMinimalMotionComponent(\"mark\")\nexport const MotionMenu = /*@__PURE__*/ createMinimalMotionComponent(\"menu\")\nexport const MotionMenuitem =\n /*@__PURE__*/ createMinimalMotionComponent(\"menuitem\")\nexport const MotionMeter = /*@__PURE__*/ createMinimalMotionComponent(\"meter\")\nexport const MotionNav = /*@__PURE__*/ createMinimalMotionComponent(\"nav\")\nexport const MotionObject = /*@__PURE__*/ createMinimalMotionComponent(\"object\")\nexport const MotionOl = /*@__PURE__*/ createMinimalMotionComponent(\"ol\")\nexport const MotionOptgroup =\n /*@__PURE__*/ createMinimalMotionComponent(\"optgroup\")\nexport const MotionOption = /*@__PURE__*/ createMinimalMotionComponent(\"option\")\nexport const MotionOutput = /*@__PURE__*/ createMinimalMotionComponent(\"output\")\nexport const MotionP = /*@__PURE__*/ createMinimalMotionComponent(\"p\")\nexport const MotionParam = /*@__PURE__*/ createMinimalMotionComponent(\"param\")\nexport const MotionPicture =\n /*@__PURE__*/ createMinimalMotionComponent(\"picture\")\nexport const MotionPre = /*@__PURE__*/ createMinimalMotionComponent(\"pre\")\nexport const MotionProgress =\n /*@__PURE__*/ createMinimalMotionComponent(\"progress\")\nexport const MotionQ = /*@__PURE__*/ createMinimalMotionComponent(\"q\")\nexport const MotionRp = /*@__PURE__*/ createMinimalMotionComponent(\"rp\")\nexport const MotionRt = /*@__PURE__*/ createMinimalMotionComponent(\"rt\")\nexport const MotionRuby = /*@__PURE__*/ createMinimalMotionComponent(\"ruby\")\nexport const MotionS = /*@__PURE__*/ createMinimalMotionComponent(\"s\")\nexport const MotionSamp = /*@__PURE__*/ createMinimalMotionComponent(\"samp\")\nexport const MotionScript = /*@__PURE__*/ createMinimalMotionComponent(\"script\")\nexport const MotionSection =\n /*@__PURE__*/ createMinimalMotionComponent(\"section\")\nexport const MotionSelect = /*@__PURE__*/ createMinimalMotionComponent(\"select\")\nexport const MotionSmall = /*@__PURE__*/ createMinimalMotionComponent(\"small\")\nexport const MotionSource = /*@__PURE__*/ createMinimalMotionComponent(\"source\")\nexport const MotionSpan = /*@__PURE__*/ createMinimalMotionComponent(\"span\")\nexport const MotionStrong = /*@__PURE__*/ createMinimalMotionComponent(\"strong\")\nexport const MotionStyle = /*@__PURE__*/ createMinimalMotionComponent(\"style\")\nexport const MotionSub = /*@__PURE__*/ createMinimalMotionComponent(\"sub\")\nexport const MotionSummary =\n /*@__PURE__*/ createMinimalMotionComponent(\"summary\")\nexport const MotionSup = /*@__PURE__*/ createMinimalMotionComponent(\"sup\")\nexport const MotionTable = /*@__PURE__*/ createMinimalMotionComponent(\"table\")\nexport const MotionTbody = /*@__PURE__*/ createMinimalMotionComponent(\"tbody\")\nexport const MotionTd = /*@__PURE__*/ createMinimalMotionComponent(\"td\")\nexport const MotionTextarea =\n /*@__PURE__*/ createMinimalMotionComponent(\"textarea\")\nexport const MotionTfoot = /*@__PURE__*/ createMinimalMotionComponent(\"tfoot\")\nexport const MotionTh = /*@__PURE__*/ createMinimalMotionComponent(\"th\")\nexport const MotionThead = /*@__PURE__*/ createMinimalMotionComponent(\"thead\")\nexport const MotionTime = /*@__PURE__*/ createMinimalMotionComponent(\"time\")\nexport const MotionTitle = /*@__PURE__*/ createMinimalMotionComponent(\"title\")\nexport const MotionTr = /*@__PURE__*/ createMinimalMotionComponent(\"tr\")\nexport const MotionTrack = /*@__PURE__*/ createMinimalMotionComponent(\"track\")\nexport const MotionU = /*@__PURE__*/ createMinimalMotionComponent(\"u\")\nexport const MotionUl = /*@__PURE__*/ createMinimalMotionComponent(\"ul\")\nexport const MotionVideo = /*@__PURE__*/ createMinimalMotionComponent(\"video\")\nexport const MotionWbr = /*@__PURE__*/ createMinimalMotionComponent(\"wbr\")\nexport const MotionWebview =\n /*@__PURE__*/ createMinimalMotionComponent(\"webview\")\n\n/**\n * SVG components\n */\nexport const MotionAnimate =\n /*@__PURE__*/ createMinimalMotionComponent(\"animate\")\nexport const MotionCircle = /*@__PURE__*/ createMinimalMotionComponent(\"circle\")\nexport const MotionDefs = /*@__PURE__*/ createMinimalMotionComponent(\"defs\")\nexport const MotionDesc = /*@__PURE__*/ createMinimalMotionComponent(\"desc\")\nexport const MotionEllipse =\n /*@__PURE__*/ createMinimalMotionComponent(\"ellipse\")\nexport const MotionG = /*@__PURE__*/ createMinimalMotionComponent(\"g\")\nexport const MotionImage = /*@__PURE__*/ createMinimalMotionComponent(\"image\")\nexport const MotionLine = /*@__PURE__*/ createMinimalMotionComponent(\"line\")\nexport const MotionFilter = /*@__PURE__*/ createMinimalMotionComponent(\"filter\")\nexport const MotionMarker = /*@__PURE__*/ createMinimalMotionComponent(\"marker\")\nexport const MotionMask = /*@__PURE__*/ createMinimalMotionComponent(\"mask\")\nexport const MotionMetadata =\n /*@__PURE__*/ createMinimalMotionComponent(\"metadata\")\nexport const MotionPath = /*@__PURE__*/ createMinimalMotionComponent(\"path\")\nexport const MotionPattern =\n /*@__PURE__*/ createMinimalMotionComponent(\"pattern\")\nexport const MotionPolygon =\n /*@__PURE__*/ createMinimalMotionComponent(\"polygon\")\nexport const MotionPolyline =\n /*@__PURE__*/ createMinimalMotionComponent(\"polyline\")\nexport const MotionRect = /*@__PURE__*/ createMinimalMotionComponent(\"rect\")\nexport const MotionStop = /*@__PURE__*/ createMinimalMotionComponent(\"stop\")\nexport const MotionSvg = /*@__PURE__*/ createMinimalMotionComponent(\"svg\")\nexport const MotionSymbol = /*@__PURE__*/ createMinimalMotionComponent(\"symbol\")\nexport const MotionText = /*@__PURE__*/ createMinimalMotionComponent(\"text\")\nexport const MotionTspan = /*@__PURE__*/ createMinimalMotionComponent(\"tspan\")\nexport const MotionUse = /*@__PURE__*/ createMinimalMotionComponent(\"use\")\nexport const MotionView = /*@__PURE__*/ createMinimalMotionComponent(\"view\")\nexport const MotionClipPath =\n /*@__PURE__*/ createMinimalMotionComponent(\"clipPath\")\nexport const MotionFeBlend =\n /*@__PURE__*/ createMinimalMotionComponent(\"feBlend\")\nexport const MotionFeColorMatrix =\n /*@__PURE__*/ createMinimalMotionComponent(\"feColorMatrix\")\nexport const MotionFeComponentTransfer =\n /*@__PURE__*/ createMinimalMotionComponent(\"feComponentTransfer\")\nexport const MotionFeComposite =\n /*@__PURE__*/ createMinimalMotionComponent(\"feComposite\")\nexport const MotionFeConvolveMatrix =\n /*@__PURE__*/ createMinimalMotionComponent(\"feConvolveMatrix\")\nexport const MotionFeDiffuseLighting =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDiffuseLighting\")\nexport const MotionFeDisplacementMap =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDisplacementMap\")\nexport const MotionFeDistantLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDistantLight\")\nexport const MotionFeDropShadow =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDropShadow\")\nexport const MotionFeFlood =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFlood\")\nexport const MotionFeFuncA =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncA\")\nexport const MotionFeFuncB =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncB\")\nexport const MotionFeFuncG =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncG\")\nexport const MotionFeFuncR =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncR\")\nexport const MotionFeGaussianBlur =\n /*@__PURE__*/ createMinimalMotionComponent(\"feGaussianBlur\")\nexport const MotionFeImage =\n /*@__PURE__*/ createMinimalMotionComponent(\"feImage\")\nexport const MotionFeMerge =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMerge\")\nexport const MotionFeMergeNode =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMergeNode\")\nexport const MotionFeMorphology =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMorphology\")\nexport const MotionFeOffset =\n /*@__PURE__*/ createMinimalMotionComponent(\"feOffset\")\nexport const MotionFePointLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"fePointLight\")\nexport const MotionFeSpecularLighting =\n /*@__PURE__*/ createMinimalMotionComponent(\"feSpecularLighting\")\nexport const MotionFeSpotLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"feSpotLight\")\nexport const MotionFeTile = /*@__PURE__*/ createMinimalMotionComponent(\"feTile\")\nexport const MotionFeTurbulence =\n /*@__PURE__*/ createMinimalMotionComponent(\"feTurbulence\")\nexport const MotionForeignObject =\n /*@__PURE__*/ createMinimalMotionComponent(\"foreignObject\")\nexport const MotionLinearGradient =\n /*@__PURE__*/ createMinimalMotionComponent(\"linearGradient\")\nexport const MotionRadialGradient =\n /*@__PURE__*/ createMinimalMotionComponent(\"radialGradient\")\nexport const MotionTextPath =\n /*@__PURE__*/ createMinimalMotionComponent(\"textPath\")\n"],"names":["createContext","useContext","useMemo","px","complex","mixNumber","transformProps","transformPropOrder","getValueAsType","numberValueTypes","isCSSVariableName","isMotionValue","Fragment","createElement","useRef","isControllingVariants","checkIsControllingVariants","isVariantNode","checkIsVariantNode","scrapeMotionValuesFromProps","scrapeHTMLMotionValuesFromProps","scrapeSVGProps","useCallback","useLayoutEffect","useEffect","useInsertionEffect","_jsxs","_jsx","forwardRef","warning","invariant"],"mappings":";;;;;;;;;AAWO,MAAM,kBAAkB,GAAGA,mBAAa,CAA0B,EAAE,CAAC;;ACDrE,MAAM,WAAW,GAAGA,mBAAa,CAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;ACsC7E;;AAEG;AACI,MAAM,mBAAmB,GAAGA,mBAAa,CAAsB;AAClE,IAAA,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,aAAa,EAAE,OAAO;AACzB,CAAA,CAAC;;AC5CK,MAAM,aAAa,mBAAmBA,mBAAa,CACtD,EAAE,CACL;;ACXK,SAAU,mBAAmB,CAAC,CAAW,EAAA;IAC3C,QACI,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;AACrB,QAAA,OAAQ,CAA6B,CAAC,KAAK,KAAK,UAAU,EAC7D;AACL;;ACRA;;AAEG;AACG,SAAU,cAAc,CAAC,CAAU,EAAA;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACpD;;ACHO,MAAM,oBAAoB,GAAoB;IACjD,SAAS;IACT,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;IACX,MAAM;CACT,CAAA;AAEM,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,GAAG,oBAAoB,CAAC;;ACP1D,SAAU,qBAAqB,CAAC,KAAkB,EAAA;AACpD,IAAA,QACI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;AAClC,QAAA,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KACnB,cAAc,CAAC,KAAK,CAAC,IAA0B,CAAC,CAAC,CACpD,EACJ;AACL,CAAC;AAEK,SAAU,aAAa,CAAC,KAAkB,EAAA;IAC5C,OAAO,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;AAClE;;ACXgB,SAAA,sBAAsB,CAClC,KAAkB,EAClB,OAA2B,EAAA;AAE3B,IAAA,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC9B,QAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QAClC,OAAO;YACH,OAAO,EACH,OAAO,KAAK,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC;AACxC,kBAAG,OAAe;AAClB,kBAAE,SAAS;AACnB,YAAA,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS;SACzD,CAAA;KACJ;AACD,IAAA,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,GAAG,OAAO,GAAG,EAAE,CAAA;AACjD;;ACbM,SAAU,sBAAsB,CAClC,KAAkB,EAAA;AAElB,IAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAC/C,KAAK,EACLC,gBAAU,CAAC,aAAa,CAAC,CAC5B,CAAA;IAED,OAAOC,aAAO,CACV,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAC5B,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAC3E,CAAA;AACL,CAAC;AAED,SAAS,yBAAyB,CAC9B,IAA6C,EAAA;AAE7C,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;AACtD;;ACrBgB,SAAA,eAAe,CAAC,MAAc,EAAE,IAAU,EAAA;AACtD,IAAA,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,CAAC,CAAA;AACnC,IAAA,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;AACjD,CAAC;AAED;;;;;;AAMG;AACI,MAAM,mBAAmB,GAA6B;AACzD,IAAA,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,KAAI;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,MAAM,CAAA;AAE/B;;;AAGG;AACH,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAIC,YAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACjB,gBAAA,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;aAC9B;iBAAM;AACH,gBAAA,OAAO,MAAM,CAAA;aAChB;SACJ;AAED;;;AAGG;AACH,QAAA,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAChD,QAAA,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEhD,QAAA,OAAO,CAAG,EAAA,CAAC,CAAK,EAAA,EAAA,CAAC,GAAG,CAAA;KACvB;CACJ;;ACtCM,MAAM,gBAAgB,GAA6B;IACtD,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,KAAI;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAA;QACvB,MAAM,MAAM,GAAGC,iBAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;;AAGpC,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,OAAO,QAAQ,CAAA;QAEtC,MAAM,QAAQ,GAAGA,iBAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAClD,QAAA,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;;QAGpD,MAAM,MAAM,GAAG,eAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,SAAU,CAAC,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,eAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,SAAU,CAAC,CAAC,CAGrD;AAAC,QAAA,MAAM,CAAC,CAAC,GAAG,MAAM,CAAY,IAAI,MAAM,CACxC;AAAC,QAAA,MAAM,CAAC,CAAC,GAAG,MAAM,CAAY,IAAI,MAAM,CAAA;AAEzC;;;;;AAKG;QACH,MAAM,YAAY,GAAGC,mBAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;;QAGnD,IAAI,OAAO,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ;AACrC,YAAA,MAAM,CAAC,CAAC,GAAG,MAAM,CAAY,IAAI,YAAY,CAAA;;QAGlD,IAAI,OAAO,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ;AACrC,YAAA,MAAM,CAAC,CAAC,GAAG,MAAM,CAAY,IAAI,YAAY,CAAA;AAElD,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC1B;CACJ;;ACnCM,MAAM,eAAe,GAAsB;AAC9C,IAAA,YAAY,EAAE;AACV,QAAA,GAAG,mBAAmB;AACtB,QAAA,OAAO,EAAE;YACL,qBAAqB;YACrB,sBAAsB;YACtB,wBAAwB;YACxB,yBAAyB;AAC5B,SAAA;AACJ,KAAA;AACD,IAAA,mBAAmB,EAAE,mBAAmB;AACxC,IAAA,oBAAoB,EAAE,mBAAmB;AACzC,IAAA,sBAAsB,EAAE,mBAAmB;AAC3C,IAAA,uBAAuB,EAAE,mBAAmB;AAC5C,IAAA,SAAS,EAAE,gBAAgB;CAC9B;;AChBK,SAAU,mBAAmB,CAC/B,GAAW,EACX,EAAE,MAAM,EAAE,QAAQ,EAAe,EAAA;AAEjC,IAAA,QACIC,wBAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AACvB,QAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxB,SAAC,CAAC,MAAM,IAAI,QAAQ,KAAK,SAAS;AAC9B,aAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,EACrD;AACL;;ACLA,MAAM,cAAc,GAAG;AACnB,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,oBAAoB,EAAE,aAAa;CACtC,CAAA;AAED,MAAM,aAAa,GAAGC,4BAAkB,CAAC,MAAM,CAAA;AAE/C;;;;;AAKG;SACa,cAAc,CAC1B,YAA4B,EAC5B,SAAuC,EACvC,iBAAoD,EAAA;;IAGpD,IAAI,eAAe,GAAG,EAAE,CAAA;IACxB,IAAI,kBAAkB,GAAG,IAAI,CAAA;AAE7B;;;AAGG;AACH,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,GAAG,GAAGA,4BAAkB,CAAC,CAAC,CAAgC,CAAA;AAChE,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QAEjC,IAAI,cAAc,GAAG,IAAI,CAAA;AACzB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,cAAc,GAAG,KAAK,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/D;aAAM;AACH,YAAA,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SAC3C;AAED,QAAA,IAAI,CAAC,cAAc,IAAI,iBAAiB,EAAE;YACtC,MAAM,WAAW,GAAGC,wBAAc,CAAC,KAAK,EAAEC,0BAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;YAEhE,IAAI,CAAC,cAAc,EAAE;gBACjB,kBAAkB,GAAG,KAAK,CAAA;gBAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;AAChD,gBAAA,eAAe,IAAI,CAAG,EAAA,aAAa,CAAI,CAAA,EAAA,WAAW,IAAI,CAAA;aACzD;YAED,IAAI,iBAAiB,EAAE;AACnB,gBAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;aAC/B;SACJ;KACJ;AAED,IAAA,eAAe,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;;;IAIxC,IAAI,iBAAiB,EAAE;AACnB,QAAA,eAAe,GAAG,iBAAiB,CAC/B,SAAS,EACT,kBAAkB,GAAG,EAAE,GAAG,eAAe,CAC5C,CAAA;KACJ;SAAM,IAAI,kBAAkB,EAAE;QAC3B,eAAe,GAAG,MAAM,CAAA;KAC3B;AAED,IAAA,OAAO,eAAe,CAAA;AAC1B;;SCpEgB,eAAe,CAC3B,KAAsB,EACtB,YAA4B,EAC5B,iBAAoD,EAAA;IAEpD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;;IAG9C,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,kBAAkB,GAAG,KAAK,CAAA;AAE9B;;;;;AAKG;AACH,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAE/B,QAAA,IAAIH,wBAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;YAEzB,YAAY,GAAG,IAAI,CAAA;YACnB,SAAQ;SACX;AAAM,aAAA,IAAII,2BAAiB,CAAC,GAAG,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACjB,SAAQ;SACX;aAAM;;YAEH,MAAM,WAAW,GAAGF,wBAAc,CAAC,KAAK,EAAEC,0BAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;AAEhE,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;;gBAE1B,kBAAkB,GAAG,IAAI,CAAA;gBACzB,eAAe,CAAC,GAAmC,CAAC;AAChD,oBAAA,WAAW,CAAA;aAClB;iBAAM;AACH,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;aAC3B;SACJ;KACJ;AAED,IAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;AACzB,QAAA,IAAI,YAAY,IAAI,iBAAiB,EAAE;AACnC,YAAA,KAAK,CAAC,SAAS,GAAG,cAAc,CAC5B,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,iBAAiB,CACpB,CAAA;SACJ;AAAM,aAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACxB;;;AAGG;AACH,YAAA,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;SAC3B;KACJ;AAED;;;AAGG;IACH,IAAI,kBAAkB,EAAE;AACpB,QAAA,MAAM,EACF,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,CAAC,GACd,GAAG,eAAe,CAAA;QACnB,KAAK,CAAC,eAAe,GAAG,CAAG,EAAA,OAAO,IAAI,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAA;KAC7D;AACL;;AC/EO,MAAM,qBAAqB,GAAG,OAAwB;AACzD,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,IAAI,EAAE,EAAE;AACX,CAAA,CAAC;;SCGc,iBAAiB,CAC7B,MAAsB,EACtB,MAA4D,EAC5D,KAAkB,EAAA;AAElB,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACtB,QAAA,IAAI,CAACE,uBAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAwB,CAAA;SACnD;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,EAAE,iBAAiB,EAAe,EAClC,WAA2B,EAAA;IAE3B,OAAOT,aAAO,CAAC,MAAK;AAChB,QAAA,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAA;AAErC,QAAA,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;AACrD,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AACrB,CAAC;AAED,SAAS,QAAQ,CACb,KAAkB,EAClB,WAA2B,EAAA;AAE3B,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,EAAE,CAAA;AAEhB;;AAEG;AACH,IAAA,iBAAiB,CAAC,KAAK,EAAE,SAAgB,EAAE,KAAK,CAAC,CAAA;AAEjD,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;AAEhE,IAAA,OAAO,KAAK,CAAA;AAChB,CAAC;AAEe,SAAA,YAAY,CACxB,KAA2C,EAC3C,WAA2B,EAAA;;IAG3B,MAAM,SAAS,GAAQ,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAE1C,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE;;AAE5C,QAAA,SAAS,CAAC,SAAS,GAAG,KAAK,CAAA;;AAG3B,QAAA,KAAK,CAAC,UAAU;AACZ,YAAA,KAAK,CAAC,gBAAgB;AACtB,gBAAA,KAAK,CAAC,kBAAkB;AACpB,oBAAA,MAAM,CAAA;;AAGd,QAAA,KAAK,CAAC,WAAW;YACb,KAAK,CAAC,IAAI,KAAK,IAAI;AACf,kBAAE,MAAM;AACR,kBAAE,CAAO,IAAA,EAAA,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;KACpD;AAED,IAAA,IACI,KAAK,CAAC,QAAQ,KAAK,SAAS;AAC5B,SAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,EACrD;AACE,QAAA,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAA;KACzB;AAED,IAAA,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;AAEvB,IAAA,OAAO,SAAS,CAAA;AACpB;;ACpFA,MAAM,QAAQ,GAAG;AACb,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,KAAK,EAAE,kBAAkB;CAC5B,CAAA;AAED,MAAM,SAAS,GAAG;AACd,IAAA,MAAM,EAAE,kBAAkB;AAC1B,IAAA,KAAK,EAAE,iBAAiB;CAC3B,CAAA;AAED;;;;;;AAMG;SACa,YAAY,CACxB,KAAqB,EACrB,MAAc,EACd,OAAO,GAAG,CAAC,EACX,MAAM,GAAG,CAAC,EACV,cAAuB,IAAI,EAAA;;AAG3B,IAAA,KAAK,CAAC,UAAU,GAAG,CAAC,CAAA;;;IAIpB,MAAM,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;;AAG/C,IAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAGC,YAAE,CAAC,SAAU,CAAC,CAAC,MAAM,CAAC,CAAA;;IAG3C,MAAM,UAAU,GAAGA,YAAE,CAAC,SAAU,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,WAAW,GAAGA,YAAE,CAAC,SAAU,CAAC,OAAO,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAA;AACtD;;ACnCA;;AAEG;AACG,SAAU,aAAa,CACzB,KAAqB,EACrB,EACI,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,CAAC;AACd;AACA,GAAG,MAAM,EACI,EACjB,QAAiB,EACjB,iBAAoD,EACpD,SAAgC,EAAA;AAEhC,IAAA,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEjD;;;AAGG;IACH,IAAI,QAAQ,EAAE;AACV,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;YACrB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;SAC5C;QACD,OAAM;KACT;AAED,IAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AACzB,IAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;AAChB,IAAA,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;AAE9B;;;AAGG;AACH,IAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,QAAA,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,OAAO,KAAK,CAAC,SAAS,CAAA;KACzB;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,EAAE;QAC1C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,SAAS,CAAA;QAC1D,OAAO,KAAK,CAAC,eAAe,CAAA;KAC/B;AAED,IAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB;;;AAGG;QACH,KAAK,CAAC,YAAY,GAAI,SAAS,EAAE,YAAuB,IAAI,UAAU,CAAA;QACtE,OAAO,KAAK,CAAC,YAAY,CAAA;KAC5B;;IAGD,IAAI,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,SAAS,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;;AAGpD,IAAA,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,YAAY,CACR,KAAK,EACL,UAAoB,EACpB,WAAqB,EACrB,UAAoB,EACpB,KAAK,CACR,CAAA;KACJ;AACL;;AC5EO,MAAM,oBAAoB,GAAG,OAAuB;AACvD,IAAA,GAAG,qBAAqB,EAAE;AAC1B,IAAA,KAAK,EAAE,EAAE;AACZ,CAAA,CAAC;;ACNK,MAAM,QAAQ,GAAG,CAAC,GAAY,KACjC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK;;ACSpD,SAAU,WAAW,CACvB,KAAkB,EAClB,WAA2B,EAC3B,SAAkB,EAClB,SAAyE,EAAA;AAEzE,IAAA,MAAM,WAAW,GAAGD,aAAO,CAAC,MAAK;AAC7B,QAAA,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;AAEpC,QAAA,aAAa,CACT,KAAK,EACL,WAAW,EACX,QAAQ,CAAC,SAAS,CAAC,EACnB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,KAAK,CACd,CAAA;QAED,OAAO;YACH,GAAG,KAAK,CAAC,KAAK;AACd,YAAA,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;SAC5B,CAAA;AACL,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,IAAI,KAAK,CAAC,KAAK,EAAE;QACb,MAAM,SAAS,GAAG,EAAE,CAAA;QACpB,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAY,EAAE,KAAK,CAAC,CAAA;AACvD,QAAA,WAAW,CAAC,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;KAC7D;AAED,IAAA,OAAO,WAAW,CAAA;AACtB;;ACtCA;;;;;AAKG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAoB;IAChD,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,mBAAmB;IACnB,QAAQ;IACR,SAAS;IACT,uBAAuB;IACvB,kBAAkB;IAClB,qBAAqB;IACrB,UAAU;IACV,aAAa;IACb,QAAQ;IACR,WAAW;IACX,0BAA0B;IAC1B,iBAAiB;IACjB,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,UAAU;AACb,CAAA,CAAC,CAAA;AAEF;;;;;;;AAOG;AACG,SAAU,iBAAiB,CAAC,GAAW,EAAA;AACzC,IAAA,QACI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;SACtB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC;AAC/C,QAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AACvB,QAAA,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AACvB,QAAA,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;AAC1B,QAAA,gBAAgB,CAAC,GAAG,CAAC,GAAwB,CAAC,EACjD;AACL;;ACxDA,IAAI,aAAa,GAAG,CAAC,GAAW,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAItD,SAAU,uBAAuB,CAAC,WAAyB,EAAA;IAC7D,IAAI,OAAO,WAAW,KAAK,UAAU;QAAE,OAAM;;IAG7C,aAAa,GAAG,CAAC,GAAW,KACxB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,IAAI;AACA;;;;AAIG;IACH,uBAAuB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAA;AACtE,CAAC;AAAC,MAAM;;AAER,CAAC;SAEe,WAAW,CACvB,KAAkB,EAClB,KAAc,EACd,kBAA2B,EAAA;IAE3B,MAAM,aAAa,GAAgB,EAAE,CAAA;AAErC,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB;;;;;;AAMG;QACH,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAQ;QAElE,IACI,aAAa,CAAC,GAAG,CAAC;aACjB,kBAAkB,KAAK,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;aACtD,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;;aAElC,KAAK,CAAC,WAAgC,CAAC;AACpC,gBAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC/B;YACE,aAAa,CAAC,GAAwB,CAAC;gBACnC,KAAK,CAAC,GAAwB,CAAC,CAAA;SACtC;KACJ;AAED,IAAA,OAAO,aAAa,CAAA;AACxB;;ACtEA;;;AAGG;AACI,MAAM,oBAAoB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,GAAG;IACH,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;CACT;;AC3BK,SAAU,cAAc,CAAC,SAA4C,EAAA;AACvE,IAAA;AACI;;;AAGG;IACH,OAAO,SAAS,KAAK,QAAQ;AAC7B;;AAEG;AACH,QAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EACzB;AACE,QAAA,OAAO,KAAK,CAAA;KACf;AAAM,SAAA;AACH;;AAEG;AACH,IAAA,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5C;;AAEG;AACH,QAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1B;AACE,QAAA,OAAO,IAAI,CAAA;KACd;AAED,IAAA,OAAO,KAAK,CAAA;AAChB;;SChBgB,SAAS,CAIrB,SAAwD,EACxD,KAAkB,EAClB,GAAwC,EACxC,EACI,YAAY,GAC0D,EAC1E,QAAiB,EACjB,qBAA8B,KAAK,EAAA;AAEnC,IAAA,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC;AAC5C,UAAE,WAAW;UACX,YAAY,CAAA;AAElB,IAAA,MAAM,WAAW,GAAG,cAAc,CAC9B,KAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAgB,CACnB,CAAA;AACD,IAAA,MAAM,aAAa,GAAG,WAAW,CAC7B,KAAK,EACL,OAAO,SAAS,KAAK,QAAQ,EAC7B,kBAAkB,CACrB,CAAA;IACD,MAAM,YAAY,GACd,SAAS,KAAKU,cAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAE3E;;;;AAIG;AACH,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;AAC1B,IAAA,MAAM,gBAAgB,GAAGV,aAAO,CAC5B,OAAOS,uBAAa,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAC3D,CAAC,QAAQ,CAAC,CACb,CAAA;IAED,OAAOE,mBAAa,CAAM,SAAS,EAAE;AACjC,QAAA,GAAG,YAAY;AACf,QAAA,QAAQ,EAAE,gBAAgB;AAC7B,KAAA,CAAC,CAAA;AACN;;AC3CA;;AAEG;AACI,MAAM,eAAe;AACxB,gBAAgBb,mBAAa,CAA8B,IAAI,CAAC;;ACZpE,SAAS,aAAa,CAClB,aAA6B,EAAA;AAE7B,IAAA,MAAM,KAAK,GAAqC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AAOxD,IAAA,OAAO,KAAK,CAAA;AAChB,CAAC;AAcK,SAAU,uBAAuB,CACnC,KAAkB,EAClB,UAAgC,EAChC,MAAY,EACZ,aAA6B,EAAA;AAE7B;;AAEG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAc,CAAC,CAAA;QACxD,UAAU,GAAG,UAAU,CACa,KAAK,CAAC,MAAM,EAC5C,OAAO,EACP,QAAQ,CACX,CAAA;KACJ;AAED;;;AAGG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAChC,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;KAC5D;AAED;;;;AAIG;AACH,IAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAc,CAAC,CAAA;QACxD,UAAU,GAAG,UAAU,CACa,KAAK,CAAC,MAAM,EAC5C,OAAO,EACP,QAAQ,CACX,CAAA;KACJ;AAED,IAAA,OAAO,UAAU,CAAA;AACrB;;ACrEA;;;;;;AAMG;AACG,SAAU,WAAW,CAAI,IAAa,EAAA;AACxC,IAAA,MAAM,GAAG,GAAGc,YAAM,CAAW,IAAI,CAAC,CAAA;AAElC,IAAA,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE;AACtB,QAAA,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;KACvB;IAED,OAAO,GAAG,CAAC,OAAO,CAAA;AACtB;;ACnBA;;;;AAIG;AACG,SAAU,kBAAkB,CAC9B,KAAyC,EAAA;AAEzC,IAAA,OAAOH,uBAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AACrD;;ACyBA,SAAS,SAAS,CACd,EACI,2BAA2B,EAC3B,iBAAiB,GACM,EAC3B,KAAkB,EAClB,OAA2B,EAC3B,eAA4C,EAAA;AAE5C,IAAA,MAAM,KAAK,GAAuB;QAC9B,YAAY,EAAE,gBAAgB,CAC1B,KAAK,EACL,OAAO,EACP,eAAe,EACf,2BAA2B,CAC9B;QACD,WAAW,EAAE,iBAAiB,EAAE;KACnC,CAAA;AAED,IAAA,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CACrB,KAAkB,EAClB,OAA2B,EAC3B,eAA4C,EAC5C,kBAA+C,EAAA;IAE/C,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAClD,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;KACtD;AAED,IAAA,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;AAChC,IAAA,MAAMI,uBAAqB,GAAGC,qBAA0B,CAAC,KAAK,CAAC,CAAA;AAC/D,IAAA,MAAMC,eAAa,GAAGC,aAAkB,CAAC,KAAK,CAAC,CAAA;AAE/C,IAAA,IACI,OAAO;QACPD,eAAa;AACb,QAAA,CAACF,uBAAqB;AACtB,QAAA,KAAK,CAAC,OAAO,KAAK,KAAK,EACzB;QACE,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACpD,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;KACvD;IAED,IAAI,yBAAyB,GAAG,eAAe;AAC3C,UAAE,eAAe,CAAC,OAAO,KAAK,KAAK;UACjC,KAAK,CAAA;AACX,IAAA,yBAAyB,GAAG,yBAAyB,IAAI,OAAO,KAAK,KAAK,CAAA;IAE1E,MAAM,YAAY,GAAG,yBAAyB,GAAG,OAAO,GAAG,OAAO,CAAA;AAElE,IAAA,IACI,YAAY;QACZ,OAAO,YAAY,KAAK,SAAS;AACjC,QAAA,CAAC,mBAAmB,CAAC,YAAY,CAAC,EACpC;AACE,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,CAAC,YAAY,CAAC,CAAA;AACxE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAA;YAC/D,IAAI,QAAQ,EAAE;gBACV,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAA;AACzD,gBAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACtB,oBAAA,IAAI,WAAW,GAAG,MAAM,CAAC,GAA0B,CAAC,CAAA;AAEpD,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC5B;;;AAGG;wBACH,MAAM,KAAK,GAAG,yBAAyB;AACnC,8BAAE,WAAW,CAAC,MAAM,GAAG,CAAC;8BACtB,CAAC,CAAA;AACP,wBAAA,WAAW,GAAG,WAAW,CAAC,KAAK,CAAQ,CAAA;qBAC1C;AAED,oBAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACtB,wBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,WAAkC,CAAA;qBACnD;iBACJ;AACD,gBAAA,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;oBAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CACvB,GAAiC,CACb,CAAA;iBAC3B;aACJ;SACJ;KACJ;AAED,IAAA,OAAO,MAAM,CAAA;AACjB,CAAC;AAEM,MAAM,kBAAkB,GAC3B,CAAQ,MAAgC,KACxC,CAAC,KAAkB,EAAE,QAAiB,KAAwB;AAC1D,IAAA,MAAM,OAAO,GAAGd,gBAAU,CAAC,aAAa,CAAC,CAAA;AACzC,IAAA,MAAM,eAAe,GAAGA,gBAAU,CAAC,eAAe,CAAC,CAAA;AACnD,IAAA,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;AAErE,IAAA,OAAO,QAAQ,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;AAChD,CAAC;;SCvIWkB,6BAA2B,CACvC,KAAkB,EAClB,SAAsB,EACtB,aAA6B,EAAA;AAE7B,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,SAAS,GAA2B,EAAE,CAAA;AAE5C,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,QAAA,IACIR,uBAAa,CAAC,KAAK,CAAC,GAAwB,CAAC,CAAC;aAC7C,SAAS,CAAC,KAAK;gBACZA,uBAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAwB,CAAC,CAAC,CAAC;AAC7D,YAAA,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC;YAC/B,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,SAAS,EACvD;YACE,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAwB,CAAC,CAAA;SACnD;KACJ;AAED,IAAA,OAAO,SAAS,CAAA;AACpB;;ACpBO,MAAM,kBAAkB,iBAAiB,kBAAkB,CAAC;iCAC/DQ,6BAA2B;AAC3B,IAAA,iBAAiB,EAAE,qBAAqB;AAC3C,CAAA,CAAC;;SCJc,2BAA2B,CACvC,KAAkB,EAClB,SAAsB,EACtB,aAA6B,EAAA;IAE7B,MAAM,SAAS,GAAGC,6BAA+B,CAC7C,KAAK,EACL,SAAS,EACT,aAAa,CAChB,CAAA;AAED,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,QAAA,IACIT,uBAAa,CAAC,KAAK,CAAC,GAAyB,CAAC,CAAC;AAC/C,YAAAA,uBAAa,CAAC,SAAS,CAAC,GAA6B,CAAC,CAAC,EACzD;YACE,MAAM,SAAS,GACXJ,4BAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,kBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;kBACvD,GAAG,CAAA;YAEb,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAyB,CAAC,CAAA;SAC1D;KACJ;AAED,IAAA,OAAO,SAAS,CAAA;AACpB;;ACzBO,MAAM,iBAAiB,iBAAiB,kBAAkB,CAAC;AAC9D,IAAA,2BAA2B,EAAEc,2BAAc;AAC3C,IAAA,iBAAiB,EAAE,oBAAoB;AAC1C,CAAA,CAAC;;ACTK,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW;;ACGtD,MAAM,YAAY,GAAG;AACjB,IAAA,SAAS,EAAE;QACP,SAAS;QACT,UAAU;QACV,YAAY;QACZ,UAAU;QACV,MAAM;QACN,aAAa;QACb,YAAY;QACZ,WAAW;AACd,KAAA;IACD,IAAI,EAAE,CAAC,MAAM,CAAC;AACd,IAAA,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE,CAAC,YAAY,CAAC;AACrB,IAAA,KAAK,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;IACnD,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;IACvD,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,CAAC;AAC7D,IAAA,MAAM,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;AAC7D,IAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;CACjC,CAAA;AAEM,MAAM,kBAAkB,GAAgC,EAAE,CAAA;AAEjE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;IAC5B,kBAAkB,CAAC,GAAsC,CAAC,GAAG;QACzD,SAAS,EAAE,CAAC,KAAkB,KAC1B,YAAY,CAAC,GAAgC,CAAC,CAAC,IAAI,CAC/C,CAAC,IAAY,KAAK,CAAC,CAAC,KAAK,CAAC,IAA0B,CAAC,CACxD;KACR,CAAA;AACL;;ACjCO,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;;ACElE,SAAU,WAAW,CAAU,GAAQ,EAAA;AACzC,IAAA,QACI,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;AACvB,QAAA,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EACvD;AACL;;ACAA;;;AAGG;SACa,YAAY,CACxB,WAA+C,EAC/C,aAA8C,EAC9C,WAAiC,EAAA;AAEjC,IAAA,OAAOC,iBAAW,CACd,CAAC,QAAkB,KAAI;QACnB,IAAI,QAAQ,EAAE;YACV,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;SACvD;QAED,IAAI,aAAa,EAAE;YACf,IAAI,QAAQ,EAAE;AACV,gBAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;aAChC;iBAAM;gBACH,aAAa,CAAC,OAAO,EAAE,CAAA;aAC1B;SACJ;QAED,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;gBACnC,WAAW,CAAC,QAAQ,CAAC,CAAA;aACxB;AAAM,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;AAC/B,gBAAA,WAAmB,CAAC,OAAO,GAAG,QAAQ,CAAA;aAC3C;SACJ;KACJ;AACD;;;AAGG;IACH,CAAC,aAAa,CAAC,CAClB,CAAA;AACL;;AC7CA;;AAEG;AACI,MAAM,WAAW,GAAG,CAAC,GAAW,KACnC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;;ACFnD,MAAM,qBAAqB,GAAG,gBAAgB,CAAA;AAE9C,MAAM,4BAA4B,GACrC,OAAO,GAAG,WAAW,CAAC,qBAAqB,CAA4B;;ACqB3E;;AAEG;AACI,MAAM,wBAAwB,GAAGtB,mBAAa,CACjD,EAAE,CACL;;AC1BM,MAAM,yBAAyB,GAAG,SAAS,GAAGuB,qBAAe,GAAGC,eAAS;;ACmB1E,SAAU,gBAAgB,CAI5B,SAAwD,EACxD,WAE+C,EAC/C,KAAiD,EACjD,mBAAyD,EACzD,yBAA+B,EAAA;IAE/B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAGvB,gBAAU,CAAC,aAAa,CAAC,CAAA;AAC3D,IAAA,MAAM,WAAW,GAAGA,gBAAU,CAAC,WAAW,CAAC,CAAA;AAC3C,IAAA,MAAM,eAAe,GAAGA,gBAAU,CAAC,eAAe,CAAC,CAAA;IACnD,MAAM,mBAAmB,GAAGA,gBAAU,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAA;AAEzE,IAAA,MAAM,gBAAgB,GAAGa,YAAM,CAErB,IAAI,CAAC,CAAA;AAEf;;AAEG;IACH,mBAAmB;QACf,mBAAmB;YAClB,WAAW,CAAC,QAAgD,CAAA;AAEjE,IAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,mBAAmB,EAAE;AAClD,QAAA,gBAAgB,CAAC,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE;YACtD,WAAW;YACX,MAAM;YACN,KAAK;YACL,eAAe;AACf,YAAA,qBAAqB,EAAE,eAAe;AAClC,kBAAE,eAAe,CAAC,OAAO,KAAK,KAAK;AACnC,kBAAE,KAAK;YACX,mBAAmB;AACtB,SAAA,CAAC,CAAA;KACL;AAED,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE9C;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAGb,gBAAU,CAAC,wBAAwB,CAAC,CAAA;AAErE,IAAA,IACI,aAAa;QACb,CAAC,aAAa,CAAC,UAAU;QACzB,yBAAyB;AACzB,SAAC,aAAa,CAAC,IAAI,KAAK,MAAM,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,CAAC,EACjE;QACE,oBAAoB,CAChB,gBAAgB,CAAC,OAAQ,EACzB,KAAK,EACL,yBAAyB,EACzB,wBAAwB,CAC3B,CAAA;KACJ;AAED,IAAA,MAAM,SAAS,GAAGa,YAAM,CAAC,KAAK,CAAC,CAAA;IAC/BW,wBAAkB,CAAC,MAAK;AACpB;;;AAGG;AACH,QAAA,IAAI,aAAa,IAAI,SAAS,CAAC,OAAO,EAAE;AACpC,YAAA,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;SAC/C;AACL,KAAC,CAAC,CAAA;AAEF;;;AAGG;AACH,IAAA,MAAM,iBAAiB,GACnB,KAAK,CAAC,4BAAkD,CAAC,CAAA;AAC7D,IAAA,MAAM,YAAY,GAAGX,YAAM,CACvB,OAAO,CAAC,iBAAiB,CAAC;AACtB,QAAA,CAAC,MAAM,CAAC,uBAAuB,GAAG,iBAAiB,CAAC;AACpD,QAAA,MAAM,CAAC,2BAA2B,GAAG,iBAAiB,CAAC,CAC9D,CAAA;IAED,yBAAyB,CAAC,MAAK;AAC3B,QAAA,IAAI,CAAC,aAAa;YAAE,OAAM;AAE1B,QAAA,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;AACxB,QAAA,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;QAE7B,aAAa,CAAC,cAAc,EAAE,CAAA;QAC9B,aAAa,CAAC,uBAAuB,EAAE,CAAA;AAEvC;;;;;;;;;AASG;QACH,IAAI,YAAY,CAAC,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE;AACtD,YAAA,aAAa,CAAC,cAAc,CAAC,cAAc,EAAE,CAAA;SAChD;AACL,KAAC,CAAC,CAAA;IAEFU,eAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,aAAa;YAAE,OAAM;QAE1B,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE;AACvD,YAAA,aAAa,CAAC,cAAc,CAAC,cAAc,EAAE,CAAA;SAChD;AAED,QAAA,IAAI,YAAY,CAAC,OAAO,EAAE;;YAEtB,cAAc,CAAC,MAAK;AAChB,gBAAA,MAAM,CAAC,2BAA2B,GAAG,iBAAiB,CAAC,CAAA;AAC3D,aAAC,CAAC,CAAA;AAEF,YAAA,YAAY,CAAC,OAAO,GAAG,KAAK,CAAA;SAC/B;AAED;;;AAGG;AACH,QAAA,aAAa,CAAC,gBAAgB,GAAG,SAAS,CAAA;AAC9C,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,aAAc,CAAA;AACzB,CAAC;AAED,SAAS,oBAAoB,CACzB,aAAiC,EACjC,KAAkB,EAClB,yBAA8B,EAC9B,sBAA+C,EAAA;AAE/C,IAAA,MAAM,EACF,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,GAClB,GAAG,KAAK,CAAA;AAET,IAAA,aAAa,CAAC,UAAU,GAAG,IAAI,yBAAyB,CACpD,aAAa,CAAC,YAAY,EAC1B,KAAK,CAAC,uBAAuB,CAAC;AAC1B,UAAE,SAAS;UACT,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC,CACpC,CAAA;AAEpB,IAAA,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;QAChC,QAAQ;QACR,MAAM;AACN,QAAA,mBAAmB,EACf,OAAO,CAAC,IAAI,CAAC,KAAK,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QACtE,aAAa;AACb;;;;;;AAMG;AACH,QAAA,aAAa,EAAE,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM;QAC3D,sBAAsB;AACtB,QAAA,SAAS,EAAE,eAAe;QAC1B,YAAY;QACZ,UAAU;AACb,KAAA,CAAC,CAAA;AACN,CAAC;AAED,SAAS,wBAAwB,CAC7B,aAIC,EAAA;AAED,IAAA,IAAI,CAAC,aAAa;AAAE,QAAA,OAAO,SAAS,CAAA;AAEpC,IAAA,OAAO,aAAa,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK;UAChD,aAAa,CAAC,UAAU;AAC1B,UAAE,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AACxD;;AClKA;;;;;;;;AAQG;AACa,SAAA,qBAAqB,CAIjC,SAAwD,EACxD,EAAE,kBAAkB,GAAG,KAAK,EAA6B,GAAA,EAAE,EAC3D,iBAAmC,EACnC,mBAAyD,EAAA;AAIzD,IAAA,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC;AAC5C,UAAE,iBAAiB;UACjB,kBAAkB,CAAA;AAExB,IAAA,SAAS,kBAAkB,CACvB,KAAkC,EAClC,WAAiD,EAAA;AAEjD;;;AAGG;AACH,QAAA,IAAI,aAA2D,CAAA;AAE/D,QAAA,MAAM,cAAc,GAAG;YACnB,GAAGvB,gBAAU,CAAC,mBAAmB,CAAC;AAClC,YAAA,GAAG,KAAK;AACR,YAAA,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC;SAC/B,CAAA;AAED,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;AAEnC,QAAA,MAAM,OAAO,GAAG,sBAAsB,CAA2B,KAAK,CAAC,CAAA;QAEvE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAEnD,QAAA,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;AACxB,YAAA,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAA;AAEhD,YAAA,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAA;AACnE,YAAA,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAA;AAE9C;;;;;AAKG;AACH,YAAA,OAAO,CAAC,aAAa,GAAG,gBAAgB,CACpC,SAAS,EACT,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAAC,cAAc,CAClC,CAAA;SACJ;AAED;;;AAGG;AACH,QAAA,QACIyB,eAAA,CAAC,aAAa,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,OAAO,EAAA,QAAA,EAAA,CACjC,aAAa,IAAI,OAAO,CAAC,aAAa,IACnCC,cAAA,CAAC,aAAa,EAAA,EACV,aAAa,EAAE,OAAO,CAAC,aAAa,EAAA,GAChC,cAAc,EAAA,CACpB,IACF,IAAI,EACP,SAAS,CACN,SAAS,EACT,KAAK,EACL,YAAY,CAGV,WAAW,EAAE,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAClD,WAAW,EACX,QAAQ,EACR,kBAAkB,CACrB,CAAA,EAAA,CACoB,EAC5B;KACJ;AAED,IAAA,kBAAkB,CAAC,WAAW,GAAG,UAC7B,OAAO,SAAS,KAAK,QAAQ;AACzB,UAAE,SAAS;AACX,UAAE,CAAA,OAAA,EAAU,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,CAAA,CAAA,CACjE,EAAE,CAAA;AAEF,IAAA,MAAM,yBAAyB,GAAGC,gBAAU,CAAC,kBAAyB,CAAC,CACtE;AAAC,IAAA,yBAAiC,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;AAEtE,IAAA,OAAO,yBAA4D,CAAA;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAe,EAAA;IAC1C,MAAM,aAAa,GAAG3B,gBAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAA;AACvD,IAAA,OAAO,aAAa,IAAI,QAAQ,KAAK,SAAS;AAC1C,UAAE,aAAa,GAAG,GAAG,GAAG,QAAQ;UAC9B,QAAQ,CAAA;AAClB,CAAC;AAED,SAAS,aAAa,CAClB,cAA2B,EAC3B,iBAAmC,EAAA;IAEnC,MAAM,QAAQ,GAAGA,gBAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;AAE/C;;;AAGG;AACH,IAAA,IACI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,iBAAiB;AACjB,QAAA,QAAQ,EACV;QACE,MAAM,aAAa,GACf,kJAAkJ,CAAA;AACtJ,QAAA,cAAc,CAAC,YAAY;cACrB4B,mBAAO,CAAC,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC;cACjDC,qBAAS,CAAC,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAA;KAC5D;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAkB,EAAA;AAClD,IAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAA;AAE3C,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE,CAAA;IAE/B,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;IAEvC,OAAO;AACH,QAAA,aAAa,EACT,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;cAC5C,QAAQ,CAAC,aAAa;AACxB,cAAE,SAAS;QACnB,cAAc,EAAE,QAAQ,CAAC,cAAc;KAC1C,CAAA;AACL;;ACzMgB,SAAA,4BAA4B,CAIxC,SAAwD,EACxD,OAAgC,EAAA;AAEhC,IAAA,OAAO,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AACpD;;ACPA;;AAEG;AACU,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,gBAAgB;AACzB,cAAc,4BAA4B,CAAC,YAAY,EAAC;AAC/C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;MACnE,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;MACjE,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;MAC7C,gBAAgB;AACzB,cAAc,4BAA4B,CAAC,YAAY,EAAC;AAC/C,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;MAC3D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;MACjE,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;MACnE,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;MAC3D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,QAAQ,iBAAiB,4BAA4B,CAAC,IAAI,EAAC;AAC3D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;MAC7D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAEzD;;AAEG;MACU,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;AAC5C,MAAA,OAAO,iBAAiB,4BAA4B,CAAC,GAAG,EAAC;AACzD,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;AAC7C,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;AACnE,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;AAC/D,MAAA,WAAW,iBAAiB,4BAA4B,CAAC,OAAO,EAAC;AACjE,MAAA,SAAS,iBAAiB,4BAA4B,CAAC,KAAK,EAAC;AAC7D,MAAA,UAAU,iBAAiB,4BAA4B,CAAC,MAAM,EAAC;MAC/D,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;MAC7C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,mBAAmB;AAC5B,cAAc,4BAA4B,CAAC,eAAe,EAAC;MAClD,yBAAyB;AAClC,cAAc,4BAA4B,CAAC,qBAAqB,EAAC;MACxD,iBAAiB;AAC1B,cAAc,4BAA4B,CAAC,aAAa,EAAC;MAChD,sBAAsB;AAC/B,cAAc,4BAA4B,CAAC,kBAAkB,EAAC;MACrD,uBAAuB;AAChC,cAAc,4BAA4B,CAAC,mBAAmB,EAAC;MACtD,uBAAuB;AAChC,cAAc,4BAA4B,CAAC,mBAAmB,EAAC;MACtD,oBAAoB;AAC7B,cAAc,4BAA4B,CAAC,gBAAgB,EAAC;MACnD,kBAAkB;AAC3B,cAAc,4BAA4B,CAAC,cAAc,EAAC;MACjD,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,oBAAoB;AAC7B,cAAc,4BAA4B,CAAC,gBAAgB,EAAC;MACnD,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,aAAa;AACtB,cAAc,4BAA4B,CAAC,SAAS,EAAC;MAC5C,iBAAiB;AAC1B,cAAc,4BAA4B,CAAC,aAAa,EAAC;MAChD,kBAAkB;AAC3B,cAAc,4BAA4B,CAAC,cAAc,EAAC;MACjD,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU,EAAC;MAC7C,kBAAkB;AAC3B,cAAc,4BAA4B,CAAC,cAAc,EAAC;MACjD,wBAAwB;AACjC,cAAc,4BAA4B,CAAC,oBAAoB,EAAC;MACvD,iBAAiB;AAC1B,cAAc,4BAA4B,CAAC,aAAa,EAAC;AAChD,MAAA,YAAY,iBAAiB,4BAA4B,CAAC,QAAQ,EAAC;MACnE,kBAAkB;AAC3B,cAAc,4BAA4B,CAAC,cAAc,EAAC;MACjD,mBAAmB;AAC5B,cAAc,4BAA4B,CAAC,eAAe,EAAC;MAClD,oBAAoB;AAC7B,cAAc,4BAA4B,CAAC,gBAAgB,EAAC;MACnD,oBAAoB;AAC7B,cAAc,4BAA4B,CAAC,gBAAgB,EAAC;MACnD,cAAc;AACvB,cAAc,4BAA4B,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"m.js","sources":["../../src/context/LayoutGroupContext.ts","../../src/context/LazyContext.ts","../../src/context/MotionConfigContext.tsx","../../src/context/MotionContext/index.ts","../../src/animation/utils/is-animation-controls.ts","../../src/render/utils/is-variant-label.ts","../../src/render/utils/variant-props.ts","../../src/render/utils/is-controlling-variants.ts","../../src/context/MotionContext/utils.ts","../../src/context/MotionContext/create.ts","../../src/projection/styles/scale-border-radius.ts","../../src/projection/styles/scale-box-shadow.ts","../../src/projection/styles/scale-correction.ts","../../src/motion/utils/is-forced-motion-value.ts","../../src/render/html/utils/build-transform.ts","../../src/render/html/utils/build-styles.ts","../../src/render/html/utils/create-render-state.ts","../../src/render/html/use-props.ts","../../src/render/svg/utils/path.ts","../../src/render/svg/utils/build-attrs.ts","../../src/render/svg/utils/create-render-state.ts","../../src/render/svg/utils/is-svg-tag.ts","../../src/render/svg/use-props.ts","../../src/motion/utils/valid-prop.ts","../../src/render/dom/utils/filter-props.ts","../../src/render/svg/lowercase-elements.ts","../../src/render/dom/utils/is-svg-component.ts","../../src/render/dom/use-render.ts","../../src/context/PresenceContext.ts","../../src/render/utils/resolve-variants.ts","../../src/utils/use-constant.ts","../../src/value/utils/resolve-motion-value.ts","../../src/motion/utils/use-visual-state.ts","../../src/render/html/utils/scrape-motion-values.ts","../../src/render/html/use-html-visual-state.ts","../../src/render/svg/utils/scrape-motion-values.ts","../../src/render/svg/use-svg-visual-state.ts","../../src/utils/is-browser.ts","../../src/motion/features/definitions.ts","../../src/motion/utils/symbol.ts","../../src/utils/is-ref-object.ts","../../src/motion/utils/use-motion-ref.ts","../../src/render/dom/utils/camel-to-dash.ts","../../src/animation/optimized-appear/data-id.ts","../../src/context/SwitchLayoutGroupContext.ts","../../src/utils/use-isomorphic-effect.ts","../../src/motion/utils/use-visual-element.ts","../../src/motion/index.tsx","../../src/render/components/m/create.ts","../../src/render/components/m/elements.ts"],"sourcesContent":["\"use client\"\n\nimport { createContext } from \"react\"\nimport { NodeGroup } from \"../projection/node/group\"\n\nexport interface LayoutGroupContextProps {\n id?: string\n group?: NodeGroup\n forceRender?: VoidFunction\n}\n\nexport const LayoutGroupContext = createContext<LayoutGroupContextProps>({})\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport { CreateVisualElement } from \"../render/types\"\n\nexport interface LazyContextProps {\n renderer?: CreateVisualElement\n strict: boolean\n}\n\nexport const LazyContext = createContext<LazyContextProps>({ strict: false })\n","\"use client\"\n\nimport type { Transition } from \"motion-dom\"\nimport { TransformPoint } from \"motion-utils\"\nimport { createContext } from \"react\"\n\nexport type ReducedMotionConfig = \"always\" | \"never\" | \"user\"\n\n/**\n * @public\n */\nexport interface MotionConfigContext {\n /**\n * Internal, exported only for usage in Framer\n */\n transformPagePoint: TransformPoint\n\n /**\n * Internal. Determines whether this is a static context ie the Framer canvas. If so,\n * it'll disable all dynamic functionality.\n */\n isStatic: boolean\n\n /**\n * Defines a new default transition for the entire tree.\n *\n * @public\n */\n transition?: Transition\n\n /**\n * If true, will respect the device prefersReducedMotion setting by switching\n * transform animations off.\n *\n * @public\n */\n reducedMotion?: ReducedMotionConfig\n\n /**\n * A custom `nonce` attribute used when wanting to enforce a Content Security Policy (CSP).\n * For more details see:\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src#unsafe_inline_styles\n *\n * @public\n */\n nonce?: string\n}\n\n/**\n * @public\n */\nexport const MotionConfigContext = createContext<MotionConfigContext>({\n transformPagePoint: (p) => p,\n isStatic: false,\n reducedMotion: \"never\",\n})\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport type { VisualElement } from \"../../render/VisualElement\"\n\nexport interface MotionContextProps<Instance = unknown> {\n visualElement?: VisualElement<Instance>\n initial?: false | string | string[]\n animate?: string | string[]\n}\n\nexport const MotionContext = /* @__PURE__ */ createContext<MotionContextProps>(\n {}\n)\n","import { LegacyAnimationControls } from \"motion-dom\"\n\nexport function isAnimationControls(v?: unknown): v is LegacyAnimationControls {\n return (\n v !== null &&\n typeof v === \"object\" &&\n typeof (v as LegacyAnimationControls).start === \"function\"\n )\n}\n","/**\n * Decides if the supplied variable is variant label\n */\nexport function isVariantLabel(v: unknown): v is string | string[] {\n return typeof v === \"string\" || Array.isArray(v)\n}\n","import { AnimationType } from \"./types\"\n\nexport const variantPriorityOrder: AnimationType[] = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n]\n\nexport const variantProps = [\"initial\", ...variantPriorityOrder]\n","import { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isVariantLabel } from \"./is-variant-label\"\nimport { variantProps } from \"./variant-props\"\n\nexport function isControllingVariants(props: MotionProps) {\n return (\n isAnimationControls(props.animate) ||\n variantProps.some((name) =>\n isVariantLabel(props[name as keyof typeof props])\n )\n )\n}\n\nexport function isVariantNode(props: MotionProps) {\n return Boolean(isControllingVariants(props) || props.variants)\n}\n","import type { MotionContextProps } from \".\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isControllingVariants } from \"../../render/utils/is-controlling-variants\"\nimport { isVariantLabel } from \"../../render/utils/is-variant-label\"\n\nexport function getCurrentTreeVariants(\n props: MotionProps,\n context: MotionContextProps\n): MotionContextProps {\n if (isControllingVariants(props)) {\n const { initial, animate } = props\n return {\n initial:\n initial === false || isVariantLabel(initial)\n ? (initial as any)\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n }\n }\n return props.inherit !== false ? context : {}\n}\n","\"use client\"\n\nimport { useContext, useMemo } from \"react\"\nimport { MotionContext, type MotionContextProps } from \".\"\nimport { MotionProps } from \"../../motion/types\"\nimport { getCurrentTreeVariants } from \"./utils\"\n\nexport function useCreateMotionContext<Instance>(\n props: MotionProps\n): MotionContextProps<Instance> {\n const { initial, animate } = getCurrentTreeVariants(\n props,\n useContext(MotionContext)\n )\n\n return useMemo(\n () => ({ initial, animate }),\n [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]\n )\n}\n\nfunction variantLabelsAsDependency(\n prop: undefined | string | string[] | boolean\n) {\n return Array.isArray(prop) ? prop.join(\" \") : prop\n}\n","import { px } from \"motion-dom\"\nimport { Axis } from \"motion-utils\"\nimport { ScaleCorrectorDefinition } from \"./types\"\n\nexport function pixelsToPercent(pixels: number, axis: Axis): number {\n if (axis.max === axis.min) return 0\n return (pixels / (axis.max - axis.min)) * 100\n}\n\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nexport const correctBorderRadius: ScaleCorrectorDefinition = {\n correct: (latest, node) => {\n if (!node.target) return latest\n\n /**\n * If latest is a string, if it's a percentage we can return immediately as it's\n * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n */\n if (typeof latest === \"string\") {\n if (px.test(latest)) {\n latest = parseFloat(latest)\n } else {\n return latest\n }\n }\n\n /**\n * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n * pixel value as a percentage of each axis\n */\n const x = pixelsToPercent(latest, node.target.x)\n const y = pixelsToPercent(latest, node.target.y)\n\n return `${x}% ${y}%`\n },\n}\n","import { complex, mixNumber } from \"motion-dom\"\nimport { ScaleCorrectorDefinition } from \"./types\"\n\nexport const correctBoxShadow: ScaleCorrectorDefinition = {\n correct: (latest: string, { treeScale, projectionDelta }) => {\n const original = latest\n const shadow = complex.parse(latest)\n\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5) return original\n\n const template = complex.createTransformer(latest)\n const offset = typeof shadow[0] !== \"number\" ? 1 : 0\n\n // Calculate the overall context scale\n const xScale = projectionDelta!.x.scale * treeScale!.x\n const yScale = projectionDelta!.y.scale * treeScale!.y\n\n // Scale x/y\n ;(shadow[0 + offset] as number) /= xScale\n ;(shadow[1 + offset] as number) /= yScale\n\n /**\n * Ideally we'd correct x and y scales individually, but because blur and\n * spread apply to both we have to take a scale average and apply that instead.\n * We could potentially improve the outcome of this by incorporating the ratio between\n * the two scales.\n */\n const averageScale = mixNumber(xScale, yScale, 0.5)\n\n // Blur\n if (typeof shadow[2 + offset] === \"number\")\n (shadow[2 + offset] as number) /= averageScale\n\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n (shadow[3 + offset] as number) /= averageScale\n\n return template(shadow)\n },\n}\n","import { isCSSVariableName } from \"motion-dom\"\nimport { correctBorderRadius } from \"./scale-border-radius\"\nimport { correctBoxShadow } from \"./scale-box-shadow\"\nimport { ScaleCorrectorMap } from \"./types\"\n\nexport const scaleCorrectors: ScaleCorrectorMap = {\n borderRadius: {\n ...correctBorderRadius,\n applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ],\n },\n borderTopLeftRadius: correctBorderRadius,\n borderTopRightRadius: correctBorderRadius,\n borderBottomLeftRadius: correctBorderRadius,\n borderBottomRightRadius: correctBorderRadius,\n boxShadow: correctBoxShadow,\n}\n\nexport function addScaleCorrector(correctors: ScaleCorrectorMap) {\n for (const key in correctors) {\n scaleCorrectors[key] = correctors[key]\n if (isCSSVariableName(key)) {\n scaleCorrectors[key].isCSSVariable = true\n }\n }\n}\n","import { transformProps } from \"motion-dom\"\nimport { MotionProps } from \"../..\"\nimport { scaleCorrectors } from \"../../projection/styles/scale-correction\"\n\nexport function isForcedMotionValue(\n key: string,\n { layout, layoutId }: MotionProps\n) {\n return (\n transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\"))\n )\n}\n","import {\n getValueAsType,\n numberValueTypes,\n transformPropOrder,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n}\n\nconst numTransforms = transformPropOrder.length\n\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nexport function buildTransform(\n latestValues: ResolvedValues,\n transform: HTMLRenderState[\"transform\"],\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n // The transform string we're going to build into.\n let transformString = \"\"\n let transformIsDefault = true\n\n /**\n * Loop over all possible transforms in order, adding the ones that\n * are present to the transform string.\n */\n for (let i = 0; i < numTransforms; i++) {\n const key = transformPropOrder[i] as keyof typeof translateAlias\n const value = latestValues[key]\n\n if (value === undefined) continue\n\n let valueIsDefault = true\n if (typeof value === \"number\") {\n valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0)\n } else {\n valueIsDefault = parseFloat(value) === 0\n }\n\n if (!valueIsDefault || transformTemplate) {\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (!valueIsDefault) {\n transformIsDefault = false\n const transformName = translateAlias[key] || key\n transformString += `${transformName}(${valueAsType}) `\n }\n\n if (transformTemplate) {\n transform[key] = valueAsType\n }\n }\n }\n\n transformString = transformString.trim()\n\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(\n transform,\n transformIsDefault ? \"\" : transformString\n )\n } else if (transformIsDefault) {\n transformString = \"none\"\n }\n\n return transformString\n}\n","import {\n getValueAsType,\n isCSSVariableName,\n numberValueTypes,\n transformProps,\n} from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { ResolvedValues } from \"../../types\"\nimport { HTMLRenderState } from \"../types\"\nimport { buildTransform } from \"./build-transform\"\n\nexport function buildHTMLStyles(\n state: HTMLRenderState,\n latestValues: ResolvedValues,\n transformTemplate?: MotionProps[\"transformTemplate\"]\n) {\n const { style, vars, transformOrigin } = state\n\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false\n let hasTransformOrigin = false\n\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept separately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key]\n\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true\n continue\n } else if (isCSSVariableName(key)) {\n vars[key] = value\n continue\n } else {\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueAsType = getValueAsType(value, numberValueTypes[key])\n\n if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true\n transformOrigin[key as keyof typeof transformOrigin] =\n valueAsType\n } else {\n style[key] = valueAsType\n }\n }\n }\n\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(\n latestValues,\n state.transform,\n transformTemplate\n )\n } else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\"\n }\n }\n\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const {\n originX = \"50%\",\n originY = \"50%\",\n originZ = 0,\n } = transformOrigin\n style.transformOrigin = `${originX} ${originY} ${originZ}`\n }\n}\n","import { HTMLRenderState } from \"../types\"\n\nexport const createHtmlRenderState = (): HTMLRenderState => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n})\n","\"use client\"\n\nimport { AnyResolvedKeyframe, isMotionValue, MotionValue } from \"motion-dom\"\nimport { HTMLProps, useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { isForcedMotionValue } from \"../../motion/utils/is-forced-motion-value\"\nimport { ResolvedValues } from \"../types\"\nimport { buildHTMLStyles } from \"./utils/build-styles\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\n\nexport function copyRawValuesOnly(\n target: ResolvedValues,\n source: { [key: string]: AnyResolvedKeyframe | MotionValue },\n props: MotionProps\n) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key] as AnyResolvedKeyframe\n }\n }\n}\n\nfunction useInitialMotionValues(\n { transformTemplate }: MotionProps,\n visualState: ResolvedValues\n) {\n return useMemo(() => {\n const state = createHtmlRenderState()\n\n buildHTMLStyles(state, visualState, transformTemplate)\n\n return Object.assign({}, state.vars, state.style)\n }, [visualState])\n}\n\nfunction useStyle(\n props: MotionProps,\n visualState: ResolvedValues\n): ResolvedValues {\n const styleProp = props.style || {}\n const style = {}\n\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp as any, props)\n\n Object.assign(style, useInitialMotionValues(props, visualState))\n\n return style\n}\n\nexport function useHTMLProps(\n props: MotionProps & HTMLProps<HTMLElement>,\n visualState: ResolvedValues\n) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps: any = {}\n const style = useStyle(props, visualState)\n\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false\n\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\"\n\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`\n }\n\n if (\n props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)\n ) {\n htmlProps.tabIndex = 0\n }\n\n htmlProps.style = style\n\n return htmlProps\n}\n","import { px } from \"motion-dom\"\nimport { ResolvedValues } from \"../../types\"\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n}\n\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n}\n\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nexport function buildSVGPath(\n attrs: ResolvedValues,\n length: number,\n spacing = 1,\n offset = 0,\n useDashCase: boolean = true\n): void {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1\n\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n const keys = useDashCase ? dashKeys : camelKeys\n\n // Build the dash offset\n attrs[keys.offset] = px.transform!(-offset)\n\n // Build the dash array\n const pathLength = px.transform!(length)\n const pathSpacing = px.transform!(spacing)\n attrs[keys.array] = `${pathLength} ${pathSpacing}`\n}\n","import { MotionProps } from \"../../../motion/types\"\nimport { buildHTMLStyles } from \"../../html/utils/build-styles\"\nimport { ResolvedValues } from \"../../types\"\nimport { SVGRenderState } from \"../types\"\nimport { buildSVGPath } from \"./path\"\n\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nexport function buildSVGAttrs(\n state: SVGRenderState,\n {\n attrX,\n attrY,\n attrScale,\n pathLength,\n pathSpacing = 1,\n pathOffset = 0,\n // This is object creation, which we try to avoid per-frame.\n ...latest\n }: ResolvedValues,\n isSVGTag: boolean,\n transformTemplate?: MotionProps[\"transformTemplate\"],\n styleProp?: MotionProps[\"style\"]\n) {\n buildHTMLStyles(state, latest, transformTemplate)\n\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox\n }\n return\n }\n\n state.attrs = state.style\n state.style = {}\n const { attrs, style } = state\n\n /**\n * However, we apply transforms as CSS transforms.\n * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n */\n if (attrs.transform) {\n style.transform = attrs.transform\n delete attrs.transform\n }\n if (style.transform || attrs.transformOrigin) {\n style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\"\n delete attrs.transformOrigin\n }\n\n if (style.transform) {\n /**\n * SVG's element transform-origin uses its own median as a reference.\n * Therefore, transformBox becomes a fill-box\n */\n style.transformBox = (styleProp?.transformBox as string) ?? \"fill-box\"\n delete attrs.transformBox\n }\n\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined) attrs.x = attrX\n if (attrY !== undefined) attrs.y = attrY\n if (attrScale !== undefined) attrs.scale = attrScale\n\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(\n attrs,\n pathLength as number,\n pathSpacing as number,\n pathOffset as number,\n false\n )\n }\n}\n","import { createHtmlRenderState } from \"../../html/utils/create-render-state\"\nimport { SVGRenderState } from \"../types\"\n\nexport const createSvgRenderState = (): SVGRenderState => ({\n ...createHtmlRenderState(),\n attrs: {},\n})\n","export const isSVGTag = (tag: unknown) =>\n typeof tag === \"string\" && tag.toLowerCase() === \"svg\"\n","\"use client\"\n\nimport { useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { copyRawValuesOnly } from \"../html/use-props\"\nimport { ResolvedValues } from \"../types\"\nimport { buildSVGAttrs } from \"./utils/build-attrs\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { isSVGTag } from \"./utils/is-svg-tag\"\n\nexport function useSVGProps(\n props: MotionProps,\n visualState: ResolvedValues,\n _isStatic: boolean,\n Component: string | React.ComponentType<React.PropsWithChildren<unknown>>\n) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState()\n\n buildSVGAttrs(\n state,\n visualState,\n isSVGTag(Component),\n props.transformTemplate,\n props.style\n )\n\n return {\n ...state.attrs,\n style: { ...state.style },\n }\n }, [visualState])\n\n if (props.style) {\n const rawStyles = {}\n copyRawValuesOnly(rawStyles, props.style as any, props)\n visualProps.style = { ...rawStyles, ...visualProps.style }\n }\n\n return visualProps\n}\n","import { MotionProps } from \"../types\"\n\n/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set<keyof MotionProps>([\n \"animate\",\n \"exit\",\n \"variants\",\n \"initial\",\n \"style\",\n \"values\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"custom\",\n \"inherit\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"_dragX\",\n \"_dragY\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"globalTapTarget\",\n \"ignoreStrict\",\n \"viewport\",\n])\n\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nexport function isValidMotionProp(key: string) {\n return (\n key.startsWith(\"while\") ||\n (key.startsWith(\"drag\") && key !== \"draggable\") ||\n key.startsWith(\"layout\") ||\n key.startsWith(\"onTap\") ||\n key.startsWith(\"onPan\") ||\n key.startsWith(\"onLayout\") ||\n validMotionProps.has(key as keyof MotionProps)\n )\n}\n","import type { MotionProps } from \"../../../motion/types\"\nimport { isValidMotionProp } from \"../../../motion/utils/valid-prop\"\n\nlet shouldForward = (key: string) => !isValidMotionProp(key)\n\nexport type IsValidProp = (key: string) => boolean\n\nexport function loadExternalIsValidProp(isValidProp?: IsValidProp) {\n if (typeof isValidProp !== \"function\") return\n\n // Explicitly filter our events\n shouldForward = (key: string) =>\n key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key)\n}\n\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default)\n} catch {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\n\nexport function filterProps(\n props: MotionProps,\n isDom: boolean,\n forwardMotionProps: boolean\n) {\n const filteredProps: MotionProps = {}\n\n for (const key in props) {\n /**\n * values is considered a valid prop by Emotion, so if it's present\n * this will be rendered out to the DOM unless explicitly filtered.\n *\n * We check the type as it could be used with the `feColorMatrix`\n * element, which we support.\n */\n if (key === \"values\" && typeof props.values === \"object\") continue\n\n if (\n shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\" as keyof MotionProps] &&\n key.startsWith(\"onDrag\"))\n ) {\n filteredProps[key as keyof MotionProps] =\n props[key as keyof MotionProps]\n }\n }\n\n return filteredProps\n}\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nexport const lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"switch\",\n \"symbol\",\n \"svg\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n]\n","import * as React from \"react\"\nimport { lowercaseSVGElements } from \"../../svg/lowercase-elements\"\n\nexport function isSVGComponent(Component: string | React.ComponentType<any>) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")\n ) {\n return false\n } else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/u.test(Component)\n ) {\n return true\n }\n\n return false\n}\n","\"use client\"\n\nimport { isMotionValue } from \"motion-dom\"\nimport { Fragment, createElement, useMemo } from \"react\"\nimport { MotionProps } from \"../../motion/types\"\nimport { VisualState } from \"../../motion/utils/use-visual-state\"\nimport { HTMLRenderState } from \"../html/types\"\nimport { useHTMLProps } from \"../html/use-props\"\nimport { SVGRenderState } from \"../svg/types\"\nimport { useSVGProps } from \"../svg/use-props\"\nimport { DOMMotionComponents } from \"./types\"\nimport { filterProps } from \"./utils/filter-props\"\nimport { isSVGComponent } from \"./utils/is-svg-component\"\n\nexport function useRender<\n Props = {},\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n props: MotionProps,\n ref: React.Ref<HTMLElement | SVGElement>,\n {\n latestValues,\n }: VisualState<HTMLElement | SVGElement, HTMLRenderState | SVGRenderState>,\n isStatic: boolean,\n forwardMotionProps: boolean = false,\n isSVG?: boolean\n) {\n const useVisualProps =\n (isSVG ?? isSVGComponent(Component)) ? useSVGProps : useHTMLProps\n\n const visualProps = useVisualProps(\n props as any,\n latestValues,\n isStatic,\n Component as any\n )\n const filteredProps = filterProps(\n props,\n typeof Component === \"string\",\n forwardMotionProps\n )\n const elementProps =\n Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {}\n\n /**\n * If component has been handed a motion value as its child,\n * memoise its initial value and render that. Subsequent updates\n * will be handled by the onChange handler\n */\n const { children } = props\n const renderedChildren = useMemo(\n () => (isMotionValue(children) ? children.get() : children),\n [children]\n )\n\n return createElement<any>(Component, {\n ...elementProps,\n children: renderedChildren,\n })\n}\n","\"use client\"\n\nimport { createContext } from \"react\"\nimport { VariantLabels } from \"../motion/types\"\n\n/**\n * @public\n */\nexport interface PresenceContextProps {\n id: string\n isPresent: boolean\n register: (id: string | number) => () => void\n onExitComplete?: (id: string | number) => void\n initial?: false | VariantLabels\n custom?: any\n}\n\n/**\n * @public\n */\nexport const PresenceContext =\n /* @__PURE__ */ createContext<PresenceContextProps | null>(null)\n","import type {\n AnimationDefinition,\n TargetAndTransition,\n TargetResolver,\n} from \"motion-dom\"\nimport type { MotionProps } from \"../../motion/types\"\nimport { VisualElement } from \"../VisualElement\"\nimport type { ResolvedValues } from \"../types\"\n\nfunction getValueState(\n visualElement?: VisualElement\n): [ResolvedValues, ResolvedValues] {\n const state: [ResolvedValues, ResolvedValues] = [{}, {}]\n\n visualElement?.values.forEach((value, key) => {\n state[0][key] = value.get()\n state[1][key] = value.getVelocity()\n })\n\n return state\n}\n\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition: TargetAndTransition | TargetResolver,\n custom?: any,\n visualElement?: VisualElement\n): TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n): undefined | TargetAndTransition\nexport function resolveVariantFromProps(\n props: MotionProps,\n definition?: AnimationDefinition,\n custom?: any,\n visualElement?: VisualElement\n) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = props.variants && props.variants[definition]\n }\n\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement)\n definition = definition(\n custom !== undefined ? custom : props.custom,\n current,\n velocity\n )\n }\n\n return definition\n}\n","\"use client\"\n\nimport { useRef } from \"react\"\n\ntype Init<T> = () => T\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nexport function useConstant<T>(init: Init<T>) {\n const ref = useRef<T | null>(null)\n\n if (ref.current === null) {\n ref.current = init()\n }\n\n return ref.current\n}\n","import { AnyResolvedKeyframe, isMotionValue, MotionValue } from \"motion-dom\"\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n */\nexport function resolveMotionValue(\n value?: AnyResolvedKeyframe | MotionValue\n): AnyResolvedKeyframe {\n return isMotionValue(value) ? value.get() : value\n}\n","\"use client\"\n\nimport { AnyResolvedKeyframe } from \"motion-dom\"\nimport { useContext } from \"react\"\nimport { isAnimationControls } from \"../../animation/utils/is-animation-controls\"\nimport { MotionContext, MotionContextProps } from \"../../context/MotionContext\"\nimport {\n PresenceContext,\n type PresenceContextProps,\n} from \"../../context/PresenceContext\"\nimport { ResolvedValues, ScrapeMotionValuesFromProps } from \"../../render/types\"\nimport {\n isControllingVariants as checkIsControllingVariants,\n isVariantNode as checkIsVariantNode,\n} from \"../../render/utils/is-controlling-variants\"\nimport { resolveVariantFromProps } from \"../../render/utils/resolve-variants\"\nimport { useConstant } from \"../../utils/use-constant\"\nimport { resolveMotionValue } from \"../../value/utils/resolve-motion-value\"\nimport { MotionProps } from \"../types\"\n\nexport interface VisualState<Instance, RenderState> {\n renderState: RenderState\n latestValues: ResolvedValues\n onMount?: (instance: Instance) => void\n}\n\nexport type UseVisualState<Instance, RenderState> = (\n props: MotionProps,\n isStatic: boolean\n) => VisualState<Instance, RenderState>\n\nexport interface UseVisualStateConfig<RenderState> {\n scrapeMotionValuesFromProps: ScrapeMotionValuesFromProps\n createRenderState: () => RenderState\n}\n\nfunction makeState<I, RS>(\n {\n scrapeMotionValuesFromProps,\n createRenderState,\n }: UseVisualStateConfig<RS>,\n props: MotionProps,\n context: MotionContextProps,\n presenceContext: PresenceContextProps | null\n) {\n const state: VisualState<I, RS> = {\n latestValues: makeLatestValues(\n props,\n context,\n presenceContext,\n scrapeMotionValuesFromProps\n ),\n renderState: createRenderState(),\n }\n\n return state\n}\n\nfunction makeLatestValues(\n props: MotionProps,\n context: MotionContextProps,\n presenceContext: PresenceContextProps | null,\n scrapeMotionValues: ScrapeMotionValuesFromProps\n) {\n const values: ResolvedValues = {}\n\n const motionValues = scrapeMotionValues(props, {})\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key])\n }\n\n let { initial, animate } = props\n const isControllingVariants = checkIsControllingVariants(props)\n const isVariantNode = checkIsVariantNode(props)\n\n if (\n context &&\n isVariantNode &&\n !isControllingVariants &&\n props.inherit !== false\n ) {\n if (initial === undefined) initial = context.initial\n if (animate === undefined) animate = context.animate\n }\n\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false\n\n const variantToSet = isInitialAnimationBlocked ? animate : initial\n\n if (\n variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)\n ) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet]\n for (let i = 0; i < list.length; i++) {\n const resolved = resolveVariantFromProps(props, list[i] as any)\n if (resolved) {\n const { transitionEnd, transition, ...target } = resolved\n for (const key in target) {\n let valueTarget = target[key as keyof typeof target]\n\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0\n valueTarget = valueTarget[index] as any\n }\n\n if (valueTarget !== null) {\n values[key] = valueTarget as AnyResolvedKeyframe\n }\n }\n for (const key in transitionEnd) {\n values[key] = transitionEnd[\n key as keyof typeof transitionEnd\n ] as AnyResolvedKeyframe\n }\n }\n }\n }\n\n return values\n}\n\nexport const makeUseVisualState =\n <I, RS>(config: UseVisualStateConfig<RS>): UseVisualState<I, RS> =>\n (props: MotionProps, isStatic: boolean): VisualState<I, RS> => {\n const context = useContext(MotionContext)\n const presenceContext = useContext(PresenceContext)\n const make = () => makeState(config, props, context, presenceContext)\n\n return isStatic ? make() : useConstant(make)\n }\n","import { isMotionValue } from \"motion-dom\"\nimport { MotionProps, MotionStyle } from \"../../../motion/types\"\nimport { isForcedMotionValue } from \"../../../motion/utils/is-forced-motion-value\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const { style } = props\n const newValues: { [key: string]: any } = {}\n\n for (const key in style) {\n if (\n isMotionValue(style[key as keyof MotionStyle]) ||\n (prevProps.style &&\n isMotionValue(prevProps.style[key as keyof MotionStyle])) ||\n isForcedMotionValue(key, props) ||\n visualElement?.getValue(key)?.liveStyle !== undefined\n ) {\n newValues[key] = style[key as keyof MotionStyle]\n }\n }\n\n return newValues\n}\n","\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createHtmlRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps } from \"./utils/scrape-motion-values\"\n\nexport const useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n})\n","import { isMotionValue, transformPropOrder } from \"motion-dom\"\nimport { MotionProps } from \"../../../motion/types\"\nimport { scrapeMotionValuesFromProps as scrapeHTMLMotionValuesFromProps } from \"../../html/utils/scrape-motion-values\"\nimport type { VisualElement } from \"../../VisualElement\"\n\nexport function scrapeMotionValuesFromProps(\n props: MotionProps,\n prevProps: MotionProps,\n visualElement?: VisualElement\n) {\n const newValues = scrapeHTMLMotionValuesFromProps(\n props,\n prevProps,\n visualElement\n )\n\n for (const key in props) {\n if (\n isMotionValue(props[key as keyof typeof props]) ||\n isMotionValue(prevProps[key as keyof typeof prevProps])\n ) {\n const targetKey =\n transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key\n\n newValues[targetKey] = props[key as keyof typeof props]\n }\n }\n\n return newValues\n}\n","\"use client\"\n\nimport { makeUseVisualState } from \"../../motion/utils/use-visual-state\"\nimport { createSvgRenderState } from \"./utils/create-render-state\"\nimport { scrapeMotionValuesFromProps as scrapeSVGProps } from \"./utils/scrape-motion-values\"\n\nexport const useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeSVGProps,\n createRenderState: createSvgRenderState,\n})\n","export const isBrowser = typeof window !== \"undefined\"\n","import { MotionProps } from \"../types\"\nimport { FeatureDefinitions } from \"./types\"\n\nconst featureProps = {\n animation: [\n \"animate\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"exit\",\n \"whileInView\",\n \"whileFocus\",\n \"whileDrag\",\n ],\n exit: [\"exit\"],\n drag: [\"drag\", \"dragControls\"],\n focus: [\"whileFocus\"],\n hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n layout: [\"layout\", \"layoutId\"],\n}\n\nexport const featureDefinitions: Partial<FeatureDefinitions> = {}\n\nfor (const key in featureProps) {\n featureDefinitions[key as keyof typeof featureDefinitions] = {\n isEnabled: (props: MotionProps) =>\n featureProps[key as keyof typeof featureProps].some(\n (name: string) => !!props[name as keyof typeof props]\n ),\n }\n}\n","export const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\")\n","import { MutableRefObject } from \"./safe-react-types\"\n\nexport function isRefObject<E = any>(ref: any): ref is MutableRefObject<E> {\n return (\n ref &&\n typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\")\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { useCallback } from \"react\"\nimport type { VisualElement } from \"../../render/VisualElement\"\nimport { isRefObject } from \"../../utils/is-ref-object\"\nimport { VisualState } from \"./use-visual-state\"\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nexport function useMotionRef<Instance, RenderState>(\n visualState: VisualState<Instance, RenderState>,\n visualElement?: VisualElement<Instance> | null,\n externalRef?: React.Ref<Instance>\n): React.Ref<Instance> {\n return useCallback(\n (instance: Instance) => {\n if (instance) {\n visualState.onMount && visualState.onMount(instance)\n }\n\n if (visualElement) {\n if (instance) {\n visualElement.mount(instance)\n } else {\n visualElement.unmount()\n }\n }\n\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance)\n } else if (isRefObject(externalRef)) {\n ;(externalRef as any).current = instance\n }\n }\n },\n /**\n * Include externalRef in dependencies to ensure the callback updates\n * when the ref changes, allowing proper ref forwarding.\n */\n [visualElement]\n )\n}\n","/**\n * Convert camelCase to dash-case properties.\n */\nexport const camelToDash = (str: string) =>\n str.replace(/([a-z])([A-Z])/gu, \"$1-$2\").toLowerCase()\n","import { camelToDash } from \"../../render/dom/utils/camel-to-dash\"\n\nexport const optimizedAppearDataId = \"framerAppearId\"\n\nexport const optimizedAppearDataAttribute =\n \"data-\" + camelToDash(optimizedAppearDataId) as \"data-framer-appear-id\"\n","\"use client\"\n\nimport type { Transition } from \"motion-dom\"\nimport { createContext } from \"react\"\nimport { IProjectionNode } from \"../projection/node/types\"\n\nexport interface SwitchLayoutGroup {\n register?: (member: IProjectionNode) => void\n deregister?: (member: IProjectionNode) => void\n}\n\nexport type SwitchLayoutGroupContext = SwitchLayoutGroup &\n InitialPromotionConfig\n\nexport type InitialPromotionConfig = {\n /**\n * The initial transition to use when the elements in this group mount (and automatically promoted).\n * Subsequent updates should provide a transition in the promote method.\n */\n transition?: Transition\n /**\n * If the follow tree should preserve its opacity when the lead is promoted on mount\n */\n shouldPreserveFollowOpacity?: (member: IProjectionNode) => boolean\n}\n\n/**\n * Internal, exported only for usage in Framer\n */\nexport const SwitchLayoutGroupContext = createContext<SwitchLayoutGroupContext>(\n {}\n)\n","\"use client\"\n\nimport { useEffect, useLayoutEffect } from \"react\"\nimport { isBrowser } from \"./is-browser\"\n\nexport const useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect\n","\"use client\"\n\nimport * as React from \"react\"\nimport { useContext, useEffect, useInsertionEffect, useRef } from \"react\"\nimport { optimizedAppearDataAttribute } from \"../../animation/optimized-appear/data-id\"\nimport { LazyContext } from \"../../context/LazyContext\"\nimport { MotionConfigContext } from \"../../context/MotionConfigContext\"\nimport { MotionContext } from \"../../context/MotionContext\"\nimport { PresenceContext } from \"../../context/PresenceContext\"\nimport {\n InitialPromotionConfig,\n SwitchLayoutGroupContext,\n} from \"../../context/SwitchLayoutGroupContext\"\nimport { MotionProps } from \"../../motion/types\"\nimport { IProjectionNode } from \"../../projection/node/types\"\nimport { DOMMotionComponents } from \"../../render/dom/types\"\nimport { HTMLRenderState } from \"../../render/html/types\"\nimport { SVGRenderState } from \"../../render/svg/types\"\nimport { CreateVisualElement } from \"../../render/types\"\nimport type { VisualElement } from \"../../render/VisualElement\"\nimport { isRefObject } from \"../../utils/is-ref-object\"\nimport { useIsomorphicLayoutEffect } from \"../../utils/use-isomorphic-effect\"\nimport { VisualState } from \"./use-visual-state\"\n\nexport function useVisualElement<\n Props,\n TagName extends keyof DOMMotionComponents | string\n>(\n Component: TagName | string | React.ComponentType<Props>,\n visualState:\n | VisualState<SVGElement, SVGRenderState>\n | VisualState<HTMLElement, HTMLRenderState>,\n props: MotionProps & Partial<MotionConfigContext>,\n createVisualElement?: CreateVisualElement<Props, TagName>,\n ProjectionNodeConstructor?: any,\n isSVG?: boolean\n): VisualElement<HTMLElement | SVGElement> | undefined {\n const { visualElement: parent } = useContext(MotionContext)\n const lazyContext = useContext(LazyContext)\n const presenceContext = useContext(PresenceContext)\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion\n\n const visualElementRef = useRef<VisualElement<\n HTMLElement | SVGElement\n > | null>(null)\n\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement =\n createVisualElement ||\n (lazyContext.renderer as CreateVisualElement<Props, TagName>)\n\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceContext,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n isSVG,\n })\n }\n\n const visualElement = visualElementRef.current\n\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext)\n\n if (\n visualElement &&\n !visualElement.projection &&\n ProjectionNodeConstructor &&\n (visualElement.type === \"html\" || visualElement.type === \"svg\")\n ) {\n createProjectionNode(\n visualElementRef.current!,\n props,\n ProjectionNodeConstructor,\n initialLayoutGroupConfig\n )\n }\n\n const isMounted = useRef(false)\n useInsertionEffect(() => {\n /**\n * Check the component has already mounted before calling\n * `update` unnecessarily. This ensures we skip the initial update.\n */\n if (visualElement && isMounted.current) {\n visualElement.update(props, presenceContext)\n }\n })\n\n /**\n * Cache this value as we want to know whether HandoffAppearAnimations\n * was present on initial render - it will be deleted after this.\n */\n const optimisedAppearId =\n props[optimizedAppearDataAttribute as keyof typeof props]\n const wantsHandoff = useRef(\n Boolean(optimisedAppearId) &&\n !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n window.MotionHasOptimisedAnimation?.(optimisedAppearId)\n )\n\n useIsomorphicLayoutEffect(() => {\n if (!visualElement) return\n\n isMounted.current = true\n window.MotionIsMounted = true\n\n visualElement.updateFeatures()\n visualElement.scheduleRenderMicrotask()\n\n /**\n * Ideally this function would always run in a useEffect.\n *\n * However, if we have optimised appear animations to handoff from,\n * it needs to happen synchronously to ensure there's no flash of\n * incorrect styles in the event of a hydration error.\n *\n * So if we detect a situtation where optimised appear animations\n * are running, we use useLayoutEffect to trigger animations.\n */\n if (wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges()\n }\n })\n\n useEffect(() => {\n if (!visualElement) return\n\n if (!wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges()\n }\n\n if (wantsHandoff.current) {\n // This ensures all future calls to animateChanges() in this component will run in useEffect\n queueMicrotask(() => {\n window.MotionHandoffMarkAsComplete?.(optimisedAppearId)\n })\n\n wantsHandoff.current = false\n }\n\n /**\n * Now we've finished triggering animations for this element we\n * can wipe the enteringChildren set for the next render.\n */\n visualElement.enteringChildren = undefined\n })\n\n return visualElement!\n}\n\nfunction createProjectionNode(\n visualElement: VisualElement<any>,\n props: MotionProps,\n ProjectionNodeConstructor: any,\n initialPromotionConfig?: InitialPromotionConfig\n) {\n const {\n layoutId,\n layout,\n drag,\n dragConstraints,\n layoutScroll,\n layoutRoot,\n layoutCrossfade,\n } = props\n\n visualElement.projection = new ProjectionNodeConstructor(\n visualElement.latestValues,\n props[\"data-framer-portal-id\"]\n ? undefined\n : getClosestProjectingNode(visualElement.parent)\n ) as IProjectionNode\n\n visualElement.projection.setOptions({\n layoutId,\n layout,\n alwaysMeasureLayout:\n Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n visualElement,\n /**\n * TODO: Update options in an effect. This could be tricky as it'll be too late\n * to update by the time layout animations run.\n * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n * ensuring it gets called if there's no potential layout animations.\n *\n */\n animationType: typeof layout === \"string\" ? layout : \"both\",\n initialPromotionConfig,\n crossfade: layoutCrossfade,\n layoutScroll,\n layoutRoot,\n })\n}\n\nfunction getClosestProjectingNode(\n visualElement?: VisualElement<\n unknown,\n unknown,\n { allowProjection?: boolean }\n >\n): IProjectionNode | undefined {\n if (!visualElement) return undefined\n\n return visualElement.options.allowProjection !== false\n ? visualElement.projection\n : getClosestProjectingNode(visualElement.parent)\n}\n","\"use client\"\n\nimport { invariant, warning } from \"motion-utils\"\nimport * as React from \"react\"\nimport { forwardRef, useContext } from \"react\"\nimport { LayoutGroupContext } from \"../context/LayoutGroupContext\"\nimport { LazyContext } from \"../context/LazyContext\"\nimport { MotionConfigContext } from \"../context/MotionConfigContext\"\nimport { MotionContext } from \"../context/MotionContext\"\nimport { useCreateMotionContext } from \"../context/MotionContext/create\"\nimport { DOMMotionComponents } from \"../render/dom/types\"\nimport { useRender } from \"../render/dom/use-render\"\nimport { isSVGComponent } from \"../render/dom/utils/is-svg-component\"\nimport { HTMLRenderState } from \"../render/html/types\"\nimport { useHTMLVisualState } from \"../render/html/use-html-visual-state\"\nimport { SVGRenderState } from \"../render/svg/types\"\nimport { useSVGVisualState } from \"../render/svg/use-svg-visual-state\"\nimport { CreateVisualElement } from \"../render/types\"\nimport { isBrowser } from \"../utils/is-browser\"\nimport { featureDefinitions } from \"./features/definitions\"\nimport { loadFeatures } from \"./features/load-features\"\nimport { FeatureBundle, FeaturePackages } from \"./features/types\"\nimport { MotionProps } from \"./types\"\nimport { motionComponentSymbol } from \"./utils/symbol\"\nimport { useMotionRef } from \"./utils/use-motion-ref\"\nimport { useVisualElement } from \"./utils/use-visual-element\"\n\nexport interface MotionComponentConfig<\n TagName extends keyof DOMMotionComponents | string = \"div\"\n> {\n preloadedFeatures?: FeatureBundle\n createVisualElement?: CreateVisualElement\n Component: TagName | React.ComponentType<React.PropsWithChildren<unknown>>\n forwardMotionProps?: boolean\n}\n\nexport type MotionComponentProps<Props> = {\n [K in Exclude<keyof Props, keyof MotionProps>]?: Props[K]\n} & MotionProps\n\nexport type MotionComponent<T, P> = T extends keyof DOMMotionComponents\n ? DOMMotionComponents[T]\n : React.ComponentType<\n Omit<MotionComponentProps<P>, \"children\"> & {\n children?: \"children\" extends keyof P\n ? P[\"children\"] | MotionComponentProps<P>[\"children\"]\n : MotionComponentProps<P>[\"children\"]\n }\n >\n\nexport interface MotionComponentOptions {\n forwardMotionProps?: boolean\n /**\n * Specify whether the component renders an HTML or SVG element.\n * This is useful when wrapping custom SVG components that need\n * SVG-specific attribute handling (like viewBox animation).\n * By default, Motion auto-detects based on the component name,\n * but custom React components are always treated as HTML.\n */\n type?: \"html\" | \"svg\"\n}\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nexport function createMotionComponent<\n Props,\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n { forwardMotionProps = false, type }: MotionComponentOptions = {},\n preloadedFeatures?: FeaturePackages,\n createVisualElement?: CreateVisualElement<Props, TagName>\n) {\n preloadedFeatures && loadFeatures(preloadedFeatures)\n\n /**\n * Determine whether to use SVG or HTML rendering based on:\n * 1. Explicit `type` option (highest priority)\n * 2. Auto-detection via `isSVGComponent`\n */\n const isSVG = type ? type === \"svg\" : isSVGComponent(Component)\n const useVisualState = isSVG ? useSVGVisualState : useHTMLVisualState\n\n function MotionDOMComponent(\n props: MotionComponentProps<Props>,\n externalRef?: React.Ref<HTMLElement | SVGElement>\n ) {\n /**\n * If we need to measure the element we load this functionality in a\n * separate class component in order to gain access to getSnapshotBeforeUpdate.\n */\n let MeasureLayout: undefined | React.ComponentType<MotionProps>\n\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n }\n\n const { isStatic } = configAndProps\n\n const context = useCreateMotionContext<HTMLElement | SVGElement>(props)\n\n const visualState = useVisualState(props, isStatic)\n\n if (!isStatic && isBrowser) {\n useStrictMode(configAndProps, preloadedFeatures)\n\n const layoutProjection = getProjectionFunctionality(configAndProps)\n MeasureLayout = layoutProjection.MeasureLayout\n\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(\n Component,\n visualState,\n configAndProps,\n createVisualElement,\n layoutProjection.ProjectionNode,\n isSVG\n )\n }\n\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (\n <MotionContext.Provider value={context}>\n {MeasureLayout && context.visualElement ? (\n <MeasureLayout\n visualElement={context.visualElement}\n {...configAndProps}\n />\n ) : null}\n {useRender<Props, TagName>(\n Component,\n props,\n useMotionRef<\n HTMLElement | SVGElement,\n HTMLRenderState | SVGRenderState\n >(visualState, context.visualElement, externalRef),\n visualState,\n isStatic,\n forwardMotionProps,\n isSVG\n )}\n </MotionContext.Provider>\n )\n }\n\n MotionDOMComponent.displayName = `motion.${\n typeof Component === \"string\"\n ? Component\n : `create(${Component.displayName ?? Component.name ?? \"\"})`\n }`\n\n const ForwardRefMotionComponent = forwardRef(MotionDOMComponent as any)\n ;(ForwardRefMotionComponent as any)[motionComponentSymbol] = Component\n\n return ForwardRefMotionComponent as MotionComponent<TagName, Props>\n}\n\nfunction useLayoutId({ layoutId }: MotionProps) {\n const layoutGroupId = useContext(LayoutGroupContext).id\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId\n}\n\nfunction useStrictMode(\n configAndProps: MotionProps,\n preloadedFeatures?: FeaturePackages\n) {\n const isStrict = useContext(LazyContext).strict\n\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (\n process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n isStrict\n ) {\n const strictMessage =\n \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\"\n configAndProps.ignoreStrict\n ? warning(false, strictMessage, \"lazy-strict-mode\")\n : invariant(false, strictMessage, \"lazy-strict-mode\")\n }\n}\n\nfunction getProjectionFunctionality(props: MotionProps) {\n const { drag, layout } = featureDefinitions\n\n if (!drag && !layout) return {}\n\n const combined = { ...drag, ...layout }\n\n return {\n MeasureLayout:\n drag?.isEnabled(props) || layout?.isEnabled(props)\n ? combined.MeasureLayout\n : undefined,\n ProjectionNode: combined.ProjectionNode,\n }\n}\n","import { createMotionComponent, MotionComponentOptions } from \"../../../motion\"\nimport { DOMMotionComponents } from \"../../dom/types\"\n\nexport function createMinimalMotionComponent<\n Props,\n TagName extends keyof DOMMotionComponents | string = \"div\"\n>(\n Component: TagName | string | React.ComponentType<Props>,\n options?: MotionComponentOptions\n) {\n return createMotionComponent(Component, options)\n}\n","\"use client\"\n\nimport { createMinimalMotionComponent } from \"./create\"\n\n/**\n * HTML components\n */\nexport const MotionA = /*@__PURE__*/ createMinimalMotionComponent(\"a\")\nexport const MotionAbbr = /*@__PURE__*/ createMinimalMotionComponent(\"abbr\")\nexport const MotionAddress =\n /*@__PURE__*/ createMinimalMotionComponent(\"address\")\nexport const MotionArea = /*@__PURE__*/ createMinimalMotionComponent(\"area\")\nexport const MotionArticle =\n /*@__PURE__*/ createMinimalMotionComponent(\"article\")\nexport const MotionAside = /*@__PURE__*/ createMinimalMotionComponent(\"aside\")\nexport const MotionAudio = /*@__PURE__*/ createMinimalMotionComponent(\"audio\")\nexport const MotionB = /*@__PURE__*/ createMinimalMotionComponent(\"b\")\nexport const MotionBase = /*@__PURE__*/ createMinimalMotionComponent(\"base\")\nexport const MotionBdi = /*@__PURE__*/ createMinimalMotionComponent(\"bdi\")\nexport const MotionBdo = /*@__PURE__*/ createMinimalMotionComponent(\"bdo\")\nexport const MotionBig = /*@__PURE__*/ createMinimalMotionComponent(\"big\")\nexport const MotionBlockquote =\n /*@__PURE__*/ createMinimalMotionComponent(\"blockquote\")\nexport const MotionBody = /*@__PURE__*/ createMinimalMotionComponent(\"body\")\nexport const MotionButton = /*@__PURE__*/ createMinimalMotionComponent(\"button\")\nexport const MotionCanvas = /*@__PURE__*/ createMinimalMotionComponent(\"canvas\")\nexport const MotionCaption =\n /*@__PURE__*/ createMinimalMotionComponent(\"caption\")\nexport const MotionCite = /*@__PURE__*/ createMinimalMotionComponent(\"cite\")\nexport const MotionCode = /*@__PURE__*/ createMinimalMotionComponent(\"code\")\nexport const MotionCol = /*@__PURE__*/ createMinimalMotionComponent(\"col\")\nexport const MotionColgroup =\n /*@__PURE__*/ createMinimalMotionComponent(\"colgroup\")\nexport const MotionData = /*@__PURE__*/ createMinimalMotionComponent(\"data\")\nexport const MotionDatalist =\n /*@__PURE__*/ createMinimalMotionComponent(\"datalist\")\nexport const MotionDd = /*@__PURE__*/ createMinimalMotionComponent(\"dd\")\nexport const MotionDel = /*@__PURE__*/ createMinimalMotionComponent(\"del\")\nexport const MotionDetails =\n /*@__PURE__*/ createMinimalMotionComponent(\"details\")\nexport const MotionDfn = /*@__PURE__*/ createMinimalMotionComponent(\"dfn\")\nexport const MotionDialog = /*@__PURE__*/ createMinimalMotionComponent(\"dialog\")\nexport const MotionDiv = /*@__PURE__*/ createMinimalMotionComponent(\"div\")\nexport const MotionDl = /*@__PURE__*/ createMinimalMotionComponent(\"dl\")\nexport const MotionDt = /*@__PURE__*/ createMinimalMotionComponent(\"dt\")\nexport const MotionEm = /*@__PURE__*/ createMinimalMotionComponent(\"em\")\nexport const MotionEmbed = /*@__PURE__*/ createMinimalMotionComponent(\"embed\")\nexport const MotionFieldset =\n /*@__PURE__*/ createMinimalMotionComponent(\"fieldset\")\nexport const MotionFigcaption =\n /*@__PURE__*/ createMinimalMotionComponent(\"figcaption\")\nexport const MotionFigure = /*@__PURE__*/ createMinimalMotionComponent(\"figure\")\nexport const MotionFooter = /*@__PURE__*/ createMinimalMotionComponent(\"footer\")\nexport const MotionForm = /*@__PURE__*/ createMinimalMotionComponent(\"form\")\nexport const MotionH1 = /*@__PURE__*/ createMinimalMotionComponent(\"h1\")\nexport const MotionH2 = /*@__PURE__*/ createMinimalMotionComponent(\"h2\")\nexport const MotionH3 = /*@__PURE__*/ createMinimalMotionComponent(\"h3\")\nexport const MotionH4 = /*@__PURE__*/ createMinimalMotionComponent(\"h4\")\nexport const MotionH5 = /*@__PURE__*/ createMinimalMotionComponent(\"h5\")\nexport const MotionH6 = /*@__PURE__*/ createMinimalMotionComponent(\"h6\")\nexport const MotionHead = /*@__PURE__*/ createMinimalMotionComponent(\"head\")\nexport const MotionHeader = /*@__PURE__*/ createMinimalMotionComponent(\"header\")\nexport const MotionHgroup = /*@__PURE__*/ createMinimalMotionComponent(\"hgroup\")\nexport const MotionHr = /*@__PURE__*/ createMinimalMotionComponent(\"hr\")\nexport const MotionHtml = /*@__PURE__*/ createMinimalMotionComponent(\"html\")\nexport const MotionI = /*@__PURE__*/ createMinimalMotionComponent(\"i\")\nexport const MotionIframe = /*@__PURE__*/ createMinimalMotionComponent(\"iframe\")\nexport const MotionImg = /*@__PURE__*/ createMinimalMotionComponent(\"img\")\nexport const MotionInput = /*@__PURE__*/ createMinimalMotionComponent(\"input\")\nexport const MotionIns = /*@__PURE__*/ createMinimalMotionComponent(\"ins\")\nexport const MotionKbd = /*@__PURE__*/ createMinimalMotionComponent(\"kbd\")\nexport const MotionKeygen = /*@__PURE__*/ createMinimalMotionComponent(\"keygen\")\nexport const MotionLabel = /*@__PURE__*/ createMinimalMotionComponent(\"label\")\nexport const MotionLegend = /*@__PURE__*/ createMinimalMotionComponent(\"legend\")\nexport const MotionLi = /*@__PURE__*/ createMinimalMotionComponent(\"li\")\nexport const MotionLink = /*@__PURE__*/ createMinimalMotionComponent(\"link\")\nexport const MotionMain = /*@__PURE__*/ createMinimalMotionComponent(\"main\")\nexport const MotionMap = /*@__PURE__*/ createMinimalMotionComponent(\"map\")\nexport const MotionMark = /*@__PURE__*/ createMinimalMotionComponent(\"mark\")\nexport const MotionMenu = /*@__PURE__*/ createMinimalMotionComponent(\"menu\")\nexport const MotionMenuitem =\n /*@__PURE__*/ createMinimalMotionComponent(\"menuitem\")\nexport const MotionMeter = /*@__PURE__*/ createMinimalMotionComponent(\"meter\")\nexport const MotionNav = /*@__PURE__*/ createMinimalMotionComponent(\"nav\")\nexport const MotionObject = /*@__PURE__*/ createMinimalMotionComponent(\"object\")\nexport const MotionOl = /*@__PURE__*/ createMinimalMotionComponent(\"ol\")\nexport const MotionOptgroup =\n /*@__PURE__*/ createMinimalMotionComponent(\"optgroup\")\nexport const MotionOption = /*@__PURE__*/ createMinimalMotionComponent(\"option\")\nexport const MotionOutput = /*@__PURE__*/ createMinimalMotionComponent(\"output\")\nexport const MotionP = /*@__PURE__*/ createMinimalMotionComponent(\"p\")\nexport const MotionParam = /*@__PURE__*/ createMinimalMotionComponent(\"param\")\nexport const MotionPicture =\n /*@__PURE__*/ createMinimalMotionComponent(\"picture\")\nexport const MotionPre = /*@__PURE__*/ createMinimalMotionComponent(\"pre\")\nexport const MotionProgress =\n /*@__PURE__*/ createMinimalMotionComponent(\"progress\")\nexport const MotionQ = /*@__PURE__*/ createMinimalMotionComponent(\"q\")\nexport const MotionRp = /*@__PURE__*/ createMinimalMotionComponent(\"rp\")\nexport const MotionRt = /*@__PURE__*/ createMinimalMotionComponent(\"rt\")\nexport const MotionRuby = /*@__PURE__*/ createMinimalMotionComponent(\"ruby\")\nexport const MotionS = /*@__PURE__*/ createMinimalMotionComponent(\"s\")\nexport const MotionSamp = /*@__PURE__*/ createMinimalMotionComponent(\"samp\")\nexport const MotionScript = /*@__PURE__*/ createMinimalMotionComponent(\"script\")\nexport const MotionSection =\n /*@__PURE__*/ createMinimalMotionComponent(\"section\")\nexport const MotionSelect = /*@__PURE__*/ createMinimalMotionComponent(\"select\")\nexport const MotionSmall = /*@__PURE__*/ createMinimalMotionComponent(\"small\")\nexport const MotionSource = /*@__PURE__*/ createMinimalMotionComponent(\"source\")\nexport const MotionSpan = /*@__PURE__*/ createMinimalMotionComponent(\"span\")\nexport const MotionStrong = /*@__PURE__*/ createMinimalMotionComponent(\"strong\")\nexport const MotionStyle = /*@__PURE__*/ createMinimalMotionComponent(\"style\")\nexport const MotionSub = /*@__PURE__*/ createMinimalMotionComponent(\"sub\")\nexport const MotionSummary =\n /*@__PURE__*/ createMinimalMotionComponent(\"summary\")\nexport const MotionSup = /*@__PURE__*/ createMinimalMotionComponent(\"sup\")\nexport const MotionTable = /*@__PURE__*/ createMinimalMotionComponent(\"table\")\nexport const MotionTbody = /*@__PURE__*/ createMinimalMotionComponent(\"tbody\")\nexport const MotionTd = /*@__PURE__*/ createMinimalMotionComponent(\"td\")\nexport const MotionTextarea =\n /*@__PURE__*/ createMinimalMotionComponent(\"textarea\")\nexport const MotionTfoot = /*@__PURE__*/ createMinimalMotionComponent(\"tfoot\")\nexport const MotionTh = /*@__PURE__*/ createMinimalMotionComponent(\"th\")\nexport const MotionThead = /*@__PURE__*/ createMinimalMotionComponent(\"thead\")\nexport const MotionTime = /*@__PURE__*/ createMinimalMotionComponent(\"time\")\nexport const MotionTitle = /*@__PURE__*/ createMinimalMotionComponent(\"title\")\nexport const MotionTr = /*@__PURE__*/ createMinimalMotionComponent(\"tr\")\nexport const MotionTrack = /*@__PURE__*/ createMinimalMotionComponent(\"track\")\nexport const MotionU = /*@__PURE__*/ createMinimalMotionComponent(\"u\")\nexport const MotionUl = /*@__PURE__*/ createMinimalMotionComponent(\"ul\")\nexport const MotionVideo = /*@__PURE__*/ createMinimalMotionComponent(\"video\")\nexport const MotionWbr = /*@__PURE__*/ createMinimalMotionComponent(\"wbr\")\nexport const MotionWebview =\n /*@__PURE__*/ createMinimalMotionComponent(\"webview\")\n\n/**\n * SVG components\n */\nexport const MotionAnimate =\n /*@__PURE__*/ createMinimalMotionComponent(\"animate\")\nexport const MotionCircle = /*@__PURE__*/ createMinimalMotionComponent(\"circle\")\nexport const MotionDefs = /*@__PURE__*/ createMinimalMotionComponent(\"defs\")\nexport const MotionDesc = /*@__PURE__*/ createMinimalMotionComponent(\"desc\")\nexport const MotionEllipse =\n /*@__PURE__*/ createMinimalMotionComponent(\"ellipse\")\nexport const MotionG = /*@__PURE__*/ createMinimalMotionComponent(\"g\")\nexport const MotionImage = /*@__PURE__*/ createMinimalMotionComponent(\"image\")\nexport const MotionLine = /*@__PURE__*/ createMinimalMotionComponent(\"line\")\nexport const MotionFilter = /*@__PURE__*/ createMinimalMotionComponent(\"filter\")\nexport const MotionMarker = /*@__PURE__*/ createMinimalMotionComponent(\"marker\")\nexport const MotionMask = /*@__PURE__*/ createMinimalMotionComponent(\"mask\")\nexport const MotionMetadata =\n /*@__PURE__*/ createMinimalMotionComponent(\"metadata\")\nexport const MotionPath = /*@__PURE__*/ createMinimalMotionComponent(\"path\")\nexport const MotionPattern =\n /*@__PURE__*/ createMinimalMotionComponent(\"pattern\")\nexport const MotionPolygon =\n /*@__PURE__*/ createMinimalMotionComponent(\"polygon\")\nexport const MotionPolyline =\n /*@__PURE__*/ createMinimalMotionComponent(\"polyline\")\nexport const MotionRect = /*@__PURE__*/ createMinimalMotionComponent(\"rect\")\nexport const MotionStop = /*@__PURE__*/ createMinimalMotionComponent(\"stop\")\nexport const MotionSvg = /*@__PURE__*/ createMinimalMotionComponent(\"svg\")\nexport const MotionSymbol = /*@__PURE__*/ createMinimalMotionComponent(\"symbol\")\nexport const MotionText = /*@__PURE__*/ createMinimalMotionComponent(\"text\")\nexport const MotionTspan = /*@__PURE__*/ createMinimalMotionComponent(\"tspan\")\nexport const MotionUse = /*@__PURE__*/ createMinimalMotionComponent(\"use\")\nexport const MotionView = /*@__PURE__*/ createMinimalMotionComponent(\"view\")\nexport const MotionClipPath =\n /*@__PURE__*/ createMinimalMotionComponent(\"clipPath\")\nexport const MotionFeBlend =\n /*@__PURE__*/ createMinimalMotionComponent(\"feBlend\")\nexport const MotionFeColorMatrix =\n /*@__PURE__*/ createMinimalMotionComponent(\"feColorMatrix\")\nexport const MotionFeComponentTransfer =\n /*@__PURE__*/ createMinimalMotionComponent(\"feComponentTransfer\")\nexport const MotionFeComposite =\n /*@__PURE__*/ createMinimalMotionComponent(\"feComposite\")\nexport const MotionFeConvolveMatrix =\n /*@__PURE__*/ createMinimalMotionComponent(\"feConvolveMatrix\")\nexport const MotionFeDiffuseLighting =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDiffuseLighting\")\nexport const MotionFeDisplacementMap =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDisplacementMap\")\nexport const MotionFeDistantLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDistantLight\")\nexport const MotionFeDropShadow =\n /*@__PURE__*/ createMinimalMotionComponent(\"feDropShadow\")\nexport const MotionFeFlood =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFlood\")\nexport const MotionFeFuncA =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncA\")\nexport const MotionFeFuncB =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncB\")\nexport const MotionFeFuncG =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncG\")\nexport const MotionFeFuncR =\n /*@__PURE__*/ createMinimalMotionComponent(\"feFuncR\")\nexport const MotionFeGaussianBlur =\n /*@__PURE__*/ createMinimalMotionComponent(\"feGaussianBlur\")\nexport const MotionFeImage =\n /*@__PURE__*/ createMinimalMotionComponent(\"feImage\")\nexport const MotionFeMerge =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMerge\")\nexport const MotionFeMergeNode =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMergeNode\")\nexport const MotionFeMorphology =\n /*@__PURE__*/ createMinimalMotionComponent(\"feMorphology\")\nexport const MotionFeOffset =\n /*@__PURE__*/ createMinimalMotionComponent(\"feOffset\")\nexport const MotionFePointLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"fePointLight\")\nexport const MotionFeSpecularLighting =\n /*@__PURE__*/ createMinimalMotionComponent(\"feSpecularLighting\")\nexport const MotionFeSpotLight =\n /*@__PURE__*/ createMinimalMotionComponent(\"feSpotLight\")\nexport const MotionFeTile = /*@__PURE__*/ createMinimalMotionComponent(\"feTile\")\nexport const MotionFeTurbulence =\n /*@__PURE__*/ createMinimalMotionComponent(\"feTurbulence\")\nexport const MotionForeignObject =\n /*@__PURE__*/ createMinimalMotionComponent(\"foreignObject\")\nexport const MotionLinearGradient =\n /*@__PURE__*/ createMinimalMotionComponent(\"linearGradient\")\nexport const MotionRadialGradient =\n /*@__PURE__*/ createMinimalMotionComponent(\"radialGradient\")\nexport const MotionTextPath =\n /*@__PURE__*/ createMinimalMotionComponent(\"textPath\")\n"],"names":["createContext","useContext","useMemo","px","complex","mixNumber","transformProps","transformPropOrder","getValueAsType","numberValueTypes","isCSSVariableName","isMotionValue","Fragment","createElement","useRef","isControllingVariants","checkIsControllingVariants","isVariantNode","checkIsVariantNode","scrapeMotionValuesFromProps","scrapeHTMLMotionValuesFromProps","scrapeSVGProps","useCallback","useLayoutEffect","useEffect","useInsertionEffect","_jsxs","_jsx","forwardRef","warning","invariant"],"mappings":"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"}
|