{"version":3,"file":"static/chunks/877-3b6435c9918ac1e4.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/api/image.js","webpack://_N_E/./node_modules/next/dist/api/link.js","webpack://_N_E/../../src/client/add-locale.ts","webpack://_N_E/../../src/client/get-domain-locale.ts","webpack://_N_E/../../src/client/image-component.tsx","webpack://_N_E/../../src/client/link.tsx","webpack://_N_E/../../src/client/request-idle-callback.ts","webpack://_N_E/../../src/client/resolve-href.ts","webpack://_N_E/../../src/client/use-intersection.tsx","webpack://_N_E/../../../src/shared/lib/amp-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/amp-mode.ts","webpack://_N_E/../../../src/shared/lib/escape-regexp.ts","webpack://_N_E/../../../src/shared/lib/get-img-props.ts","webpack://_N_E/../../../src/shared/lib/head.tsx","webpack://_N_E/../../../src/shared/lib/image-blur-svg.ts","webpack://_N_E/../../../src/shared/lib/image-config-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/image-config.ts","webpack://_N_E/../../../src/shared/lib/image-external.tsx","webpack://_N_E/../../../src/shared/lib/image-loader.ts","webpack://_N_E/../../../src/shared/lib/router-context.shared-runtime.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/format-url.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/index.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/interpolate-as.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/is-dynamic.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/is-local-url.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/omit.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/querystring.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/route-matcher.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/route-regex.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/sorted-routes.ts","webpack://_N_E/../../../src/shared/lib/side-effect.tsx","webpack://_N_E/../../../src/shared/lib/utils.ts","webpack://_N_E/../../node_modules/enquire.js/src/MediaQuery.js","webpack://_N_E/../../node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://_N_E/../../node_modules/enquire.js/src/QueryHandler.js","webpack://_N_E/../../node_modules/enquire.js/src/Util.js","webpack://_N_E/../../node_modules/enquire.js/src/index.js","webpack://_N_E/../../node_modules/json2mq/index.js","webpack://_N_E/../../node_modules/lodash.debounce/index.js","webpack://_N_E/../../node_modules/lottie-react/build/index.umd.js","webpack://_N_E/../../node_modules/react-slick/lib/arrows.js","webpack://_N_E/../../node_modules/react-slick/lib/default-props.js","webpack://_N_E/../../node_modules/react-slick/lib/dots.js","webpack://_N_E/../../node_modules/react-slick/lib/index.js","webpack://_N_E/../../node_modules/react-slick/lib/initial-state.js","webpack://_N_E/../../node_modules/react-slick/lib/inner-slider.js","webpack://_N_E/../../node_modules/react-slick/lib/slider.js","webpack://_N_E/../../node_modules/react-slick/lib/track.js","webpack://_N_E/../../node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack://_N_E/../../node_modules/react-spinners/esm/helpers/unitConverter.js","webpack://_N_E/../../node_modules/react-spinners/esm/helpers/animation.js","webpack://_N_E/../../node_modules/react-spinners/esm/helpers/colors.js","webpack://_N_E/../../node_modules/react-spinners/esm/BarLoader.js","webpack://_N_E/../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://_N_E/../../node_modules/string-convert/camel2hyphen.js","webpack://_N_E/../../node_modules/classnames/index.js","webpack://_N_E/./node_modules/clsx/dist/clsx.mjs","webpack://_N_E/../../node_modules/canvas-confetti/dist/confetti.module.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/GlobalConfig.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/render-step.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/batcher.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/microtask.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/clamp.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/numbers/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/numbers/units.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/resolve-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/noop.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/frame.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/config-motion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/events/add-dom-event.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/events/event-info.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/pipe.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/Feature.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/hover.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/focus.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/press.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/time-conversion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/transitions.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/sync-time.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-none.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/errors.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/rgba.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/hex.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/hsla.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/complex/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/complex/filter.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/memo.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/utils/can-animate.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/utils/velocity.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/spring/find.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/spring/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/inertia.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/ease.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/utils/is-easing-array.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/circ.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/back.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/anticipate.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/utils/map.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/progress.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix/number.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix/color.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix/complex.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/interpolate.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/offsets/fill.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/offsets/default.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/offsets/time.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/keyframes.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/drivers/driver-frameloop.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/waapi/easing.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/waapi/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-will-change/is.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/array.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/subscription-manager.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/setters.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/models.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/utils/measure.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/get-context-window.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/drag/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/gestures/pan/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/node/state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/shared/stack.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/styles/transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/delay.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/debug/record.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/interfaces/single-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/store.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/VisualElement.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/motion.mjs"],"sourcesContent":["export { default } from \"../shared/lib/image-external\";\nexport * from \"../shared/lib/image-external\";\n\n//# sourceMappingURL=image.js.map","export { default } from \"../client/link\";\nexport * from \"../client/link\";\n\n//# sourceMappingURL=link.js.map",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lottie-web'), require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'lottie-web', 'react'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global[\"lottie-react\"] = {}, global.Lottie, global.React));\n})(this, (function (exports, lottie, React) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var lottie__default = /*#__PURE__*/_interopDefaultLegacy(lottie);\n var React__default = /*#__PURE__*/_interopDefaultLegacy(React);\n\n function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n }\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n }\n function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n\n var _excluded$1 = [\"animationData\", \"loop\", \"autoplay\", \"initialSegment\", \"onComplete\", \"onLoopComplete\", \"onEnterFrame\", \"onSegmentStart\", \"onConfigReady\", \"onDataReady\", \"onDataFailed\", \"onLoadedImages\", \"onDOMLoaded\", \"onDestroy\", \"lottieRef\", \"renderer\", \"name\", \"assetsPath\", \"rendererSettings\"];\n var useLottie = function useLottie(props, style) {\n var animationData = props.animationData,\n loop = props.loop,\n autoplay = props.autoplay,\n initialSegment = props.initialSegment,\n onComplete = props.onComplete,\n onLoopComplete = props.onLoopComplete,\n onEnterFrame = props.onEnterFrame,\n onSegmentStart = props.onSegmentStart,\n onConfigReady = props.onConfigReady,\n onDataReady = props.onDataReady,\n onDataFailed = props.onDataFailed,\n onLoadedImages = props.onLoadedImages,\n onDOMLoaded = props.onDOMLoaded,\n onDestroy = props.onDestroy;\n props.lottieRef;\n props.renderer;\n props.name;\n props.assetsPath;\n props.rendererSettings;\n var rest = _objectWithoutProperties(props, _excluded$1);\n var _useState = React.useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n animationLoaded = _useState2[0],\n setAnimationLoaded = _useState2[1];\n var animationInstanceRef = React.useRef();\n var animationContainer = React.useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n var play = function play() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n var stop = function stop() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n var pause = function pause() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n var setSpeed = function setSpeed(speed) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n var goToAndPlay = function goToAndPlay(value, isFrame) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n var goToAndStop = function goToAndStop(value, isFrame) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n var setDirection = function setDirection(direction) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n var playSegments = function playSegments(segments, forceFlag) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n var setSubframe = function setSubframe(useSubFrames) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n var getDuration = function getDuration(inFrames) {\n var _a;\n return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames);\n };\n /**\n * Destroy animation\n */\n var destroy = function destroy() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n var loadAnimation = function loadAnimation() {\n var forcedConfigs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n var config = _objectSpread2(_objectSpread2(_objectSpread2({}, props), forcedConfigs), {}, {\n container: animationContainer.current\n });\n // Save the animation instance\n animationInstanceRef.current = lottie__default[\"default\"].loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return function () {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n React.useEffect(function () {\n var onUnmount = loadAnimation();\n // Clean up on unmount\n return function () {\n return onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n React.useEffect(function () {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n React.useEffect(function () {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] || animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n React.useEffect(function () {\n var partialListeners = [{\n name: \"complete\",\n handler: onComplete\n }, {\n name: \"loopComplete\",\n handler: onLoopComplete\n }, {\n name: \"enterFrame\",\n handler: onEnterFrame\n }, {\n name: \"segmentStart\",\n handler: onSegmentStart\n }, {\n name: \"config_ready\",\n handler: onConfigReady\n }, {\n name: \"data_ready\",\n handler: onDataReady\n }, {\n name: \"data_failed\",\n handler: onDataFailed\n }, {\n name: \"loaded_images\",\n handler: onLoadedImages\n }, {\n name: \"DOMLoaded\",\n handler: onDOMLoaded\n }, {\n name: \"destroy\",\n handler: onDestroy\n }];\n var listeners = partialListeners.filter(function (listener) {\n return listener.handler != null;\n });\n if (!listeners.length) {\n return;\n }\n var deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n function (listener) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return function () {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return function () {\n deregisterList.forEach(function (deregister) {\n return deregister();\n });\n };\n }, [onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy]);\n /**\n * Build the animation view\n */\n var View = /*#__PURE__*/React__default[\"default\"].createElement(\"div\", _objectSpread2({\n style: style,\n ref: animationContainer\n }, rest));\n return {\n View: View,\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndStop: goToAndStop,\n goToAndPlay: goToAndPlay,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainer,\n animationLoaded: animationLoaded,\n animationItem: animationInstanceRef.current\n };\n };\n\n // helpers\n function getContainerVisibility(container) {\n var _container$getBoundin = container.getBoundingClientRect(),\n top = _container$getBoundin.top,\n height = _container$getBoundin.height;\n var current = window.innerHeight - top;\n var max = window.innerHeight + height;\n return current / max;\n }\n function getContainerCursorPosition(container, cursorX, cursorY) {\n var _container$getBoundin2 = container.getBoundingClientRect(),\n top = _container$getBoundin2.top,\n left = _container$getBoundin2.left,\n width = _container$getBoundin2.width,\n height = _container$getBoundin2.height;\n var x = (cursorX - left) / width;\n var y = (cursorY - top) / height;\n return {\n x: x,\n y: y\n };\n }\n var useInitInteractivity = function useInitInteractivity(_ref) {\n var wrapperRef = _ref.wrapperRef,\n animationItem = _ref.animationItem,\n mode = _ref.mode,\n actions = _ref.actions;\n React.useEffect(function () {\n var wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n var scrollModeHandler = function scrollModeHandler() {\n var assignedSegment = null;\n var scrollHandler = function scrollHandler() {\n var currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n var action = actions.find(function (_ref2) {\n var visibility = _ref2.visibility;\n return visibility && currentPercent >= visibility[0] && currentPercent <= visibility[1];\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" && action.visibility && action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n var frameToGo = action.frames[0] + Math.ceil((currentPercent - action.visibility[0]) / (action.visibility[1] - action.visibility[0]) * action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n } else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n } else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return function () {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n var cursorModeHandler = function cursorModeHandler() {\n var handleCursor = function handleCursor(_x, _y) {\n var x = _x;\n var y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n var pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n var action = actions.find(function (_ref3) {\n var position = _ref3.position;\n if (position && Array.isArray(position.x) && Array.isArray(position.y)) {\n return x >= position.x[0] && x <= position.x[1] && y >= position.y[0] && y <= position.y[1];\n }\n if (position && !Number.isNaN(position.x) && !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" && action.position && Array.isArray(action.position.x) && Array.isArray(action.position.y) && action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n var xPercent = (x - action.position.x[0]) / (action.position.x[1] - action.position.x[0]);\n var yPercent = (y - action.position.y[0]) / (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil((xPercent + yPercent) / 2 * (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n var mouseMoveHandler = function mouseMoveHandler(ev) {\n handleCursor(ev.clientX, ev.clientY);\n };\n var mouseOutHandler = function mouseOutHandler() {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return function () {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n };\n var useLottieInteractivity = function useLottieInteractivity(_ref4) {\n var actions = _ref4.actions,\n mode = _ref4.mode,\n lottieObj = _ref4.lottieObj;\n var animationItem = lottieObj.animationItem,\n View = lottieObj.View,\n animationContainerRef = lottieObj.animationContainerRef;\n useInitInteractivity({\n actions: actions,\n animationItem: animationItem,\n mode: mode,\n wrapperRef: animationContainerRef\n });\n return View;\n };\n\n var _excluded = [\"style\", \"interactivity\"];\n var Lottie = function Lottie(props) {\n var _a, _b, _c;\n var style = props.style,\n interactivity = props.interactivity,\n lottieProps = _objectWithoutProperties(props, _excluded);\n /**\n * Initialize the 'useLottie' hook\n */\n var _useLottie = useLottie(lottieProps, style),\n View = _useLottie.View,\n play = _useLottie.play,\n stop = _useLottie.stop,\n pause = _useLottie.pause,\n setSpeed = _useLottie.setSpeed,\n goToAndStop = _useLottie.goToAndStop,\n goToAndPlay = _useLottie.goToAndPlay,\n setDirection = _useLottie.setDirection,\n playSegments = _useLottie.playSegments,\n setSubframe = _useLottie.setSubframe,\n getDuration = _useLottie.getDuration,\n destroy = _useLottie.destroy,\n animationContainerRef = _useLottie.animationContainerRef,\n animationLoaded = _useLottie.animationLoaded,\n animationItem = _useLottie.animationItem;\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n React.useEffect(function () {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndPlay: goToAndPlay,\n goToAndStop: goToAndStop,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainerRef,\n animationLoaded: animationLoaded,\n animationItem: animationItem\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View: View,\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndStop: goToAndStop,\n goToAndPlay: goToAndPlay,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainerRef,\n animationLoaded: animationLoaded,\n animationItem: animationItem\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\"\n });\n };\n\n Object.defineProperty(exports, 'LottiePlayer', {\n enumerable: true,\n get: function () { return lottie__default[\"default\"]; }\n });\n exports[\"default\"] = Lottie;\n exports.useLottie = useLottie;\n exports.useLottieInteractivity = useLottieInteractivity;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=index.umd.js.map\n","\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PrevArrow = exports.NextArrow = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar PrevArrow = exports.PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n var _super = _createSuper(PrevArrow);\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n return _super.apply(this, arguments);\n }\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread(_objectSpread({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n return prevArrow;\n }\n }]);\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\nvar NextArrow = exports.NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n var _super2 = _createSuper(NextArrow);\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n return _super2.apply(this, arguments);\n }\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread(_objectSpread({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n return nextArrow;\n }\n }]);\n return NextArrow;\n}(_react[\"default\"].PureComponent);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true,\n asNavFor: null\n};\nvar _default = exports[\"default\"] = defaultProps;","\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar getDotCount = function getDotCount(spec) {\n var dots;\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n return dots;\n};\nvar Dots = exports.Dots = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n var _super = _createSuper(Dots);\n function Dots() {\n _classCallCheck(this, Dots);\n return _super.apply(this, arguments);\n }\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);\n var _leftBound = rightBound - (slidesToScroll - 1);\n var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/_react[\"default\"].cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n return /*#__PURE__*/_react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n return Dots;\n}(_react[\"default\"].PureComponent);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _slider = _interopRequireDefault(require(\"./slider\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar _default = exports[\"default\"] = _slider[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nvar _default = exports[\"default\"] = initialState;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nvar _track = require(\"./track\");\nvar _dots = require(\"./dots\");\nvar _arrows = require(\"./arrows\");\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar InnerSlider = exports.InnerSlider = /*#__PURE__*/function (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n var _super = _createSuper(InnerSlider);\n function InnerSlider(props) {\n var _this;\n _classCallCheck(this, InnerSlider);\n _this = _super.call(this, props);\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n _this.ro.observe(_this.list);\n document.querySelectorAll && Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n _this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n _this.ro.disconnect();\n });\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n _this.props.onReInit && _this.props.onReInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n _this.adaptHeight();\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n var setTrackStyle = _this.didPropsChange(prevProps);\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n _this.debouncedResize();\n });\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node);\n // prevent warning: setting state on unmounted component (server side rendering)\n if (!isTrackMounted) return;\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n _this.setState({\n animating: false\n });\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread(_objectSpread(_objectSpread({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread(_objectSpread({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n _this.setState(updatedState, callback);\n });\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n return {\n trackStyle: _trackStyle\n };\n }\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n var spec = _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list && _this.list.querySelectorAll && _this.list.querySelectorAll(\".slick-slide img\") || [];\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n image.onclick = function (e) {\n prevClickHandler(e);\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n var currentSlide = _this.state.currentSlide;\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread(_objectSpread(_objectSpread({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n _this.props.autoplay && _this.autoPlay(\"update\");\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n nodes[0] && nodes[0].focus();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n _this.clickable = true;\n });\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n });\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n _this.setState(state);\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n _this.setState(state);\n if (triggerSlideHandler === undefined) return;\n _this.slideHandler(triggerSlideHandler);\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n _this.clickable = true;\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread(_objectSpread({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n _this.slideHandler(nextIndex);\n });\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n var autoplaying = _this.state.autoplaying;\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n var autoplaying = _this.state.autoplaying;\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread(_objectSpread({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread(_objectSpread({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/_react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n var verticalHeightStyle = null;\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n var centerPaddingStyle = null;\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n var listStyle = _objectSpread(_objectSpread({}, verticalHeightStyle), centerPaddingStyle);\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/_react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread(_objectSpread({}, _initialState[\"default\"]), {}, {\n currentSlide: _this.props.initialSlide,\n targetSlide: _this.props.initialSlide ? _this.props.initialSlide : 0,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n var ssrState = _this.ssrInit();\n _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState);\n return _this;\n }\n _createClass(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (_typeof(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\" || isNaN(prevProps[key])) {\n continue;\n }\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n return setTrackStyle || _react[\"default\"].Children.count(this.props.children) !== _react[\"default\"].Children.count(prevProps.children);\n }\n }]);\n return InnerSlider;\n}(_react[\"default\"].Component);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _innerSlider = require(\"./inner-slider\");\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\nvar Slider = exports[\"default\"] = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n var _super = _createSuper(Slider);\n function Slider(props) {\n var _this;\n _classCallCheck(this, Slider);\n _this = _super.call(this, props);\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n });\n // sort them in increasing order of their numerical value\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n }\n // when not using server side rendering\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n });\n\n // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var settings;\n var newProps;\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread(_objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props), newProps[0].settings);\n } else {\n settings = _objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props);\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n var children = _react[\"default\"].Children.toArray(this.props.children);\n\n // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n var newChildren = [];\n var currentWidth = null;\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n if (k >= children.length) break;\n row.push( /*#__PURE__*/_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n newSlide.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow && !settings.infinite) {\n settings.unslick = true;\n }\n return /*#__PURE__*/_react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, (0, _innerSliderUtils.filterSettings)(settings)), newChildren);\n }\n }]);\n return Slider;\n}(_react[\"default\"].Component);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n var focusedSlide;\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n };\n};\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.zIndex = spec.currentSlide === spec.index ? 999 : 998;\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/_react[\"default\"].createElement(\"div\", null);\n }\n var childStyle = getSlideStyle(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n // push a cloned element of the desired slide\n slides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec)) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n });\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\nvar Track = exports.Track = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n var _super = _createSuper(Track);\n function Track() {\n var _this;\n _classCallCheck(this, Track);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n _defineProperty(_assertThisInitialized(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n return _this;\n }\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n return Track;\n}(_react[\"default\"].PureComponent);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.extractObject = void 0;\nexports.filterSettings = filterSettings;\nexports.validSettings = exports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _defaultProps = _interopRequireDefault(require(\"../default-props\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\nvar safePreventDefault = exports.safePreventDefault = function safePreventDefault(event) {\n var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\nvar getOnDemandLazySlides = exports.getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nvar getRequiredLazySlides = exports.getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nvar lazyStartIndex = exports.lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nvar lazyEndIndex = exports.lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\nvar lazySlidesOnLeft = exports.lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nvar lazySlidesOnRight = exports.lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n};\n\n// get width of an element\nvar getWidth = exports.getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\nvar getHeight = exports.getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\nvar getSwipeDirection = exports.getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n return \"vertical\";\n};\n\n// whether or not we can go next\nvar canGoNext = exports.canGoNext = function canGoNext(spec) {\n var canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nvar extractObject = exports.extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n};\n\n// get initialized state\nvar initializedState = exports.initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n return state;\n};\nvar slideHandler = exports.slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n var lazyLoadedList = spec.lazyLoadedList;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: finalSlide\n }));\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: animationSlide\n })));\n }\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n return {\n state: state,\n nextState: nextState\n };\n};\nvar changeSlide = exports.changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (infinite) {\n var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n targetSlide: targetSlide\n }));\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n return targetSlide;\n};\nvar keyHandler = exports.keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\nvar swipeStart = exports.swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nvar swipeMove = exports.swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = _objectSpread(_objectSpread({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: swipeLeft\n }))\n });\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n return state;\n};\nvar swipeEnd = exports.swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = activeSlide;\n }\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: currentLeft\n }));\n }\n return state;\n};\nvar getNavigableIndexes = exports.getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nvar checkNavigable = exports.checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nvar getSlideCount = exports.getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n return true;\n });\n if (!swipedSlide) {\n return 0;\n }\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\nvar checkSpecKeys = exports.checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\nvar getTrackCSS = exports.getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread(_objectSpread({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight;\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n return style;\n};\nvar getTrackAnimateCSS = exports.getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n return style;\n};\nvar getTrackLeft = exports.getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n var slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n return targetLeft;\n};\nvar getPreClones = exports.getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\nvar getPostClones = exports.getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\nvar getTotalSlides = exports.getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nvar siblingDirection = exports.siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\nvar slidesOnRight = exports.slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\nvar slidesOnLeft = exports.slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\nvar canUseDOM = exports.canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\nvar validSettings = exports.validSettings = Object.keys(_defaultProps[\"default\"]);\nfunction filterSettings(settings) {\n return validSettings.reduce(function (acc, settingName) {\n if (settings.hasOwnProperty(settingName)) {\n acc[settingName] = settings[settingName];\n }\n return acc;\n }, {});\n}","var cssUnit = {\n cm: true,\n mm: true,\n in: true,\n px: true,\n pt: true,\n pc: true,\n em: true,\n ex: true,\n ch: true,\n rem: true,\n vw: true,\n vh: true,\n vmin: true,\n vmax: true,\n \"%\": true,\n};\n/**\n * If size is a number, append px to the value as default unit.\n * If size is a string, validate against list of valid units.\n * If unit is valid, return size as is.\n * If unit is invalid, console warn issue, replace with px as the unit.\n *\n * @param {(number | string)} size\n * @return {LengthObject} LengthObject\n */\nexport function parseLengthAndUnit(size) {\n if (typeof size === \"number\") {\n return {\n value: size,\n unit: \"px\",\n };\n }\n var value;\n var valueString = (size.match(/^[0-9.]*/) || \"\").toString();\n if (valueString.includes(\".\")) {\n value = parseFloat(valueString);\n }\n else {\n value = parseInt(valueString, 10);\n }\n var unit = (size.match(/[^0-9]*$/) || \"\").toString();\n if (cssUnit[unit]) {\n return {\n value: value,\n unit: unit,\n };\n }\n console.warn(\"React Spinners: \".concat(size, \" is not a valid css value. Defaulting to \").concat(value, \"px.\"));\n return {\n value: value,\n unit: \"px\",\n };\n}\n/**\n * Take value as an input and return valid css value\n *\n * @param {(number | string)} value\n * @return {string} valid css value\n */\nexport function cssValue(value) {\n var lengthWithunit = parseLengthAndUnit(value);\n return \"\".concat(lengthWithunit.value).concat(lengthWithunit.unit);\n}\n","export var createAnimation = function (loaderName, frames, suffix) {\n var animationName = \"react-spinners-\".concat(loaderName, \"-\").concat(suffix);\n if (typeof window == \"undefined\" || !window.document) {\n return animationName;\n }\n var styleEl = document.createElement(\"style\");\n document.head.appendChild(styleEl);\n var styleSheet = styleEl.sheet;\n var keyFrames = \"\\n @keyframes \".concat(animationName, \" {\\n \").concat(frames, \"\\n }\\n \");\n if (styleSheet) {\n styleSheet.insertRule(keyFrames, 0);\n }\n return animationName;\n};\n","var BasicColors;\n(function (BasicColors) {\n BasicColors[\"maroon\"] = \"#800000\";\n BasicColors[\"red\"] = \"#FF0000\";\n BasicColors[\"orange\"] = \"#FFA500\";\n BasicColors[\"yellow\"] = \"#FFFF00\";\n BasicColors[\"olive\"] = \"#808000\";\n BasicColors[\"green\"] = \"#008000\";\n BasicColors[\"purple\"] = \"#800080\";\n BasicColors[\"fuchsia\"] = \"#FF00FF\";\n BasicColors[\"lime\"] = \"#00FF00\";\n BasicColors[\"teal\"] = \"#008080\";\n BasicColors[\"aqua\"] = \"#00FFFF\";\n BasicColors[\"blue\"] = \"#0000FF\";\n BasicColors[\"navy\"] = \"#000080\";\n BasicColors[\"black\"] = \"#000000\";\n BasicColors[\"gray\"] = \"#808080\";\n BasicColors[\"silver\"] = \"#C0C0C0\";\n BasicColors[\"white\"] = \"#FFFFFF\";\n})(BasicColors || (BasicColors = {}));\nexport var calculateRgba = function (color, opacity) {\n if (Object.keys(BasicColors).includes(color)) {\n color = BasicColors[color];\n }\n if (color[0] === \"#\") {\n color = color.slice(1);\n }\n if (color.length === 3) {\n var res_1 = \"\";\n color.split(\"\").forEach(function (c) {\n res_1 += c;\n res_1 += c;\n });\n color = res_1;\n }\n var rgbValues = (color.match(/.{2}/g) || []).map(function (hex) { return parseInt(hex, 16); }).join(\", \");\n return \"rgba(\".concat(rgbValues, \", \").concat(opacity, \")\");\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from \"react\";\nimport { cssValue } from \"./helpers/unitConverter\";\nimport { createAnimation } from \"./helpers/animation\";\nimport { calculateRgba } from \"./helpers/colors\";\nvar long = createAnimation(\"BarLoader\", \"0% {left: -35%;right: 100%} 60% {left: 100%;right: -90%} 100% {left: 100%;right: -90%}\", \"long\");\nvar short = createAnimation(\"BarLoader\", \"0% {left: -200%;right: 100%} 60% {left: 107%;right: -8%} 100% {left: 107%;right: -8%}\", \"short\");\nfunction BarLoader(_a) {\n var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? \"#000000\" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.height, height = _f === void 0 ? 4 : _f, _g = _a.width, width = _g === void 0 ? 100 : _g, additionalprops = __rest(_a, [\"loading\", \"color\", \"speedMultiplier\", \"cssOverride\", \"height\", \"width\"]);\n var wrapper = __assign({ display: \"inherit\", position: \"relative\", width: cssValue(width), height: cssValue(height), overflow: \"hidden\", backgroundColor: calculateRgba(color, 0.2), backgroundClip: \"padding-box\" }, cssOverride);\n var style = function (i) {\n return {\n position: \"absolute\",\n height: cssValue(height),\n overflow: \"hidden\",\n backgroundColor: color,\n backgroundClip: \"padding-box\",\n display: \"block\",\n borderRadius: 2,\n willChange: \"left, right\",\n animationFillMode: \"forwards\",\n animation: \"\".concat(i === 1 ? long : short, \" \").concat(2.1 / speedMultiplier, \"s \").concat(i === 2 ? \"\".concat(1.15 / speedMultiplier, \"s\") : \"\", \" \").concat(i === 1 ? \"cubic-bezier(0.65, 0.815, 0.735, 0.395)\" : \"cubic-bezier(0.165, 0.84, 0.44, 1)\", \" infinite\"),\n };\n };\n if (!loading) {\n return null;\n }\n return (React.createElement(\"span\", __assign({ style: wrapper }, additionalprops),\n React.createElement(\"span\", { style: style(1) }),\n React.createElement(\"span\", { style: style(2) })));\n}\nexport default BarLoader;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t p,\n isStatic: false,\n reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n","import { createContext } from 'react';\n\nconst MotionContext = createContext({});\n\nexport { MotionContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","const isBrowser = typeof document !== \"undefined\";\n\nexport { isBrowser };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","/**\n * Convert camelCase to dash-case properties.\n */\nconst camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, \"$1-$2\").toLowerCase();\n\nexport { camelToDash };\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n","const MotionGlobalConfig = {\n skipAnimations: false,\n useManualTiming: false,\n};\n\nexport { MotionGlobalConfig };\n","class Queue {\n constructor() {\n this.order = [];\n this.scheduled = new Set();\n }\n add(process) {\n if (!this.scheduled.has(process)) {\n this.scheduled.add(process);\n this.order.push(process);\n return true;\n }\n }\n remove(process) {\n const index = this.order.indexOf(process);\n if (index !== -1) {\n this.order.splice(index, 1);\n this.scheduled.delete(process);\n }\n }\n clear() {\n this.order.length = 0;\n this.scheduled.clear();\n }\n}\nfunction createRenderStep(runNextFrame) {\n /**\n * We create and reuse two queues, one to queue jobs for the current frame\n * and one for the next. We reuse to avoid triggering GC after x frames.\n */\n let thisFrame = new Queue();\n let nextFrame = new Queue();\n let numToRun = 0;\n /**\n * Track whether we're currently processing jobs in this step. This way\n * we can decide whether to schedule new jobs for this frame or next.\n */\n let isProcessing = false;\n let flushNextFrame = false;\n /**\n * A set of processes which were marked keepAlive when scheduled.\n */\n const toKeepAlive = new WeakSet();\n const step = {\n /**\n * Schedule a process to run on the next frame.\n */\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const queue = addToCurrentFrame ? thisFrame : nextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (queue.add(callback) && addToCurrentFrame && isProcessing) {\n // If we're adding it to the currently running queue, update its measured size\n numToRun = thisFrame.order.length;\n }\n return callback;\n },\n /**\n * Cancel the provided callback from running on the next frame.\n */\n cancel: (callback) => {\n nextFrame.remove(callback);\n toKeepAlive.delete(callback);\n },\n /**\n * Execute all schedule callbacks.\n */\n process: (frameData) => {\n /**\n * If we're already processing we've probably been triggered by a flushSync\n * inside an existing process. Instead of executing, mark flushNextFrame\n * as true and ensure we flush the following frame at the end of this one.\n */\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n [thisFrame, nextFrame] = [nextFrame, thisFrame];\n // Clear the next frame queue\n nextFrame.clear();\n // Execute this frame\n numToRun = thisFrame.order.length;\n if (numToRun) {\n for (let i = 0; i < numToRun; i++) {\n const callback = thisFrame.order[i];\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n callback(frameData);\n }\n }\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","import { MotionGlobalConfig } from '../utils/GlobalConfig.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst stepsOrder = [\n \"read\", // Read\n \"resolveKeyframes\", // Write/Read/Write/Read\n \"update\", // Compute\n \"preRender\", // Compute\n \"render\", // Write\n \"postRender\", // Compute\n];\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n let runNextFrame = false;\n let useDefaultElapsed = true;\n const state = {\n delta: 0,\n timestamp: 0,\n isProcessing: false,\n };\n const steps = stepsOrder.reduce((acc, key) => {\n acc[key] = createRenderStep(() => (runNextFrame = true));\n return acc;\n }, {});\n const processStep = (stepId) => {\n steps[stepId].process(state);\n };\n const processBatch = () => {\n const timestamp = MotionGlobalConfig.useManualTiming\n ? state.timestamp\n : performance.now();\n runNextFrame = false;\n state.delta = useDefaultElapsed\n ? 1000 / 60\n : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n state.timestamp = timestamp;\n state.isProcessing = true;\n stepsOrder.forEach(processStep);\n state.isProcessing = false;\n if (runNextFrame && allowKeepAlive) {\n useDefaultElapsed = false;\n scheduleNextBatch(processBatch);\n }\n };\n const wake = () => {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!state.isProcessing) {\n scheduleNextBatch(processBatch);\n }\n };\n const schedule = stepsOrder.reduce((acc, key) => {\n const step = steps[key];\n acc[key] = (process, keepAlive = false, immediate = false) => {\n if (!runNextFrame)\n wake();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n }, {});\n const cancel = (process) => stepsOrder.forEach((key) => steps[key].cancel(process));\n return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher, stepsOrder };\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n","import { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { optimizedAppearDataAttribute } from '../../animation/optimized-appear/data-id.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n const { visualElement: parent } = useContext(MotionContext);\n const lazyContext = useContext(LazyContext);\n const presenceContext = useContext(PresenceContext);\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n const visualElementRef = useRef();\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement = createVisualElement || lazyContext.renderer;\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 const visualElement = visualElementRef.current;\n useInsertionEffect(() => {\n visualElement && visualElement.update(props, presenceContext);\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 wantsHandoff = useRef(Boolean(props[optimizedAppearDataAttribute] &&\n !window.HandoffComplete));\n useIsomorphicLayoutEffect(() => {\n if (!visualElement)\n return;\n microtask.postRender(visualElement.render);\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 useEffect(() => {\n if (!visualElement)\n return;\n visualElement.updateFeatures();\n if (!wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n if (wantsHandoff.current) {\n wantsHandoff.current = false;\n // This ensures all future calls to animateChanges() will run in useEffect\n window.HandoffComplete = true;\n }\n });\n return visualElement;\n}\n\nexport { useVisualElement };\n","function isRefObject(ref) {\n return (ref &&\n typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback((instance) => {\n instance && visualState.mount && visualState.mount(instance);\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n","function isAnimationControls(v) {\n return (v !== null &&\n typeof v === \"object\" &&\n typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n","const variantPriorityOrder = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n return (isAnimationControls(props.animate) ||\n variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n","import { isVariantLabel } from '../../render/utils/is-variant-label.mjs';\nimport { isControllingVariants } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n if (isControllingVariants(props)) {\n const { initial, animate } = props;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","const 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};\nconst featureDefinitions = {};\nfor (const key in featureProps) {\n featureDefinitions[key] = {\n isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n };\n}\n\nexport { featureDefinitions };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n for (const key in features) {\n featureDefinitions[key] = {\n ...featureDefinitions[key],\n ...features[key],\n };\n }\n}\n\nexport { loadFeatures };\n","import { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","import { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { SwitchLayoutGroupContext } from '../context/SwitchLayoutGroupContext.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\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 */\nfunction createMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component, }) {\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\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;\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n };\n const { isStatic } = configAndProps;\n const context = useCreateMotionContext(props);\n const visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\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(Component, visualState, configAndProps, createVisualElement);\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 const isStrict = useContext(LazyContext).strict;\n if (context.visualElement) {\n MeasureLayout = context.visualElement.loadFeatures(\n // Note: Pass the full new combined props to correctly re-render dynamic feature components.\n configAndProps, isStrict, preloadedFeatures, initialLayoutGroupConfig);\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 (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement)] }));\n }\n const ForwardRefComponent = forwardRef(MotionComponent);\n ForwardRefComponent[motionComponentSymbol] = Component;\n return ForwardRefComponent;\n}\nfunction useLayoutId({ layoutId }) {\n const layoutGroupId = useContext(LayoutGroupContext).id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\n\nexport { createMotionComponent };\n","import { createMotionComponent } from '../../motion/index.mjs';\n\n/**\n * Convert any React component into a `motion` component. The provided component\n * **must** use `React.forwardRef` to the underlying DOM component you want to animate.\n *\n * ```jsx\n * const Component = React.forwardRef((props, ref) => {\n * return \n * })\n *\n * const MotionComponent = motion(Component)\n * ```\n *\n * @public\n */\nfunction createMotionProxy(createConfig) {\n function custom(Component, customMotionComponentConfig = {}) {\n return createMotionComponent(createConfig(Component, customMotionComponentConfig));\n }\n if (typeof Proxy === \"undefined\") {\n return custom;\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n const componentCache = new Map();\n return new Proxy(custom, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: (_target, key) => {\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, custom(key));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst 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\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\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 return false;\n }\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 return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","const scaleCorrectors = {};\nfunction addScaleCorrector(correctors) {\n Object.assign(scaleCorrectors, correctors);\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n \"transformPerspective\",\n \"x\",\n \"y\",\n \"z\",\n \"translateX\",\n \"translateY\",\n \"translateZ\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"skew\",\n \"skewX\",\n \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = new Set(transformPropOrder);\n\nexport { transformPropOrder, transformProps };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { transformProps } from '../../render/html/utils/transform.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n return (transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n","import { transformPropOrder } from './transform.mjs';\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\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 */\nfunction buildTransform(transform, { enableHardwareAcceleration = true, allowTransformNone = true, }, transformIsDefault, transformTemplate) {\n // The transform string we're going to build into.\n let transformString = \"\";\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];\n if (transform[key] !== undefined) {\n const transformName = translateAlias[key] || key;\n transformString += `${transformName}(${transform[key]}) `;\n }\n }\n if (enableHardwareAcceleration && !transform.z) {\n transformString += \"translateZ(0)\";\n }\n transformString = transformString.trim();\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(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (allowTransformNone && transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n\nexport { buildTransform };\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = checkStringStartsWith(\"--\");\nconst startsAsVariableToken = checkStringStartsWith(\"var(--\");\nconst isCSSVariableToken = (value) => {\n const startsWithToken = startsAsVariableToken(value);\n if (!startsWithToken)\n return false;\n // Ensure any comments are stripped from the value as this can harm performance of the regex.\n return singleCssVariableRegex.test(value.split(\"/*\")[0].trim());\n};\nconst singleCssVariableRegex = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\n\nexport { isCSSVariableName, isCSSVariableToken };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","const clamp = (min, max, v) => {\n if (v > max)\n return max;\n if (v < min)\n return min;\n return v;\n};\n\nexport { clamp };\n","import { clamp } from '../../../utils/clamp.mjs';\n\nconst number = {\n test: (v) => typeof v === \"number\",\n parse: parseFloat,\n transform: (v) => v,\n};\nconst alpha = {\n ...number,\n transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n ...number,\n default: 1,\n};\n\nexport { alpha, number, scale };\n","/**\n * TODO: When we move from string as a source of truth to data models\n * everything in this folder should probably be referred to as models vs types\n */\n// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\nconst floatRegex = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\nconst colorRegex = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\nconst singleColorRegex = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nexport { colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { isString } from '../utils.mjs';\n\nconst createUnitType = (unit) => ({\n test: (v) => isString(v) && v.endsWith(unit) && v.split(\" \").length === 1,\n parse: parseFloat,\n transform: (v) => `${v}${unit}`,\n});\nconst degrees = createUnitType(\"deg\");\nconst percent = createUnitType(\"%\");\nconst px = createUnitType(\"px\");\nconst vh = createUnitType(\"vh\");\nconst vw = createUnitType(\"vw\");\nconst progressPercentage = {\n ...percent,\n parse: (v) => percent.parse(v) / 100,\n transform: (v) => percent.transform(v * 100),\n};\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { number } from '../../../value/types/numbers/index.mjs';\n\nconst int = {\n ...number,\n transform: Math.round,\n};\n\nexport { int };\n","import { scale, alpha } from '../../../value/types/numbers/index.mjs';\nimport { px, degrees, progressPercentage } from '../../../value/types/numbers/units.mjs';\nimport { int } from './type-int.mjs';\n\nconst numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Transform props\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n // Misc\n zIndex: int,\n backgroundPositionX: px,\n backgroundPositionY: px,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { buildTransform } from './build-transform.mjs';\nimport { isCSSVariableName } from '../../dom/utils/is-css-variable.mjs';\nimport { transformProps } from './transform.mjs';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.mjs';\nimport { numberValueTypes } from '../../dom/value-types/number.mjs';\n\nfunction buildHTMLStyles(state, latestValues, options, transformTemplate) {\n const { style, vars, transform, transformOrigin } = state;\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false;\n let hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n let transformIsNone = true;\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 seperately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key];\n /**\n * If this is a CSS variable we don't do any further processing.\n */\n if (isCSSVariableName(key)) {\n vars[key] = value;\n continue;\n }\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueType = numberValueTypes[key];\n const valueAsType = getValueAsType(value, valueType);\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n transform[key] = valueAsType;\n // If we already know we have a non-default transform, early return\n if (!transformIsNone)\n continue;\n // Otherwise check to see if this is a default transform\n if (value !== (valueType.default || 0))\n transformIsNone = false;\n }\n else if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n transformOrigin[key] = valueAsType;\n }\n else {\n style[key] = valueAsType;\n }\n }\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(state.transform, options, transformIsNone, 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 * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n style.transformOrigin = `${originX} ${originY} ${originZ}`;\n }\n}\n\nexport { buildHTMLStyles };\n","const createHtmlRenderState = () => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n});\n\nexport { createHtmlRenderState };\n","import { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState, isStatic) {\n return useMemo(() => {\n const state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n return Object.assign({}, state.vars, state.style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n const styleProp = props.style || {};\n const style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n return style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps = {};\n const style = useStyle(props, visualState, isStatic);\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\";\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 if (props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)) {\n htmlProps.tabIndex = 0;\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\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([\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 * 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 */\nfunction isValidMotionProp(key) {\n return (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));\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n if (!isValidProp)\n return;\n // Explicitly filter our events\n shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\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}\ncatch (_a) {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n const filteredProps = {};\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\")\n continue;\n if (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\"] &&\n key.startsWith(\"onDrag\"))) {\n filteredProps[key] =\n props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === \"string\"\n ? origin\n : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n const pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n const pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return `${pxOriginX} ${pxOriginY}`;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\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 */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1;\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 // Build the dash offset\n attrs[keys.offset] = px.transform(-offset);\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\nexport { buildSVGPath };\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { calcSVGTransformOrigin } from './transform-origin.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, originX, originY, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, options, isSVGTag, transformTemplate) {\n buildHTMLStyles(state, latest, options, transformTemplate);\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 state.attrs = state.style;\n state.style = {};\n const { attrs, style, dimensions } = state;\n /**\n * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n * and copy it into style.\n */\n if (attrs.transform) {\n if (dimensions)\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n // Parse transformOrigin\n if (dimensions &&\n (originX !== undefined || originY !== undefined || style.transform)) {\n style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n }\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n if (attrScale !== undefined)\n attrs.scale = attrScale;\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n ...createHtmlRenderState(),\n attrs: {},\n});\n\nexport { createSvgRenderState };\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n","import { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState();\n buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, isSVGTag(Component), props.transformTemplate);\n return {\n ...state.attrs,\n style: { ...state.style },\n };\n }, [visualState]);\n if (props.style) {\n const rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = { ...rawStyles, ...visualProps.style };\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { Fragment, useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction createUseRender(forwardMotionProps = false) {\n const useRender = (Component, props, ref, { latestValues }, isStatic) => {\n const useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n const elementProps = Component !== Fragment\n ? { ...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(() => (isMotionValue(children) ? children.get() : children), [children]);\n return createElement(Component, {\n ...elementProps,\n children: renderedChildren,\n });\n };\n return useRender;\n}\n\nexport { createUseRender };\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));\n // Loop over any CSS variables and assign those.\n for (const key in vars) {\n element.style.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n \"pathLength\",\n \"startOffset\",\n \"textLength\",\n \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n renderHTML(element, renderState, undefined, projection);\n for (const key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n var _a;\n const { style } = props;\n const newValues = {};\n for (const key in style) {\n if (isMotionValue(style[key]) ||\n (prevProps.style &&\n isMotionValue(prevProps.style[key])) ||\n isForcedMotionValue(key, props) ||\n ((_a = visualElement === null || visualElement === void 0 ? void 0 : visualElement.getValue(key)) === null || _a === void 0 ? void 0 : _a.liveStyle) !== undefined) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\nimport { transformPropOrder } from '../../html/utils/transform.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);\n for (const key in props) {\n if (isMotionValue(props[key]) ||\n isMotionValue(prevProps[key])) {\n const targetKey = transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","function resolveVariantFromProps(props, definition, custom, currentValues = {}, currentVelocity = {}) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\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 * 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 definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\n }\n return definition;\n}\n\nexport { resolveVariantFromProps };\n","import { useRef } from 'react';\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 */\nfunction useConstant(init) {\n const ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","const isKeyframesTarget = (v) => {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.mjs';\n\nconst isCustomValue = (v) => {\n return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nconst resolveFinalValueInKeyframes = (v) => {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","import { isCustomValue } from '../../utils/resolve-value.mjs';\nimport { isMotionValue } from './is-motion-value.mjs';\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 */\nfunction resolveMotionValue(value) {\n const unwrappedValue = isMotionValue(value) ? value.get() : value;\n return isCustomValue(unwrappedValue)\n ? unwrappedValue.toValue()\n : unwrappedValue;\n}\n\nexport { resolveMotionValue };\n","import { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, onMount, }, props, context, presenceContext) {\n const state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = (instance) => onMount(props, instance, state);\n }\n return state;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n const context = useContext(MotionContext);\n const presenceContext = useContext(PresenceContext);\n const make = () => makeState(config, props, context, presenceContext);\n return isStatic ? make() : useConstant(make);\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n const values = {};\n const motionValues = scrapeMotionValues(props, {});\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n let { initial, animate } = props;\n const isControllingVariants$1 = isControllingVariants(props);\n const isVariantNode$1 = isVariantNode(props);\n if (context &&\n isVariantNode$1 &&\n !isControllingVariants$1 &&\n props.inherit !== false) {\n if (initial === undefined)\n initial = context.initial;\n if (animate === undefined)\n animate = context.animate;\n }\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false;\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n const variantToSet = isInitialAnimationBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach((definition) => {\n const resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n const { transitionEnd, transition, ...target } = resolved;\n for (const key in target) {\n let valueTarget = target[key];\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];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (const key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","const noop = (any) => any;\n\nexport { noop };\n","import { noop } from '../utils/noop.mjs';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps, } = createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, steps };\n","import { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: (props, instance, { renderState, latestValues }) => {\n frame.read(() => {\n try {\n renderState.dimensions =\n typeof instance.getBBox ===\n \"function\"\n ? instance.getBBox()\n : instance.getBoundingClientRect();\n }\n catch (e) {\n // Most likely trying to measure an unrendered element under Firefox\n renderState.dimensions = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n });\n frame.render(() => {\n buildSVGAttrs(renderState, latestValues, { enableHardwareAcceleration: false }, isSVGTag(instance.tagName), props.transformTemplate);\n renderSVG(instance, renderState);\n });\n },\n }),\n};\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","import { isSVGComponent } from './is-svg-component.mjs';\nimport { createUseRender } from '../use-render.mjs';\nimport { svgMotionConfig } from '../../svg/config-motion.mjs';\nimport { htmlMotionConfig } from '../../html/config-motion.mjs';\n\nfunction createDomMotionConfig(Component, { forwardMotionProps = false }, preloadedFeatures, createVisualElement) {\n const baseConfig = isSVGComponent(Component)\n ? svgMotionConfig\n : htmlMotionConfig;\n return {\n ...baseConfig,\n preloadedFeatures,\n useRender: createUseRender(forwardMotionProps),\n createVisualElement,\n Component,\n };\n}\n\nexport { createDomMotionConfig };\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n target.addEventListener(eventName, handler, options);\n return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n","const isPrimaryPointer = (event) => {\n if (event.pointerType === \"mouse\") {\n return typeof event.button !== \"number\" || event.button <= 0;\n }\n else {\n /**\n * isPrimary is true for all mice buttons, whereas every touch point\n * is regarded as its own input. So subsequent concurrent touch points\n * will be false.\n *\n * Specifically match against false here as incomplete versions of\n * PointerEvents in very old browser might have it set as undefined.\n */\n return event.isPrimary !== false;\n }\n};\n\nexport { isPrimaryPointer };\n","import { isPrimaryPointer } from './utils/is-primary-pointer.mjs';\n\nfunction extractEventInfo(event, pointType = \"page\") {\n return {\n point: {\n x: event[`${pointType}X`],\n y: event[`${pointType}Y`],\n },\n };\n}\nconst addPointerInfo = (handler) => {\n return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n};\n\nexport { addPointerInfo, extractEventInfo };\n","import { addDomEvent } from './add-dom-event.mjs';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n","function createLock(name) {\n let lock = null;\n return () => {\n const openLock = () => {\n lock = null;\n };\n if (lock === null) {\n lock = name;\n return openLock;\n }\n return false;\n };\n}\nconst globalHorizontalLock = createLock(\"dragHorizontal\");\nconst globalVerticalLock = createLock(\"dragVertical\");\nfunction getGlobalLock(drag) {\n let lock = false;\n if (drag === \"y\") {\n lock = globalVerticalLock();\n }\n else if (drag === \"x\") {\n lock = globalHorizontalLock();\n }\n else {\n const openHorizontal = globalHorizontalLock();\n const openVertical = globalVerticalLock();\n if (openHorizontal && openVertical) {\n lock = () => {\n openHorizontal();\n openVertical();\n };\n }\n else {\n // Release the locks because we don't use them\n if (openHorizontal)\n openHorizontal();\n if (openVertical)\n openVertical();\n }\n }\n return lock;\n}\nfunction isDragActive() {\n // Check the gesture lock - if we get it, it means no drag gesture is active\n // and we can safely fire the tap gesture.\n const openGestureLock = getGlobalLock(true);\n if (!openGestureLock)\n return true;\n openGestureLock();\n return false;\n}\n\nexport { createLock, getGlobalLock, isDragActive };\n","class Feature {\n constructor(node) {\n this.isMounted = false;\n this.node = node;\n }\n update() { }\n}\n\nexport { Feature };\n","import { addPointerEvent } from '../events/add-pointer-event.mjs';\nimport { pipe } from '../utils/pipe.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\n\nfunction addHoverEvent(node, isActive) {\n const eventName = isActive ? \"pointerenter\" : \"pointerleave\";\n const callbackName = isActive ? \"onHoverStart\" : \"onHoverEnd\";\n const handleEvent = (event, info) => {\n if (event.pointerType === \"touch\" || isDragActive())\n return;\n const props = node.getProps();\n if (node.animationState && props.whileHover) {\n node.animationState.setActive(\"whileHover\", isActive);\n }\n const callback = props[callbackName];\n if (callback)\n callback(event, info);\n };\n return addPointerEvent(node.current, eventName, handleEvent, {\n passive: !node.getProps()[callbackName],\n });\n}\nclass HoverGesture extends Feature {\n mount() {\n this.unmount = pipe(addHoverEvent(this.node, true), addHoverEvent(this.node, false));\n }\n unmount() { }\n}\n\nexport { HoverGesture };\n","import { addDomEvent } from '../events/add-dom-event.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\nimport { pipe } from '../utils/pipe.mjs';\n\nclass FocusGesture extends Feature {\n constructor() {\n super(...arguments);\n this.isActive = false;\n }\n onFocus() {\n let isFocusVisible = false;\n /**\n * If this element doesn't match focus-visible then don't\n * apply whileHover. But, if matches throws that focus-visible\n * is not a valid selector then in that browser outline styles will be applied\n * to the element by default and we want to match that behaviour with whileFocus.\n */\n try {\n isFocusVisible = this.node.current.matches(\":focus-visible\");\n }\n catch (e) {\n isFocusVisible = true;\n }\n if (!isFocusVisible || !this.node.animationState)\n return;\n this.node.animationState.setActive(\"whileFocus\", true);\n this.isActive = true;\n }\n onBlur() {\n if (!this.isActive || !this.node.animationState)\n return;\n this.node.animationState.setActive(\"whileFocus\", false);\n this.isActive = false;\n }\n mount() {\n this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n }\n unmount() { }\n}\n\nexport { FocusGesture };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n","import { extractEventInfo } from '../events/event-info.mjs';\nimport { addDomEvent } from '../events/add-dom-event.mjs';\nimport { addPointerEvent } from '../events/add-pointer-event.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\nimport { pipe } from '../utils/pipe.mjs';\nimport { isDragActive } from './drag/utils/lock.mjs';\nimport { isNodeOrChild } from './utils/is-node-or-child.mjs';\nimport { noop } from '../utils/noop.mjs';\n\nfunction fireSyntheticPointerEvent(name, handler) {\n if (!handler)\n return;\n const syntheticPointerEvent = new PointerEvent(\"pointer\" + name);\n handler(syntheticPointerEvent, extractEventInfo(syntheticPointerEvent));\n}\nclass PressGesture extends Feature {\n constructor() {\n super(...arguments);\n this.removeStartListeners = noop;\n this.removeEndListeners = noop;\n this.removeAccessibleListeners = noop;\n this.startPointerPress = (startEvent, startInfo) => {\n if (this.isPressing)\n return;\n this.removeEndListeners();\n const props = this.node.getProps();\n const endPointerPress = (endEvent, endInfo) => {\n if (!this.checkPressEnd())\n return;\n const { onTap, onTapCancel, globalTapTarget } = this.node.getProps();\n /**\n * We only count this as a tap gesture if the event.target is the same\n * as, or a child of, this component's element\n */\n !globalTapTarget &&\n !isNodeOrChild(this.node.current, endEvent.target)\n ? onTapCancel && onTapCancel(endEvent, endInfo)\n : onTap && onTap(endEvent, endInfo);\n };\n const removePointerUpListener = addPointerEvent(window, \"pointerup\", endPointerPress, {\n passive: !(props.onTap || props[\"onPointerUp\"]),\n });\n const removePointerCancelListener = addPointerEvent(window, \"pointercancel\", (cancelEvent, cancelInfo) => this.cancelPress(cancelEvent, cancelInfo), {\n passive: !(props.onTapCancel ||\n props[\"onPointerCancel\"]),\n });\n this.removeEndListeners = pipe(removePointerUpListener, removePointerCancelListener);\n this.startPress(startEvent, startInfo);\n };\n this.startAccessiblePress = () => {\n const handleKeydown = (keydownEvent) => {\n if (keydownEvent.key !== \"Enter\" || this.isPressing)\n return;\n const handleKeyup = (keyupEvent) => {\n if (keyupEvent.key !== \"Enter\" || !this.checkPressEnd())\n return;\n fireSyntheticPointerEvent(\"up\", (event, info) => {\n const { onTap } = this.node.getProps();\n if (onTap)\n onTap(event, info);\n });\n };\n this.removeEndListeners();\n this.removeEndListeners = addDomEvent(this.node.current, \"keyup\", handleKeyup);\n fireSyntheticPointerEvent(\"down\", (event, info) => {\n this.startPress(event, info);\n });\n };\n const removeKeydownListener = addDomEvent(this.node.current, \"keydown\", handleKeydown);\n const handleBlur = () => {\n if (!this.isPressing)\n return;\n fireSyntheticPointerEvent(\"cancel\", (cancelEvent, cancelInfo) => this.cancelPress(cancelEvent, cancelInfo));\n };\n const removeBlurListener = addDomEvent(this.node.current, \"blur\", handleBlur);\n this.removeAccessibleListeners = pipe(removeKeydownListener, removeBlurListener);\n };\n }\n startPress(event, info) {\n this.isPressing = true;\n const { onTapStart, whileTap } = this.node.getProps();\n /**\n * Ensure we trigger animations before firing event callback\n */\n if (whileTap && this.node.animationState) {\n this.node.animationState.setActive(\"whileTap\", true);\n }\n if (onTapStart) {\n onTapStart(event, info);\n }\n }\n checkPressEnd() {\n this.removeEndListeners();\n this.isPressing = false;\n const props = this.node.getProps();\n if (props.whileTap && this.node.animationState) {\n this.node.animationState.setActive(\"whileTap\", false);\n }\n return !isDragActive();\n }\n cancelPress(event, info) {\n if (!this.checkPressEnd())\n return;\n const { onTapCancel } = this.node.getProps();\n if (onTapCancel)\n onTapCancel(event, info);\n }\n mount() {\n const props = this.node.getProps();\n const removePointerListener = addPointerEvent(props.globalTapTarget ? window : this.node.current, \"pointerdown\", this.startPointerPress, {\n passive: !(props.onTapStart ||\n props[\"onPointerStart\"]),\n });\n const removeFocusListener = addDomEvent(this.node.current, \"focus\", this.startAccessiblePress);\n this.removeStartListeners = pipe(removePointerListener, removeFocusListener);\n }\n unmount() {\n this.removeStartListeners();\n this.removeEndListeners();\n this.removeAccessibleListeners();\n }\n}\n\nexport { PressGesture };\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n const callback = observerCallbacks.get(entry.target);\n callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n const lookupRoot = root || document;\n /**\n * If we don't have an observer lookup map for this root, create one.\n */\n if (!observers.has(lookupRoot)) {\n observers.set(lookupRoot, {});\n }\n const rootObservers = observers.get(lookupRoot);\n const key = JSON.stringify(options);\n /**\n * If we don't have an observer for this combination of root and settings,\n * create one.\n */\n if (!rootObservers[key]) {\n rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n }\n return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n const rootInteresectionObserver = initIntersectionObserver(options);\n observerCallbacks.set(element, callback);\n rootInteresectionObserver.observe(element);\n return () => {\n observerCallbacks.delete(element);\n rootInteresectionObserver.unobserve(element);\n };\n}\n\nexport { observeIntersection };\n","import { Feature } from '../Feature.mjs';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n some: 0,\n all: 1,\n};\nclass InViewFeature extends Feature {\n constructor() {\n super(...arguments);\n this.hasEnteredView = false;\n this.isInView = false;\n }\n startObserver() {\n this.unmount();\n const { viewport = {} } = this.node.getProps();\n const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n const options = {\n root: root ? root.current : undefined,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n };\n const onIntersectionUpdate = (entry) => {\n const { isIntersecting } = entry;\n /**\n * If there's been no change in the viewport state, early return.\n */\n if (this.isInView === isIntersecting)\n return;\n this.isInView = isIntersecting;\n /**\n * Handle hasEnteredView. If this is only meant to run once, and\n * element isn't visible, early return. Otherwise set hasEnteredView to true.\n */\n if (once && !isIntersecting && this.hasEnteredView) {\n return;\n }\n else if (isIntersecting) {\n this.hasEnteredView = true;\n }\n if (this.node.animationState) {\n this.node.animationState.setActive(\"whileInView\", isIntersecting);\n }\n /**\n * Use the latest committed props rather than the ones in scope\n * when this observer is created\n */\n const { onViewportEnter, onViewportLeave } = this.node.getProps();\n const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n callback && callback(entry);\n };\n return observeIntersection(this.node.current, options, onIntersectionUpdate);\n }\n mount() {\n this.startObserver();\n }\n update() {\n if (typeof IntersectionObserver === \"undefined\")\n return;\n const { props, prevProps } = this.node;\n const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n if (hasOptionsChanged) {\n this.startObserver();\n }\n }\n unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n inView: {\n Feature: InViewFeature,\n },\n tap: {\n Feature: PressGesture,\n },\n focus: {\n Feature: FocusGesture,\n },\n hover: {\n Feature: HoverGesture,\n },\n};\n\nexport { gestureAnimations };\n","function shallowCompare(next, prev) {\n if (!Array.isArray(prev))\n return false;\n const prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (let i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\nexport { shallowCompare };\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n const current = {};\n visualElement.values.forEach((value, key) => (current[key] = value.get()));\n return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n const velocity = {};\n visualElement.values.forEach((value, key) => (velocity[key] = value.getVelocity()));\n return velocity;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n const props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\n\nexport { resolveVariant };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n","import { transformProps } from '../../render/html/utils/transform.mjs';\n\nconst underDampedSpring = {\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n type: \"spring\",\n stiffness: 550,\n damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n restSpeed: 10,\n});\nconst keyframesTransition = {\n type: \"keyframes\",\n duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n type: \"keyframes\",\n ease: [0.25, 0.1, 0.35, 1],\n duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n if (keyframes.length > 2) {\n return keyframesTransition;\n }\n else if (transformProps.has(valueKey)) {\n return valueKey.startsWith(\"scale\")\n ? criticallyDampedSpring(keyframes[1])\n : underDampedSpring;\n }\n return ease;\n};\n\nexport { getDefaultTransition };\n","/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, elapsed, ...transition }) {\n return !!Object.keys(transition).length;\n}\nfunction getValueTransition(transition, key) {\n return (transition[key] ||\n transition[\"default\"] ||\n transition);\n}\n\nexport { getValueTransition, isTransitionDefined };\n","const instantAnimationState = {\n current: false,\n};\n\nexport { instantAnimationState };\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe) {\n const resolvedKeyframes = keyframes.filter(isNotNull);\n const index = repeat && repeatType !== \"loop\" && repeat % 2 === 1\n ? 0\n : resolvedKeyframes.length - 1;\n return !index || finalKeyframe === undefined\n ? resolvedKeyframes[index]\n : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n","import { MotionGlobalConfig } from '../utils/GlobalConfig.mjs';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n now: () => {\n if (now === undefined) {\n time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n ? frameData.timestamp\n : performance.now());\n }\n return now;\n },\n set: (newTime) => {\n now = newTime;\n queueMicrotask(clearTime);\n },\n};\n\nexport { time };\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/u.test(v);\n\nexport { isZeroValueString };\n","import { isZeroValueString } from '../../utils/is-zero-value-string.mjs';\n\nfunction isNone(value) {\n if (typeof value === \"number\") {\n return value === 0;\n }\n else if (value !== null) {\n return value === \"none\" || value === \"0\" || isZeroValueString(value);\n }\n else {\n return true;\n }\n}\n\nexport { isNone };\n","import { noop } from './noop.mjs';\n\nlet warning = noop;\nlet invariant = noop;\nif (process.env.NODE_ENV !== \"production\") {\n warning = (check, message) => {\n if (!check && typeof console !== \"undefined\") {\n console.warn(message);\n }\n };\n invariant = (check, message) => {\n if (!check) {\n throw new Error(message);\n }\n };\n}\n\nexport { invariant, warning };\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(v);\n\nexport { isNumericalString };\n","import { invariant } from '../../../utils/errors.mjs';\nimport { isNumericalString } from '../../../utils/is-numerical-string.mjs';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = \n// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words\n/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction parseCSSVariable(current) {\n const match = splitCSSVariableRegex.exec(current);\n if (!match)\n return [,];\n const [, token1, token2, fallback] = match;\n return [`--${token1 !== null && token1 !== void 0 ? token1 : token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`);\n const [token, fallback] = parseCSSVariable(current);\n // No CSS variable detected\n if (!token)\n return;\n // Attempt to read this CSS variable off the element\n const resolved = window.getComputedStyle(element).getPropertyValue(token);\n if (resolved) {\n const trimmed = resolved.trim();\n return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n }\n return isCSSVariableToken(fallback)\n ? getVariableValue(fallback, element, depth + 1)\n : fallback;\n}\n\nexport { getVariableValue, parseCSSVariable };\n","import { transformPropOrder } from '../../html/utils/transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst positionalKeys = new Set([\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n \"x\",\n \"y\",\n \"translateX\",\n \"translateY\",\n]);\nconst isNumOrPxType = (v) => v === number || v === px;\nconst getPosFromMatrix = (matrix, pos) => parseFloat(matrix.split(\", \")[pos]);\nconst getTranslateFromMatrix = (pos2, pos3) => (_bbox, { transform }) => {\n if (transform === \"none\" || !transform)\n return 0;\n const matrix3d = transform.match(/^matrix3d\\((.+)\\)$/u);\n if (matrix3d) {\n return getPosFromMatrix(matrix3d[1], pos3);\n }\n else {\n const matrix = transform.match(/^matrix\\((.+)\\)$/u);\n if (matrix) {\n return getPosFromMatrix(matrix[1], pos2);\n }\n else {\n return 0;\n }\n }\n};\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n const removedTransforms = [];\n nonTranslationalTransformKeys.forEach((key) => {\n const value = visualElement.getValue(key);\n if (value !== undefined) {\n removedTransforms.push([key, value.get()]);\n value.set(key.startsWith(\"scale\") ? 1 : 0);\n }\n });\n return removedTransforms;\n}\nconst positionalValues = {\n // Dimensions\n width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),\n height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),\n top: (_bbox, { top }) => parseFloat(top),\n left: (_bbox, { left }) => parseFloat(left),\n bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n // Transform\n x: getTranslateFromMatrix(4, 13),\n y: getTranslateFromMatrix(5, 14),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\n\nexport { isNumOrPxType, positionalKeys, positionalValues, removeNonTranslationalTransform };\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n test: (v) => v === \"auto\",\n parse: (v) => v,\n};\n\nexport { auto };\n","import { number } from '../../../value/types/numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from '../../../value/types/numbers/units.mjs';\nimport { testValueType } from './test.mjs';\nimport { auto } from './type-auto.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n","import { removeNonTranslationalTransform } from '../dom/utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nfunction measureAllKeyframes() {\n if (anyNeedsMeasurement) {\n const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);\n const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));\n const transformsToRestore = new Map();\n /**\n * Write pass\n * If we're measuring elements we want to remove bounding box-changing transforms.\n */\n elementsToMeasure.forEach((element) => {\n const removedTransforms = removeNonTranslationalTransform(element);\n if (!removedTransforms.length)\n return;\n transformsToRestore.set(element, removedTransforms);\n element.render();\n });\n // Read\n resolversToMeasure.forEach((resolver) => resolver.measureInitialState());\n // Write\n elementsToMeasure.forEach((element) => {\n element.render();\n const restore = transformsToRestore.get(element);\n if (restore) {\n restore.forEach(([key, value]) => {\n var _a;\n (_a = element.getValue(key)) === null || _a === void 0 ? void 0 : _a.set(value);\n });\n }\n });\n // Read\n resolversToMeasure.forEach((resolver) => resolver.measureEndState());\n // Write\n resolversToMeasure.forEach((resolver) => {\n if (resolver.suspendedScrollY !== undefined) {\n window.scrollTo(0, resolver.suspendedScrollY);\n }\n });\n }\n anyNeedsMeasurement = false;\n isScheduled = false;\n toResolve.forEach((resolver) => resolver.complete());\n toResolve.clear();\n}\nfunction readAllKeyframes() {\n toResolve.forEach((resolver) => {\n resolver.readKeyframes();\n if (resolver.needsMeasurement) {\n anyNeedsMeasurement = true;\n }\n });\n}\nfunction flushKeyframeResolvers() {\n readAllKeyframes();\n measureAllKeyframes();\n}\nclass KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n /**\n * Track whether this resolver has completed. Once complete, it never\n * needs to attempt keyframe resolution again.\n */\n this.isComplete = false;\n /**\n * Track whether this resolver is async. If it is, it'll be added to the\n * resolver queue and flushed in the next frame. Resolvers that aren't going\n * to trigger read/write thrashing don't need to be async.\n */\n this.isAsync = false;\n /**\n * Track whether this resolver needs to perform a measurement\n * to resolve its keyframes.\n */\n this.needsMeasurement = false;\n /**\n * Track whether this resolver is currently scheduled to resolve\n * to allow it to be cancelled and resumed externally.\n */\n this.isScheduled = false;\n this.unresolvedKeyframes = [...unresolvedKeyframes];\n this.onComplete = onComplete;\n this.name = name;\n this.motionValue = motionValue;\n this.element = element;\n this.isAsync = isAsync;\n }\n scheduleResolve() {\n this.isScheduled = true;\n if (this.isAsync) {\n toResolve.add(this);\n if (!isScheduled) {\n isScheduled = true;\n frame.read(readAllKeyframes);\n frame.resolveKeyframes(measureAllKeyframes);\n }\n }\n else {\n this.readKeyframes();\n this.complete();\n }\n }\n readKeyframes() {\n const { unresolvedKeyframes, name, element, motionValue } = this;\n /**\n * If a keyframe is null, we hydrate it either by reading it from\n * the instance, or propagating from previous keyframes.\n */\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n if (unresolvedKeyframes[i] === null) {\n /**\n * If the first keyframe is null, we need to find its value by sampling the element\n */\n if (i === 0) {\n const currentValue = motionValue === null || motionValue === void 0 ? void 0 : motionValue.get();\n const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n if (currentValue !== undefined) {\n unresolvedKeyframes[0] = currentValue;\n }\n else if (element && name) {\n const valueAsRead = element.readValue(name, finalKeyframe);\n if (valueAsRead !== undefined && valueAsRead !== null) {\n unresolvedKeyframes[0] = valueAsRead;\n }\n }\n if (unresolvedKeyframes[0] === undefined) {\n unresolvedKeyframes[0] = finalKeyframe;\n }\n if (motionValue && currentValue === undefined) {\n motionValue.set(unresolvedKeyframes[0]);\n }\n }\n else {\n unresolvedKeyframes[i] = unresolvedKeyframes[i - 1];\n }\n }\n }\n }\n setFinalKeyframe() { }\n measureInitialState() { }\n renderEndStyles() { }\n measureEndState() { }\n complete() {\n this.isComplete = true;\n this.onComplete(this.unresolvedKeyframes, this.finalKeyframe);\n toResolve.delete(this);\n }\n cancel() {\n if (!this.isComplete) {\n this.isScheduled = false;\n toResolve.delete(this);\n }\n }\n resume() {\n if (!this.isComplete)\n this.scheduleResolve();\n }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n","import { isString, singleColorRegex, floatRegex } from '../utils.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) ||\n (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n if (!isString(v))\n return v;\n const [a, b, c, alpha] = v.match(floatRegex);\n return {\n [aName]: parseFloat(a),\n [bName]: parseFloat(b),\n [cName]: parseFloat(c),\n alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n };\n};\n\nexport { isColorString, splitColor };\n","import { clamp } from '../../../utils/clamp.mjs';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n ...number,\n transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n test: isColorString(\"rgb\", \"red\"),\n parse: splitColor(\"red\", \"green\", \"blue\"),\n transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n rgbUnit.transform(red) +\n \", \" +\n rgbUnit.transform(green) +\n \", \" +\n rgbUnit.transform(blue) +\n \", \" +\n sanitize(alpha.transform(alpha$1)) +\n \")\",\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n let r = \"\";\n let g = \"\";\n let b = \"\";\n let a = \"\";\n // If we have 6 characters, ie #FF0000\n if (v.length > 5) {\n r = v.substring(1, 3);\n g = v.substring(3, 5);\n b = v.substring(5, 7);\n a = v.substring(7, 9);\n // Or we have 3 characters, ie #F00\n }\n else {\n r = v.substring(1, 2);\n g = v.substring(2, 3);\n b = v.substring(3, 4);\n a = v.substring(4, 5);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nconst hex = {\n test: isColorString(\"#\"),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst hsla = {\n test: isColorString(\"hsl\", \"hue\"),\n parse: splitColor(\"hue\", \"saturation\", \"lightness\"),\n transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n return (\"hsla(\" +\n Math.round(hue) +\n \", \" +\n percent.transform(sanitize(saturation)) +\n \", \" +\n percent.transform(sanitize(lightness)) +\n \", \" +\n sanitize(alpha.transform(alpha$1)) +\n \")\");\n },\n};\n\nexport { hsla };\n","import { isString } from '../utils.mjs';\nimport { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n parse: (v) => {\n if (rgba.test(v)) {\n return rgba.parse(v);\n }\n else if (hsla.test(v)) {\n return hsla.parse(v);\n }\n else {\n return hex.parse(v);\n }\n },\n transform: (v) => {\n return isString(v)\n ? v\n : v.hasOwnProperty(\"red\")\n ? rgba.transform(v)\n : hsla.transform(v);\n },\n};\n\nexport { color };\n","import { color } from '../color/index.mjs';\nimport { isString, floatRegex, colorRegex, sanitize } from '../utils.mjs';\n\nfunction test(v) {\n var _a, _b;\n return (isNaN(v) &&\n isString(v) &&\n (((_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) || 0) +\n (((_b = v.match(colorRegex)) === null || _b === void 0 ? void 0 : _b.length) || 0) >\n 0);\n}\nconst NUMBER_TOKEN = \"number\";\nconst COLOR_TOKEN = \"color\";\nconst VAR_TOKEN = \"var\";\nconst VAR_FUNCTION_TOKEN = \"var(\";\nconst SPLIT_TOKEN = \"${}\";\n// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`\nconst complexRegex = /var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;\nfunction analyseComplexValue(value) {\n const originalValue = value.toString();\n const values = [];\n const indexes = {\n color: [],\n number: [],\n var: [],\n };\n const types = [];\n let i = 0;\n const tokenised = originalValue.replace(complexRegex, (parsedValue) => {\n if (color.test(parsedValue)) {\n indexes.color.push(i);\n types.push(COLOR_TOKEN);\n values.push(color.parse(parsedValue));\n }\n else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) {\n indexes.var.push(i);\n types.push(VAR_TOKEN);\n values.push(parsedValue);\n }\n else {\n indexes.number.push(i);\n types.push(NUMBER_TOKEN);\n values.push(parseFloat(parsedValue));\n }\n ++i;\n return SPLIT_TOKEN;\n });\n const split = tokenised.split(SPLIT_TOKEN);\n return { values, split, indexes, types };\n}\nfunction parseComplexValue(v) {\n return analyseComplexValue(v).values;\n}\nfunction createTransformer(source) {\n const { split, types } = analyseComplexValue(source);\n const numSections = split.length;\n return (v) => {\n let output = \"\";\n for (let i = 0; i < numSections; i++) {\n output += split[i];\n if (v[i] !== undefined) {\n const type = types[i];\n if (type === NUMBER_TOKEN) {\n output += sanitize(v[i]);\n }\n else if (type === COLOR_TOKEN) {\n output += color.transform(v[i]);\n }\n else {\n output += v[i];\n }\n }\n }\n return output;\n };\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : v;\nfunction getAnimatableNone(v) {\n const parsed = parseComplexValue(v);\n const transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nconst complex = {\n test,\n parse: parseComplexValue,\n createTransformer,\n getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n const [name, value] = v.slice(0, -1).split(\"(\");\n if (name === \"drop-shadow\")\n return v;\n const [number] = value.match(floatRegex) || [];\n if (!number)\n return v;\n const unit = value.replace(number, \"\");\n let defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /\\b([a-z-]*)\\(.*?\\)/gu;\nconst filter = {\n ...complex,\n getAnimatableNone: (v) => {\n const functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n },\n};\n\nexport { filter };\n","import { color } from '../../../value/types/color/index.mjs';\nimport { filter } from '../../../value/types/complex/filter.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n ...numberValueTypes,\n // Color props\n color,\n backgroundColor: color,\n outlineColor: color,\n fill: color,\n stroke: color,\n // Border props\n borderColor: color,\n borderTopColor: color,\n borderRightColor: color,\n borderBottomColor: color,\n borderLeftColor: color,\n filter,\n WebkitFilter: filter,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n","import { complex } from '../../../value/types/complex/index.mjs';\nimport { filter } from '../../../value/types/complex/filter.mjs';\nimport { getDefaultValueType } from './defaults.mjs';\n\nfunction getAnimatableNone(key, value) {\n let defaultValueType = getDefaultValueType(key);\n if (defaultValueType !== filter)\n defaultValueType = complex;\n // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n return defaultValueType.getAnimatableNone\n ? defaultValueType.getAnimatableNone(value)\n : undefined;\n}\n\nexport { getAnimatableNone };\n","import { getAnimatableNone } from '../../dom/value-types/animatable-none.mjs';\n\n/**\n * If we encounter keyframes like \"none\" or \"0\" and we also have keyframes like\n * \"#fff\" or \"200px 200px\" we want to find a keyframe to serve as a template for\n * the \"none\" keyframes. In this case \"#fff\" or \"200px 200px\" - then these get turned into\n * zero equivalents, i.e. \"#fff0\" or \"0px 0px\".\n */\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n let i = 0;\n let animatableTemplate = undefined;\n while (i < unresolvedKeyframes.length && !animatableTemplate) {\n if (typeof unresolvedKeyframes[i] === \"string\" &&\n unresolvedKeyframes[i] !== \"none\" &&\n unresolvedKeyframes[i] !== \"0\") {\n animatableTemplate = unresolvedKeyframes[i];\n }\n i++;\n }\n if (animatableTemplate && name) {\n for (const noneIndex of noneKeyframeIndexes) {\n unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n }\n }\n}\n\nexport { makeNoneKeyframesAnimatable };\n","import { isNone } from '../../animation/utils/is-none.mjs';\nimport { getVariableValue } from './utils/css-variables-conversion.mjs';\nimport { isCSSVariableToken } from './utils/is-css-variable.mjs';\nimport { positionalKeys, isNumOrPxType, positionalValues } from './utils/unit-conversion.mjs';\nimport { findDimensionValueType } from './value-types/dimensions.mjs';\nimport { KeyframeResolver } from '../utils/KeyframesResolver.mjs';\nimport { makeNoneKeyframesAnimatable } from '../html/utils/make-none-animatable.mjs';\n\nclass DOMKeyframesResolver extends KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue) {\n super(unresolvedKeyframes, onComplete, name, motionValue, motionValue === null || motionValue === void 0 ? void 0 : motionValue.owner, true);\n }\n readKeyframes() {\n const { unresolvedKeyframes, element, name } = this;\n if (!element.current)\n return;\n super.readKeyframes();\n /**\n * If any keyframe is a CSS variable, we need to find its value by sampling the element\n */\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n const keyframe = unresolvedKeyframes[i];\n if (typeof keyframe === \"string\" && isCSSVariableToken(keyframe)) {\n const resolved = getVariableValue(keyframe, element.current);\n if (resolved !== undefined) {\n unresolvedKeyframes[i] = resolved;\n }\n if (i === unresolvedKeyframes.length - 1) {\n this.finalKeyframe = keyframe;\n }\n }\n }\n /**\n * Check to see if unit type has changed. If so schedule jobs that will\n * temporarily set styles to the destination keyframes.\n * Skip if we have more than two keyframes or this isn't a positional value.\n * TODO: We can throw if there are multiple keyframes and the value type changes.\n */\n if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) {\n return this.resolveNoneKeyframes();\n }\n const [origin, target] = unresolvedKeyframes;\n const originType = findDimensionValueType(origin);\n const targetType = findDimensionValueType(target);\n /**\n * Either we don't recognise these value types or we can animate between them.\n */\n if (originType === targetType)\n return;\n /**\n * If both values are numbers or pixels, we can animate between them by\n * converting them to numbers.\n */\n if (isNumOrPxType(originType) && isNumOrPxType(targetType)) {\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n const value = unresolvedKeyframes[i];\n if (typeof value === \"string\") {\n unresolvedKeyframes[i] = parseFloat(value);\n }\n }\n }\n else {\n /**\n * Else, the only way to resolve this is by measuring the element.\n */\n this.needsMeasurement = true;\n }\n }\n resolveNoneKeyframes() {\n const { unresolvedKeyframes, name } = this;\n const noneKeyframeIndexes = [];\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n if (isNone(unresolvedKeyframes[i])) {\n noneKeyframeIndexes.push(i);\n }\n }\n if (noneKeyframeIndexes.length) {\n makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);\n }\n }\n measureInitialState() {\n const { element, unresolvedKeyframes, name } = this;\n if (!element.current)\n return;\n if (name === \"height\") {\n this.suspendedScrollY = window.pageYOffset;\n }\n this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n unresolvedKeyframes[0] = this.measuredOrigin;\n // Set final key frame to measure after next render\n const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n if (measureKeyframe !== undefined) {\n element.getValue(name, measureKeyframe).jump(measureKeyframe, false);\n }\n }\n measureEndState() {\n var _a;\n const { element, name, unresolvedKeyframes } = this;\n if (!element.current)\n return;\n const value = element.getValue(name);\n value && value.jump(this.measuredOrigin, false);\n const finalKeyframeIndex = unresolvedKeyframes.length - 1;\n const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];\n unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n if (finalKeyframe !== null && this.finalKeyframe === undefined) {\n this.finalKeyframe = finalKeyframe;\n }\n // If we removed transform values, reapply them before the next render\n if ((_a = this.removedTransforms) === null || _a === void 0 ? void 0 : _a.length) {\n this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {\n element\n .getValue(unsetTransformName)\n .set(unsetTransformValue);\n });\n }\n this.resolveNoneKeyframes();\n }\n}\n\nexport { DOMKeyframesResolver };\n","function memo(callback) {\n let result;\n return () => {\n if (result === undefined)\n result = callback();\n return result;\n };\n}\n\nexport { memo };\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (value, name) => {\n // If the list of keys tat might be non-animatable grows, replace with Set\n if (name === \"zIndex\")\n return false;\n // If it's a number or a keyframes array, we can animate it. We might at some point\n // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n // but for now lets leave it like this for performance reasons\n if (typeof value === \"number\" || Array.isArray(value))\n return true;\n if (typeof value === \"string\" && // It's animatable if we have a string\n (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n ) {\n return true;\n }\n return false;\n};\n\nexport { isAnimatable };\n","import { warning } from '../../../utils/errors.mjs';\nimport { isAnimatable } from '../../utils/is-animatable.mjs';\n\nfunction hasKeyframesChanged(keyframes) {\n const current = keyframes[0];\n if (keyframes.length === 1)\n return true;\n for (let i = 0; i < keyframes.length; i++) {\n if (keyframes[i] !== current)\n return true;\n }\n}\nfunction canAnimate(keyframes, name, type, velocity) {\n /**\n * Check if we're able to animate between the start and end keyframes,\n * and throw a warning if we're attempting to animate between one that's\n * animatable and another that isn't.\n */\n const originKeyframe = keyframes[0];\n if (originKeyframe === null)\n return false;\n const targetKeyframe = keyframes[keyframes.length - 1];\n const isOriginAnimatable = isAnimatable(originKeyframe, name);\n const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". ${originKeyframe} is not an animatable value - to enable this animation set ${originKeyframe} to a value animatable to ${targetKeyframe} via the \\`style\\` property.`);\n // Always skip if any of these are true\n if (!isOriginAnimatable || !isTargetAnimatable) {\n return false;\n }\n return hasKeyframesChanged(keyframes) || (type === \"spring\" && velocity);\n}\n\nexport { canAnimate };\n","import { flushKeyframeResolvers } from '../../render/utils/KeyframesResolver.mjs';\nimport { instantAnimationState } from '../../utils/use-instant-transition-state.mjs';\nimport { canAnimate } from './utils/can-animate.mjs';\nimport { getFinalKeyframe } from './waapi/utils/get-final-keyframe.mjs';\n\nclass BaseAnimation {\n constructor({ autoplay = true, delay = 0, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", ...options }) {\n // Track whether the animation has been stopped. Stopped animations won't restart.\n this.isStopped = false;\n this.hasAttemptedResolve = false;\n this.options = {\n autoplay,\n delay,\n type,\n repeat,\n repeatDelay,\n repeatType,\n ...options,\n };\n this.updateFinishedPromise();\n }\n /**\n * A getter for resolved data. If keyframes are not yet resolved, accessing\n * this.resolved will synchronously flush all pending keyframe resolvers.\n * This is a deoptimisation, but at its worst still batches read/writes.\n */\n get resolved() {\n if (!this._resolved && !this.hasAttemptedResolve) {\n flushKeyframeResolvers();\n }\n return this._resolved;\n }\n /**\n * A method to be called when the keyframes resolver completes. This method\n * will check if its possible to run the animation and, if not, skip it.\n * Otherwise, it will call initPlayback on the implementing class.\n */\n onKeyframesResolved(keyframes, finalKeyframe) {\n this.hasAttemptedResolve = true;\n const { name, type, velocity, delay, onComplete, onUpdate, isGenerator, } = this.options;\n /**\n * If we can't animate this value with the resolved keyframes\n * then we should complete it immediately.\n */\n if (!isGenerator && !canAnimate(keyframes, name, type, velocity)) {\n // Finish immediately\n if (instantAnimationState.current || !delay) {\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(getFinalKeyframe(keyframes, this.options, finalKeyframe));\n onComplete === null || onComplete === void 0 ? void 0 : onComplete();\n this.resolveFinishedPromise();\n return;\n }\n // Finish after a delay\n else {\n this.options.duration = 0;\n }\n }\n const resolvedAnimation = this.initPlayback(keyframes, finalKeyframe);\n if (resolvedAnimation === false)\n return;\n this._resolved = {\n keyframes,\n finalKeyframe,\n ...resolvedAnimation,\n };\n this.onPostResolved();\n }\n onPostResolved() { }\n /**\n * Allows the returned animation to be awaited or promise-chained. Currently\n * resolves when the animation finishes at all but in a future update could/should\n * reject if its cancels.\n */\n then(resolve, reject) {\n return this.currentFinishedPromise.then(resolve, reject);\n }\n updateFinishedPromise() {\n this.currentFinishedPromise = new Promise((resolve) => {\n this.resolveFinishedPromise = resolve;\n });\n }\n}\n\nexport { BaseAnimation };\n","/*\n Convert velocity into velocity per second\n\n @param [number]: Unit per frame\n @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { velocityPerSecond } from '../../../utils/velocity-per-second.mjs';\n\nconst velocitySampleDuration = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n const prevT = Math.max(t - velocitySampleDuration, 0);\n return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { calcGeneratorVelocity };\n","import { warning } from '../../../utils/errors.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { secondsToMilliseconds, millisecondsToSeconds } from '../../../utils/time-conversion.mjs';\n\nconst safeMin = 0.001;\nconst minDuration = 0.01;\nconst maxDuration = 10.0;\nconst minDamping = 0.05;\nconst maxDamping = 1;\nfunction findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1, }) {\n let envelope;\n let derivative;\n warning(duration <= secondsToMilliseconds(maxDuration), \"Spring duration must be 10 seconds or less\");\n let dampingRatio = 1 - bounce;\n /**\n * Restrict dampingRatio and duration to within acceptable ranges.\n */\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, millisecondsToSeconds(duration));\n if (dampingRatio < 1) {\n /**\n * Underdamped spring\n */\n envelope = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const a = exponentialDecay - velocity;\n const b = calcAngularFreq(undampedFreq, dampingRatio);\n const c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const d = delta * velocity + velocity;\n const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n const f = Math.exp(-delta);\n const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n /**\n * Critically-damped spring\n */\n envelope = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n const initialGuess = 5 / duration;\n const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = secondsToMilliseconds(duration);\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n duration,\n };\n }\n else {\n const stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration,\n };\n }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n let result = initialGuess;\n for (let i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { millisecondsToSeconds } from '../../../utils/time-conversion.mjs';\nimport { calcGeneratorVelocity } from '../utils/velocity.mjs';\nimport { findSpring, calcAngularFreq } from './find.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n let springOptions = {\n velocity: 0.0,\n stiffness: 100,\n damping: 10,\n mass: 1.0,\n isResolvedFromDuration: false,\n ...options,\n };\n // stiffness/damping/mass overrides duration/bounce\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n const derived = findSpring(options);\n springOptions = {\n ...springOptions,\n ...derived,\n mass: 1.0,\n };\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nfunction spring({ keyframes, restDelta, restSpeed, ...options }) {\n const origin = keyframes[0];\n const target = keyframes[keyframes.length - 1];\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = { done: false, value: origin };\n const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n ...options,\n velocity: -millisecondsToSeconds(options.velocity || 0),\n });\n const initialVelocity = velocity || 0.0;\n const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n const initialDelta = target - origin;\n const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n /**\n * If we're working on a granular scale, use smaller defaults for determining\n * when the spring is finished.\n *\n * These defaults have been selected emprically based on what strikes a good\n * ratio between feeling good and finishing as soon as changes are imperceptible.\n */\n const isGranularScale = Math.abs(initialDelta) < 5;\n restSpeed || (restSpeed = isGranularScale ? 0.01 : 2);\n restDelta || (restDelta = isGranularScale ? 0.005 : 0.5);\n let resolveSpring;\n if (dampingRatio < 1) {\n const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n // Underdamped spring\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (target -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq) *\n Math.sin(angularFreq * t) +\n initialDelta * Math.cos(angularFreq * t)));\n };\n }\n else if (dampingRatio === 1) {\n // Critically damped spring\n resolveSpring = (t) => target -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) * t);\n }\n else {\n // Overdamped spring\n const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n // When performing sinh or cosh values can hit Infinity so we cap them here\n const freqForT = Math.min(dampedAngularFreq * t, 300);\n return (target -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq);\n };\n }\n return {\n calculatedDuration: isResolvedFromDuration ? duration || null : null,\n next: (t) => {\n const current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n let currentVelocity = initialVelocity;\n if (t !== 0) {\n /**\n * We only need to calculate velocity for under-damped springs\n * as over- and critically-damped springs can't overshoot, so\n * checking only for displacement is enough.\n */\n if (dampingRatio < 1) {\n currentVelocity = calcGeneratorVelocity(resolveSpring, t, current);\n }\n else {\n currentVelocity = 0;\n }\n }\n const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? target : current;\n return state;\n },\n };\n}\n\nexport { spring };\n","import { spring } from './spring/index.mjs';\nimport { calcGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n const origin = keyframes[0];\n const state = {\n done: false,\n value: origin,\n };\n const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n const nearestBoundary = (v) => {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n };\n let amplitude = power * velocity;\n const ideal = origin + amplitude;\n const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n /**\n * If the target has changed we need to re-calculate the amplitude, otherwise\n * the animation will start from the wrong position.\n */\n if (target !== ideal)\n amplitude = target - origin;\n const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n const calcLatest = (t) => target + calcDelta(t);\n const applyFriction = (t) => {\n const delta = calcDelta(t);\n const latest = calcLatest(t);\n state.done = Math.abs(delta) <= restDelta;\n state.value = state.done ? target : latest;\n };\n /**\n * Ideally this would resolve for t in a stateless way, we could\n * do that by always precalculating the animation but as we know\n * this will be done anyway we can assume that spring will\n * be discovered during that.\n */\n let timeReachedBoundary;\n let spring$1;\n const checkCatchBoundary = (t) => {\n if (!isOutOfBounds(state.value))\n return;\n timeReachedBoundary = t;\n spring$1 = spring({\n keyframes: [state.value, nearestBoundary(state.value)],\n velocity: calcGeneratorVelocity(calcLatest, t, state.value), // TODO: This should be passing * 1000\n damping: bounceDamping,\n stiffness: bounceStiffness,\n restDelta,\n restSpeed,\n });\n };\n checkCatchBoundary(0);\n return {\n calculatedDuration: null,\n next: (t) => {\n /**\n * We need to resolve the friction to figure out if we need a\n * spring but we don't want to do this twice per frame. So here\n * we flag if we updated for this frame and later if we did\n * we can skip doing it again.\n */\n let hasUpdatedFrame = false;\n if (!spring$1 && timeReachedBoundary === undefined) {\n hasUpdatedFrame = true;\n applyFriction(t);\n checkCatchBoundary(t);\n }\n /**\n * If we have a spring and the provided t is beyond the moment the friction\n * animation crossed the min/max boundary, use the spring.\n */\n if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) {\n return spring$1.next(t - timeReachedBoundary);\n }\n else {\n !hasUpdatedFrame && applyFriction(t);\n return state;\n }\n },\n };\n}\n\nexport { inertia };\n","import { noop } from '../utils/noop.mjs';\n\n/*\n Bezier function generator\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticiably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return noop;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = cubicBezier(0.42, 0, 1, 1);\nconst easeOut = cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n","const isEasingArray = (ease) => {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = reverseEasing(backOut);\nconst backInOut = mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n","import { invariant } from '../../utils/errors.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { easeIn, easeInOut, easeOut } from '../ease.mjs';\nimport { circIn, circInOut, circOut } from '../circ.mjs';\nimport { backIn, backInOut, backOut } from '../back.mjs';\nimport { anticipate } from '../anticipate.mjs';\n\nconst easingLookup = {\n linear: noop,\n easeIn,\n easeInOut,\n easeOut,\n circIn,\n circInOut,\n circOut,\n backIn,\n backInOut,\n backOut,\n anticipate,\n};\nconst easingDefinitionToFunction = (definition) => {\n if (Array.isArray(definition)) {\n // If cubic bezier definition, create bezier curve\n invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`);\n const [x1, y1, x2, y2] = definition;\n return cubicBezier(x1, y1, x2, y2);\n }\n else if (typeof definition === \"string\") {\n // Else lookup from table\n invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`);\n return easingLookup[definition];\n }\n return definition;\n};\n\nexport { easingDefinitionToFunction };\n","/*\n Progress within given range\n\n Given a lower limit and an upper limit, we return the progress\n (expressed as a number 0-1) represented by the given value, and\n limit that progress to within 0-1.\n\n @param [number]: Lower limit\n @param [number]: Upper limit\n @param [number]: Value to find progress within given range\n @return [number]: Progress of value within range as expressed 0-1\n*/\nconst progress = (from, to, value) => {\n const toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","/*\n Value in range from progress\n\n Given a lower limit and an upper limit, we return the value within\n that range as expressed by progress (usually a number from 0 to 1)\n\n So progress = 0.5 would change\n\n from -------- to\n\n to\n\n from ---- to\n\n E.g. from = 10, to = 20, progress = 0.5 => 15\n\n @param [number]: Lower limit of range\n @param [number]: Upper limit of range\n @param [number]: The progress between lower and upper limits expressed 0-1\n @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mixNumber = (from, to, progress) => {\n return from + (to - from) * progress;\n};\n\nexport { mixNumber };\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n hue /= 360;\n saturation /= 100;\n lightness /= 100;\n let red = 0;\n let green = 0;\n let blue = 0;\n if (!saturation) {\n red = green = blue = lightness;\n }\n else {\n const q = lightness < 0.5\n ? lightness * (1 + saturation)\n : lightness + saturation - lightness * saturation;\n const p = 2 * lightness - q;\n red = hueToRgb(p, q, hue + 1 / 3);\n green = hueToRgb(p, q, hue);\n blue = hueToRgb(p, q, hue - 1 / 3);\n }\n return {\n red: Math.round(red * 255),\n green: Math.round(green * 255),\n blue: Math.round(blue * 255),\n alpha,\n };\n}\n\nexport { hslaToRgba };\n","import { mixNumber } from './number.mjs';\nimport { invariant } from '../errors.mjs';\nimport { hslaToRgba } from '../hsla-to-rgba.mjs';\nimport { hex } from '../../value/types/color/hex.mjs';\nimport { rgba } from '../../value/types/color/rgba.mjs';\nimport { hsla } from '../../value/types/color/hsla.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n const fromExpo = from * from;\n const expo = v * (to * to - fromExpo) + fromExpo;\n return expo < 0 ? 0 : Math.sqrt(expo);\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n const type = getColorType(color);\n invariant(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`);\n let model = type.parse(color);\n if (type === hsla) {\n // TODO Remove this cast - needed since Framer Motion's stricter typing\n model = hslaToRgba(model);\n }\n return model;\n}\nconst mixColor = (from, to) => {\n const fromRGBA = asRGBA(from);\n const toRGBA = asRGBA(to);\n const blended = { ...fromRGBA };\n return (v) => {\n blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v);\n return rgba.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","import { mixNumber as mixNumber$1 } from './number.mjs';\nimport { mixColor } from './color.mjs';\nimport { pipe } from '../pipe.mjs';\nimport { warning } from '../errors.mjs';\nimport { color } from '../../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../../value/types/complex/index.mjs';\nimport { isCSSVariableToken } from '../../render/dom/utils/is-css-variable.mjs';\n\nfunction mixImmediate(a, b) {\n return (p) => (p > 0 ? b : a);\n}\nfunction mixNumber(a, b) {\n return (p) => mixNumber$1(a, b, p);\n}\nfunction getMixer(a) {\n if (typeof a === \"number\") {\n return mixNumber;\n }\n else if (typeof a === \"string\") {\n return isCSSVariableToken(a)\n ? mixImmediate\n : color.test(a)\n ? mixColor\n : mixComplex;\n }\n else if (Array.isArray(a)) {\n return mixArray;\n }\n else if (typeof a === \"object\") {\n return color.test(a) ? mixColor : mixObject;\n }\n return mixImmediate;\n}\nfunction mixArray(a, b) {\n const output = [...a];\n const numValues = output.length;\n const blendValue = a.map((v, i) => getMixer(v)(v, b[i]));\n return (p) => {\n for (let i = 0; i < numValues; i++) {\n output[i] = blendValue[i](p);\n }\n return output;\n };\n}\nfunction mixObject(a, b) {\n const output = { ...a, ...b };\n const blendValue = {};\n for (const key in output) {\n if (a[key] !== undefined && b[key] !== undefined) {\n blendValue[key] = getMixer(a[key])(a[key], b[key]);\n }\n }\n return (v) => {\n for (const key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n}\nfunction matchOrder(origin, target) {\n var _a;\n const orderedOrigin = [];\n const pointers = { color: 0, var: 0, number: 0 };\n for (let i = 0; i < target.values.length; i++) {\n const type = target.types[i];\n const originIndex = origin.indexes[type][pointers[type]];\n const originValue = (_a = origin.values[originIndex]) !== null && _a !== void 0 ? _a : 0;\n orderedOrigin[i] = originValue;\n pointers[type]++;\n }\n return orderedOrigin;\n}\nconst mixComplex = (origin, target) => {\n const template = complex.createTransformer(target);\n const originStats = analyseComplexValue(origin);\n const targetStats = analyseComplexValue(target);\n const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length &&\n originStats.indexes.color.length === targetStats.indexes.color.length &&\n originStats.indexes.number.length >= targetStats.indexes.number.length;\n if (canInterpolate) {\n return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template);\n }\n else {\n warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`);\n return mixImmediate(origin, target);\n }\n};\n\nexport { getMixer, mixArray, mixComplex, mixObject };\n","import { getMixer } from './complex.mjs';\nimport { mixNumber } from './number.mjs';\n\nfunction mix(from, to, p) {\n if (typeof from === \"number\" &&\n typeof to === \"number\" &&\n typeof p === \"number\") {\n return mixNumber(from, to, p);\n }\n const mixer = getMixer(from);\n return mixer(from, to);\n}\n\nexport { mix };\n","import { invariant } from './errors.mjs';\nimport { clamp } from './clamp.mjs';\nimport { pipe } from './pipe.mjs';\nimport { progress } from './progress.mjs';\nimport { noop } from './noop.mjs';\nimport { mix } from './mix/index.mjs';\n\nfunction createMixers(output, ease, customMixer) {\n const mixers = [];\n const mixerFactory = customMixer || mix;\n const numMixers = output.length - 1;\n for (let i = 0; i < numMixers; i++) {\n let mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n * - Numbers\n * - Colors (hex, hsl, hsla, rgb, rgba)\n * - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revist this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n const inputLength = input.length;\n invariant(inputLength === output.length, \"Both input and output ranges must be the same length\");\n /**\n * If we're only provided a single input, we can just make a function\n * that returns the output.\n */\n if (inputLength === 1)\n return () => output[0];\n if (inputLength === 2 && input[0] === input[1])\n return () => output[1];\n // If input runs highest -> lowest, reverse both arrays\n if (input[0] > input[inputLength - 1]) {\n input = [...input].reverse();\n output = [...output].reverse();\n }\n const mixers = createMixers(output, ease, mixer);\n const numMixers = mixers.length;\n const interpolator = (v) => {\n let i = 0;\n if (numMixers > 1) {\n for (; i < input.length - 2; i++) {\n if (v < input[i + 1])\n break;\n }\n }\n const progressInRange = progress(input[i], input[i + 1], v);\n return mixers[i](progressInRange);\n };\n return isClamp\n ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n : interpolator;\n}\n\nexport { interpolate };\n","import { mixNumber } from '../mix/number.mjs';\nimport { progress } from '../progress.mjs';\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = progress(0, remaining, i);\n offset.push(mixNumber(min, 1, offsetProgress));\n }\n}\n\nexport { fillOffset };\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n const offset = [0];\n fillOffset(offset, arr.length - 1);\n return offset;\n}\n\nexport { defaultOffset };\n","function convertOffsetToTimes(offset, duration) {\n return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n","import { easeInOut } from '../../easing/ease.mjs';\nimport { isEasingArray } from '../../easing/utils/is-easing-array.mjs';\nimport { easingDefinitionToFunction } from '../../easing/utils/map.mjs';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../../utils/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../../utils/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n /**\n * Easing functions can be externally defined as strings. Here we convert them\n * into actual functions.\n */\n const easingFunctions = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = {\n done: false,\n value: keyframeValues[0],\n };\n /**\n * Create a times array based on the provided 0-1 offsets\n */\n const absoluteTimes = convertOffsetToTimes(\n // Only use the provided offsets if they're the correct length\n // TODO Maybe we should warn here if there's a length mismatch\n times && times.length === keyframeValues.length\n ? times\n : defaultOffset(keyframeValues), duration);\n const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n ease: Array.isArray(easingFunctions)\n ? easingFunctions\n : defaultEasing(keyframeValues, easingFunctions),\n });\n return {\n calculatedDuration: duration,\n next: (t) => {\n state.value = mapTimeToKeyframe(t);\n state.done = t >= duration;\n return state;\n },\n };\n}\n\nexport { defaultEasing, keyframes };\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n let duration = 0;\n const timeStep = 50;\n let state = generator.next(duration);\n while (!state.done && duration < maxGeneratorDuration) {\n duration += timeStep;\n state = generator.next(duration);\n }\n return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n","import { time } from '../../../frameloop/sync-time.mjs';\nimport { frame, cancelFrame, frameData } from '../../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n const passTimestamp = ({ timestamp }) => update(timestamp);\n return {\n start: () => frame.update(passTimestamp, true),\n stop: () => cancelFrame(passTimestamp),\n /**\n * If we're processing this frame we can use the\n * framelocked timestamp to keep things in sync.\n */\n now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n };\n};\n\nexport { frameloopDriver };\n","import { KeyframeResolver } from '../../render/utils/KeyframesResolver.mjs';\nimport { spring } from '../generators/spring/index.mjs';\nimport { inertia } from '../generators/inertia.mjs';\nimport { keyframes } from '../generators/keyframes.mjs';\nimport { BaseAnimation } from './BaseAnimation.mjs';\nimport { pipe } from '../../utils/pipe.mjs';\nimport { mix } from '../../utils/mix/index.mjs';\nimport { calcGeneratorDuration } from '../generators/utils/calc-duration.mjs';\nimport { millisecondsToSeconds, secondsToMilliseconds } from '../../utils/time-conversion.mjs';\nimport { clamp } from '../../utils/clamp.mjs';\nimport { invariant } from '../../utils/errors.mjs';\nimport { frameloopDriver } from './drivers/driver-frameloop.mjs';\nimport { getFinalKeyframe } from './waapi/utils/get-final-keyframe.mjs';\n\nconst generators = {\n decay: inertia,\n inertia,\n tween: keyframes,\n keyframes: keyframes,\n spring,\n};\nconst percentToProgress = (percent) => percent / 100;\n/**\n * Animation that runs on the main thread. Designed to be WAAPI-spec in the subset of\n * features we expose publically. Mostly the compatibility is to ensure visual identity\n * between both WAAPI and main thread animations.\n */\nclass MainThreadAnimation extends BaseAnimation {\n constructor({ KeyframeResolver: KeyframeResolver$1 = KeyframeResolver, ...options }) {\n super(options);\n /**\n * The time at which the animation was paused.\n */\n this.holdTime = null;\n /**\n * The time at which the animation was started.\n */\n this.startTime = null;\n /**\n * The time at which the animation was cancelled.\n */\n this.cancelTime = null;\n /**\n * The current time of the animation.\n */\n this.currentTime = 0;\n /**\n * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.\n */\n this.playbackSpeed = 1;\n /**\n * The state of the animation to apply when the animation is resolved. This\n * allows calls to the public API to control the animation before it is resolved,\n * without us having to resolve it first.\n */\n this.pendingPlayState = \"running\";\n this.state = \"idle\";\n /**\n * This method is bound to the instance to fix a pattern where\n * animation.stop is returned as a reference from a useEffect.\n */\n this.stop = () => {\n this.resolver.cancel();\n this.isStopped = true;\n if (this.state === \"idle\")\n return;\n this.teardown();\n const { onStop } = this.options;\n onStop && onStop();\n };\n const { name, motionValue, keyframes } = this.options;\n const onResolved = (resolvedKeyframes, finalKeyframe) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe);\n if (name && motionValue && motionValue.owner) {\n this.resolver = motionValue.owner.resolveKeyframes(keyframes, onResolved, name, motionValue);\n }\n else {\n this.resolver = new KeyframeResolver$1(keyframes, onResolved, name, motionValue);\n }\n this.resolver.scheduleResolve();\n }\n initPlayback(keyframes$1) {\n const { type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = this.options;\n const generatorFactory = generators[type] || keyframes;\n /**\n * If our generator doesn't support mixing numbers, we need to replace keyframes with\n * [0, 100] and then make a function that maps that to the actual keyframes.\n *\n * 100 is chosen instead of 1 as it works nicer with spring animations.\n */\n let mapPercentToKeyframes;\n let mirroredGenerator;\n if (generatorFactory !== keyframes &&\n typeof keyframes$1[0] !== \"number\") {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(keyframes$1.length === 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`);\n }\n mapPercentToKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));\n keyframes$1 = [0, 100];\n }\n const generator = generatorFactory({ ...this.options, keyframes: keyframes$1 });\n /**\n * If we have a mirror repeat type we need to create a second generator that outputs the\n * mirrored (not reversed) animation and later ping pong between the two generators.\n */\n if (repeatType === \"mirror\") {\n mirroredGenerator = generatorFactory({\n ...this.options,\n keyframes: [...keyframes$1].reverse(),\n velocity: -velocity,\n });\n }\n /**\n * If duration is undefined and we have repeat options,\n * we need to calculate a duration from the generator.\n *\n * We set it to the generator itself to cache the duration.\n * Any timeline resolver will need to have already precalculated\n * the duration by this step.\n */\n if (generator.calculatedDuration === null) {\n generator.calculatedDuration = calcGeneratorDuration(generator);\n }\n const { calculatedDuration } = generator;\n const resolvedDuration = calculatedDuration + repeatDelay;\n const totalDuration = resolvedDuration * (repeat + 1) - repeatDelay;\n return {\n generator,\n mirroredGenerator,\n mapPercentToKeyframes,\n calculatedDuration,\n resolvedDuration,\n totalDuration,\n };\n }\n onPostResolved() {\n const { autoplay = true } = this.options;\n this.play();\n if (this.pendingPlayState === \"paused\" || !autoplay) {\n this.pause();\n }\n else {\n this.state = this.pendingPlayState;\n }\n }\n tick(timestamp, sample = false) {\n const { resolved } = this;\n // If the animations has failed to resolve, return the final keyframe.\n if (!resolved) {\n const { keyframes } = this.options;\n return { done: true, value: keyframes[keyframes.length - 1] };\n }\n const { finalKeyframe, generator, mirroredGenerator, mapPercentToKeyframes, keyframes, calculatedDuration, totalDuration, resolvedDuration, } = resolved;\n if (this.startTime === null)\n return generator.next(0);\n const { delay, repeat, repeatType, repeatDelay, onUpdate } = this.options;\n /**\n * requestAnimationFrame timestamps can come through as lower than\n * the startTime as set by performance.now(). Here we prevent this,\n * though in the future it could be possible to make setting startTime\n * a pending operation that gets resolved here.\n */\n if (this.speed > 0) {\n this.startTime = Math.min(this.startTime, timestamp);\n }\n else if (this.speed < 0) {\n this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);\n }\n // Update currentTime\n if (sample) {\n this.currentTime = timestamp;\n }\n else if (this.holdTime !== null) {\n this.currentTime = this.holdTime;\n }\n else {\n // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n // example.\n this.currentTime =\n Math.round(timestamp - this.startTime) * this.speed;\n }\n // Rebase on delay\n const timeWithoutDelay = this.currentTime - delay * (this.speed >= 0 ? 1 : -1);\n const isInDelayPhase = this.speed >= 0\n ? timeWithoutDelay < 0\n : timeWithoutDelay > totalDuration;\n this.currentTime = Math.max(timeWithoutDelay, 0);\n // If this animation has finished, set the current time to the total duration.\n if (this.state === \"finished\" && this.holdTime === null) {\n this.currentTime = totalDuration;\n }\n let elapsed = this.currentTime;\n let frameGenerator = generator;\n if (repeat) {\n /**\n * Get the current progress (0-1) of the animation. If t is >\n * than duration we'll get values like 2.5 (midway through the\n * third iteration)\n */\n const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;\n /**\n * Get the current iteration (0 indexed). For instance the floor of\n * 2.5 is 2.\n */\n let currentIteration = Math.floor(progress);\n /**\n * Get the current progress of the iteration by taking the remainder\n * so 2.5 is 0.5 through iteration 2\n */\n let iterationProgress = progress % 1.0;\n /**\n * If iteration progress is 1 we count that as the end\n * of the previous iteration.\n */\n if (!iterationProgress && progress >= 1) {\n iterationProgress = 1;\n }\n iterationProgress === 1 && currentIteration--;\n currentIteration = Math.min(currentIteration, repeat + 1);\n /**\n * Reverse progress if we're not running in \"normal\" direction\n */\n const isOddIteration = Boolean(currentIteration % 2);\n if (isOddIteration) {\n if (repeatType === \"reverse\") {\n iterationProgress = 1 - iterationProgress;\n if (repeatDelay) {\n iterationProgress -= repeatDelay / resolvedDuration;\n }\n }\n else if (repeatType === \"mirror\") {\n frameGenerator = mirroredGenerator;\n }\n }\n elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n }\n /**\n * If we're in negative time, set state as the initial keyframe.\n * This prevents delay: x, duration: 0 animations from finishing\n * instantly.\n */\n const state = isInDelayPhase\n ? { done: false, value: keyframes[0] }\n : frameGenerator.next(elapsed);\n if (mapPercentToKeyframes) {\n state.value = mapPercentToKeyframes(state.value);\n }\n let { done } = state;\n if (!isInDelayPhase && calculatedDuration !== null) {\n done =\n this.speed >= 0\n ? this.currentTime >= totalDuration\n : this.currentTime <= 0;\n }\n const isAnimationFinished = this.holdTime === null &&\n (this.state === \"finished\" || (this.state === \"running\" && done));\n if (isAnimationFinished && finalKeyframe !== undefined) {\n state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe);\n }\n if (onUpdate) {\n onUpdate(state.value);\n }\n if (isAnimationFinished) {\n this.finish();\n }\n return state;\n }\n get duration() {\n const { resolved } = this;\n return resolved ? millisecondsToSeconds(resolved.calculatedDuration) : 0;\n }\n get time() {\n return millisecondsToSeconds(this.currentTime);\n }\n set time(newTime) {\n newTime = secondsToMilliseconds(newTime);\n this.currentTime = newTime;\n if (this.holdTime !== null || this.speed === 0) {\n this.holdTime = newTime;\n }\n else if (this.driver) {\n this.startTime = this.driver.now() - newTime / this.speed;\n }\n }\n get speed() {\n return this.playbackSpeed;\n }\n set speed(newSpeed) {\n const hasChanged = this.playbackSpeed !== newSpeed;\n this.playbackSpeed = newSpeed;\n if (hasChanged) {\n this.time = millisecondsToSeconds(this.currentTime);\n }\n }\n play() {\n if (!this.resolver.isScheduled) {\n this.resolver.resume();\n }\n if (!this._resolved) {\n this.pendingPlayState = \"running\";\n return;\n }\n if (this.isStopped)\n return;\n const { driver = frameloopDriver, onPlay } = this.options;\n if (!this.driver) {\n this.driver = driver((timestamp) => this.tick(timestamp));\n }\n onPlay && onPlay();\n const now = this.driver.now();\n if (this.holdTime !== null) {\n this.startTime = now - this.holdTime;\n }\n else if (!this.startTime || this.state === \"finished\") {\n this.startTime = now;\n }\n if (this.state === \"finished\") {\n this.updateFinishedPromise();\n }\n this.cancelTime = this.startTime;\n this.holdTime = null;\n /**\n * Set playState to running only after we've used it in\n * the previous logic.\n */\n this.state = \"running\";\n this.driver.start();\n }\n pause() {\n var _a;\n if (!this._resolved) {\n this.pendingPlayState = \"paused\";\n return;\n }\n this.state = \"paused\";\n this.holdTime = (_a = this.currentTime) !== null && _a !== void 0 ? _a : 0;\n }\n complete() {\n if (this.state !== \"running\") {\n this.play();\n }\n this.pendingPlayState = this.state = \"finished\";\n this.holdTime = null;\n }\n finish() {\n this.teardown();\n this.state = \"finished\";\n const { onComplete } = this.options;\n onComplete && onComplete();\n }\n cancel() {\n if (this.cancelTime !== null) {\n this.tick(this.cancelTime);\n }\n this.teardown();\n this.updateFinishedPromise();\n }\n teardown() {\n this.state = \"idle\";\n this.stopDriver();\n this.resolveFinishedPromise();\n this.updateFinishedPromise();\n this.startTime = this.cancelTime = null;\n this.resolver.cancel();\n }\n stopDriver() {\n if (!this.driver)\n return;\n this.driver.stop();\n this.driver = undefined;\n }\n sample(time) {\n this.startTime = 0;\n return this.tick(time, true);\n }\n}\n// Legacy interface\nfunction animateValue(options) {\n return new MainThreadAnimation(options);\n}\n\nexport { MainThreadAnimation, animateValue };\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n","import { isBezierDefinition } from '../../../easing/utils/is-bezier-definition.mjs';\n\nfunction isWaapiSupportedEasing(easing) {\n return Boolean(!easing ||\n (typeof easing === \"string\" && easing in supportedWaapiEasing) ||\n isBezierDefinition(easing) ||\n (Array.isArray(easing) && easing.every(isWaapiSupportedEasing)));\n}\nconst cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\nconst supportedWaapiEasing = {\n linear: \"linear\",\n ease: \"ease\",\n easeIn: \"ease-in\",\n easeOut: \"ease-out\",\n easeInOut: \"ease-in-out\",\n circIn: cubicBezierAsString([0, 0.65, 0.55, 1]),\n circOut: cubicBezierAsString([0.55, 0, 1, 0.45]),\n backIn: cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n backOut: cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\nfunction mapEasingToNativeEasingWithDefault(easing) {\n return (mapEasingToNativeEasing(easing) ||\n supportedWaapiEasing.easeOut);\n}\nfunction mapEasingToNativeEasing(easing) {\n if (!easing) {\n return undefined;\n }\n else if (isBezierDefinition(easing)) {\n return cubicBezierAsString(easing);\n }\n else if (Array.isArray(easing)) {\n return easing.map(mapEasingToNativeEasingWithDefault);\n }\n else {\n return supportedWaapiEasing[easing];\n }\n}\n\nexport { cubicBezierAsString, isWaapiSupportedEasing, mapEasingToNativeEasing, supportedWaapiEasing };\n","import { mapEasingToNativeEasing } from './easing.mjs';\n\nfunction animateStyle(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = \"loop\", ease, times, } = {}) {\n const keyframeOptions = { [valueName]: keyframes };\n if (times)\n keyframeOptions.offset = times;\n const easing = mapEasingToNativeEasing(ease);\n /**\n * If this is an easing array, apply to keyframes, not animation as a whole\n */\n if (Array.isArray(easing))\n keyframeOptions.easing = easing;\n return element.animate(keyframeOptions, {\n delay,\n duration,\n easing: !Array.isArray(easing) ? easing : \"linear\",\n fill: \"both\",\n iterations: repeat + 1,\n direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n });\n}\n\nexport { animateStyle };\n","import { time } from '../../frameloop/sync-time.mjs';\nimport { DOMKeyframesResolver } from '../../render/dom/DOMKeyframesResolver.mjs';\nimport { memo } from '../../utils/memo.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { millisecondsToSeconds, secondsToMilliseconds } from '../../utils/time-conversion.mjs';\nimport { BaseAnimation } from './BaseAnimation.mjs';\nimport { MainThreadAnimation } from './MainThreadAnimation.mjs';\nimport { animateStyle } from './waapi/index.mjs';\nimport { isWaapiSupportedEasing } from './waapi/easing.mjs';\nimport { getFinalKeyframe } from './waapi/utils/get-final-keyframe.mjs';\n\nconst supportsWaapi = memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n \"opacity\",\n \"clipPath\",\n \"filter\",\n \"transform\",\n // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved\n // or until we implement support for linear() easing.\n // \"background-color\"\n]);\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\n/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxDuration = 20000;\n/**\n * Check if an animation can run natively via WAAPI or requires pregenerated keyframes.\n * WAAPI doesn't support spring or function easings so we run these as JS animation before\n * handing off.\n */\nfunction requiresPregeneratedKeyframes(options) {\n return (options.type === \"spring\" ||\n options.name === \"backgroundColor\" ||\n !isWaapiSupportedEasing(options.ease));\n}\nfunction pregenerateKeyframes(keyframes, options) {\n /**\n * Create a main-thread animation to pregenerate keyframes.\n * We sample this at regular intervals to generate keyframes that we then\n * linearly interpolate between.\n */\n const sampleAnimation = new MainThreadAnimation({\n ...options,\n keyframes,\n repeat: 0,\n delay: 0,\n isGenerator: true,\n });\n let state = { done: false, value: keyframes[0] };\n const pregeneratedKeyframes = [];\n /**\n * Bail after 20 seconds of pre-generated keyframes as it's likely\n * we're heading for an infinite loop.\n */\n let t = 0;\n while (!state.done && t < maxDuration) {\n state = sampleAnimation.sample(t);\n pregeneratedKeyframes.push(state.value);\n t += sampleDelta;\n }\n return {\n times: undefined,\n keyframes: pregeneratedKeyframes,\n duration: t - sampleDelta,\n ease: \"linear\",\n };\n}\nclass AcceleratedAnimation extends BaseAnimation {\n constructor(options) {\n super(options);\n const { name, motionValue, keyframes } = this.options;\n this.resolver = new DOMKeyframesResolver(keyframes, (resolvedKeyframes, finalKeyframe) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe), name, motionValue);\n this.resolver.scheduleResolve();\n }\n initPlayback(keyframes, finalKeyframe) {\n var _a;\n let { duration = 300, times, ease, type, motionValue, name, } = this.options;\n /**\n * If element has since been unmounted, return false to indicate\n * the animation failed to initialised.\n */\n if (!((_a = motionValue.owner) === null || _a === void 0 ? void 0 : _a.current)) {\n return false;\n }\n /**\n * If this animation needs pre-generated keyframes then generate.\n */\n if (requiresPregeneratedKeyframes(this.options)) {\n const { onComplete, onUpdate, motionValue, ...options } = this.options;\n const pregeneratedAnimation = pregenerateKeyframes(keyframes, options);\n keyframes = pregeneratedAnimation.keyframes;\n // If this is a very short animation, ensure we have\n // at least two keyframes to animate between as older browsers\n // can't animate between a single keyframe.\n if (keyframes.length === 1) {\n keyframes[1] = keyframes[0];\n }\n duration = pregeneratedAnimation.duration;\n times = pregeneratedAnimation.times;\n ease = pregeneratedAnimation.ease;\n type = \"keyframes\";\n }\n const animation = animateStyle(motionValue.owner.current, name, keyframes, { ...this.options, duration, times, ease });\n // Override the browser calculated startTime with one synchronised to other JS\n // and WAAPI animations starting this event loop.\n animation.startTime = time.now();\n if (this.pendingTimeline) {\n animation.timeline = this.pendingTimeline;\n this.pendingTimeline = undefined;\n }\n else {\n /**\n * Prefer the `onfinish` prop as it's more widely supported than\n * the `finished` promise.\n *\n * Here, we synchronously set the provided MotionValue to the end\n * keyframe. If we didn't, when the WAAPI animation is finished it would\n * be removed from the element which would then revert to its old styles.\n */\n animation.onfinish = () => {\n const { onComplete } = this.options;\n motionValue.set(getFinalKeyframe(keyframes, this.options, finalKeyframe));\n onComplete && onComplete();\n this.cancel();\n this.resolveFinishedPromise();\n };\n }\n return {\n animation,\n duration,\n times,\n type,\n ease,\n keyframes: keyframes,\n };\n }\n get duration() {\n const { resolved } = this;\n if (!resolved)\n return 0;\n const { duration } = resolved;\n return millisecondsToSeconds(duration);\n }\n get time() {\n const { resolved } = this;\n if (!resolved)\n return 0;\n const { animation } = resolved;\n return millisecondsToSeconds(animation.currentTime || 0);\n }\n set time(newTime) {\n const { resolved } = this;\n if (!resolved)\n return;\n const { animation } = resolved;\n animation.currentTime = secondsToMilliseconds(newTime);\n }\n get speed() {\n const { resolved } = this;\n if (!resolved)\n return 1;\n const { animation } = resolved;\n return animation.playbackRate;\n }\n set speed(newSpeed) {\n const { resolved } = this;\n if (!resolved)\n return;\n const { animation } = resolved;\n animation.playbackRate = newSpeed;\n }\n get state() {\n const { resolved } = this;\n if (!resolved)\n return \"idle\";\n const { animation } = resolved;\n return animation.playState;\n }\n /**\n * Replace the default DocumentTimeline with another AnimationTimeline.\n * Currently used for scroll animations.\n */\n attachTimeline(timeline) {\n if (!this._resolved) {\n this.pendingTimeline = timeline;\n }\n else {\n const { resolved } = this;\n if (!resolved)\n return noop;\n const { animation } = resolved;\n animation.timeline = timeline;\n animation.onfinish = null;\n }\n return noop;\n }\n play() {\n if (this.isStopped)\n return;\n const { resolved } = this;\n if (!resolved)\n return;\n const { animation } = resolved;\n if (animation.playState === \"finished\") {\n this.updateFinishedPromise();\n }\n animation.play();\n }\n pause() {\n const { resolved } = this;\n if (!resolved)\n return;\n const { animation } = resolved;\n animation.pause();\n }\n stop() {\n this.resolver.cancel();\n this.isStopped = true;\n if (this.state === \"idle\")\n return;\n const { resolved } = this;\n if (!resolved)\n return;\n const { animation, keyframes, duration, type, ease, times } = resolved;\n if (animation.playState === \"idle\" ||\n animation.playState === \"finished\") {\n return;\n }\n /**\n * WAAPI doesn't natively have any interruption capabilities.\n *\n * Rather than read commited styles back out of the DOM, we can\n * create a renderless JS animation and sample it twice to calculate\n * its current value, \"previous\" value, and therefore allow\n * Motion to calculate velocity for any subsequent animation.\n */\n if (this.time) {\n const { motionValue, onUpdate, onComplete, ...options } = this.options;\n const sampleAnimation = new MainThreadAnimation({\n ...options,\n keyframes,\n duration,\n type,\n ease,\n times,\n isGenerator: true,\n });\n const sampleTime = secondsToMilliseconds(this.time);\n motionValue.setWithVelocity(sampleAnimation.sample(sampleTime - sampleDelta).value, sampleAnimation.sample(sampleTime).value, sampleDelta);\n }\n this.cancel();\n }\n complete() {\n const { resolved } = this;\n if (!resolved)\n return;\n resolved.animation.finish();\n }\n cancel() {\n const { resolved } = this;\n if (!resolved)\n return;\n resolved.animation.cancel();\n }\n static supports(options) {\n const { motionValue, name, repeatDelay, repeatType, damping, type } = options;\n return (supportsWaapi() &&\n name &&\n acceleratedValues.has(name) &&\n motionValue &&\n motionValue.owner &&\n motionValue.owner.current instanceof HTMLElement &&\n /**\n * If we're outputting values to onUpdate then we can't use WAAPI as there's\n * no way to read the value from WAAPI every frame.\n */\n !motionValue.owner.getProps().onUpdate &&\n !repeatDelay &&\n repeatType !== \"mirror\" &&\n damping !== 0 &&\n type !== \"inertia\");\n }\n}\n\nexport { AcceleratedAnimation };\n","import { secondsToMilliseconds } from '../../utils/time-conversion.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { getValueTransition, isTransitionDefined } from '../utils/transitions.mjs';\nimport { MotionGlobalConfig } from '../../utils/GlobalConfig.mjs';\nimport { instantAnimationState } from '../../utils/use-instant-transition-state.mjs';\nimport { getFinalKeyframe } from '../animators/waapi/utils/get-final-keyframe.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\nimport { AcceleratedAnimation } from '../animators/AcceleratedAnimation.mjs';\nimport { MainThreadAnimation } from '../animators/MainThreadAnimation.mjs';\n\nconst animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {\n const valueTransition = getValueTransition(transition, name) || {};\n /**\n * Most transition values are currently completely overwritten by value-specific\n * transitions. In the future it'd be nicer to blend these transitions. But for now\n * delay actually does inherit from the root transition if not value-specific.\n */\n const delay = valueTransition.delay || transition.delay || 0;\n /**\n * Elapsed isn't a public transition option but can be passed through from\n * optimized appear effects in milliseconds.\n */\n let { elapsed = 0 } = transition;\n elapsed = elapsed - secondsToMilliseconds(delay);\n let options = {\n keyframes: Array.isArray(target) ? target : [null, target],\n ease: \"easeOut\",\n velocity: value.getVelocity(),\n ...valueTransition,\n delay: -elapsed,\n onUpdate: (v) => {\n value.set(v);\n valueTransition.onUpdate && valueTransition.onUpdate(v);\n },\n onComplete: () => {\n onComplete();\n valueTransition.onComplete && valueTransition.onComplete();\n },\n name,\n motionValue: value,\n element: isHandoff ? undefined : element,\n };\n /**\n * If there's no transition defined for this value, we can generate\n * unqiue transition settings for this value.\n */\n if (!isTransitionDefined(valueTransition)) {\n options = {\n ...options,\n ...getDefaultTransition(name, options),\n };\n }\n /**\n * Both WAAPI and our internal animation functions use durations\n * as defined by milliseconds, while our external API defines them\n * as seconds.\n */\n if (options.duration) {\n options.duration = secondsToMilliseconds(options.duration);\n }\n if (options.repeatDelay) {\n options.repeatDelay = secondsToMilliseconds(options.repeatDelay);\n }\n if (options.from !== undefined) {\n options.keyframes[0] = options.from;\n }\n let shouldSkip = false;\n if (options.type === false ||\n (options.duration === 0 && !options.repeatDelay)) {\n options.duration = 0;\n if (options.delay === 0) {\n shouldSkip = true;\n }\n }\n if (instantAnimationState.current ||\n MotionGlobalConfig.skipAnimations) {\n shouldSkip = true;\n options.duration = 0;\n options.delay = 0;\n }\n /**\n * If we can or must skip creating the animation, and apply only\n * the final keyframe, do so. We also check once keyframes are resolved but\n * this early check prevents the need to create an animation at all.\n */\n if (shouldSkip && !isHandoff && value.get() !== undefined) {\n const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);\n if (finalKeyframe !== undefined) {\n frame.update(() => {\n options.onUpdate(finalKeyframe);\n options.onComplete();\n });\n return;\n }\n }\n /**\n * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via\n * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n * optimised animation.\n */\n if (!isHandoff && AcceleratedAnimation.supports(options)) {\n return new AcceleratedAnimation(options);\n }\n else {\n return new MainThreadAnimation(options);\n }\n};\n\nexport { animateMotionValue };\n","import { isMotionValue } from '../utils/is-motion-value.mjs';\n\nfunction isWillChangeMotionValue(value) {\n return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n","function addUniqueItem(arr, item) {\n if (arr.indexOf(item) === -1)\n arr.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n if (index > -1)\n arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n if (startIndex >= 0 && startIndex < arr.length) {\n const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n const [item] = arr.splice(fromIndex, 1);\n arr.splice(endIndex, 0, item);\n }\n return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n constructor() {\n this.subscriptions = [];\n }\n add(handler) {\n addUniqueItem(this.subscriptions, handler);\n return () => removeItem(this.subscriptions, handler);\n }\n notify(a, b, c) {\n const numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (let i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n const handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n }\n getSize() {\n return this.subscriptions.length;\n }\n clear() {\n this.subscriptions.length = 0;\n }\n}\n\nexport { SubscriptionManager };\n","import { SubscriptionManager } from '../utils/subscription-manager.mjs';\nimport { velocityPerSecond } from '../utils/velocity-per-second.mjs';\nimport { warnOnce } from '../utils/warn-once.mjs';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n /**\n * @param init - The initiating value\n * @param config - Optional configuration options\n *\n * - `transformer`: A function to transform incoming values with.\n *\n * @internal\n */\n constructor(init, options = {}) {\n /**\n * This will be replaced by the build step with the latest version number.\n * When MotionValues are provided to motion components, warn if versions are mixed.\n */\n this.version = \"11.1.7\";\n /**\n * Tracks whether this value can output a velocity. Currently this is only true\n * if the value is numerical, but we might be able to widen the scope here and support\n * other value types.\n *\n * @internal\n */\n this.canTrackVelocity = false;\n /**\n * An object containing a SubscriptionManager for each active event.\n */\n this.events = {};\n this.updateAndNotify = (v, render = true) => {\n const currentTime = time.now();\n /**\n * If we're updating the value during another frame or eventloop\n * than the previous frame, then the we set the previous frame value\n * to current.\n */\n if (this.updatedAt !== currentTime) {\n this.setPrevFrameValue();\n }\n this.prev = this.current;\n this.setCurrent(v);\n // Update update subscribers\n if (this.current !== this.prev && this.events.change) {\n this.events.change.notify(this.current);\n }\n // Update render subscribers\n if (render && this.events.renderRequest) {\n this.events.renderRequest.notify(this.current);\n }\n };\n this.hasAnimated = false;\n this.setCurrent(init);\n this.canTrackVelocity = isFloat(this.current);\n this.owner = options.owner;\n }\n setCurrent(current) {\n this.current = current;\n this.updatedAt = time.now();\n }\n setPrevFrameValue(prevFrameValue = this.current) {\n this.prevFrameValue = prevFrameValue;\n this.prevUpdatedAt = this.updatedAt;\n }\n /**\n * Adds a function that will be notified when the `MotionValue` is updated.\n *\n * It returns a function that, when called, will cancel the subscription.\n *\n * When calling `onChange` inside a React component, it should be wrapped with the\n * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n * from the `useEffect` function to ensure you don't add duplicate subscribers..\n *\n * ```jsx\n * export const MyComponent = () => {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.on(\"change\", updateOpacity)\n * const unsubscribeY = y.on(\"change\", updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return \n * }\n * ```\n *\n * @param subscriber - A function that receives the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @deprecated\n */\n onChange(subscription) {\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n }\n return this.on(\"change\", subscription);\n }\n on(eventName, callback) {\n if (!this.events[eventName]) {\n this.events[eventName] = new SubscriptionManager();\n }\n const unsubscribe = this.events[eventName].add(callback);\n if (eventName === \"change\") {\n return () => {\n unsubscribe();\n /**\n * If we have no more change listeners by the start\n * of the next frame, stop active animations.\n */\n frame.read(() => {\n if (!this.events.change.getSize()) {\n this.stop();\n }\n });\n };\n }\n return unsubscribe;\n }\n clearListeners() {\n for (const eventManagers in this.events) {\n this.events[eventManagers].clear();\n }\n }\n /**\n * Attaches a passive effect to the `MotionValue`.\n *\n * @internal\n */\n attach(passiveEffect, stopPassiveEffect) {\n this.passiveEffect = passiveEffect;\n this.stopPassiveEffect = stopPassiveEffect;\n }\n /**\n * Sets the state of the `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useMotionValue(0)\n * x.set(10)\n * ```\n *\n * @param latest - Latest value to set.\n * @param render - Whether to notify render subscribers. Defaults to `true`\n *\n * @public\n */\n set(v, render = true) {\n if (!render || !this.passiveEffect) {\n this.updateAndNotify(v, render);\n }\n else {\n this.passiveEffect(v, this.updateAndNotify);\n }\n }\n setWithVelocity(prev, current, delta) {\n this.set(current);\n this.prev = undefined;\n this.prevFrameValue = prev;\n this.prevUpdatedAt = this.updatedAt - delta;\n }\n /**\n * Set the state of the `MotionValue`, stopping any active animations,\n * effects, and resets velocity to `0`.\n */\n jump(v, endAnimation = true) {\n this.updateAndNotify(v);\n this.prev = v;\n this.prevUpdatedAt = this.prevFrameValue = undefined;\n endAnimation && this.stop();\n if (this.stopPassiveEffect)\n this.stopPassiveEffect();\n }\n /**\n * Returns the latest state of `MotionValue`\n *\n * @returns - The latest state of `MotionValue`\n *\n * @public\n */\n get() {\n if (collectMotionValues.current) {\n collectMotionValues.current.push(this);\n }\n return this.current;\n }\n /**\n * @public\n */\n getPrevious() {\n return this.prev;\n }\n /**\n * Returns the latest velocity of `MotionValue`\n *\n * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n *\n * @public\n */\n getVelocity() {\n const currentTime = time.now();\n if (!this.canTrackVelocity ||\n this.prevFrameValue === undefined ||\n currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n return 0;\n }\n const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n // Casts because of parseFloat's poor typing\n return velocityPerSecond(parseFloat(this.current) -\n parseFloat(this.prevFrameValue), delta);\n }\n /**\n * Registers a new animation to control this `MotionValue`. Only one\n * animation can drive a `MotionValue` at one time.\n *\n * ```jsx\n * value.start()\n * ```\n *\n * @param animation - A function that starts the provided animation\n *\n * @internal\n */\n start(startAnimation) {\n this.stop();\n return new Promise((resolve) => {\n this.hasAnimated = true;\n this.animation = startAnimation(resolve);\n if (this.events.animationStart) {\n this.events.animationStart.notify();\n }\n }).then(() => {\n if (this.events.animationComplete) {\n this.events.animationComplete.notify();\n }\n this.clearAnimation();\n });\n }\n /**\n * Stop the currently active animation.\n *\n * @public\n */\n stop() {\n if (this.animation) {\n this.animation.stop();\n if (this.events.animationCancel) {\n this.events.animationCancel.notify();\n }\n }\n this.clearAnimation();\n }\n /**\n * Returns `true` if this value is currently animating.\n *\n * @public\n */\n isAnimating() {\n return !!this.animation;\n }\n clearAnimation() {\n delete this.animation;\n }\n /**\n * Destroy and clean up subscribers to this `MotionValue`.\n *\n * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n * created a `MotionValue` via the `motionValue` function.\n *\n * @public\n */\n destroy() {\n this.clearListeners();\n this.stop();\n if (this.stopPassiveEffect) {\n this.stopPassiveEffect();\n }\n }\n}\nfunction motionValue(init, options) {\n return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n","import { resolveFinalValueInKeyframes } from '../../utils/resolve-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n if (visualElement.hasValue(key)) {\n visualElement.getValue(key).set(value);\n }\n else {\n visualElement.addValue(key, motionValue(value));\n }\n}\nfunction setTarget(visualElement, definition) {\n const resolved = resolveVariant(visualElement, definition);\n let { transitionEnd = {}, transition = {}, ...target } = resolved || {};\n target = { ...target, ...transitionEnd };\n for (const key in target) {\n const value = resolveFinalValueInKeyframes(target[key]);\n setMotionValue(visualElement, key, value);\n }\n}\n\nexport { setTarget };\n","import { transformProps } from '../../render/html/utils/transform.mjs';\nimport { optimizedAppearDataAttribute } from '../optimized-appear/data-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\nimport { isWillChangeMotionValue } from '../../value/use-will-change/is.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { getValueTransition } from '../utils/transitions.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n needsAnimating[key] = false;\n return shouldBlock;\n}\nfunction animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) {\n var _a;\n let { transition = visualElement.getDefaultTransition(), transitionEnd, ...target } = targetAndTransition;\n const willChange = visualElement.getValue(\"willChange\");\n if (transitionOverride)\n transition = transitionOverride;\n const animations = [];\n const animationTypeState = type &&\n visualElement.animationState &&\n visualElement.animationState.getState()[type];\n for (const key in target) {\n const value = visualElement.getValue(key, (_a = visualElement.latestValues[key]) !== null && _a !== void 0 ? _a : null);\n const valueTarget = target[key];\n if (valueTarget === undefined ||\n (animationTypeState &&\n shouldBlockAnimation(animationTypeState, key))) {\n continue;\n }\n const valueTransition = {\n delay,\n elapsed: 0,\n ...getValueTransition(transition || {}, key),\n };\n /**\n * If this is the first time a value is being animated, check\n * to see if we're handling off from an existing animation.\n */\n let isHandoff = false;\n if (window.HandoffAppearAnimations) {\n const props = visualElement.getProps();\n const appearId = props[optimizedAppearDataAttribute];\n if (appearId) {\n const elapsed = window.HandoffAppearAnimations(appearId, key);\n if (elapsed !== null) {\n valueTransition.elapsed = elapsed;\n isHandoff = true;\n }\n }\n }\n value.start(animateMotionValue(key, value, valueTarget, visualElement.shouldReduceMotion && transformProps.has(key)\n ? { type: false }\n : valueTransition, visualElement, isHandoff));\n const animation = value.animation;\n if (animation) {\n if (isWillChangeMotionValue(willChange)) {\n willChange.add(key);\n animation.then(() => willChange.remove(key));\n }\n animations.push(animation);\n }\n }\n if (transitionEnd) {\n Promise.all(animations).then(() => {\n frame.update(() => {\n transitionEnd && setTarget(visualElement, transitionEnd);\n });\n });\n }\n return animations;\n}\n\nexport { animateTarget };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n var _a;\n const resolved = resolveVariant(visualElement, variant, options.type === \"exit\"\n ? (_a = visualElement.presenceContext) === null || _a === void 0 ? void 0 : _a.custom\n : undefined);\n let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n if (options.transitionOverride) {\n transition = options.transitionOverride;\n }\n /**\n * If we have a variant, create a callback that runs it as an animation.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n const getAnimation = resolved\n ? () => Promise.all(animateTarget(visualElement, resolved, options))\n : () => Promise.resolve();\n /**\n * If we have children, create a callback that runs all their animations.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n ? (forwardDelay = 0) => {\n const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options);\n }\n : () => Promise.resolve();\n /**\n * If the transition explicitly defines a \"when\" option, we need to resolve either\n * this animation or all children animations before playing the other.\n */\n const { when } = transition;\n if (when) {\n const [first, last] = when === \"beforeChildren\"\n ? [getAnimation, getChildAnimations]\n : [getChildAnimations, getAnimation];\n return first().then(() => last());\n }\n else {\n return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n }\n}\nfunction animateChildren(visualElement, variant, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n const animations = [];\n const maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren;\n const generateStaggerDuration = staggerDirection === 1\n ? (i = 0) => i * staggerChildren\n : (i = 0) => maxStaggerDuration - i * staggerChildren;\n Array.from(visualElement.variantChildren)\n .sort(sortByTreeOrder)\n .forEach((child, i) => {\n child.notify(\"AnimationStart\", variant);\n animations.push(animateVariant(child, variant, {\n ...options,\n delay: delayChildren + generateStaggerDuration(i),\n }).then(() => child.notify(\"AnimationComplete\", variant)));\n });\n return Promise.all(animations);\n}\nfunction sortByTreeOrder(a, b) {\n return a.sortNodePosition(b);\n}\n\nexport { animateVariant, sortByTreeOrder };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n visualElement.notify(\"AnimationStart\", definition);\n let animation;\n if (Array.isArray(definition)) {\n const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n animation = Promise.all(animations);\n }\n else if (typeof definition === \"string\") {\n animation = animateVariant(visualElement, definition, options);\n }\n else {\n const resolvedDefinition = typeof definition === \"function\"\n ? resolveVariant(visualElement, definition, options.custom)\n : definition;\n animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n }\n return animation.then(() => {\n frame.postRender(() => {\n visualElement.notify(\"AnimationComplete\", definition);\n });\n });\n}\n\nexport { animateVisualElement };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.mjs';\nimport { shallowCompare } from '../../utils/shallow-compare.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\nimport { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n return (animations) => Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n}\nfunction createAnimationState(visualElement) {\n let animate = animateList(visualElement);\n const state = createState();\n let isInitialRender = true;\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n const buildResolvedTypeValues = (type) => (acc, definition) => {\n var _a;\n const resolved = resolveVariant(visualElement, definition, type === \"exit\"\n ? (_a = visualElement.presenceContext) === null || _a === void 0 ? void 0 : _a.custom\n : undefined);\n if (resolved) {\n const { transition, transitionEnd, ...target } = resolved;\n acc = { ...acc, ...target, ...transitionEnd };\n }\n return acc;\n };\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator) {\n animate = makeAnimator(visualElement);\n }\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(changedActiveType) {\n const props = visualElement.getProps();\n const context = visualElement.getVariantContext(true) || {};\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n const animations = [];\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n const removedKeys = new Set();\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n let encounteredKeys = {};\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n let removedVariantIndex = Infinity;\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (let i = 0; i < numAnimationTypes; i++) {\n const type = reversePriorityOrder[i];\n const typeState = state[type];\n const prop = props[type] !== undefined\n ? props[type]\n : context[type];\n const propIsVariant = isVariantLabel(prop);\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n const activeDelta = type === changedActiveType ? typeState.isActive : null;\n if (activeDelta === false)\n removedVariantIndex = i;\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n let isInherited = prop === context[type] &&\n prop !== props[type] &&\n propIsVariant;\n /**\n *\n */\n if (isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount) {\n isInherited = false;\n }\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = { ...encounteredKeys };\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\") {\n continue;\n }\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n let shouldAnimateType = variantDidChange ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant);\n let handledRemovedValues = false;\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n const definitionList = Array.isArray(prop) ? prop : [prop];\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n let resolvedValues = definitionList.reduce(buildResolvedTypeValues(type), {});\n if (activeDelta === false)\n resolvedValues = {};\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n const { prevResolvedValues = {} } = typeState;\n const allKeys = {\n ...prevResolvedValues,\n ...resolvedValues,\n };\n const markToAnimate = (key) => {\n shouldAnimateType = true;\n if (removedKeys.has(key)) {\n handledRemovedValues = true;\n removedKeys.delete(key);\n }\n typeState.needsAnimating[key] = true;\n const motionValue = visualElement.getValue(key);\n if (motionValue)\n motionValue.liveStyle = false;\n };\n for (const key in allKeys) {\n const next = resolvedValues[key];\n const prev = prevResolvedValues[key];\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key))\n continue;\n /**\n * If the value has changed, we probably want to animate it.\n */\n let valueHasChanged = false;\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n valueHasChanged = !shallowCompare(next, prev);\n }\n else {\n valueHasChanged = next !== prev;\n }\n if (valueHasChanged) {\n if (next !== undefined && next !== null) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key);\n }\n else {\n // If it's undefined, it's been removed.\n removedKeys.add(key);\n }\n }\n else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop;\n typeState.prevResolvedValues = resolvedValues;\n /**\n *\n */\n if (typeState.isActive) {\n encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n }\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false;\n }\n /**\n * If this is an inherited prop we want to hard-block animations\n */\n if (shouldAnimateType && (!isInherited || handledRemovedValues)) {\n animations.push(...definitionList.map((animation) => ({\n animation: animation,\n options: { type },\n })));\n }\n }\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n const fallbackAnimation = {};\n removedKeys.forEach((key) => {\n const fallbackTarget = visualElement.getBaseTarget(key);\n const motionValue = visualElement.getValue(key);\n if (motionValue)\n motionValue.liveStyle = true;\n // @ts-expect-error - @mattgperry to figure if we should do something here\n fallbackAnimation[key] = fallbackTarget !== null && fallbackTarget !== void 0 ? fallbackTarget : null;\n });\n animations.push({ animation: fallbackAnimation });\n }\n let shouldAnimate = Boolean(animations.length);\n if (isInitialRender &&\n (props.initial === false || props.initial === props.animate) &&\n !visualElement.manuallyAnimateOnMount) {\n shouldAnimate = false;\n }\n isInitialRender = false;\n return shouldAnimate ? animate(animations) : Promise.resolve();\n }\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type, isActive) {\n var _a;\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive)\n return Promise.resolve();\n // Propagate active change to children\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach((child) => { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); });\n state[type].isActive = isActive;\n const animations = animateChanges(type);\n for (const key in state) {\n state[key].protectedKeys = {};\n }\n return animations;\n }\n return {\n animateChanges,\n setActive,\n setAnimateFunction,\n getState: () => state,\n };\n}\nfunction checkVariantsDidChange(prev, next) {\n if (typeof next === \"string\") {\n return next !== prev;\n }\n else if (Array.isArray(next)) {\n return !shallowCompare(next, prev);\n }\n return false;\n}\nfunction createTypeState(isActive = false) {\n return {\n isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n };\n}\nfunction createState() {\n return {\n animate: createTypeState(true),\n whileInView: createTypeState(),\n whileHover: createTypeState(),\n whileTap: createTypeState(),\n whileDrag: createTypeState(),\n whileFocus: createTypeState(),\n exit: createTypeState(),\n };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n","import { isAnimationControls } from '../../../animation/utils/is-animation-controls.mjs';\nimport { createAnimationState } from '../../../render/utils/animation-state.mjs';\nimport { Feature } from '../Feature.mjs';\n\nclass AnimationFeature extends Feature {\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n constructor(node) {\n super(node);\n node.animationState || (node.animationState = createAnimationState(node));\n }\n updateAnimationControlsSubscription() {\n const { animate } = this.node.getProps();\n this.unmount();\n if (isAnimationControls(animate)) {\n this.unmount = animate.subscribe(this.node);\n }\n }\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n mount() {\n this.updateAnimationControlsSubscription();\n }\n update() {\n const { animate } = this.node.getProps();\n const { animate: prevAnimate } = this.node.prevProps || {};\n if (animate !== prevAnimate) {\n this.updateAnimationControlsSubscription();\n }\n }\n unmount() { }\n}\n\nexport { AnimationFeature };\n","import { Feature } from '../Feature.mjs';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n constructor() {\n super(...arguments);\n this.id = id++;\n }\n update() {\n if (!this.node.presenceContext)\n return;\n const { isPresent, onExitComplete } = this.node.presenceContext;\n const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n if (!this.node.animationState || isPresent === prevIsPresent) {\n return;\n }\n const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n if (onExitComplete && !isPresent) {\n exitAnimation.then(() => onExitComplete(this.id));\n }\n }\n mount() {\n const { register } = this.node.presenceContext || {};\n if (register) {\n this.unmount = register(this.id);\n }\n }\n unmount() { }\n}\n\nexport { ExitAnimationFeature };\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n animation: {\n Feature: AnimationFeature,\n },\n exit: {\n Feature: ExitAnimationFeature,\n },\n};\n\nexport { animations };\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n // Multi-dimensional\n const xDelta = distance(a.x, b.x);\n const yDelta = distance(a.y, b.y);\n return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n","import { extractEventInfo } from '../../events/event-info.mjs';\nimport { secondsToMilliseconds, millisecondsToSeconds } from '../../utils/time-conversion.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { pipe } from '../../utils/pipe.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\nimport { isPrimaryPointer } from '../../events/utils/is-primary-pointer.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\n/**\n * @internal\n */\nclass PanSession {\n constructor(event, handlers, { transformPagePoint, contextWindow, dragSnapToOrigin = false } = {}) {\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n /**\n * @internal\n */\n this.contextWindow = window;\n this.updatePoint = () => {\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const info = getPanInfo(this.lastMoveEventInfo, this.history);\n const isPanStarted = this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n const { point } = info;\n const { timestamp } = frameData;\n this.history.push({ ...point, timestamp });\n const { onStart, onMove } = this.handlers;\n if (!isPanStarted) {\n onStart && onStart(this.lastMoveEvent, info);\n this.startEvent = this.lastMoveEvent;\n }\n onMove && onMove(this.lastMoveEvent, info);\n };\n this.handlePointerMove = (event, info) => {\n this.lastMoveEvent = event;\n this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n // Throttle mouse move event to once per frame\n frame.update(this.updatePoint, true);\n };\n this.handlePointerUp = (event, info) => {\n this.end();\n const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n if (this.dragSnapToOrigin)\n resumeAnimation && resumeAnimation();\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const panInfo = getPanInfo(event.type === \"pointercancel\"\n ? this.lastMoveEventInfo\n : transformPoint(info, this.transformPagePoint), this.history);\n if (this.startEvent && onEnd) {\n onEnd(event, panInfo);\n }\n onSessionEnd && onSessionEnd(event, panInfo);\n };\n // If we have more than one touch, don't start detecting this gesture\n if (!isPrimaryPointer(event))\n return;\n this.dragSnapToOrigin = dragSnapToOrigin;\n this.handlers = handlers;\n this.transformPagePoint = transformPagePoint;\n this.contextWindow = contextWindow || window;\n const info = extractEventInfo(event);\n const initialInfo = transformPoint(info, this.transformPagePoint);\n const { point } = initialInfo;\n const { timestamp } = frameData;\n this.history = [{ ...point, timestamp }];\n const { onSessionStart } = handlers;\n onSessionStart &&\n onSessionStart(event, getPanInfo(initialInfo, this.history));\n this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n }\n updateHandlers(handlers) {\n this.handlers = handlers;\n }\n end() {\n this.removeListeners && this.removeListeners();\n cancelFrame(this.updatePoint);\n }\n}\nfunction transformPoint(info, transformPagePoint) {\n return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n return {\n point,\n delta: subtractPoint(point, lastDevicePoint(history)),\n offset: subtractPoint(point, startDevicePoint(history)),\n velocity: getVelocity(history, 0.1),\n };\n}\nfunction startDevicePoint(history) {\n return history[0];\n}\nfunction lastDevicePoint(history) {\n return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n if (history.length < 2) {\n return { x: 0, y: 0 };\n }\n let i = history.length - 1;\n let timestampedPoint = null;\n const lastPoint = lastDevicePoint(history);\n while (i >= 0) {\n timestampedPoint = history[i];\n if (lastPoint.timestamp - timestampedPoint.timestamp >\n secondsToMilliseconds(timeDelta)) {\n break;\n }\n i--;\n }\n if (!timestampedPoint) {\n return { x: 0, y: 0 };\n }\n const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n if (time === 0) {\n return { x: 0, y: 0 };\n }\n const currentVelocity = {\n x: (lastPoint.x - timestampedPoint.x) / time,\n y: (lastPoint.y - timestampedPoint.y) / time,\n };\n if (currentVelocity.x === Infinity) {\n currentVelocity.x = 0;\n }\n if (currentVelocity.y === Infinity) {\n currentVelocity.y = 0;\n }\n return currentVelocity;\n}\n\nexport { PanSession };\n","import { mixNumber } from '../../utils/mix/number.mjs';\n\nfunction calcLength(axis) {\n return axis.max - axis.min;\n}\nfunction isNear(value, target = 0, maxDistance = 0.01) {\n return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n delta.origin = origin;\n delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n delta.scale = calcLength(target) / calcLength(source);\n if (isNear(delta.scale, 1, 0.0001) || isNaN(delta.scale))\n delta.scale = 1;\n delta.translate =\n mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n if (isNear(delta.translate) || isNaN(delta.translate))\n delta.translate = 0;\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n target.min = parent.min + relative.min;\n target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n calcRelativeAxis(target.x, relative.x, parent.x);\n calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n target.min = layout.min - parent.min;\n target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n calcRelativeAxisPosition(target.x, layout.x, parent.x);\n calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n","import { progress } from '../../../utils/progress.mjs';\nimport { calcLength } from '../../../projection/geometry/delta-calc.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n if (min !== undefined && point < min) {\n // If we have a min point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(min, point, elastic.min)\n : Math.max(point, min);\n }\n else if (max !== undefined && point > max) {\n // If we have a max point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(max, point, elastic.max)\n : Math.min(point, max);\n }\n return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n return {\n min: min !== undefined ? axis.min + min : undefined,\n max: max !== undefined\n ? axis.max + max - (axis.max - axis.min)\n : undefined,\n };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n return {\n x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n let min = constraintsAxis.min - layoutAxis.min;\n let max = constraintsAxis.max - layoutAxis.max;\n // If the constraints axis is actually smaller than the layout axis then we can\n // flip the constraints\n if (constraintsAxis.max - constraintsAxis.min <\n layoutAxis.max - layoutAxis.min) {\n [min, max] = [max, min];\n }\n return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n return {\n x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n let origin = 0.5;\n const sourceLength = calcLength(source);\n const targetLength = calcLength(target);\n if (targetLength > sourceLength) {\n origin = progress(target.min, target.max - sourceLength, source.min);\n }\n else if (sourceLength > targetLength) {\n origin = progress(source.min, source.max - targetLength, target.min);\n }\n return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n const relativeConstraints = {};\n if (constraints.min !== undefined) {\n relativeConstraints.min = constraints.min - layout.min;\n }\n if (constraints.max !== undefined) {\n relativeConstraints.max = constraints.max - layout.min;\n }\n return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n if (dragElastic === false) {\n dragElastic = 0;\n }\n else if (dragElastic === true) {\n dragElastic = defaultElastic;\n }\n return {\n x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n return {\n min: resolvePointElastic(dragElastic, minLabel),\n max: resolvePointElastic(dragElastic, maxLabel),\n };\n}\nfunction resolvePointElastic(dragElastic, label) {\n return typeof dragElastic === \"number\"\n ? dragElastic\n : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n","const createAxisDelta = () => ({\n translate: 0,\n scale: 1,\n origin: 0,\n originPoint: 0,\n});\nconst createDelta = () => ({\n x: createAxisDelta(),\n y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n x: createAxis(),\n y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n","function eachAxis(callback) {\n return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n return {\n x: { min: left, max: right },\n y: { min: top, max: bottom },\n };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n if (!transformPoint)\n return point;\n const topLeft = transformPoint({ x: point.left, y: point.top });\n const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n return {\n top: topLeft.y,\n left: topLeft.x,\n bottom: bottomRight.y,\n right: bottomRight.x,\n };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n","function isIdentityScale(scale) {\n return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n return (!isIdentityScale(scale) ||\n !isIdentityScale(scaleX) ||\n !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n return (hasScale(values) ||\n has2DTranslate(values) ||\n values.z ||\n values.rotate ||\n values.rotateX ||\n values.rotateY ||\n values.skewX ||\n values.skewY);\n}\nfunction has2DTranslate(values) {\n return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n const distanceFromOrigin = point - originPoint;\n const scaled = scale * distanceFromOrigin;\n return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n if (boxScale !== undefined) {\n point = scalePoint(point, boxScale, originPoint);\n }\n return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n const treeLength = treePath.length;\n if (!treeLength)\n return;\n // Reset the treeScale\n treeScale.x = treeScale.y = 1;\n let node;\n let delta;\n for (let i = 0; i < treeLength; i++) {\n node = treePath[i];\n delta = node.projectionDelta;\n /**\n * TODO: Prefer to remove this, but currently we have motion components with\n * display: contents in Framer.\n */\n const instance = node.instance;\n if (instance &&\n instance.style &&\n instance.style.display === \"contents\") {\n continue;\n }\n if (isSharedTransition &&\n node.options.layoutScroll &&\n node.scroll &&\n node !== node.root) {\n transformBox(box, {\n x: -node.scroll.offset.x,\n y: -node.scroll.offset.y,\n });\n }\n if (delta) {\n // Incoporate each ancestor's scale into a culmulative treeScale for this component\n treeScale.x *= delta.x.scale;\n treeScale.y *= delta.y.scale;\n // Apply each ancestor's calculated delta into this component's recorded layout box\n applyBoxDelta(box, delta);\n }\n if (isSharedTransition && hasTransform(node.latestValues)) {\n transformBox(box, node.latestValues);\n }\n }\n /**\n * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n * This will help reduce useless scales getting rendered.\n */\n treeScale.x = snapToDefault(treeScale.x);\n treeScale.y = snapToDefault(treeScale.y);\n}\nfunction snapToDefault(scale) {\n if (Number.isInteger(scale))\n return scale;\n return scale > 1.0000000000001 || scale < 0.999999999999 ? scale : 1;\n}\nfunction translateAxis(axis, distance) {\n axis.min = axis.min + distance;\n axis.max = axis.max + distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, transforms, [key, scaleKey, originKey]) {\n const axisOrigin = transforms[originKey] !== undefined ? transforms[originKey] : 0.5;\n const originPoint = mixNumber(axis.min, axis.max, axisOrigin);\n // Apply the axis delta to the final axis\n applyAxisDelta(axis, transforms[key], transforms[scaleKey], originPoint, transforms.scale);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform) {\n transformAxis(box.x, transform, xKeys);\n transformAxis(box.y, transform, yKeys);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n const viewportBox = measureViewportBox(element, transformPagePoint);\n const { scroll } = rootProjectionNode;\n if (scroll) {\n translateAxis(viewportBox.x, scroll.offset.x);\n translateAxis(viewportBox.y, scroll.offset.y);\n }\n return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n","// Fixes https://github.com/framer/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n","import { invariant } from '../../utils/errors.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { getGlobalLock } from './utils/lock.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, calcViewportConstraints, rebaseAxisConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { eachAxis } from '../../projection/utils/each-axis.mjs';\nimport { measurePageBox } from '../../projection/utils/measure.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { convertBoxToBoundingBox, convertBoundingBoxToBox } from '../../projection/geometry/conversion.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { calcLength } from '../../projection/geometry/delta-calc.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { animateMotionValue } from '../../animation/interfaces/motion-value.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\n\nconst elementDragControls = new WeakMap();\n/**\n *\n */\n// let latestPointerEvent: PointerEvent\nclass VisualElementDragControls {\n constructor(visualElement) {\n // This is a reference to the global drag gesture lock, ensuring only one component\n // can \"capture\" the drag of one or both axes.\n // TODO: Look into moving this into pansession?\n this.openGlobalLock = null;\n this.isDragging = false;\n this.currentDirection = null;\n this.originPoint = { x: 0, y: 0 };\n /**\n * The permitted boundaries of travel, in pixels.\n */\n this.constraints = false;\n this.hasMutatedConstraints = false;\n /**\n * The per-axis resolved elastic values.\n */\n this.elastic = createBox();\n this.visualElement = visualElement;\n }\n start(originEvent, { snapToCursor = false } = {}) {\n /**\n * Don't start dragging if this component is exiting\n */\n const { presenceContext } = this.visualElement;\n if (presenceContext && presenceContext.isPresent === false)\n return;\n const onSessionStart = (event) => {\n const { dragSnapToOrigin } = this.getProps();\n // Stop or pause any animations on both axis values immediately. This allows the user to throw and catch\n // the component.\n dragSnapToOrigin ? this.pauseAnimation() : this.stopAnimation();\n if (snapToCursor) {\n this.snapToCursor(extractEventInfo(event, \"page\").point);\n }\n };\n const onStart = (event, info) => {\n // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n const { drag, dragPropagation, onDragStart } = this.getProps();\n if (drag && !dragPropagation) {\n if (this.openGlobalLock)\n this.openGlobalLock();\n this.openGlobalLock = getGlobalLock(drag);\n // If we don 't have the lock, don't start dragging\n if (!this.openGlobalLock)\n return;\n }\n this.isDragging = true;\n this.currentDirection = null;\n this.resolveConstraints();\n if (this.visualElement.projection) {\n this.visualElement.projection.isAnimationBlocked = true;\n this.visualElement.projection.target = undefined;\n }\n /**\n * Record gesture origin\n */\n eachAxis((axis) => {\n let current = this.getAxisMotionValue(axis).get() || 0;\n /**\n * If the MotionValue is a percentage value convert to px\n */\n if (percent.test(current)) {\n const { projection } = this.visualElement;\n if (projection && projection.layout) {\n const measuredAxis = projection.layout.layoutBox[axis];\n if (measuredAxis) {\n const length = calcLength(measuredAxis);\n current = length * (parseFloat(current) / 100);\n }\n }\n }\n this.originPoint[axis] = current;\n });\n // Fire onDragStart event\n if (onDragStart)\n onDragStart(event, info);\n const { animationState } = this.visualElement;\n animationState && animationState.setActive(\"whileDrag\", true);\n };\n const onMove = (event, info) => {\n // latestPointerEvent = event\n const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n // If we didn't successfully receive the gesture lock, early return.\n if (!dragPropagation && !this.openGlobalLock)\n return;\n const { offset } = info;\n // Attempt to detect drag direction if directionLock is true\n if (dragDirectionLock && this.currentDirection === null) {\n this.currentDirection = getCurrentDirection(offset);\n // If we've successfully set a direction, notify listener\n if (this.currentDirection !== null) {\n onDirectionLock && onDirectionLock(this.currentDirection);\n }\n return;\n }\n // Update each point with the latest position\n this.updateAxis(\"x\", info.point, offset);\n this.updateAxis(\"y\", info.point, offset);\n /**\n * Ideally we would leave the renderer to fire naturally at the end of\n * this frame but if the element is about to change layout as the result\n * of a re-render we want to ensure the browser can read the latest\n * bounding box to ensure the pointer and element don't fall out of sync.\n */\n this.visualElement.render();\n /**\n * This must fire after the render call as it might trigger a state\n * change which itself might trigger a layout update.\n */\n onDrag && onDrag(event, info);\n };\n const onSessionEnd = (event, info) => this.stop(event, info);\n const resumeAnimation = () => eachAxis((axis) => {\n var _a;\n return this.getAnimationState(axis) === \"paused\" &&\n ((_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.play());\n });\n const { dragSnapToOrigin } = this.getProps();\n this.panSession = new PanSession(originEvent, {\n onSessionStart,\n onStart,\n onMove,\n onSessionEnd,\n resumeAnimation,\n }, {\n transformPagePoint: this.visualElement.getTransformPagePoint(),\n dragSnapToOrigin,\n contextWindow: getContextWindow(this.visualElement),\n });\n }\n stop(event, info) {\n const isDragging = this.isDragging;\n this.cancel();\n if (!isDragging)\n return;\n const { velocity } = info;\n this.startAnimation(velocity);\n const { onDragEnd } = this.getProps();\n if (onDragEnd)\n onDragEnd(event, info);\n }\n cancel() {\n this.isDragging = false;\n const { projection, animationState } = this.visualElement;\n if (projection) {\n projection.isAnimationBlocked = false;\n }\n this.panSession && this.panSession.end();\n this.panSession = undefined;\n const { dragPropagation } = this.getProps();\n if (!dragPropagation && this.openGlobalLock) {\n this.openGlobalLock();\n this.openGlobalLock = null;\n }\n animationState && animationState.setActive(\"whileDrag\", false);\n }\n updateAxis(axis, _point, offset) {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n return;\n const axisValue = this.getAxisMotionValue(axis);\n let next = this.originPoint[axis] + offset[axis];\n // Apply constraints\n if (this.constraints && this.constraints[axis]) {\n next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n }\n axisValue.set(next);\n }\n resolveConstraints() {\n var _a;\n const { dragConstraints, dragElastic } = this.getProps();\n const layout = this.visualElement.projection &&\n !this.visualElement.projection.layout\n ? this.visualElement.projection.measure(false)\n : (_a = this.visualElement.projection) === null || _a === void 0 ? void 0 : _a.layout;\n const prevConstraints = this.constraints;\n if (dragConstraints && isRefObject(dragConstraints)) {\n if (!this.constraints) {\n this.constraints = this.resolveRefConstraints();\n }\n }\n else {\n if (dragConstraints && layout) {\n this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n }\n else {\n this.constraints = false;\n }\n }\n this.elastic = resolveDragElastic(dragElastic);\n /**\n * If we're outputting to external MotionValues, we want to rebase the measured constraints\n * from viewport-relative to component-relative.\n */\n if (prevConstraints !== this.constraints &&\n layout &&\n this.constraints &&\n !this.hasMutatedConstraints) {\n eachAxis((axis) => {\n if (this.constraints !== false &&\n this.getAxisMotionValue(axis)) {\n this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n }\n });\n }\n }\n resolveRefConstraints() {\n const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n if (!constraints || !isRefObject(constraints))\n return false;\n const constraintsElement = constraints.current;\n invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");\n const { projection } = this.visualElement;\n // TODO\n if (!projection || !projection.layout)\n return false;\n const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n /**\n * If there's an onMeasureDragConstraints listener we call it and\n * if different constraints are returned, set constraints to that\n */\n if (onMeasureDragConstraints) {\n const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n this.hasMutatedConstraints = !!userConstraints;\n if (userConstraints) {\n measuredConstraints = convertBoundingBoxToBox(userConstraints);\n }\n }\n return measuredConstraints;\n }\n startAnimation(velocity) {\n const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n const constraints = this.constraints || {};\n const momentumAnimations = eachAxis((axis) => {\n if (!shouldDrag(axis, drag, this.currentDirection)) {\n return;\n }\n let transition = (constraints && constraints[axis]) || {};\n if (dragSnapToOrigin)\n transition = { min: 0, max: 0 };\n /**\n * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n * of spring animations so we should look into adding a disable spring option to `inertia`.\n * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n * using the value of `dragElastic`.\n */\n const bounceStiffness = dragElastic ? 200 : 1000000;\n const bounceDamping = dragElastic ? 40 : 10000000;\n const inertia = {\n type: \"inertia\",\n velocity: dragMomentum ? velocity[axis] : 0,\n bounceStiffness,\n bounceDamping,\n timeConstant: 750,\n restDelta: 1,\n restSpeed: 10,\n ...dragTransition,\n ...transition,\n };\n // If we're not animating on an externally-provided `MotionValue` we can use the\n // component's animation controls which will handle interactions with whileHover (etc),\n // otherwise we just have to animate the `MotionValue` itself.\n return this.startAxisValueAnimation(axis, inertia);\n });\n // Run all animations and then resolve the new drag constraints.\n return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n }\n startAxisValueAnimation(axis, transition) {\n const axisValue = this.getAxisMotionValue(axis);\n return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement));\n }\n stopAnimation() {\n eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n }\n pauseAnimation() {\n eachAxis((axis) => { var _a; return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.pause(); });\n }\n getAnimationState(axis) {\n var _a;\n return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.state;\n }\n /**\n * Drag works differently depending on which props are provided.\n *\n * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n * - Otherwise, we apply the delta to the x/y motion values.\n */\n getAxisMotionValue(axis) {\n const dragKey = `_drag${axis.toUpperCase()}`;\n const props = this.visualElement.getProps();\n const externalMotionValue = props[dragKey];\n return externalMotionValue\n ? externalMotionValue\n : this.visualElement.getValue(axis, (props.initial\n ? props.initial[axis]\n : undefined) || 0);\n }\n snapToCursor(point) {\n eachAxis((axis) => {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, this.currentDirection))\n return;\n const { projection } = this.visualElement;\n const axisValue = this.getAxisMotionValue(axis);\n if (projection && projection.layout) {\n const { min, max } = projection.layout.layoutBox[axis];\n axisValue.set(point[axis] - mixNumber(min, max, 0.5));\n }\n });\n }\n /**\n * When the viewport resizes we want to check if the measured constraints\n * have changed and, if so, reposition the element within those new constraints\n * relative to where it was before the resize.\n */\n scalePositionWithinConstraints() {\n if (!this.visualElement.current)\n return;\n const { drag, dragConstraints } = this.getProps();\n const { projection } = this.visualElement;\n if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n return;\n /**\n * Stop current animations as there can be visual glitching if we try to do\n * this mid-animation\n */\n this.stopAnimation();\n /**\n * Record the relative position of the dragged element relative to the\n * constraints box and save as a progress value.\n */\n const boxProgress = { x: 0, y: 0 };\n eachAxis((axis) => {\n const axisValue = this.getAxisMotionValue(axis);\n if (axisValue && this.constraints !== false) {\n const latest = axisValue.get();\n boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n }\n });\n /**\n * Update the layout of this element and resolve the latest drag constraints\n */\n const { transformTemplate } = this.visualElement.getProps();\n this.visualElement.current.style.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n this.resolveConstraints();\n /**\n * For each axis, calculate the current progress of the layout axis\n * within the new constraints.\n */\n eachAxis((axis) => {\n if (!shouldDrag(axis, drag, null))\n return;\n /**\n * Calculate a new transform based on the previous box progress\n */\n const axisValue = this.getAxisMotionValue(axis);\n const { min, max } = this.constraints[axis];\n axisValue.set(mixNumber(min, max, boxProgress[axis]));\n });\n }\n addListeners() {\n if (!this.visualElement.current)\n return;\n elementDragControls.set(this.visualElement, this);\n const element = this.visualElement.current;\n /**\n * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n */\n const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n const { drag, dragListener = true } = this.getProps();\n drag && dragListener && this.start(event);\n });\n const measureDragConstraints = () => {\n const { dragConstraints } = this.getProps();\n if (isRefObject(dragConstraints)) {\n this.constraints = this.resolveRefConstraints();\n }\n };\n const { projection } = this.visualElement;\n const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n if (projection && !projection.layout) {\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n }\n measureDragConstraints();\n /**\n * Attach a window resize listener to scale the draggable target within its defined\n * constraints as the window resizes.\n */\n const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n /**\n * If the element's layout changes, calculate the delta and apply that to\n * the drag gesture's origin point.\n */\n const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n if (this.isDragging && hasLayoutChanged) {\n eachAxis((axis) => {\n const motionValue = this.getAxisMotionValue(axis);\n if (!motionValue)\n return;\n this.originPoint[axis] += delta[axis].translate;\n motionValue.set(motionValue.get() + delta[axis].translate);\n });\n this.visualElement.render();\n }\n }));\n return () => {\n stopResizeListener();\n stopPointerListener();\n stopMeasureLayoutListener();\n stopLayoutUpdateListener && stopLayoutUpdateListener();\n };\n }\n getProps() {\n const props = this.visualElement.getProps();\n const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n return {\n ...props,\n drag,\n dragDirectionLock,\n dragPropagation,\n dragConstraints,\n dragElastic,\n dragMomentum,\n };\n }\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n return ((drag === true || drag === direction) &&\n (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n let direction = null;\n if (Math.abs(offset.y) > lockThreshold) {\n direction = \"y\";\n }\n else if (Math.abs(offset.x) > lockThreshold) {\n direction = \"x\";\n }\n return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n","import { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n constructor(node) {\n super(node);\n this.removeGroupControls = noop;\n this.removeListeners = noop;\n this.controls = new VisualElementDragControls(node);\n }\n mount() {\n // If we've been provided a DragControls for manual control over the drag gesture,\n // subscribe this component to it on mount.\n const { dragControls } = this.node.getProps();\n if (dragControls) {\n this.removeGroupControls = dragControls.subscribe(this.controls);\n }\n this.removeListeners = this.controls.addListeners() || noop;\n }\n unmount() {\n this.removeGroupControls();\n this.removeListeners();\n }\n}\n\nexport { DragGesture };\n","import { PanSession } from './PanSession.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n if (handler) {\n handler(event, info);\n }\n};\nclass PanGesture extends Feature {\n constructor() {\n super(...arguments);\n this.removePointerDownListener = noop;\n }\n onPointerDown(pointerDownEvent) {\n this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n transformPagePoint: this.node.getTransformPagePoint(),\n contextWindow: getContextWindow(this.node),\n });\n }\n createPanHandlers() {\n const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n return {\n onSessionStart: asyncHandler(onPanSessionStart),\n onStart: asyncHandler(onPanStart),\n onMove: onPan,\n onEnd: (event, info) => {\n delete this.session;\n if (onPanEnd)\n onPanEnd(event, info);\n },\n };\n }\n mount() {\n this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n }\n update() {\n this.session && this.session.updateHandlers(this.createPanHandlers());\n }\n unmount() {\n this.removePointerDownListener();\n this.session && this.session.end();\n }\n}\n\nexport { PanGesture };\n","import { useContext, useId, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return \n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n const context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n const { isPresent, onExitComplete, register } = context;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n const id = useId();\n useEffect(() => register(id), []);\n const safeToRemove = () => onExitComplete && onExitComplete(id);\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return \n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n /**\n * Global flag as to whether the tree has animated since the last time\n * we resized the window\n */\n hasAnimatedSinceResize: true,\n /**\n * We set this to true once, on the first update. Any nodes added to the tree beyond that\n * update will be given a `data-projection-id` attribute.\n */\n hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n if (axis.max === axis.min)\n return 0;\n return (pixels / (axis.max - axis.min)) * 100;\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 */\nconst correctBorderRadius = {\n correct: (latest, node) => {\n if (!node.target)\n return latest;\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 }\n else {\n return latest;\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 return `${x}% ${y}%`;\n },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { complex } from '../../value/types/complex/index.mjs';\n\nconst correctBoxShadow = {\n correct: (latest, { treeScale, projectionDelta }) => {\n const original = latest;\n const shadow = complex.parse(latest);\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5)\n return original;\n const template = complex.createTransformer(latest);\n const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n // Calculate the overall context scale\n const xScale = projectionDelta.x.scale * treeScale.x;\n const yScale = projectionDelta.y.scale * treeScale.y;\n shadow[0 + offset] /= xScale;\n shadow[1 + offset] /= yScale;\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 // Blur\n if (typeof shadow[2 + offset] === \"number\")\n shadow[2 + offset] /= averageScale;\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n shadow[3 + offset] /= averageScale;\n return template(shadow);\n },\n};\n\nexport { correctBoxShadow };\n","import { jsx } from 'react/jsx-runtime';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\nimport { globalProjectionState } from '../../../projection/node/state.mjs';\nimport { correctBorderRadius } from '../../../projection/styles/scale-border-radius.mjs';\nimport { correctBoxShadow } from '../../../projection/styles/scale-box-shadow.mjs';\nimport { addScaleCorrector } from '../../../projection/styles/scale-correction.mjs';\nimport { microtask } from '../../../frameloop/microtask.mjs';\nimport { frame } from '../../../frameloop/frame.mjs';\n\nclass MeasureLayoutWithContext extends Component {\n /**\n * This only mounts projection nodes for components that\n * need measuring, we might want to do it for all components\n * in order to incorporate transforms\n */\n componentDidMount() {\n const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n const { projection } = visualElement;\n addScaleCorrector(defaultScaleCorrectors);\n if (projection) {\n if (layoutGroup.group)\n layoutGroup.group.add(projection);\n if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n switchLayoutGroup.register(projection);\n }\n projection.root.didUpdate();\n projection.addEventListener(\"animationComplete\", () => {\n this.safeToRemove();\n });\n projection.setOptions({\n ...projection.options,\n onExitComplete: () => this.safeToRemove(),\n });\n }\n globalProjectionState.hasEverUpdated = true;\n }\n getSnapshotBeforeUpdate(prevProps) {\n const { layoutDependency, visualElement, drag, isPresent } = this.props;\n const projection = visualElement.projection;\n if (!projection)\n return null;\n /**\n * TODO: We use this data in relegate to determine whether to\n * promote a previous element. There's no guarantee its presence data\n * will have updated by this point - if a bug like this arises it will\n * have to be that we markForRelegation and then find a new lead some other way,\n * perhaps in didUpdate\n */\n projection.isPresent = isPresent;\n if (drag ||\n prevProps.layoutDependency !== layoutDependency ||\n layoutDependency === undefined) {\n projection.willUpdate();\n }\n else {\n this.safeToRemove();\n }\n if (prevProps.isPresent !== isPresent) {\n if (isPresent) {\n projection.promote();\n }\n else if (!projection.relegate()) {\n /**\n * If there's another stack member taking over from this one,\n * it's in charge of the exit animation and therefore should\n * be in charge of the safe to remove. Otherwise we call it here.\n */\n frame.postRender(() => {\n const stack = projection.getStack();\n if (!stack || !stack.members.length) {\n this.safeToRemove();\n }\n });\n }\n }\n return null;\n }\n componentDidUpdate() {\n const { projection } = this.props.visualElement;\n if (projection) {\n projection.root.didUpdate();\n microtask.postRender(() => {\n if (!projection.currentAnimation && projection.isLead()) {\n this.safeToRemove();\n }\n });\n }\n }\n componentWillUnmount() {\n const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n const { projection } = visualElement;\n if (projection) {\n projection.scheduleCheckAfterUnmount();\n if (layoutGroup && layoutGroup.group)\n layoutGroup.group.remove(projection);\n if (promoteContext && promoteContext.deregister)\n promoteContext.deregister(projection);\n }\n }\n safeToRemove() {\n const { safeToRemove } = this.props;\n safeToRemove && safeToRemove();\n }\n render() {\n return null;\n }\n}\nfunction MeasureLayout(props) {\n const [isPresent, safeToRemove] = usePresence();\n const layoutGroup = useContext(LayoutGroupContext);\n return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\nconst defaultScaleCorrectors = {\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 { MeasureLayout };\n","import { circOut } from '../../easing/circ.mjs';\nimport { progress } from '../../utils/progress.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n if (shouldCrossfadeOpacity) {\n target.opacity = mixNumber(0, \n // TODO Reinstate this if only child\n lead.opacity !== undefined ? lead.opacity : 1, easeCrossfadeIn(progress));\n target.opacityExit = mixNumber(follow.opacity !== undefined ? follow.opacity : 1, 0, easeCrossfadeOut(progress));\n }\n else if (isOnlyMember) {\n target.opacity = mixNumber(follow.opacity !== undefined ? follow.opacity : 1, lead.opacity !== undefined ? lead.opacity : 1, progress);\n }\n /**\n * Mix border radius\n */\n for (let i = 0; i < numBorders; i++) {\n const borderLabel = `border${borders[i]}Radius`;\n let followRadius = getRadius(follow, borderLabel);\n let leadRadius = getRadius(lead, borderLabel);\n if (followRadius === undefined && leadRadius === undefined)\n continue;\n followRadius || (followRadius = 0);\n leadRadius || (leadRadius = 0);\n const canMix = followRadius === 0 ||\n leadRadius === 0 ||\n isPx(followRadius) === isPx(leadRadius);\n if (canMix) {\n target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n if (percent.test(leadRadius) || percent.test(followRadius)) {\n target[borderLabel] += \"%\";\n }\n }\n else {\n target[borderLabel] = leadRadius;\n }\n }\n /**\n * Mix rotation\n */\n if (follow.rotate || lead.rotate) {\n target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n }\n}\nfunction getRadius(values, radiusName) {\n return values[radiusName] !== undefined\n ? values[radiusName]\n : values.borderRadius;\n}\n// /**\n// * We only want to mix the background color if there's a follow element\n// * that we're not crossfading opacity between. For instance with switch\n// * AnimateSharedLayout animations, this helps the illusion of a continuous\n// * element being animated but also cuts down on the number of paints triggered\n// * for elements where opacity is doing that work for us.\n// */\n// if (\n// !hasFollowElement &&\n// latestLeadValues.backgroundColor &&\n// latestFollowValues.backgroundColor\n// ) {\n// /**\n// * This isn't ideal performance-wise as mixColor is creating a new function every frame.\n// * We could probably create a mixer that runs at the start of the animation but\n// * the idea behind the crossfader is that it runs dynamically between two potentially\n// * changing targets (ie opacity or borderRadius may be animating independently via variants)\n// */\n// leadState.backgroundColor = followState.backgroundColor = mixColor(\n// latestFollowValues.backgroundColor as string,\n// latestLeadValues.backgroundColor as string\n// )(p)\n// }\nconst easeCrossfadeIn = compress(0, 0.5, circOut);\nconst easeCrossfadeOut = compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n return (p) => {\n // Could replace ifs with clamp\n if (p < min)\n return 0;\n if (p > max)\n return 1;\n return easing(progress(min, max, p));\n };\n}\n\nexport { mixValues };\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n axis.min = originAxis.min;\n axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n copyAxisInto(box.x, originBox.x);\n copyAxisInto(box.y, originBox.y);\n}\n\nexport { copyAxisInto, copyBoxInto };\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n point -= translate;\n point = scalePoint(point, 1 / scale, originPoint);\n if (boxScale !== undefined) {\n point = scalePoint(point, 1 / boxScale, originPoint);\n }\n return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n if (percent.test(translate)) {\n translate = parseFloat(translate);\n const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n translate = relativeProgress - sourceAxis.min;\n }\n if (typeof translate !== \"number\")\n return;\n let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n if (axis === originAxis)\n originPoint -= translate;\n axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction boxEquals(a, b) {\n return (a.x.min === b.x.min &&\n a.x.max === b.x.max &&\n a.y.min === b.y.min &&\n a.y.max === b.y.max);\n}\nfunction boxEqualsRounded(a, b) {\n return (Math.round(a.x.min) === Math.round(b.x.min) &&\n Math.round(a.x.max) === Math.round(b.x.max) &&\n Math.round(a.y.min) === Math.round(b.y.min) &&\n Math.round(a.y.max) === Math.round(b.y.max));\n}\nfunction aspectRatio(box) {\n return calcLength(box.x) / calcLength(box.y);\n}\n\nexport { aspectRatio, boxEquals, boxEqualsRounded, isDeltaZero };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\n\nclass NodeStack {\n constructor() {\n this.members = [];\n }\n add(node) {\n addUniqueItem(this.members, node);\n node.scheduleRender();\n }\n remove(node) {\n removeItem(this.members, node);\n if (node === this.prevLead) {\n this.prevLead = undefined;\n }\n if (node === this.lead) {\n const prevLead = this.members[this.members.length - 1];\n if (prevLead) {\n this.promote(prevLead);\n }\n }\n }\n relegate(node) {\n const indexOfNode = this.members.findIndex((member) => node === member);\n if (indexOfNode === 0)\n return false;\n /**\n * Find the next projection node that is present\n */\n let prevLead;\n for (let i = indexOfNode; i >= 0; i--) {\n const member = this.members[i];\n if (member.isPresent !== false) {\n prevLead = member;\n break;\n }\n }\n if (prevLead) {\n this.promote(prevLead);\n return true;\n }\n else {\n return false;\n }\n }\n promote(node, preserveFollowOpacity) {\n const prevLead = this.lead;\n if (node === prevLead)\n return;\n this.prevLead = prevLead;\n this.lead = node;\n node.show();\n if (prevLead) {\n prevLead.instance && prevLead.scheduleRender();\n node.scheduleRender();\n node.resumeFrom = prevLead;\n if (preserveFollowOpacity) {\n node.resumeFrom.preserveOpacity = true;\n }\n if (prevLead.snapshot) {\n node.snapshot = prevLead.snapshot;\n node.snapshot.latestValues =\n prevLead.animationValues || prevLead.latestValues;\n }\n if (node.root && node.root.isUpdating) {\n node.isLayoutDirty = true;\n }\n const { crossfade } = node.options;\n if (crossfade === false) {\n prevLead.hide();\n }\n /**\n * TODO:\n * - Test border radius when previous node was deleted\n * - boxShadow mixing\n * - Shared between element A in scrolled container and element B (scroll stays the same or changes)\n * - Shared between element A in transformed container and element B (transform stays the same or changes)\n * - Shared between element A in scrolled page and element B (scroll stays the same or changes)\n * ---\n * - Crossfade opacity of root nodes\n * - layoutId changes after animation\n * - layoutId changes mid animation\n */\n }\n }\n exitAnimationComplete() {\n this.members.forEach((node) => {\n const { options, resumingFrom } = node;\n options.onExitComplete && options.onExitComplete();\n if (resumingFrom) {\n resumingFrom.options.onExitComplete &&\n resumingFrom.options.onExitComplete();\n }\n });\n }\n scheduleRender() {\n this.members.forEach((node) => {\n node.instance && node.scheduleRender(false);\n });\n }\n /**\n * Clear any leads that have been removed this render to prevent them from being\n * used in future animations and to prevent memory leaks\n */\n removeLeadSnapshot() {\n if (this.lead && this.lead.snapshot) {\n this.lead.snapshot = undefined;\n }\n }\n}\n\nexport { NodeStack };\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n let transform = \"\";\n /**\n * The translations we use to calculate are always relative to the viewport coordinate space.\n * But when we apply scales, we also scale the coordinate space of an element and its children.\n * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n */\n const xTranslate = delta.x.translate / treeScale.x;\n const yTranslate = delta.y.translate / treeScale.y;\n const zTranslate = (latestTransform === null || latestTransform === void 0 ? void 0 : latestTransform.z) || 0;\n if (xTranslate || yTranslate || zTranslate) {\n transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n }\n /**\n * Apply scale correction for the tree transform.\n * This will apply scale to the screen-orientated axes.\n */\n if (treeScale.x !== 1 || treeScale.y !== 1) {\n transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n }\n if (latestTransform) {\n const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n if (transformPerspective)\n transform = `perspective(${transformPerspective}px) ${transform}`;\n if (rotate)\n transform += `rotate(${rotate}deg) `;\n if (rotateX)\n transform += `rotateX(${rotateX}deg) `;\n if (rotateY)\n transform += `rotateY(${rotateY}deg) `;\n if (skewX)\n transform += `skewX(${skewX}deg) `;\n if (skewY)\n transform += `skewY(${skewY}deg) `;\n }\n /**\n * Apply scale to match the size of the element to the size we want it.\n * This will apply scale to the element-orientated axes.\n */\n const elementScaleX = delta.x.scale * treeScale.x;\n const elementScaleY = delta.y.scale * treeScale.y;\n if (elementScaleX !== 1 || elementScaleY !== 1) {\n transform += `scale(${elementScaleX}, ${elementScaleY})`;\n }\n return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n constructor() {\n this.children = [];\n this.isDirty = false;\n }\n add(child) {\n addUniqueItem(this.children, child);\n this.isDirty = true;\n }\n remove(child) {\n removeItem(this.children, child);\n this.isDirty = true;\n }\n forEach(callback) {\n this.isDirty && this.children.sort(compareByDepth);\n this.isDirty = false;\n this.children.forEach(callback);\n }\n}\n\nexport { FlatTree };\n","import { time } from '../frameloop/sync-time.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n const start = time.now();\n const checkElapsed = ({ timestamp }) => {\n const elapsed = timestamp - start;\n if (elapsed >= timeout) {\n cancelFrame(checkElapsed);\n callback(elapsed - timeout);\n }\n };\n frame.read(checkElapsed, true);\n return () => cancelFrame(checkElapsed);\n}\n\nexport { delay };\n","function record(data) {\n if (window.MotionDebug) {\n window.MotionDebug.record(data);\n }\n}\n\nexport { record };\n","function isSVGElement(element) {\n return element instanceof SVGElement && element.tagName !== \"svg\";\n}\n\nexport { isSVGElement };\n","import { animateMotionValue } from './motion-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n","import { SubscriptionManager } from '../../utils/subscription-manager.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcRelativePosition, calcRelativeBox, calcBoxDelta, calcLength, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { getValueTransition } from '../../animation/utils/transitions.mjs';\nimport { boxEqualsRounded, isDeltaZero, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { FlatTree } from '../../render/utils/flat-tree.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { globalProjectionState } from './state.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { record } from '../../debug/record.mjs';\nimport { isSVGElement } from '../../render/dom/utils/is-svg-element.mjs';\nimport { animateSingleValue } from '../../animation/interfaces/single-value.mjs';\nimport { clamp } from '../../utils/clamp.mjs';\nimport { cancelFrame, frameData, steps, frame } from '../../frameloop/frame.mjs';\nimport { noop } from '../../utils/noop.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\n\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\nconst hiddenVisibility = { visibility: \"hidden\" };\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\n/**\n * Use a mutable data object for debug data so as to not create a new\n * object every frame.\n */\nconst projectionFrameData = {\n type: \"projectionFrame\",\n totalNodes: 0,\n resolvedTargetDeltas: 0,\n recalculatedProjection: 0,\n};\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n const { latestValues } = visualElement;\n // Record the distorting transform and then temporarily set it to 0\n if (latestValues[key]) {\n values[key] = latestValues[key];\n visualElement.setStaticValue(key, 0);\n if (sharedAnimationValues) {\n sharedAnimationValues[key] = 0;\n }\n }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n return class ProjectionNode {\n constructor(latestValues = {}, parent = defaultParent === null || defaultParent === void 0 ? void 0 : defaultParent()) {\n /**\n * A unique ID generated for every projection node.\n */\n this.id = id++;\n /**\n * An id that represents a unique session instigated by startUpdate.\n */\n this.animationId = 0;\n /**\n * A Set containing all this component's children. This is used to iterate\n * through the children.\n *\n * TODO: This could be faster to iterate as a flat array stored on the root node.\n */\n this.children = new Set();\n /**\n * Options for the node. We use this to configure what kind of layout animations\n * we should perform (if any).\n */\n this.options = {};\n /**\n * We use this to detect when its safe to shut down part of a projection tree.\n * We have to keep projecting children for scale correction and relative projection\n * until all their parents stop performing layout animations.\n */\n this.isTreeAnimating = false;\n this.isAnimationBlocked = false;\n /**\n * Flag to true if we think this layout has been changed. We can't always know this,\n * currently we set it to true every time a component renders, or if it has a layoutDependency\n * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n * and if one node is dirtied, they all are.\n */\n this.isLayoutDirty = false;\n /**\n * Flag to true if we think the projection calculations for this node needs\n * recalculating as a result of an updated transform or layout animation.\n */\n this.isProjectionDirty = false;\n /**\n * Flag to true if the layout *or* transform has changed. This then gets propagated\n * throughout the projection tree, forcing any element below to recalculate on the next frame.\n */\n this.isSharedProjectionDirty = false;\n /**\n * Flag transform dirty. This gets propagated throughout the whole tree but is only\n * respected by shared nodes.\n */\n this.isTransformDirty = false;\n /**\n * Block layout updates for instant layout transitions throughout the tree.\n */\n this.updateManuallyBlocked = false;\n this.updateBlockedByResize = false;\n /**\n * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n * call.\n */\n this.isUpdating = false;\n /**\n * If this is an SVG element we currently disable projection transforms\n */\n this.isSVG = false;\n /**\n * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n * its projection styles.\n */\n this.needsReset = false;\n /**\n * Flags whether this node should have its transform reset prior to measuring.\n */\n this.shouldResetTransform = false;\n /**\n * An object representing the calculated contextual/accumulated/tree scale.\n * This will be used to scale calculcated projection transforms, as these are\n * calculated in screen-space but need to be scaled for elements to layoutly\n * make it to their calculated destinations.\n *\n * TODO: Lazy-init\n */\n this.treeScale = { x: 1, y: 1 };\n /**\n *\n */\n this.eventHandlers = new Map();\n this.hasTreeAnimated = false;\n // Note: Currently only running on root node\n this.updateScheduled = false;\n this.projectionUpdateScheduled = false;\n this.checkUpdateFailed = () => {\n if (this.isUpdating) {\n this.isUpdating = false;\n this.clearAllSnapshots();\n }\n };\n /**\n * This is a multi-step process as shared nodes might be of different depths. Nodes\n * are sorted by depth order, so we need to resolve the entire tree before moving to\n * the next step.\n */\n this.updateProjection = () => {\n this.projectionUpdateScheduled = false;\n /**\n * Reset debug counts. Manually resetting rather than creating a new\n * object each frame.\n */\n projectionFrameData.totalNodes =\n projectionFrameData.resolvedTargetDeltas =\n projectionFrameData.recalculatedProjection =\n 0;\n this.nodes.forEach(propagateDirtyNodes);\n this.nodes.forEach(resolveTargetDelta);\n this.nodes.forEach(calcProjection);\n this.nodes.forEach(cleanDirtyNodes);\n record(projectionFrameData);\n };\n this.hasProjected = false;\n this.isVisible = true;\n this.animationProgress = 0;\n /**\n * Shared layout\n */\n // TODO Only running on root node\n this.sharedNodes = new Map();\n this.latestValues = latestValues;\n this.root = parent ? parent.root || parent : this;\n this.path = parent ? [...parent.path, parent] : [];\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n for (let i = 0; i < this.path.length; i++) {\n this.path[i].shouldResetTransform = true;\n }\n if (this.root === this)\n this.nodes = new FlatTree();\n }\n addEventListener(name, handler) {\n if (!this.eventHandlers.has(name)) {\n this.eventHandlers.set(name, new SubscriptionManager());\n }\n return this.eventHandlers.get(name).add(handler);\n }\n notifyListeners(name, ...args) {\n const subscriptionManager = this.eventHandlers.get(name);\n subscriptionManager && subscriptionManager.notify(...args);\n }\n hasListeners(name) {\n return this.eventHandlers.has(name);\n }\n /**\n * Lifecycles\n */\n mount(instance, isLayoutDirty = this.root.hasTreeAnimated) {\n if (this.instance)\n return;\n this.isSVG = isSVGElement(instance);\n this.instance = instance;\n const { layoutId, layout, visualElement } = this.options;\n if (visualElement && !visualElement.current) {\n visualElement.mount(instance);\n }\n this.root.nodes.add(this);\n this.parent && this.parent.children.add(this);\n if (isLayoutDirty && (layout || layoutId)) {\n this.isLayoutDirty = true;\n }\n if (attachResizeListener) {\n let cancelDelay;\n const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n attachResizeListener(instance, () => {\n this.root.updateBlockedByResize = true;\n cancelDelay && cancelDelay();\n cancelDelay = delay(resizeUnblockUpdate, 250);\n if (globalProjectionState.hasAnimatedSinceResize) {\n globalProjectionState.hasAnimatedSinceResize = false;\n this.nodes.forEach(finishAnimation);\n }\n });\n }\n if (layoutId) {\n this.root.registerSharedNode(layoutId, this);\n }\n // Only register the handler if it requires layout animation\n if (this.options.animate !== false &&\n visualElement &&\n (layoutId || layout)) {\n this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeTargetChanged, layout: newLayout, }) => {\n if (this.isTreeAnimationBlocked()) {\n this.target = undefined;\n this.relativeTarget = undefined;\n return;\n }\n // TODO: Check here if an animation exists\n const layoutTransition = this.options.transition ||\n visualElement.getDefaultTransition() ||\n defaultLayoutTransition;\n const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n /**\n * The target layout of the element might stay the same,\n * but its position relative to its parent has changed.\n */\n const targetChanged = !this.targetLayout ||\n !boxEqualsRounded(this.targetLayout, newLayout) ||\n hasRelativeTargetChanged;\n /**\n * If the layout hasn't seemed to have changed, it might be that the\n * element is visually in the same place in the document but its position\n * relative to its parent has indeed changed. So here we check for that.\n */\n const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeTargetChanged;\n if (this.options.layoutRoot ||\n (this.resumeFrom && this.resumeFrom.instance) ||\n hasOnlyRelativeTargetChanged ||\n (hasLayoutChanged &&\n (targetChanged || !this.currentAnimation))) {\n if (this.resumeFrom) {\n this.resumingFrom = this.resumeFrom;\n this.resumingFrom.resumingFrom = undefined;\n }\n this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n const animationOptions = {\n ...getValueTransition(layoutTransition, \"layout\"),\n onPlay: onLayoutAnimationStart,\n onComplete: onLayoutAnimationComplete,\n };\n if (visualElement.shouldReduceMotion ||\n this.options.layoutRoot) {\n animationOptions.delay = 0;\n animationOptions.type = false;\n }\n this.startAnimation(animationOptions);\n }\n else {\n /**\n * If the layout hasn't changed and we have an animation that hasn't started yet,\n * finish it immediately. Otherwise it will be animating from a location\n * that was probably never commited to screen and look like a jumpy box.\n */\n if (!hasLayoutChanged) {\n finishAnimation(this);\n }\n if (this.isLead() && this.options.onExitComplete) {\n this.options.onExitComplete();\n }\n }\n this.targetLayout = newLayout;\n });\n }\n }\n unmount() {\n this.options.layoutId && this.willUpdate();\n this.root.nodes.remove(this);\n const stack = this.getStack();\n stack && stack.remove(this);\n this.parent && this.parent.children.delete(this);\n this.instance = undefined;\n cancelFrame(this.updateProjection);\n }\n // only on the root\n blockUpdate() {\n this.updateManuallyBlocked = true;\n }\n unblockUpdate() {\n this.updateManuallyBlocked = false;\n }\n isUpdateBlocked() {\n return this.updateManuallyBlocked || this.updateBlockedByResize;\n }\n isTreeAnimationBlocked() {\n return (this.isAnimationBlocked ||\n (this.parent && this.parent.isTreeAnimationBlocked()) ||\n false);\n }\n // Note: currently only running on root node\n startUpdate() {\n if (this.isUpdateBlocked())\n return;\n this.isUpdating = true;\n this.nodes && this.nodes.forEach(resetSkewAndRotation);\n this.animationId++;\n }\n getTransformTemplate() {\n const { visualElement } = this.options;\n return visualElement && visualElement.getProps().transformTemplate;\n }\n willUpdate(shouldNotifyListeners = true) {\n this.root.hasTreeAnimated = true;\n if (this.root.isUpdateBlocked()) {\n this.options.onExitComplete && this.options.onExitComplete();\n return;\n }\n !this.root.isUpdating && this.root.startUpdate();\n if (this.isLayoutDirty)\n return;\n this.isLayoutDirty = true;\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.shouldResetTransform = true;\n node.updateScroll(\"snapshot\");\n if (node.options.layoutRoot) {\n node.willUpdate(false);\n }\n }\n const { layoutId, layout } = this.options;\n if (layoutId === undefined && !layout)\n return;\n const transformTemplate = this.getTransformTemplate();\n this.prevTransformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n this.updateSnapshot();\n shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n }\n update() {\n this.updateScheduled = false;\n const updateWasBlocked = this.isUpdateBlocked();\n // When doing an instant transition, we skip the layout update,\n // but should still clean up the measurements so that the next\n // snapshot could be taken correctly.\n if (updateWasBlocked) {\n this.unblockUpdate();\n this.clearAllSnapshots();\n this.nodes.forEach(clearMeasurements);\n return;\n }\n if (!this.isUpdating) {\n this.nodes.forEach(clearIsLayoutDirty);\n }\n this.isUpdating = false;\n /**\n * Write\n */\n if (window.HandoffCancelAllAnimations) {\n window.HandoffCancelAllAnimations();\n }\n this.nodes.forEach(resetTransformStyle);\n /**\n * Read ==================\n */\n // Update layout measurements of updated children\n this.nodes.forEach(updateLayout);\n /**\n * Write\n */\n // Notify listeners that the layout is updated\n this.nodes.forEach(notifyLayoutUpdate);\n this.clearAllSnapshots();\n /**\n * Manually flush any pending updates. Ideally\n * we could leave this to the following requestAnimationFrame but this seems\n * to leave a flash of incorrectly styled content.\n */\n const now = time.now();\n frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n frameData.timestamp = now;\n frameData.isProcessing = true;\n steps.update.process(frameData);\n steps.preRender.process(frameData);\n steps.render.process(frameData);\n frameData.isProcessing = false;\n }\n didUpdate() {\n if (!this.updateScheduled) {\n this.updateScheduled = true;\n microtask.read(() => this.update());\n }\n }\n clearAllSnapshots() {\n this.nodes.forEach(clearSnapshot);\n this.sharedNodes.forEach(removeLeadSnapshots);\n }\n scheduleUpdateProjection() {\n if (!this.projectionUpdateScheduled) {\n this.projectionUpdateScheduled = true;\n frame.preRender(this.updateProjection, false, true);\n }\n }\n scheduleCheckAfterUnmount() {\n /**\n * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n * we manually call didUpdate to give a chance to the siblings to animate.\n * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n */\n frame.postRender(() => {\n if (this.isLayoutDirty) {\n this.root.didUpdate();\n }\n else {\n this.root.checkUpdateFailed();\n }\n });\n }\n /**\n * Update measurements\n */\n updateSnapshot() {\n if (this.snapshot || !this.instance)\n return;\n this.snapshot = this.measure();\n }\n updateLayout() {\n if (!this.instance)\n return;\n // TODO: Incorporate into a forwarded scroll offset\n this.updateScroll();\n if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n !this.isLayoutDirty) {\n return;\n }\n /**\n * When a node is mounted, it simply resumes from the prevLead's\n * snapshot instead of taking a new one, but the ancestors scroll\n * might have updated while the prevLead is unmounted. We need to\n * update the scroll again to make sure the layout we measure is\n * up to date.\n */\n if (this.resumeFrom && !this.resumeFrom.instance) {\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.updateScroll();\n }\n }\n const prevLayout = this.layout;\n this.layout = this.measure(false);\n this.layoutCorrected = createBox();\n this.isLayoutDirty = false;\n this.projectionDelta = undefined;\n this.notifyListeners(\"measure\", this.layout.layoutBox);\n const { visualElement } = this.options;\n visualElement &&\n visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n }\n updateScroll(phase = \"measure\") {\n let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n if (this.scroll &&\n this.scroll.animationId === this.root.animationId &&\n this.scroll.phase === phase) {\n needsMeasurement = false;\n }\n if (needsMeasurement) {\n this.scroll = {\n animationId: this.root.animationId,\n phase,\n isRoot: checkIsScrollRoot(this.instance),\n offset: measureScroll(this.instance),\n };\n }\n }\n resetTransform() {\n if (!resetTransform)\n return;\n const isResetRequested = this.isLayoutDirty || this.shouldResetTransform;\n const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n const transformTemplate = this.getTransformTemplate();\n const transformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n if (isResetRequested &&\n (hasProjection ||\n hasTransform(this.latestValues) ||\n transformTemplateHasChanged)) {\n resetTransform(this.instance, transformTemplateValue);\n this.shouldResetTransform = false;\n this.scheduleRender();\n }\n }\n measure(removeTransform = true) {\n const pageBox = this.measurePageBox();\n let layoutBox = this.removeElementScroll(pageBox);\n /**\n * Measurements taken during the pre-render stage\n * still have transforms applied so we remove them\n * via calculation.\n */\n if (removeTransform) {\n layoutBox = this.removeTransform(layoutBox);\n }\n roundBox(layoutBox);\n return {\n animationId: this.root.animationId,\n measuredBox: pageBox,\n layoutBox,\n latestValues: {},\n source: this.id,\n };\n }\n measurePageBox() {\n const { visualElement } = this.options;\n if (!visualElement)\n return createBox();\n const box = visualElement.measureViewportBox();\n // Remove viewport scroll to give page-relative coordinates\n const { scroll } = this.root;\n if (scroll) {\n translateAxis(box.x, scroll.offset.x);\n translateAxis(box.y, scroll.offset.y);\n }\n return box;\n }\n removeElementScroll(box) {\n const boxWithoutScroll = createBox();\n copyBoxInto(boxWithoutScroll, box);\n /**\n * Performance TODO: Keep a cumulative scroll offset down the tree\n * rather than loop back up the path.\n */\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n const { scroll, options } = node;\n if (node !== this.root && scroll && options.layoutScroll) {\n /**\n * If this is a new scroll root, we want to remove all previous scrolls\n * from the viewport box.\n */\n if (scroll.isRoot) {\n copyBoxInto(boxWithoutScroll, box);\n const { scroll: rootScroll } = this.root;\n /**\n * Undo the application of page scroll that was originally added\n * to the measured bounding box.\n */\n if (rootScroll) {\n translateAxis(boxWithoutScroll.x, -rootScroll.offset.x);\n translateAxis(boxWithoutScroll.y, -rootScroll.offset.y);\n }\n }\n translateAxis(boxWithoutScroll.x, scroll.offset.x);\n translateAxis(boxWithoutScroll.y, scroll.offset.y);\n }\n }\n return boxWithoutScroll;\n }\n applyTransform(box, transformOnly = false) {\n const withTransforms = createBox();\n copyBoxInto(withTransforms, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!transformOnly &&\n node.options.layoutScroll &&\n node.scroll &&\n node !== node.root) {\n transformBox(withTransforms, {\n x: -node.scroll.offset.x,\n y: -node.scroll.offset.y,\n });\n }\n if (!hasTransform(node.latestValues))\n continue;\n transformBox(withTransforms, node.latestValues);\n }\n if (hasTransform(this.latestValues)) {\n transformBox(withTransforms, this.latestValues);\n }\n return withTransforms;\n }\n removeTransform(box) {\n const boxWithoutTransform = createBox();\n copyBoxInto(boxWithoutTransform, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!node.instance)\n continue;\n if (!hasTransform(node.latestValues))\n continue;\n hasScale(node.latestValues) && node.updateSnapshot();\n const sourceBox = createBox();\n const nodeBox = node.measurePageBox();\n copyBoxInto(sourceBox, nodeBox);\n removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n }\n if (hasTransform(this.latestValues)) {\n removeBoxTransforms(boxWithoutTransform, this.latestValues);\n }\n return boxWithoutTransform;\n }\n setTargetDelta(delta) {\n this.targetDelta = delta;\n this.root.scheduleUpdateProjection();\n this.isProjectionDirty = true;\n }\n setOptions(options) {\n this.options = {\n ...this.options,\n ...options,\n crossfade: options.crossfade !== undefined ? options.crossfade : true,\n };\n }\n clearMeasurements() {\n this.scroll = undefined;\n this.layout = undefined;\n this.snapshot = undefined;\n this.prevTransformTemplateValue = undefined;\n this.targetDelta = undefined;\n this.target = undefined;\n this.isLayoutDirty = false;\n }\n forceRelativeParentToResolveTarget() {\n if (!this.relativeParent)\n return;\n /**\n * If the parent target isn't up-to-date, force it to update.\n * This is an unfortunate de-optimisation as it means any updating relative\n * projection will cause all the relative parents to recalculate back\n * up the tree.\n */\n if (this.relativeParent.resolvedRelativeTargetAt !==\n frameData.timestamp) {\n this.relativeParent.resolveTargetDelta(true);\n }\n }\n resolveTargetDelta(forceRecalculation = false) {\n var _a;\n /**\n * Once the dirty status of nodes has been spread through the tree, we also\n * need to check if we have a shared node of a different depth that has itself\n * been dirtied.\n */\n const lead = this.getLead();\n this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n /**\n * We don't use transform for this step of processing so we don't\n * need to check whether any nodes have changed transform.\n */\n const canSkip = !(forceRecalculation ||\n (isShared && this.isSharedProjectionDirty) ||\n this.isProjectionDirty ||\n ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty) ||\n this.attemptToResolveRelativeTarget);\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If we have no layout, we can't perform projection, so early return\n */\n if (!this.layout || !(layout || layoutId))\n return;\n this.resolvedRelativeTargetAt = frameData.timestamp;\n /**\n * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n * a relativeParent. This will allow a component to perform scale correction\n * even if no animation has started.\n */\n if (!this.targetDelta && !this.relativeTarget) {\n const relativeParent = this.getClosestProjectingParent();\n if (relativeParent &&\n relativeParent.layout &&\n this.animationProgress !== 1) {\n this.relativeParent = relativeParent;\n this.forceRelativeParentToResolveTarget();\n this.relativeTarget = createBox();\n this.relativeTargetOrigin = createBox();\n calcRelativePosition(this.relativeTargetOrigin, this.layout.layoutBox, relativeParent.layout.layoutBox);\n copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n }\n else {\n this.relativeParent = this.relativeTarget = undefined;\n }\n }\n /**\n * If we have no relative target or no target delta our target isn't valid\n * for this frame.\n */\n if (!this.relativeTarget && !this.targetDelta)\n return;\n /**\n * Lazy-init target data structure\n */\n if (!this.target) {\n this.target = createBox();\n this.targetWithTransforms = createBox();\n }\n /**\n * If we've got a relative box for this component, resolve it into a target relative to the parent.\n */\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.relativeParent &&\n this.relativeParent.target) {\n this.forceRelativeParentToResolveTarget();\n calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n /**\n * If we've only got a targetDelta, resolve it into a target\n */\n }\n else if (this.targetDelta) {\n if (Boolean(this.resumingFrom)) {\n // TODO: This is creating a new object every frame\n this.target = this.applyTransform(this.layout.layoutBox);\n }\n else {\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n applyBoxDelta(this.target, this.targetDelta);\n }\n else {\n /**\n * If no target, use own layout as target\n */\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n /**\n * If we've been told to attempt to resolve a relative target, do so.\n */\n if (this.attemptToResolveRelativeTarget) {\n this.attemptToResolveRelativeTarget = false;\n const relativeParent = this.getClosestProjectingParent();\n if (relativeParent &&\n Boolean(relativeParent.resumingFrom) ===\n Boolean(this.resumingFrom) &&\n !relativeParent.options.layoutScroll &&\n relativeParent.target &&\n this.animationProgress !== 1) {\n this.relativeParent = relativeParent;\n this.forceRelativeParentToResolveTarget();\n this.relativeTarget = createBox();\n this.relativeTargetOrigin = createBox();\n calcRelativePosition(this.relativeTargetOrigin, this.target, relativeParent.target);\n copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n }\n else {\n this.relativeParent = this.relativeTarget = undefined;\n }\n }\n /**\n * Increase debug counter for resolved target deltas\n */\n projectionFrameData.resolvedTargetDeltas++;\n }\n getClosestProjectingParent() {\n if (!this.parent ||\n hasScale(this.parent.latestValues) ||\n has2DTranslate(this.parent.latestValues)) {\n return undefined;\n }\n if (this.parent.isProjecting()) {\n return this.parent;\n }\n else {\n return this.parent.getClosestProjectingParent();\n }\n }\n isProjecting() {\n return Boolean((this.relativeTarget ||\n this.targetDelta ||\n this.options.layoutRoot) &&\n this.layout);\n }\n calcProjection() {\n var _a;\n const lead = this.getLead();\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n let canSkip = true;\n /**\n * If this is a normal layout animation and neither this node nor its nearest projecting\n * is dirty then we can't skip.\n */\n if (this.isProjectionDirty || ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty)) {\n canSkip = false;\n }\n /**\n * If this is a shared layout animation and this node's shared projection is dirty then\n * we can't skip.\n */\n if (isShared &&\n (this.isSharedProjectionDirty || this.isTransformDirty)) {\n canSkip = false;\n }\n /**\n * If we have resolved the target this frame we must recalculate the\n * projection to ensure it visually represents the internal calculations.\n */\n if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n canSkip = false;\n }\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If this section of the tree isn't animating we can\n * delete our target sources for the following frame.\n */\n this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n this.currentAnimation ||\n this.pendingAnimation);\n if (!this.isTreeAnimating) {\n this.targetDelta = this.relativeTarget = undefined;\n }\n if (!this.layout || !(layout || layoutId))\n return;\n /**\n * Reset the corrected box with the latest values from box, as we're then going\n * to perform mutative operations on it.\n */\n copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n /**\n * Record previous tree scales before updating.\n */\n const prevTreeScaleX = this.treeScale.x;\n const prevTreeScaleY = this.treeScale.y;\n /**\n * Apply all the parent deltas to this box to produce the corrected box. This\n * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n */\n applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n /**\n * If this layer needs to perform scale correction but doesn't have a target,\n * use the layout as the target.\n */\n if (lead.layout &&\n !lead.target &&\n (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n lead.target = lead.layout.layoutBox;\n lead.targetWithTransforms = createBox();\n }\n const { target } = lead;\n if (!target) {\n /**\n * If we don't have a target to project into, but we were previously\n * projecting, we want to remove the stored transform and schedule\n * a render to ensure the elements reflect the removed transform.\n */\n if (this.projectionTransform) {\n this.projectionDelta = createDelta();\n this.projectionTransform = \"none\";\n this.scheduleRender();\n }\n return;\n }\n if (!this.projectionDelta) {\n this.projectionDelta = createDelta();\n this.projectionDeltaWithTransform = createDelta();\n }\n const prevProjectionTransform = this.projectionTransform;\n /**\n * Update the delta between the corrected box and the target box before user-set transforms were applied.\n * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n * for our layout reprojection, but still allow them to be scaled correctly by the user.\n * It might be that to simplify this we may want to accept that user-set scale is also corrected\n * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n * to allow people to choose whether these styles are corrected based on just the\n * layout reprojection or the final bounding box.\n */\n calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n this.projectionTransform = buildProjectionTransform(this.projectionDelta, this.treeScale);\n if (this.projectionTransform !== prevProjectionTransform ||\n this.treeScale.x !== prevTreeScaleX ||\n this.treeScale.y !== prevTreeScaleY) {\n this.hasProjected = true;\n this.scheduleRender();\n this.notifyListeners(\"projectionUpdate\", target);\n }\n /**\n * Increase debug counter for recalculated projections\n */\n projectionFrameData.recalculatedProjection++;\n }\n hide() {\n this.isVisible = false;\n // TODO: Schedule render\n }\n show() {\n this.isVisible = true;\n // TODO: Schedule render\n }\n scheduleRender(notifyAll = true) {\n this.options.scheduleRender && this.options.scheduleRender();\n if (notifyAll) {\n const stack = this.getStack();\n stack && stack.scheduleRender();\n }\n if (this.resumingFrom && !this.resumingFrom.instance) {\n this.resumingFrom = undefined;\n }\n }\n setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n const snapshot = this.snapshot;\n const snapshotLatestValues = snapshot\n ? snapshot.latestValues\n : {};\n const mixedValues = { ...this.latestValues };\n const targetDelta = createDelta();\n if (!this.relativeParent ||\n !this.relativeParent.options.layoutRoot) {\n this.relativeTarget = this.relativeTargetOrigin = undefined;\n }\n this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n const relativeLayout = createBox();\n const snapshotSource = snapshot ? snapshot.source : undefined;\n const layoutSource = this.layout ? this.layout.source : undefined;\n const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n const stack = this.getStack();\n const isOnlyMember = !stack || stack.members.length <= 1;\n const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n !isOnlyMember &&\n this.options.crossfade === true &&\n !this.path.some(hasOpacityCrossfade));\n this.animationProgress = 0;\n let prevRelativeTarget;\n this.mixTargetDelta = (latest) => {\n const progress = latest / 1000;\n mixAxisDelta(targetDelta.x, delta.x, progress);\n mixAxisDelta(targetDelta.y, delta.y, progress);\n this.setTargetDelta(targetDelta);\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.layout &&\n this.relativeParent &&\n this.relativeParent.layout) {\n calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n /**\n * If this is an unchanged relative target we can consider the\n * projection not dirty.\n */\n if (prevRelativeTarget &&\n boxEquals(this.relativeTarget, prevRelativeTarget)) {\n this.isProjectionDirty = false;\n }\n if (!prevRelativeTarget)\n prevRelativeTarget = createBox();\n copyBoxInto(prevRelativeTarget, this.relativeTarget);\n }\n if (isSharedLayoutAnimation) {\n this.animationValues = mixedValues;\n mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n }\n this.root.scheduleUpdateProjection();\n this.scheduleRender();\n this.animationProgress = progress;\n };\n this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n }\n startAnimation(options) {\n this.notifyListeners(\"animationStart\");\n this.currentAnimation && this.currentAnimation.stop();\n if (this.resumingFrom && this.resumingFrom.currentAnimation) {\n this.resumingFrom.currentAnimation.stop();\n }\n if (this.pendingAnimation) {\n cancelFrame(this.pendingAnimation);\n this.pendingAnimation = undefined;\n }\n /**\n * Start the animation in the next frame to have a frame with progress 0,\n * where the target is the same as when the animation started, so we can\n * calculate the relative positions correctly for instant transitions.\n */\n this.pendingAnimation = frame.update(() => {\n globalProjectionState.hasAnimatedSinceResize = true;\n this.currentAnimation = animateSingleValue(0, animationTarget, {\n ...options,\n onUpdate: (latest) => {\n this.mixTargetDelta(latest);\n options.onUpdate && options.onUpdate(latest);\n },\n onComplete: () => {\n options.onComplete && options.onComplete();\n this.completeAnimation();\n },\n });\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = this.currentAnimation;\n }\n this.pendingAnimation = undefined;\n });\n }\n completeAnimation() {\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = undefined;\n this.resumingFrom.preserveOpacity = undefined;\n }\n const stack = this.getStack();\n stack && stack.exitAnimationComplete();\n this.resumingFrom =\n this.currentAnimation =\n this.animationValues =\n undefined;\n this.notifyListeners(\"animationComplete\");\n }\n finishAnimation() {\n if (this.currentAnimation) {\n this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n this.currentAnimation.stop();\n }\n this.completeAnimation();\n }\n applyTransformsToTarget() {\n const lead = this.getLead();\n let { targetWithTransforms, target, layout, latestValues } = lead;\n if (!targetWithTransforms || !target || !layout)\n return;\n /**\n * If we're only animating position, and this element isn't the lead element,\n * then instead of projecting into the lead box we instead want to calculate\n * a new target that aligns the two boxes but maintains the layout shape.\n */\n if (this !== lead &&\n this.layout &&\n layout &&\n shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n target = this.target || createBox();\n const xLength = calcLength(this.layout.layoutBox.x);\n target.x.min = lead.target.x.min;\n target.x.max = target.x.min + xLength;\n const yLength = calcLength(this.layout.layoutBox.y);\n target.y.min = lead.target.y.min;\n target.y.max = target.y.min + yLength;\n }\n copyBoxInto(targetWithTransforms, target);\n /**\n * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n * This is the final box that we will then project into by calculating a transform delta and\n * applying it to the corrected box.\n */\n transformBox(targetWithTransforms, latestValues);\n /**\n * Update the delta between the corrected box and the final target box, after\n * user-set transforms are applied to it. This will be used by the renderer to\n * create a transform style that will reproject the element from its layout layout\n * into the desired bounding box.\n */\n calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n }\n registerSharedNode(layoutId, node) {\n if (!this.sharedNodes.has(layoutId)) {\n this.sharedNodes.set(layoutId, new NodeStack());\n }\n const stack = this.sharedNodes.get(layoutId);\n stack.add(node);\n const config = node.options.initialPromotionConfig;\n node.promote({\n transition: config ? config.transition : undefined,\n preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n ? config.shouldPreserveFollowOpacity(node)\n : undefined,\n });\n }\n isLead() {\n const stack = this.getStack();\n return stack ? stack.lead === this : true;\n }\n getLead() {\n var _a;\n const { layoutId } = this.options;\n return layoutId ? ((_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.lead) || this : this;\n }\n getPrevLead() {\n var _a;\n const { layoutId } = this.options;\n return layoutId ? (_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.prevLead : undefined;\n }\n getStack() {\n const { layoutId } = this.options;\n if (layoutId)\n return this.root.sharedNodes.get(layoutId);\n }\n promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n const stack = this.getStack();\n if (stack)\n stack.promote(this, preserveFollowOpacity);\n if (needsReset) {\n this.projectionDelta = undefined;\n this.needsReset = true;\n }\n if (transition)\n this.setOptions({ transition });\n }\n relegate() {\n const stack = this.getStack();\n if (stack) {\n return stack.relegate(this);\n }\n else {\n return false;\n }\n }\n resetSkewAndRotation() {\n const { visualElement } = this.options;\n if (!visualElement)\n return;\n // If there's no detected skew or rotation values, we can early return without a forced render.\n let hasDistortingTransform = false;\n /**\n * An unrolled check for rotation values. Most elements don't have any rotation and\n * skipping the nested loop and new object creation is 50% faster.\n */\n const { latestValues } = visualElement;\n if (latestValues.z ||\n latestValues.rotate ||\n latestValues.rotateX ||\n latestValues.rotateY ||\n latestValues.rotateZ ||\n latestValues.skewX ||\n latestValues.skewY) {\n hasDistortingTransform = true;\n }\n // If there's no distorting values, we don't need to do any more.\n if (!hasDistortingTransform)\n return;\n const resetValues = {};\n if (latestValues.z) {\n resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n }\n // Check the skew and rotate value of all axes and reset to 0\n for (let i = 0; i < transformAxes.length; i++) {\n resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n }\n // Force a render of this element to apply the transform with all skews and rotations\n // set to 0.\n visualElement.render();\n // Put back all the values we reset\n for (const key in resetValues) {\n visualElement.setStaticValue(key, resetValues[key]);\n if (this.animationValues) {\n this.animationValues[key] = resetValues[key];\n }\n }\n // Schedule a render for the next frame. This ensures we won't visually\n // see the element with the reset rotate value applied.\n visualElement.scheduleRender();\n }\n getProjectionStyles(styleProp) {\n var _a, _b;\n if (!this.instance || this.isSVG)\n return undefined;\n if (!this.isVisible) {\n return hiddenVisibility;\n }\n const styles = {\n visibility: \"\",\n };\n const transformTemplate = this.getTransformTemplate();\n if (this.needsReset) {\n this.needsReset = false;\n styles.opacity = \"\";\n styles.pointerEvents =\n resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n styles.transform = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : \"none\";\n return styles;\n }\n const lead = this.getLead();\n if (!this.projectionDelta || !this.layout || !lead.target) {\n const emptyStyles = {};\n if (this.options.layoutId) {\n emptyStyles.opacity =\n this.latestValues.opacity !== undefined\n ? this.latestValues.opacity\n : 1;\n emptyStyles.pointerEvents =\n resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n }\n if (this.hasProjected && !hasTransform(this.latestValues)) {\n emptyStyles.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n this.hasProjected = false;\n }\n return emptyStyles;\n }\n const valuesToRender = lead.animationValues || lead.latestValues;\n this.applyTransformsToTarget();\n styles.transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n if (transformTemplate) {\n styles.transform = transformTemplate(valuesToRender, styles.transform);\n }\n const { x, y } = this.projectionDelta;\n styles.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n if (lead.animationValues) {\n /**\n * If the lead component is animating, assign this either the entering/leaving\n * opacity\n */\n styles.opacity =\n lead === this\n ? (_b = (_a = valuesToRender.opacity) !== null && _a !== void 0 ? _a : this.latestValues.opacity) !== null && _b !== void 0 ? _b : 1\n : this.preserveOpacity\n ? this.latestValues.opacity\n : valuesToRender.opacityExit;\n }\n else {\n /**\n * Or we're not animating at all, set the lead component to its layout\n * opacity and other components to hidden.\n */\n styles.opacity =\n lead === this\n ? valuesToRender.opacity !== undefined\n ? valuesToRender.opacity\n : \"\"\n : valuesToRender.opacityExit !== undefined\n ? valuesToRender.opacityExit\n : 0;\n }\n /**\n * Apply scale correction\n */\n for (const key in scaleCorrectors) {\n if (valuesToRender[key] === undefined)\n continue;\n const { correct, applyTo } = scaleCorrectors[key];\n /**\n * Only apply scale correction to the value if we have an\n * active projection transform. Otherwise these values become\n * vulnerable to distortion if the element changes size without\n * a corresponding layout animation.\n */\n const corrected = styles.transform === \"none\"\n ? valuesToRender[key]\n : correct(valuesToRender[key], lead);\n if (applyTo) {\n const num = applyTo.length;\n for (let i = 0; i < num; i++) {\n styles[applyTo[i]] = corrected;\n }\n }\n else {\n styles[key] = corrected;\n }\n }\n /**\n * Disable pointer events on follow components. This is to ensure\n * that if a follow component covers a lead component it doesn't block\n * pointer events on the lead.\n */\n if (this.options.layoutId) {\n styles.pointerEvents =\n lead === this\n ? resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\"\n : \"none\";\n }\n return styles;\n }\n clearSnapshot() {\n this.resumeFrom = this.snapshot = undefined;\n }\n // Only run on root\n resetTree() {\n this.root.nodes.forEach((node) => { var _a; return (_a = node.currentAnimation) === null || _a === void 0 ? void 0 : _a.stop(); });\n this.root.nodes.forEach(clearMeasurements);\n this.root.sharedNodes.clear();\n }\n };\n}\nfunction updateLayout(node) {\n node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n var _a;\n const snapshot = ((_a = node.resumeFrom) === null || _a === void 0 ? void 0 : _a.snapshot) || node.snapshot;\n if (node.isLead() &&\n node.layout &&\n snapshot &&\n node.hasListeners(\"didUpdate\")) {\n const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n const { animationType } = node.options;\n const isShared = snapshot.source !== node.layout.source;\n // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n // animations for instance if layout=\"size\" and an element has only changed position\n if (animationType === \"size\") {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(axisSnapshot);\n axisSnapshot.min = layout[axis].min;\n axisSnapshot.max = axisSnapshot.min + length;\n });\n }\n else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(layout[axis]);\n axisSnapshot.max = axisSnapshot.min + length;\n /**\n * Ensure relative target gets resized and rerendererd\n */\n if (node.relativeTarget && !node.currentAnimation) {\n node.isProjectionDirty = true;\n node.relativeTarget[axis].max =\n node.relativeTarget[axis].min + length;\n }\n });\n }\n const layoutDelta = createDelta();\n calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n const visualDelta = createDelta();\n if (isShared) {\n calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n }\n else {\n calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n }\n const hasLayoutChanged = !isDeltaZero(layoutDelta);\n let hasRelativeTargetChanged = false;\n if (!node.resumeFrom) {\n const relativeParent = node.getClosestProjectingParent();\n /**\n * If the relativeParent is itself resuming from a different element then\n * the relative snapshot is not relavent\n */\n if (relativeParent && !relativeParent.resumeFrom) {\n const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n if (parentSnapshot && parentLayout) {\n const relativeSnapshot = createBox();\n calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n const relativeLayout = createBox();\n calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n hasRelativeTargetChanged = true;\n }\n if (relativeParent.options.layoutRoot) {\n node.relativeTarget = relativeLayout;\n node.relativeTargetOrigin = relativeSnapshot;\n node.relativeParent = relativeParent;\n }\n }\n }\n }\n node.notifyListeners(\"didUpdate\", {\n layout,\n snapshot,\n delta: visualDelta,\n layoutDelta,\n hasLayoutChanged,\n hasRelativeTargetChanged,\n });\n }\n else if (node.isLead()) {\n const { onExitComplete } = node.options;\n onExitComplete && onExitComplete();\n }\n /**\n * Clearing transition\n * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n * and why we need it at all\n */\n node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n /**\n * Increase debug counter for nodes encountered this frame\n */\n projectionFrameData.totalNodes++;\n if (!node.parent)\n return;\n /**\n * If this node isn't projecting, propagate isProjectionDirty. It will have\n * no performance impact but it will allow the next child that *is* projecting\n * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n * correcting.\n */\n if (!node.isProjecting()) {\n node.isProjectionDirty = node.parent.isProjectionDirty;\n }\n /**\n * Propagate isSharedProjectionDirty and isTransformDirty\n * throughout the whole tree. A future revision can take another look at\n * this but for safety we still recalcualte shared nodes.\n */\n node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n node.parent.isProjectionDirty ||\n node.parent.isSharedProjectionDirty));\n node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n node.isProjectionDirty =\n node.isSharedProjectionDirty =\n node.isTransformDirty =\n false;\n}\nfunction clearSnapshot(node) {\n node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n const { visualElement } = node.options;\n if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n visualElement.notify(\"BeforeLayoutMeasure\");\n }\n node.resetTransform();\n}\nfunction finishAnimation(node) {\n node.finishAnimation();\n node.targetDelta = node.relativeTarget = node.target = undefined;\n node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n output.translate = mixNumber(delta.translate, 0, p);\n output.scale = mixNumber(delta.scale, 1, p);\n output.origin = delta.origin;\n output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n output.min = mixNumber(from.min, to.min, p);\n output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n mixAxis(output.x, from.x, to.x, p);\n mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n duration: 0.45,\n ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n ? Math.round\n : noop;\nfunction roundAxis(axis) {\n // Round to the nearest .5 pixels to support subpixel layouts\n axis.min = roundPoint(axis.min);\n axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n roundAxis(box.x);\n roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n return (animationType === \"position\" ||\n (animationType === \"preserve-aspect\" &&\n !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n measureScroll: () => ({\n x: document.documentElement.scrollLeft || document.body.scrollLeft,\n y: document.documentElement.scrollTop || document.body.scrollTop,\n }),\n checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n measureScroll: (instance) => ({\n x: instance.scrollLeft,\n y: instance.scrollTop,\n }),\n defaultParent: () => {\n if (!rootProjectionNode.current) {\n const documentNode = new DocumentProjectionNode({});\n documentNode.mount(window);\n documentNode.setOptions({ layoutScroll: true });\n rootProjectionNode.current = documentNode;\n }\n return rootProjectionNode.current;\n },\n resetTransform: (instance, value) => {\n instance.style.transform = value !== undefined ? value : \"none\";\n },\n checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\n\nconst drag = {\n pan: {\n Feature: PanGesture,\n },\n drag: {\n Feature: DragGesture,\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { drag };\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n","import { isBrowser } from '../is-browser.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nfunction initPrefersReducedMotion() {\n hasReducedMotionListener.current = true;\n if (!isBrowser)\n return;\n if (window.matchMedia) {\n const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n motionMediaQuery.addListener(setReducedMotionPreferences);\n setReducedMotionPreferences();\n }\n else {\n prefersReducedMotion.current = false;\n }\n}\n\nexport { initPrefersReducedMotion };\n","import { isWillChangeMotionValue } from '../../value/use-will-change/is.mjs';\nimport { warnOnce } from '../../utils/warn-once.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction updateMotionValuesFromProps(element, next, prev) {\n const { willChange } = next;\n for (const key in next) {\n const nextValue = next[key];\n const prevValue = prev[key];\n if (isMotionValue(nextValue)) {\n /**\n * If this is a motion value found in props or style, we want to add it\n * to our visual element's motion value map.\n */\n element.addValue(key, nextValue);\n if (isWillChangeMotionValue(willChange)) {\n willChange.add(key);\n }\n /**\n * Check the version of the incoming motion value with this version\n * and warn against mismatches.\n */\n if (process.env.NODE_ENV === \"development\") {\n warnOnce(nextValue.version === \"11.1.7\", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.1.7 may not work as expected.`);\n }\n }\n else if (isMotionValue(prevValue)) {\n /**\n * If we're swapping from a motion value to a static value,\n * create a new motion value from that\n */\n element.addValue(key, motionValue(nextValue, { owner: element }));\n if (isWillChangeMotionValue(willChange)) {\n willChange.remove(key);\n }\n }\n else if (prevValue !== nextValue) {\n /**\n * If this is a flat value that has changed, update the motion value\n * or create one if it doesn't exist. We only want to do this if we're\n * not handling the value with our animation state.\n */\n if (element.hasValue(key)) {\n const existingValue = element.getValue(key);\n if (existingValue.liveStyle === true) {\n existingValue.jump(nextValue);\n }\n else if (!existingValue.hasAnimated) {\n existingValue.set(nextValue);\n }\n }\n else {\n const latestValue = element.getStaticValue(key);\n element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n }\n }\n }\n // Handle removed values\n for (const key in prev) {\n if (next[key] === undefined)\n element.removeValue(key);\n }\n return next;\n}\n\nexport { updateMotionValuesFromProps };\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n","import { color } from '../../../value/types/color/index.mjs';\nimport { complex } from '../../../value/types/complex/index.mjs';\nimport { dimensionValueTypes } from './dimensions.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n","import { warning, invariant } from '../utils/errors.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { isRefObject } from '../utils/is-ref-object.mjs';\nimport { initPrefersReducedMotion } from '../utils/reduced-motion/index.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from '../utils/reduced-motion/state.mjs';\nimport { SubscriptionManager } from '../utils/subscription-manager.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { isWillChangeMotionValue } from '../value/use-will-change/is.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\nimport { transformProps } from './html/utils/transform.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { isVariantLabel } from './utils/is-variant-label.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\nimport { warnOnce } from '../utils/warn-once.mjs';\nimport { featureDefinitions } from '../motion/features/definitions.mjs';\nimport { variantProps } from './utils/variant-props.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { KeyframeResolver } from './utils/KeyframesResolver.mjs';\nimport { isNumericalString } from '../utils/is-numerical-string.mjs';\nimport { isZeroValueString } from '../utils/is-zero-value-string.mjs';\nimport { findValueType } from './dom/value-types/find.mjs';\nimport { complex } from '../value/types/complex/index.mjs';\nimport { getAnimatableNone } from './dom/value-types/animatable-none.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\nconst featureNames = Object.keys(featureDefinitions);\nconst numFeatures = featureNames.length;\nconst propEventHandlers = [\n \"AnimationStart\",\n \"AnimationComplete\",\n \"Update\",\n \"BeforeLayoutMeasure\",\n \"LayoutMeasure\",\n \"LayoutAnimationStart\",\n \"LayoutAnimationComplete\",\n];\nconst numVariantProps = variantProps.length;\nfunction getClosestProjectingNode(visualElement) {\n if (!visualElement)\n return undefined;\n return visualElement.options.allowProjection !== false\n ? visualElement.projection\n : getClosestProjectingNode(visualElement.parent);\n}\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n /**\n * This method takes React props and returns found MotionValues. For example, HTML\n * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n *\n * This isn't an abstract method as it needs calling in the constructor, but it is\n * intended to be one.\n */\n scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {\n return {};\n }\n constructor({ parent, props, presenceContext, reducedMotionConfig, blockInitialAnimation, visualState, }, options = {}) {\n this.resolveKeyframes = (keyframes, \n // We use an onComplete callback here rather than a Promise as a Promise\n // resolution is a microtask and we want to retain the ability to force\n // the resolution of keyframes synchronously.\n onComplete, name, value) => {\n return new this.KeyframeResolver(keyframes, onComplete, name, value, this);\n };\n /**\n * A reference to the current underlying Instance, e.g. a HTMLElement\n * or Three.Mesh etc.\n */\n this.current = null;\n /**\n * A set containing references to this VisualElement's children.\n */\n this.children = new Set();\n /**\n * Determine what role this visual element should take in the variant tree.\n */\n this.isVariantNode = false;\n this.isControllingVariants = false;\n /**\n * Decides whether this VisualElement should animate in reduced motion\n * mode.\n *\n * TODO: This is currently set on every individual VisualElement but feels\n * like it could be set globally.\n */\n this.shouldReduceMotion = null;\n /**\n * A map of all motion values attached to this visual element. Motion\n * values are source of truth for any given animated value. A motion\n * value might be provided externally by the component via props.\n */\n this.values = new Map();\n this.KeyframeResolver = KeyframeResolver;\n /**\n * Cleanup functions for active features (hover/tap/exit etc)\n */\n this.features = {};\n /**\n * A map of every subscription that binds the provided or generated\n * motion values onChange listeners to this visual element.\n */\n this.valueSubscriptions = new Map();\n /**\n * A reference to the previously-provided motion values as returned\n * from scrapeMotionValuesFromProps. We use the keys in here to determine\n * if any motion values need to be removed after props are updated.\n */\n this.prevMotionValues = {};\n /**\n * An object containing a SubscriptionManager for each active event.\n */\n this.events = {};\n /**\n * An object containing an unsubscribe function for each prop event subscription.\n * For example, every \"Update\" event can have multiple subscribers via\n * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n */\n this.propEventSubscriptions = {};\n this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n this.render = () => {\n if (!this.current)\n return;\n this.triggerBuild();\n this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n };\n this.scheduleRender = () => frame.render(this.render, false, true);\n const { latestValues, renderState } = visualState;\n this.latestValues = latestValues;\n this.baseTarget = { ...latestValues };\n this.initialValues = props.initial ? { ...latestValues } : {};\n this.renderState = renderState;\n this.parent = parent;\n this.props = props;\n this.presenceContext = presenceContext;\n this.depth = parent ? parent.depth + 1 : 0;\n this.reducedMotionConfig = reducedMotionConfig;\n this.options = options;\n this.blockInitialAnimation = Boolean(blockInitialAnimation);\n this.isControllingVariants = isControllingVariants(props);\n this.isVariantNode = isVariantNode(props);\n if (this.isVariantNode) {\n this.variantChildren = new Set();\n }\n this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n /**\n * Any motion values that are provided to the element when created\n * aren't yet bound to the element, as this would technically be impure.\n * However, we iterate through the motion values and set them to the\n * initial values for this component.\n *\n * TODO: This is impure and we should look at changing this to run on mount.\n * Doing so will break some tests but this isn't neccessarily a breaking change,\n * more a reflection of the test.\n */\n const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);\n for (const key in initialMotionValues) {\n const value = initialMotionValues[key];\n if (latestValues[key] !== undefined && isMotionValue(value)) {\n value.set(latestValues[key], false);\n if (isWillChangeMotionValue(willChange)) {\n willChange.add(key);\n }\n }\n }\n }\n mount(instance) {\n this.current = instance;\n visualElementStore.set(instance, this);\n if (this.projection && !this.projection.instance) {\n this.projection.mount(instance);\n }\n if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n this.removeFromVariantTree = this.parent.addVariantChild(this);\n }\n this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n if (!hasReducedMotionListener.current) {\n initPrefersReducedMotion();\n }\n this.shouldReduceMotion =\n this.reducedMotionConfig === \"never\"\n ? false\n : this.reducedMotionConfig === \"always\"\n ? true\n : prefersReducedMotion.current;\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\");\n }\n if (this.parent)\n this.parent.children.add(this);\n this.update(this.props, this.presenceContext);\n }\n unmount() {\n var _a;\n visualElementStore.delete(this.current);\n this.projection && this.projection.unmount();\n cancelFrame(this.notifyUpdate);\n cancelFrame(this.render);\n this.valueSubscriptions.forEach((remove) => remove());\n this.removeFromVariantTree && this.removeFromVariantTree();\n this.parent && this.parent.children.delete(this);\n for (const key in this.events) {\n this.events[key].clear();\n }\n for (const key in this.features) {\n (_a = this.features[key]) === null || _a === void 0 ? void 0 : _a.unmount();\n }\n this.current = null;\n }\n bindToMotionValue(key, value) {\n const valueIsTransform = transformProps.has(key);\n const removeOnChange = value.on(\"change\", (latestValue) => {\n this.latestValues[key] = latestValue;\n this.props.onUpdate && frame.preRender(this.notifyUpdate);\n if (valueIsTransform && this.projection) {\n this.projection.isTransformDirty = true;\n }\n });\n const removeOnRenderRequest = value.on(\"renderRequest\", this.scheduleRender);\n this.valueSubscriptions.set(key, () => {\n removeOnChange();\n removeOnRenderRequest();\n if (value.owner)\n value.stop();\n });\n }\n sortNodePosition(other) {\n /**\n * If these nodes aren't even of the same type we can't compare their depth.\n */\n if (!this.current ||\n !this.sortInstanceNodePosition ||\n this.type !== other.type) {\n return 0;\n }\n return this.sortInstanceNodePosition(this.current, other.current);\n }\n loadFeatures({ children, ...renderedProps }, isStrict, preloadedFeatures, initialLayoutGroupConfig) {\n let ProjectionNodeConstructor;\n let MeasureLayout;\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 (process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n isStrict) {\n const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n renderedProps.ignoreStrict\n ? warning(false, strictMessage)\n : invariant(false, strictMessage);\n }\n for (let i = 0; i < numFeatures; i++) {\n const name = featureNames[i];\n const { isEnabled, Feature: FeatureConstructor, ProjectionNode, MeasureLayout: MeasureLayoutComponent, } = featureDefinitions[name];\n if (ProjectionNode)\n ProjectionNodeConstructor = ProjectionNode;\n if (isEnabled(renderedProps)) {\n if (!this.features[name] && FeatureConstructor) {\n this.features[name] = new FeatureConstructor(this);\n }\n if (MeasureLayoutComponent) {\n MeasureLayout = MeasureLayoutComponent;\n }\n }\n }\n if ((this.type === \"html\" || this.type === \"svg\") &&\n !this.projection &&\n ProjectionNodeConstructor) {\n this.projection = new ProjectionNodeConstructor(this.latestValues, getClosestProjectingNode(this.parent));\n const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, } = renderedProps;\n this.projection.setOptions({\n layoutId,\n layout,\n alwaysMeasureLayout: Boolean(drag) ||\n (dragConstraints && isRefObject(dragConstraints)),\n visualElement: this,\n scheduleRender: () => this.scheduleRender(),\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: initialLayoutGroupConfig,\n layoutScroll,\n layoutRoot,\n });\n }\n return MeasureLayout;\n }\n updateFeatures() {\n for (const key in this.features) {\n const feature = this.features[key];\n if (feature.isMounted) {\n feature.update();\n }\n else {\n feature.mount();\n feature.isMounted = true;\n }\n }\n }\n triggerBuild() {\n this.build(this.renderState, this.latestValues, this.options, this.props);\n }\n /**\n * Measure the current viewport box with or without transforms.\n * Only measures axis-aligned boxes, rotate and skew must be manually\n * removed with a re-render to work.\n */\n measureViewportBox() {\n return this.current\n ? this.measureInstanceViewportBox(this.current, this.props)\n : createBox();\n }\n getStaticValue(key) {\n return this.latestValues[key];\n }\n setStaticValue(key, value) {\n this.latestValues[key] = value;\n }\n /**\n * Update the provided props. Ensure any newly-added motion values are\n * added to our map, old ones removed, and listeners updated.\n */\n update(props, presenceContext) {\n if (props.transformTemplate || this.props.transformTemplate) {\n this.scheduleRender();\n }\n this.prevProps = this.props;\n this.props = props;\n this.prevPresenceContext = this.presenceContext;\n this.presenceContext = presenceContext;\n /**\n * Update prop event handlers ie onAnimationStart, onAnimationComplete\n */\n for (let i = 0; i < propEventHandlers.length; i++) {\n const key = propEventHandlers[i];\n if (this.propEventSubscriptions[key]) {\n this.propEventSubscriptions[key]();\n delete this.propEventSubscriptions[key];\n }\n const listenerName = (\"on\" + key);\n const listener = props[listenerName];\n if (listener) {\n this.propEventSubscriptions[key] = this.on(key, listener);\n }\n }\n this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps, this), this.prevMotionValues);\n if (this.handleChildMotionValue) {\n this.handleChildMotionValue();\n }\n }\n getProps() {\n return this.props;\n }\n /**\n * Returns the variant definition with a given name.\n */\n getVariant(name) {\n return this.props.variants ? this.props.variants[name] : undefined;\n }\n /**\n * Returns the defined default transition on this component.\n */\n getDefaultTransition() {\n return this.props.transition;\n }\n getTransformPagePoint() {\n return this.props.transformPagePoint;\n }\n getClosestVariantNode() {\n return this.isVariantNode\n ? this\n : this.parent\n ? this.parent.getClosestVariantNode()\n : undefined;\n }\n getVariantContext(startAtParent = false) {\n if (startAtParent) {\n return this.parent ? this.parent.getVariantContext() : undefined;\n }\n if (!this.isControllingVariants) {\n const context = this.parent\n ? this.parent.getVariantContext() || {}\n : {};\n if (this.props.initial !== undefined) {\n context.initial = this.props.initial;\n }\n return context;\n }\n const context = {};\n for (let i = 0; i < numVariantProps; i++) {\n const name = variantProps[i];\n const prop = this.props[name];\n if (isVariantLabel(prop) || prop === false) {\n context[name] = prop;\n }\n }\n return context;\n }\n /**\n * Add a child visual element to our set of children.\n */\n addVariantChild(child) {\n const closestVariantNode = this.getClosestVariantNode();\n if (closestVariantNode) {\n closestVariantNode.variantChildren &&\n closestVariantNode.variantChildren.add(child);\n return () => closestVariantNode.variantChildren.delete(child);\n }\n }\n /**\n * Add a motion value and bind it to this visual element.\n */\n addValue(key, value) {\n // Remove existing value if it exists\n const existingValue = this.values.get(key);\n if (value !== existingValue) {\n if (existingValue)\n this.removeValue(key);\n this.bindToMotionValue(key, value);\n this.values.set(key, value);\n this.latestValues[key] = value.get();\n }\n }\n /**\n * Remove a motion value and unbind any active subscriptions.\n */\n removeValue(key) {\n this.values.delete(key);\n const unsubscribe = this.valueSubscriptions.get(key);\n if (unsubscribe) {\n unsubscribe();\n this.valueSubscriptions.delete(key);\n }\n delete this.latestValues[key];\n this.removeValueFromRenderState(key, this.renderState);\n }\n /**\n * Check whether we have a motion value for this key\n */\n hasValue(key) {\n return this.values.has(key);\n }\n getValue(key, defaultValue) {\n if (this.props.values && this.props.values[key]) {\n return this.props.values[key];\n }\n let value = this.values.get(key);\n if (value === undefined && defaultValue !== undefined) {\n value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });\n this.addValue(key, value);\n }\n return value;\n }\n /**\n * If we're trying to animate to a previously unencountered value,\n * we need to check for it in our state and as a last resort read it\n * directly from the instance (which might have performance implications).\n */\n readValue(key, target) {\n var _a;\n let value = this.latestValues[key] !== undefined || !this.current\n ? this.latestValues[key]\n : (_a = this.getBaseTargetFromProps(this.props, key)) !== null && _a !== void 0 ? _a : this.readValueFromInstance(this.current, key, this.options);\n if (value !== undefined && value !== null) {\n if (typeof value === \"string\" &&\n (isNumericalString(value) || isZeroValueString(value))) {\n // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n value = parseFloat(value);\n }\n else if (!findValueType(value) && complex.test(target)) {\n value = getAnimatableNone(key, target);\n }\n this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);\n }\n return isMotionValue(value) ? value.get() : value;\n }\n /**\n * Set the base target to later animate back to. This is currently\n * only hydrated on creation and when we first read a value.\n */\n setBaseTarget(key, value) {\n this.baseTarget[key] = value;\n }\n /**\n * Find the base target for a value thats been removed from all animation\n * props.\n */\n getBaseTarget(key) {\n var _a;\n const { initial } = this.props;\n let valueFromInitial;\n if (typeof initial === \"string\" || typeof initial === \"object\") {\n const variant = resolveVariantFromProps(this.props, initial, (_a = this.presenceContext) === null || _a === void 0 ? void 0 : _a.custom);\n if (variant) {\n valueFromInitial = variant[key];\n }\n }\n /**\n * If this value still exists in the current initial variant, read that.\n */\n if (initial && valueFromInitial !== undefined) {\n return valueFromInitial;\n }\n /**\n * Alternatively, if this VisualElement config has defined a getBaseTarget\n * so we can read the value from an alternative source, try that.\n */\n const target = this.getBaseTargetFromProps(this.props, key);\n if (target !== undefined && !isMotionValue(target))\n return target;\n /**\n * If the value was initially defined on initial, but it doesn't any more,\n * return undefined. Otherwise return the value as initially read from the DOM.\n */\n return this.initialValues[key] !== undefined &&\n valueFromInitial === undefined\n ? undefined\n : this.baseTarget[key];\n }\n on(eventName, callback) {\n if (!this.events[eventName]) {\n this.events[eventName] = new SubscriptionManager();\n }\n return this.events[eventName].add(callback);\n }\n notify(eventName, ...args) {\n if (this.events[eventName]) {\n this.events[eventName].notify(...args);\n }\n }\n}\n\nexport { VisualElement };\n","import { VisualElement } from '../VisualElement.mjs';\nimport { DOMKeyframesResolver } from './DOMKeyframesResolver.mjs';\n\nclass DOMVisualElement extends VisualElement {\n constructor() {\n super(...arguments);\n this.KeyframeResolver = DOMKeyframesResolver;\n }\n sortInstanceNodePosition(a, b) {\n /**\n * compareDocumentPosition returns a bitmask, by using the bitwise &\n * we're returning true if 2 in that bitmask is set to true. 2 is set\n * to true if b preceeds a.\n */\n return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n }\n getBaseTargetFromProps(props, key) {\n return props.style\n ? props.style[key]\n : undefined;\n }\n removeValueFromRenderState(key, { vars, style }) {\n delete vars[key];\n delete style[key];\n }\n}\n\nexport { DOMVisualElement };\n","import { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { isCSSVariableName } from '../dom/utils/is-css-variable.mjs';\nimport { transformProps } from './utils/transform.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { getDefaultValueType } from '../dom/value-types/defaults.mjs';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction getComputedStyle(element) {\n return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n constructor() {\n super(...arguments);\n this.type = \"html\";\n }\n readValueFromInstance(instance, key) {\n if (transformProps.has(key)) {\n const defaultType = getDefaultValueType(key);\n return defaultType ? defaultType.default || 0 : 0;\n }\n else {\n const computedStyle = getComputedStyle(instance);\n const value = (isCSSVariableName(key)\n ? computedStyle.getPropertyValue(key)\n : computedStyle[key]) || 0;\n return typeof value === \"string\" ? value.trim() : value;\n }\n }\n measureInstanceViewportBox(instance, { transformPagePoint }) {\n return measureViewportBox(instance, transformPagePoint);\n }\n build(renderState, latestValues, options, props) {\n buildHTMLStyles(renderState, latestValues, options, props.transformTemplate);\n }\n scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n }\n handleChildMotionValue() {\n if (this.childSubscription) {\n this.childSubscription();\n delete this.childSubscription;\n }\n const { children } = this.props;\n if (isMotionValue(children)) {\n this.childSubscription = children.on(\"change\", (latest) => {\n if (this.current)\n this.current.textContent = `${latest}`;\n });\n }\n }\n renderInstance(instance, renderState, styleProp, projection) {\n renderHTML(instance, renderState, styleProp, projection);\n }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n","import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { transformProps } from '../html/utils/transform.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { getDefaultValueType } from '../dom/value-types/defaults.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n constructor() {\n super(...arguments);\n this.type = \"svg\";\n this.isSVGTag = false;\n }\n getBaseTargetFromProps(props, key) {\n return props[key];\n }\n readValueFromInstance(instance, key) {\n if (transformProps.has(key)) {\n const defaultType = getDefaultValueType(key);\n return defaultType ? defaultType.default || 0 : 0;\n }\n key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n return instance.getAttribute(key);\n }\n measureInstanceViewportBox() {\n return createBox();\n }\n scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n }\n build(renderState, latestValues, options, props) {\n buildSVGAttrs(renderState, latestValues, options, this.isSVGTag, props.transformTemplate);\n }\n renderInstance(instance, renderState, styleProp, projection) {\n renderSVG(instance, renderState, styleProp, projection);\n }\n mount(instance) {\n this.isSVGTag = isSVGTag(instance.tagName);\n super.mount(instance);\n }\n}\n\nexport { SVGVisualElement };\n","import { Fragment } from 'react';\nimport { HTMLVisualElement } from '../html/HTMLVisualElement.mjs';\nimport { SVGVisualElement } from '../svg/SVGVisualElement.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n return isSVGComponent(Component)\n ? new SVGVisualElement(options, { enableHardwareAcceleration: false })\n : new HTMLVisualElement(options, {\n allowProjection: Component !== Fragment,\n enableHardwareAcceleration: true,\n });\n};\n\nexport { createDomVisualElement };\n","import { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n layout: {\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { layout };\n","import { createMotionComponent } from '../../motion/index.mjs';\nimport { createMotionProxy } from './motion-proxy.mjs';\nimport { createDomMotionConfig } from './utils/create-config.mjs';\nimport { gestureAnimations } from '../../motion/features/gestures.mjs';\nimport { animations } from '../../motion/features/animations.mjs';\nimport { drag } from '../../motion/features/drag.mjs';\nimport { createDomVisualElement } from './create-visual-element.mjs';\nimport { layout } from '../../motion/features/layout.mjs';\n\nconst preloadedFeatures = {\n ...animations,\n ...gestureAnimations,\n ...drag,\n ...layout,\n};\n/**\n * HTML & SVG components, optimised for use with gestures and animation. These can be used as\n * drop-in replacements for any HTML & SVG component, all CSS & SVG properties are supported.\n *\n * @public\n */\nconst motion = /*@__PURE__*/ createMotionProxy((Component, config) => createDomMotionConfig(Component, config, preloadedFeatures, createDomVisualElement));\n/**\n * Create a DOM `motion` component with the provided string. This is primarily intended\n * as a full alternative to `motion` for consumers who have to support environments that don't\n * support `Proxy`.\n *\n * ```javascript\n * import { createDomMotionComponent } from \"framer-motion\"\n *\n * const motion = {\n * div: createDomMotionComponent('div')\n * }\n * ```\n *\n * @public\n */\nfunction createDomMotionComponent(key) {\n return createMotionComponent(createDomMotionConfig(key, { forwardMotionProps: false }, preloadedFeatures, createDomVisualElement));\n}\n\nexport { createDomMotionComponent, motion };\n"],"names":["addLocale","path","args","getDomainLocale","locale","locales","domainLocales","_","require","_imageloader","_interop_require_default","configEnv","window","handleLoading","img","onLoadingCompleteRef","setBlurComplete","unoptimized","sizesInput","src","decode","Promise","resolve","parentElement","isConnected","onLoadRef","current","Object","defineProperty","event","writable","value","stopped","nativeEvent","currentTarget","target","isDefaultPrevented","isPropagationStopped","prevented","persist","preventDefault","stopPropagation","getDynamicProps","minorStr","version","major","parseInt","majorStr","split","minor","fetchPriority","fetchpriority","__NEXT_IMAGE_IMPORTED","globalThis","width","decoding","className","style","srcSet","sizes","height","_jsxruntime","jsx","data-nimg","ref","useCallback","forwardedRef","onError","placeholder","onLoad","setShowAltText","ImagePreload","param","imgAttributes","opts","as","imageSrcSet","imageSizes","crossOrigin","referrerPolicy","isAppRouter","_reactdom","default","preload","_head","link","rel","href","undefined","Image","useContext","RouterContext","pagesRouter","_react","_routercontextsharedruntime","config","useMemo","_imageconfigcontextsharedruntime","ImageConfigContext","configContext","allSizes","_imageconfig","imageConfigDefault","deviceSizes","c","a","b","sort","useRef","useEffect","onLoadingComplete","showAltText","useState","meta","imgMeta","getImgProps","defaultLoader","_getimgprops","props","imgConf","blurComplete","ImageElement","fill","prefetched","Set","router","prefetch","options","appOptions","_islocalurl","isLocalURL","prefetchedKey","has","add","process","catch","formatStringOrUrl","urlObjOrString","_formaturl","formatUrl","children","legacyBehavior","childrenProp","appRouter","React","AppRouterContext","prefetchEnabled","prefetchProp","_routerreducertypes","PrefetchKind","AUTO","FULL","resolvedHref","hrefProp","asProp","resolvedAs","_resolvehref","resolveHref","previousAs","child","Children","only","childRef","setIntersectionRef","isVisible","resetVisible","useIntersection","rootMargin","_useintersection","setRef","previousHref","el","appPrefetchKind","onClick","e","defaultPrevented","linkClicked","replace","shallow","scroll","nodeName","isModifiedEvent","eventTarget","which","metaKey","ctrlKey","shiftKey","altKey","navigate","routerScroll","startTransition","onMouseEnter","onMouseEnterProp","priority","bypassPrefetchedCheck","onTouchStart","onTouchStartProp","childProps","curLocale","type","localeDomain","addBasePath","_getdomainlocale","defaultLocale","_addbasepath","_addlocale","restProps","cloneElement","cancelIdleCallback","requestIdleCallback","self","bind","cb","start","Date","now","setTimeout","didTimeout","timeRemaining","Math","max","id","clearTimeout","resolveAs","base","urlAsString","formatWithValidation","urlProtoMatch","match","urlAsStringNoProto","slice","length","urlParts","console","error","pathname","normalizedUrl","normalizeRepeatedSlashes","URL","startsWith","asPath","finalUrl","normalizePathTrailingSlash","interpolatedAs","isDynamicRoute","searchParams","query","searchParamsToUrlQuery","result","params","interpolateAs","hash","omit","origin","hasIntersectionObserver","IntersectionObserver","observers","Map","idList","rootRef","disabled","isDisabled","visible","setVisible","elementRef","setElement","element","tagName","observe","callback","observer","elements","createObserver","instance","root","margin","existing","find","obj","get","entries","forEach","entry","isIntersecting","intersectionRatio","push","set","delete","unobserve","size","disconnect","index","findIndex","splice","idleCallback","AmpStateContext","createContext","isInAmpMode","ampFirst","hybrid","hasQuery","escapeStringRegexp","reHasRegExp","reReplaceRegExp","str","test","isStaticRequire","getInt","x","Number","isFinite","NaN","_state","blurWidth","blurHeight","loading","quality","overrideSrc","blurDataURL","layout","objectFit","objectPosition","lazyBoundary","lazyRoot","rest","loader","isDefaultLoader","customImageLoader","layoutStyle","layoutToStyle","intrinsic","maxWidth","responsive","layoutSizes","layoutToSizes","staticSrc","widthInt","heightInt","staticImageData","JSON","stringify","ratio","round","isLazy","endsWith","dangerouslyAllowSVG","qualityInt","imgStyle","assign","position","left","top","right","bottom","color","backgroundImage","getImageBlurSvg","placeholderStyle","backgroundSize","backgroundPosition","backgroundRepeat","generateImgAttrs","widths","kind","getWidths","viewportWidthRe","percentSizes","exec","smallestRatio","min","filter","s","map","p","w","last","i","join","exports","defaultHead","inAmpMode","head","name","content","onlyReactElement","list","concat","Fragment","fragmentList","fragmentChild","METATYPES","headChildrenElements","tags","metaTypes","metaCategories","h","hasKey","key","indexOf","keys","isUnique","metatype","len","hasOwnProperty","categories","category","env","NODE_ENV","some","newProps","url","ampState","headManager","HeadManagerContext","Effect","reduceComponentsToState","reduceComponents","svgWidth","svgHeight","viewBox","VALID_LOADERS","loaderFile","domains","disableStaticImages","minimumCacheTTL","formats","contentSecurityPolicy","contentDispositionType","remotePatterns","_default","getImageProps","imgProps","encodeURIComponent","__next_img_default","urlObjectKeys","slashedProtocols","urlObj","auth","hostname","protocol","host","port","String","querystring","urlQueryToSearchParams","search","slashes","getSortedRoutes","route","asPathname","interpolatedRoute","dynamicRegex","getRouteRegex","dynamicGroups","groups","dynamicMatches","getRouteMatcher","every","repeat","optional","replaced","Array","isArray","segment","TEST_ROUTE","isInterceptionRouteAppPath","extractInterceptionRouteInformation","interceptedRoute","isAbsoluteUrl","locationOrigin","getLocationOrigin","resolved","hasBasePath","object","omitted","includes","stringifyUrlQueryParam","isNaN","urlQuery","URLSearchParams","append","item","_len","arguments","searchParamsList","_key","from","re","routeMatch","decodeURIComponent","DecodeError","g","slugName","m","pos","getNamedMiddlewareRegex","getNamedRouteRegex","parseParameter","getParametrizedRoute","segments","removeTrailingSlash","groupIndex","parameterizedRoute","markerMatch","INTERCEPTION_ROUTE_MARKERS","paramMatches","normalizedRoute","getSafeKeyFromSegment","interceptionMarker","getSafeRouteKey","routeKeys","keyPrefix","cleanedKey","invalidKey","interceptionPrefix","getNamedParametrizedRoute","prefixRouteKeys","routeKey","j","fromCharCode","floor","namedParameterizedRoute","hasInterceptionMarker","usedMarker","prefixRouteKey","namedRegex","catchAll","UrlNode","insert","urlPath","_insert","Boolean","smoosh","_smoosh","prefix","childrenPaths","restSlugName","optionalRestSlugName","routes","reduce","prev","curr","r","unshift","urlPaths","slugNames","isCatchAll","nextSegment","segmentName","isOptional","substring","handleSlug","previousSlug","nextSlug","slug","normalizedPages","pagePath","SideEffect","isServer","useClientOnlyLayoutEffect","useLayoutEffect","useClientOnlyEffect","emitChange","mountedInstances","headElements","toArray","updateHead","_pendingUpdate","MiddlewareNotFoundError","MissingStaticPage","NormalizeError","PageNotFoundError","SP","ST","WEB_VITALS","execOnce","getDisplayName","getURL","isResSent","loadGetInitialProps","stringifyError","fn","used","ABSOLUTE_URL_REGEX","location","Component","displayName","res","finished","headersSent","urlNoQuery","App","ctx","getInitialProps","pageProps","performance","method","Error","constructor","page","code","message","stack","QueryHandler","__webpack_require__","each","MediaQuery","isUnconditional","handlers","mql","matchMedia","listener","assess","addListener","prototype","constuctor","addHandler","handler","qh","matches","on","removeHandler","equals","destroy","clear","removeListener","action","module","Util","isFunction","MediaQueryDispatch","queries","browserIsIncapable","register","q","shouldDegrade","unregister","deferSetup","setup","initialised","off","unmatch","toString","apply","collection","cont","camel2hyphen","obj2mq","mq","features","feature","isDimension","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","Function","objectToString","objectProto","nativeMax","nativeMin","isObject","toNumber","isObjectLike","call","other","valueOf","isBinary","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","trailingEdge","debounced","isInvoking","cancel","flush","factory","lottie","_interopDefaultLegacy","lottie__default","React__default","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","source","_toPropertyKey","arg","_toPrimitive","input","hint","prim","Symbol","toPrimitive","configurable","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_arrayLikeToArray","arr","arr2","_excluded$1","useLottie","animationData","loop","autoplay","initialSegment","onComplete","onLoopComplete","onEnterFrame","onSegmentStart","onConfigReady","onDataReady","onDataFailed","onLoadedImages","onDOMLoaded","onDestroy","lottieRef","renderer","assetsPath","rendererSettings","_useState2","_arrayWithHoles","_iterableToArrayLimit","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","_unsupportedIterableToArray","o","minLen","n","_nonIterableRest","animationLoaded","setAnimationLoaded","animationInstanceRef","animationContainer","loadAnimation","_a","forcedConfigs","container","onUnmount","resetSegments","currentRawFrame","setSegment","listeners","partialListeners","deregisterList","addEventListener","removeEventListener","deregister","View","createElement","play","stop","pause","setSpeed","speed","goToAndStop","isFrame","goToAndPlay","setDirection","direction","playSegments","forceFlag","setSubframe","useSubFrames","getDuration","inFrames","animationContainerRef","animationItem","useInitInteractivity","_ref","wrapperRef","mode","actions","assignedSegment","scrollHandler","handleCursor","mouseMoveHandler","mouseOutHandler","wrapper","_container$getBoundin","currentPercent","getBoundingClientRect","innerHeight","_ref2","visibility","frames","frameToGo","ceil","firstFrame","isPaused","document","_y","y","cursorX","cursorY","_container$getBoundin2","_ref3","xPercent","yPercent","ev","clientX","clientY","useLottieInteractivity","_ref4","lottieObj","_excluded","_b","_c","interactivity","_useLottie","_typeof","PrevArrow","NextArrow","_interopRequireDefault","_classnames","_innerSliderUtils","__esModule","_extends","t","_objectSpread","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","getPrototypeOf","_React$PureComponent","_super","clickHandler","prevClasses","prevHandler","infinite","currentSlide","slideCount","slidesToShow","prevArrowProps","display","customProps","prevArrow","PureComponent","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","nextArrow","accessibility","adaptiveHeight","afterChange","appendDots","dots","arrows","autoplaySpeed","beforeChange","centerMode","centerPadding","cssEase","customPaging","dotsClass","draggable","easing","edgeFriction","fade","focusOnSelect","initialSlide","lazyLoad","onEdge","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rows","rtl","slide","slidesPerRow","slidesToScroll","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","waitForAnimate","asNavFor","Dots","spec","_this$props","onMouseOver","onMouseLeave","dotCount","_rightBound","rightBound","clamp","_leftBound","leftBound","dotOptions","Z","_slider","animating","autoplaying","currentDirection","currentLeft","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","InnerSlider","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_defineProperty","_React$Component","_this","track","elem","querySelector","state","getHeight","slidesToLoad","getOnDemandLazySlides","setState","prevState","onLazyLoad","listRef","trackRef","updateState","adaptHeight","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","querySelectorAll","onfocus","onSlideFocus","onblur","onSlideBlur","attachEvent","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","prevProps","checkImagesLoad","setTrackStyle","didPropsChange","count","changeSlide","debouncedResize","resizeWindow","node","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","_i2","_trackStyle","currentWidth","childrenCount","trackLeft","images","imagesCount","loadedCount","image","onclick","prevClickHandler","parentNode","focus","onload","onerror","_index","dontAnimate","_slideHandler","slideHandler","nextState","asNavForIndex","innerSlider","firstBatch","nodes","clickable","dir","keyHandler","ontouchmove","returnValue","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","nextIndex","playType","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","unslick","listRefHandler","Track","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","_innerSlider","_json2mq","_defaultProps","enquire","canUseDOM","Slider","slickPrev","slickNext","slickGoTo","breakpoint","_responsiveMediaHandlers","_this2","breakpoints","breakpt","bQuery","minWidth","media","settings","_this3","resp","trim","warn","newChildren","newSlide","row","k","tabIndex","innerSliderRefHandler","filterSettings","getSlideClasses","slickActive","slickCenter","slickCloned","centerOffset","getSlideStyle","opacity","zIndex","transition","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","slideClass","slideClasses","outline","preCloneNo","reverse","handleRef","checkSpecKeys","checkNavigable","validSettings","acc","settingName","slidesOnRight","slidesOnLeft","siblingDirection","safePreventDefault","lazySlidesOnRight","lazySlidesOnLeft","getWidth","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getNavigableIndexes","number","lowerBound","upperBound","passiveEvents","_reactName","onDemandSlides","requiredSlides","offsetWidth","offsetHeight","xDist","swipeAngle","atan2","PI","abs","canGo","newObject","listNode","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","unevenOffset","keyCode","touches","pageX","pageY","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","activeSlide","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","offsetTop","offsetLeft","currentIndex","dataset","keysArray","trackHeight","trackChildren","WebkitTransition","WebkitTransform","transform","msTransform","marginTop","marginLeft","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","BasicColors","cssUnit","cm","mm","in","px","pt","pc","em","ex","ch","rem","vw","vh","vmin","vmax","cssValue","lengthWithunit","parseLengthAndUnit","unit","valueString","parseFloat","createAnimation","loaderName","suffix","animationName","styleEl","appendChild","styleSheet","sheet","keyFrames","insertRule","calculateRgba","res_1","rgbValues","hex","__assign","__rest","BarLoader_long","BarLoader_short","esm_BarLoader","speedMultiplier","cssOverride","_f","_g","additionalprops","overflow","backgroundColor","backgroundClip","borderRadius","willChange","animationFillMode","animation","react","MapShim","getIndex","class_1","__entries__","isBrowser","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","throttle","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","connect_","removeObserver","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerGlobal","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","getContentRect","bbox","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","getPaddings","positions_1","horizPad","vertPad","boxSizing","documentElement","vertScrollbar","horizScrollbar","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","clearActive","observation","WeakMap","ResizeObserver","__webpack_exports__","toLowerCase","__WEBPACK_AMD_DEFINE_RESULT__","hasOwn","classNames","classes","appendClass","parseValue","newClass","clsx","f","main","global","isWorker","workerSize","skipTransform","frame","TIME","lastFrameTime","worker","prom","resolves","defaultFire","canUseWorker","Worker","Blob","OffscreenCanvas","OffscreenCanvasRenderingContext2D","HTMLCanvasElement","transferControlToOffscreen","createObjectURL","canUsePaths","Path2D","DOMMatrix","noop","promise","ModulePromise","Prom","bitmapMapper","canvas","getContext","fillRect","bitmap","transferToImageBitmap","createPattern","drawImage","raf","cancelAnimationFrame","random","onFrame","getWorker","decorate","execute","postMessage","init","offscreen","fire","workerDone","msg","data","reset","defaults","particleCount","angle","spread","startVelocity","decay","gravity","drift","ticks","shapes","colors","disableForReducedMotion","scalar","prop","val","onlyPositiveInt","toDecimal","colorsToRgb","hexToRgb","setCanvasWindowSize","setCanvasRectSize","confettiCannon","globalOpts","animationObj","isLibCanvas","allowResize","hasResizeEventRegistered","globalDisableForReducedMotion","shouldUseWorker","resizer","__confetti_initialized","preferLessMotion","pointerEvents","body","onResize","resize","removeChild","fireLocal","animationFrame","animatingFettis","context","flat","temp","fettis","randomPhysics","radAngle","radSpread","wobble","wobbleSpeed","velocity","angle2D","tiltAngle","shape","tick","totalTicks","tiltSin","tiltCos","wobbleX","wobbleY","ovalScalar","addFettis","onDone","clearRect","update","fetti","updateFetti","cos","sin","pathString","pathMatrix","scaleX","scaleY","rotation","path2d","t1","t2","radiusX","radiusY","endAngle","progress","x1","y1","x2","y2","fillStyle","beginPath","matrix","addPath","multiplySelf","pattern","setTransform","globalAlpha","ellipse","save","translate","rotate","scale","arc","antiClockwise","restore","rot","innerRadius","outerRadius","spikes","step","lineTo","moveTo","closePath","getDefaultFire","useWorker","shapeFromPath","pathData","tempCtx","tempCanvas","minX","minY","maxX","maxY","isPointInPath","maxDesiredSize","shapeFromText","textData","text","fontFamily","fontSize","font","measureText","actualBoundingBoxRight","actualBoundingBoxLeft","actualBoundingBoxAscent","actualBoundingBoxDescent","fillText","isValidProp","MotionConfigContext","transformPagePoint","isStatic","reducedMotion","MotionContext","PresenceContext_PresenceContext","useIsomorphicLayoutEffect","LazyContext","strict","camelToDash","optimizedAppearDataAttribute","MotionGlobalConfig","skipAnimations","useManualTiming","Queue","order","scheduled","remove","stepsOrder","createRenderBatcher","scheduleNextBatch","allowKeepAlive","runNextFrame","useDefaultElapsed","delta","timestamp","isProcessing","steps","createRenderStep","thisFrame","nextFrame","numToRun","flushNextFrame","toKeepAlive","WeakSet","schedule","keepAlive","immediate","addToCurrentFrame","queue","frameData","processStep","stepId","processBatch","wake","microtask","cancelMicrotask","queueMicrotask","isRefObject","isVariantLabel","v","isAnimationControls","variantPriorityOrder","variantProps","isControllingVariants","animate","isVariantNode","variants","variantLabelsAsDependency","featureProps","exit","drag","hover","tap","pan","inView","featureDefinitions","isEnabled","LayoutGroupContext","SwitchLayoutGroupContext","motionComponentSymbol","for","lowercaseSVGElements","isSVGComponent","scaleCorrectors","transformPropOrder","transformProps","isForcedMotionValue","layoutId","isMotionValue","getVelocity","translateAlias","z","transformPerspective","numTransforms","checkStringStartsWith","token","isCSSVariableName","startsAsVariableToken","isCSSVariableToken","singleCssVariableRegex","getValueAsType","parse","alpha","sanitize","floatRegex","colorRegex","singleColorRegex","isString","createUnitType","degrees","percent","progressPercentage","type_int_int","numberValueTypes","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","marginRight","marginBottom","rotateX","rotateY","rotateZ","scaleZ","skew","skewX","skewY","distance","translateX","translateY","translateZ","perspective","originX","originY","originZ","backgroundPositionX","backgroundPositionY","fillOpacity","strokeOpacity","numOctaves","buildHTMLStyles","latestValues","transformTemplate","vars","transformOrigin","hasTransform","hasTransformOrigin","transformIsNone","valueType","valueAsType","buildTransform","enableHardwareAcceleration","allowTransformNone","transformIsDefault","transformString","transformName","createHtmlRenderState","copyRawValuesOnly","validMotionProps","isValidMotionProp","shouldForward","calcOrigin","offset","dashKeys","array","camelKeys","buildSVGAttrs","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","latest","isSVGTag","attrs","dimensions","calcSVGTransformOrigin","pxOriginX","pxOriginY","buildSVGPath","spacing","useDashCase","createSvgRenderState","tag","renderHTML","styleProp","projection","getProjectionStyles","setProperty","camelCaseAttributes","renderSVG","renderState","_styleProp","setAttribute","scrapeMotionValuesFromProps","visualElement","newValues","getValue","liveStyle","scrape_motion_values_scrapeMotionValuesFromProps","charAt","toUpperCase","resolveVariantFromProps","definition","custom","currentValues","currentVelocity","isKeyframesTarget","isCustomValue","mix","toValue","resolveFinalValueInKeyframes","resolveMotionValue","unwrappedValue","makeUseVisualState","presenceContext","make","makeState","createRenderState","onMount","makeLatestValues","scrapeMotionValues","values","motionValues","initial","isControllingVariants$1","isVariantNode$1","inherit","isInitialAnimationBlocked","variantToSet","transitionEnd","valueTarget","mount","useConstant","any","frame_frame","cancelFrame","svgMotionConfig","useVisualState","read","render","htmlMotionConfig","addDomEvent","eventName","passive","isPrimaryPointer","pointerType","button","isPrimary","extractEventInfo","pointType","point","addPointerInfo","addPointerEvent","combineFunctions","pipe","transformers","createLock","lock","globalHorizontalLock","globalVerticalLock","getGlobalLock","openHorizontal","openVertical","isDragActive","openGestureLock","Feature","isMounted","addHoverEvent","callbackName","info","getProps","animationState","whileHover","setActive","HoverGesture","unmount","FocusGesture","onFocus","isFocusVisible","onBlur","isNodeOrChild","parent","fireSyntheticPointerEvent","syntheticPointerEvent","PointerEvent","PressGesture","removeStartListeners","removeEndListeners","removeAccessibleListeners","startPointerPress","startEvent","startInfo","isPressing","removePointerUpListener","endEvent","endInfo","checkPressEnd","onTap","onTapCancel","globalTapTarget","removePointerCancelListener","cancelEvent","cancelInfo","cancelPress","startPress","startAccessiblePress","removeKeydownListener","keydownEvent","keyupEvent","removeBlurListener","onTapStart","whileTap","removePointerListener","removeFocusListener","observerCallbacks","fireObserverCallback","fireAllObserverCallbacks","thresholdNames","all","InViewFeature","hasEnteredView","isInView","startObserver","viewport","amount","once","threshold","observeIntersection","rootInteresectionObserver","initIntersectionObserver","lookupRoot","rootObservers","onViewportEnter","onViewportLeave","hasViewportOptionChanged","prevViewport","shallowCompare","prevLength","resolveVariant","getCurrent","secondsToMilliseconds","seconds","millisecondsToSeconds","milliseconds","underDampedSpring","stiffness","damping","restSpeed","criticallyDampedSpring","keyframesTransition","duration","ease","getDefaultTransition","valueKey","keyframes","getValueTransition","instantAnimationState","isNotNull","getFinalKeyframe","repeatType","finalKeyframe","resolvedKeyframes","clearTime","newTime","isZeroValueString","isNumericalString","splitCSSVariableRegex","positionalKeys","isNumOrPxType","getPosFromMatrix","getTranslateFromMatrix","pos2","pos3","_bbox","matrix3d","transformKeys","nonTranslationalTransformKeys","positionalValues","testValueType","dimensionValueTypes","findDimensionValueType","toResolve","isScheduled","anyNeedsMeasurement","measureAllKeyframes","resolversToMeasure","resolver","needsMeasurement","elementsToMeasure","transformsToRestore","removedTransforms","removeNonTranslationalTransform","measureInitialState","measureEndState","suspendedScrollY","scrollTo","complete","readAllKeyframes","readKeyframes","KeyframeResolver","unresolvedKeyframes","motionValue","isAsync","isComplete","scheduleResolve","resolveKeyframes","currentValue","valueAsRead","readValue","setFinalKeyframe","renderEndStyles","resume","isColorString","testProp","splitColor","aName","bName","cName","clampRgbUnit","rgbUnit","rgba","red","green","blue","alpha$1","hsla","hue","saturation","lightness","NUMBER_TOKEN","COLOR_TOKEN","complexRegex","analyseComplexValue","originalValue","var","types","tokenised","parsedValue","parseComplexValue","createTransformer","numSections","output","convertNumbersToZero","complex","getAnimatableNone","parsed","transformer","maxDefaults","applyDefaultFilter","defaultValue","functionRegex","functions","defaultValueTypes","outlineColor","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","getDefaultValueType","animatable_none_getAnimatableNone","defaultValueType","DOMKeyframesResolver","owner","keyframe","getVariableValue","depth","invariant","fallback","parseCSSVariable","token1","token2","getPropertyValue","trimmed","resolveNoneKeyframes","originType","targetType","noneKeyframeIndexes","makeNoneKeyframesAnimatable","animatableTemplate","noneIndex","pageYOffset","measuredOrigin","measureViewportBox","measureKeyframe","jump","finalKeyframeIndex","unsetTransformName","unsetTransformValue","isAnimatable","BaseAnimation","repeatDelay","isStopped","hasAttemptedResolve","updateFinishedPromise","_resolved","onKeyframesResolved","onUpdate","isGenerator","canAnimate","originKeyframe","targetKeyframe","isOriginAnimatable","isTargetAnimatable","hasKeyframesChanged","resolveFinishedPromise","resolvedAnimation","initPlayback","onPostResolved","then","reject","currentFinishedPromise","calcGeneratorVelocity","resolveValue","frameDuration","prevT","calcAngularFreq","undampedFreq","dampingRatio","durationKeys","physicsKeys","isSpringType","spring","restDelta","resolveSpring","mass","isResolvedFromDuration","getSpringOptions","springOptions","derived","findSpring","bounce","envelope","derivative","warning","exponentialDecay","safeMin","exp","d","approximateRoot","initialGuess","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","angularFreq","dampedAngularFreq","freqForT","sinh","cosh","calculatedDuration","isBelowVelocityThreshold","isBelowDisplacementThreshold","inertia","power","timeConstant","bounceDamping","bounceStiffness","modifyTarget","timeReachedBoundary","spring$1","isOutOfBounds","nearestBoundary","amplitude","ideal","calcDelta","calcLatest","applyFriction","checkCatchBoundary","hasUpdatedFrame","calcBezier","a1","a2","cubicBezier","mX1","mY1","mX2","mY2","getTForX","binarySubdivide","currentX","currentT","aX","easeIn","easeOut","easeInOut","isEasingArray","mirrorEasing","reverseEasing","circIn","acos","circOut","circInOut","backOut","backIn","backInOut","easingLookup","linear","anticipate","easingDefinitionToFunction","to","toFromDifference","mixNumber","hueToRgb","mixLinearColor","fromExpo","expo","colorTypes","getColorType","asRGBA","model","hslaToRgba","mixColor","fromRGBA","toRGBA","blended","mixImmediate","complex_mixNumber","getMixer","mixComplex","mixArray","mixObject","numValues","blendValue","template","originStats","targetStats","matchOrder","orderedOrigin","pointers","originIndex","originValue","mixer","keyframeValues","times","easingFunctions","mapTimeToKeyframe","interpolate","isClamp","inputLength","mixers","createMixers","customMixer","mixerFactory","numMixers","interpolator","progressInRange","defaultOffset","fillOffset","remaining","offsetProgress","frameloopDriver","passTimestamp","generators","tween","percentToProgress","MainThreadAnimation","KeyframeResolver$1","holdTime","startTime","cancelTime","currentTime","playbackSpeed","pendingPlayState","teardown","onStop","onResolved","keyframes$1","mapPercentToKeyframes","mirroredGenerator","generatorFactory","generator","calcGeneratorDuration","Infinity","resolvedDuration","totalDuration","sample","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","isAnimationFinished","finish","driver","newSpeed","hasChanged","onPlay","stopDriver","isBezierDefinition","cubicBezierAsString","supportedWaapiEasing","mapEasingToNativeEasingWithDefault","mapEasingToNativeEasing","supportsWaapi","acceleratedValues","AcceleratedAnimation","isWaapiSupportedEasing","pregeneratedAnimation","pregenerateKeyframes","sampleAnimation","pregeneratedKeyframes","animateStyle","valueName","keyframeOptions","iterations","pendingTimeline","timeline","onfinish","playbackRate","playState","attachTimeline","sampleTime","setWithVelocity","supports","HTMLElement","animateMotionValue","isHandoff","valueTransition","isTransitionDefined","when","_delay","delayChildren","staggerChildren","staggerDirection","shouldSkip","isWillChangeMotionValue","addUniqueItem","removeItem","SubscriptionManager","subscriptions","notify","numSubscriptions","getSize","isFloat","collectMotionValues","MotionValue","canTrackVelocity","events","updateAndNotify","updatedAt","setPrevFrameValue","setCurrent","change","renderRequest","hasAnimated","prevFrameValue","prevUpdatedAt","onChange","subscription","unsubscribe","clearListeners","eventManagers","attach","passiveEffect","stopPassiveEffect","endAnimation","getPrevious","startAnimation","animationStart","animationComplete","clearAnimation","animationCancel","isAnimating","animateTarget","targetAndTransition","transitionOverride","animations","animationTypeState","getState","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","HandoffAppearAnimations","appearId","shouldReduceMotion","setTarget","hasValue","addValue","animateVariant","variant","getAnimation","getChildAnimations","variantChildren","forwardDelay","animateChildren","maxStaggerDuration","generateStaggerDuration","sortByTreeOrder","first","sortNodePosition","reversePriorityOrder","numAnimationTypes","createTypeState","prevResolvedValues","AnimationFeature","createAnimationState","animateVisualElement","resolvedDefinition","postRender","whileInView","whileDrag","whileFocus","isInitialRender","buildResolvedTypeValues","animateChanges","changedActiveType","getVariantContext","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","manuallyAnimateOnMount","prevProp","shouldAnimateType","variantDidChange","handledRemovedValues","definitionList","resolvedValues","allKeys","markToAnimate","blockInitialAnimation","fallbackAnimation","fallbackTarget","getBaseTarget","shouldAnimate","setAnimateFunction","makeAnimator","updateAnimationControlsSubscription","subscribe","prevAnimate","ExitAnimationFeature","isPresent","onExitComplete","prevIsPresent","prevPresenceContext","exitAnimation","PanSession","contextWindow","dragSnapToOrigin","lastMoveEvent","lastMoveEventInfo","updatePoint","getPanInfo","history","isPanStarted","isDistancePastThreshold","distance2D","xDelta","yDelta","onStart","onMove","handlePointerMove","transformPoint","handlePointerUp","end","onEnd","onSessionEnd","resumeAnimation","panInfo","initialInfo","onSessionStart","removeListeners","updateHandlers","subtractPoint","lastDevicePoint","PanSession_getVelocity","timeDelta","timestampedPoint","lastPoint","calcLength","axis","isNear","maxDistance","calcAxisDelta","originPoint","calcBoxDelta","calcRelativeAxis","relative","calcRelativeAxisPosition","calcRelativePosition","calcRelativeAxisConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","resolveAxisElastic","dragElastic","minLabel","maxLabel","resolvePointElastic","label","createAxisDelta","createDelta","createAxis","createBox","eachAxis","convertBoundingBoxToBox","isIdentityScale","hasScale","has2DTranslate","is2DTranslate","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","box","snapToDefault","isInteger","translateAxis","transformAxis","transforms","scaleKey","originKey","axisOrigin","xKeys","yKeys","transformBox","transformBoxPoints","topLeft","bottomRight","getContextWindow","elementDragControls","VisualElementDragControls","openGlobalLock","isDragging","constraints","hasMutatedConstraints","elastic","originEvent","snapToCursor","panSession","pauseAnimation","stopAnimation","dragPropagation","onDragStart","resolveConstraints","isAnimationBlocked","getAxisMotionValue","measuredAxis","layoutBox","dragDirectionLock","onDirectionLock","onDrag","getCurrentDirection","lockThreshold","updateAxis","getAnimationState","getTransformPagePoint","onDragEnd","_point","shouldDrag","axisValue","applyConstraints","dragConstraints","measure","prevConstraints","resolveRefConstraints","calcRelativeConstraints","resolveDragElastic","rebaseAxisConstraints","relativeConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","measurePageBox","rootProjectionNode","viewportBox","measuredConstraints","userConstraints","convertBoxToBoundingBox","dragMomentum","dragTransition","onDragTransitionEnd","startAxisValueAnimation","dragKey","externalMotionValue","scalePositionWithinConstraints","boxProgress","constraints_calcOrigin","sourceLength","targetLength","updateScroll","updateLayout","addListeners","stopPointerListener","dragListener","measureDragConstraints","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","DragGesture","removeGroupControls","controls","dragControls","asyncHandler","PanGesture","removePointerDownListener","onPointerDown","pointerDownEvent","session","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","pixelsToPercent","pixels","correctBorderRadius","correct","MeasureLayoutWithContext","componentDidMount","layoutGroup","switchLayoutGroup","defaultScaleCorrectors","group","didUpdate","safeToRemove","setOptions","getSnapshotBeforeUpdate","layoutDependency","willUpdate","promote","relegate","getStack","members","componentDidUpdate","currentAnimation","isLead","componentWillUnmount","promoteContext","scheduleCheckAfterUnmount","MeasureLayout","usePresence","useId","jsx_runtime","applyTo","boxShadow","treeScale","projectionDelta","shadow","xScale","yScale","averageScale","borders","numBorders","asNumber","isPx","getRadius","radiusName","easeCrossfadeIn","compress","easeCrossfadeOut","copyAxisInto","originAxis","copyBoxInto","originBox","removePointDelta","removeAxisTransforms","sourceAxis","removeAxisDelta","relativeProgress","delta_remove_xKeys","delta_remove_yKeys","removeBoxTransforms","sourceBox","isAxisDeltaZero","isDeltaZero","boxEqualsRounded","aspectRatio","NodeStack","scheduleRender","prevLead","lead","indexOfNode","member","preserveFollowOpacity","show","resumeFrom","preserveOpacity","snapshot","animationValues","isUpdating","isLayoutDirty","crossfade","hide","exitAnimationComplete","resumingFrom","removeLeadSnapshot","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","elementScaleX","elementScaleY","compareByDepth","FlatTree","isDirty","transformAxes","hiddenVisibility","create_projection_node_id","projectionFrameData","totalNodes","resolvedTargetDeltas","recalculatedProjection","resetDistortingTransform","sharedAnimationValues","setStaticValue","createProjectionNode","attachResizeListener","defaultParent","measureScroll","checkIsScrollRoot","resetTransform","animationId","isTreeAnimating","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isSVG","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","updateScheduled","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","MotionDebug","record","hasProjected","animationProgress","sharedNodes","notifyListeners","subscriptionManager","hasListeners","cancelDelay","resizeUnblockUpdate","timeout","checkElapsed","finishAnimation","registerSharedNode","hasRelativeTargetChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","targetChanged","targetLayout","hasOnlyRelativeTargetChanged","layoutRoot","setAnimationOrigin","animationOptions","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetSkewAndRotation","getTransformTemplate","shouldNotifyListeners","prevTransformTemplateValue","updateSnapshot","clearMeasurements","clearIsLayoutDirty","HandoffCancelAllAnimations","resetTransformStyle","notifyLayoutUpdate","preRender","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","alwaysMeasureLayout","prevLayout","layoutCorrected","phase","layoutScroll","isRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","removeTransform","pageBox","removeElementScroll","roundAxis","measuredBox","boxWithoutScroll","rootScroll","applyTransform","transformOnly","withTransforms","boxWithoutTransform","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","resolvedRelativeTargetAt","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","relativeTargetOrigin","targetWithTransforms","isProjecting","canSkip","pendingAnimation","prevTreeScaleX","prevTreeScaleY","applyTreeDeltas","treePath","isSharedTransition","treeLength","projectionTransform","projectionDeltaWithTransform","prevProjectionTransform","notifyAll","prevRelativeTarget","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","snapshotSource","isOnlyMember","shouldCrossfadeOpacity","hasOpacityCrossfade","mixTargetDelta","mixAxisDelta","mixAxis","mixValues","follow","opacityExit","borderLabel","followRadius","leadRadius","animateSingleValue","motionValue$1","completeAnimation","applyTransformsToTarget","shouldAnimatePositionOnly","animationType","xLength","yLength","initialPromotionConfig","shouldPreserveFollowOpacity","getPrevLead","hasDistortingTransform","resetValues","emptyStyles","valuesToRender","corrected","num","resetTree","measuredLayout","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","parentLayout","relativeSnapshot","onBeforeLayoutMeasure","userAgentContains","navigator","userAgent","string","roundPoint","DocumentProjectionNode","scrollLeft","scrollTop","HTMLProjectionNode","documentNode","prefersReducedMotion","hasReducedMotionListener","visualElementStore","valueTypes","findValueType","featureNames","numFeatures","propEventHandlers","numVariantProps","VisualElement","_props","_prevProps","_visualElement","reducedMotionConfig","visualState","valueSubscriptions","prevMotionValues","propEventSubscriptions","notifyUpdate","triggerBuild","renderInstance","baseTarget","initialValues","initialMotionValues","removeFromVariantTree","addVariantChild","bindToMotionValue","initPrefersReducedMotion","motionMediaQuery","setReducedMotionPreferences","valueIsTransform","removeOnChange","latestValue","removeOnRenderRequest","sortInstanceNodePosition","loadFeatures","renderedProps","isStrict","preloadedFeatures","initialLayoutGroupConfig","ProjectionNodeConstructor","FeatureConstructor","ProjectionNode","MeasureLayoutComponent","getClosestProjectingNode","allowProjection","updateFeatures","build","measureInstanceViewportBox","getStaticValue","updateMotionValuesFromProps","nextValue","prevValue","existingValue","removeValue","handleChildMotionValue","getVariant","getClosestVariantNode","startAtParent","closestVariantNode","removeValueFromRenderState","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","valueFromInitial","DOMVisualElement","compareDocumentPosition","HTMLVisualElement","defaultType","computedStyle","childSubscription","textContent","SVGVisualElement","getAttribute","create_visual_element_createDomVisualElement","motion","createMotionProxy","createConfig","customMotionComponentConfig","motion_createMotionComponent","createVisualElement","useRender","ForwardRefComponent","forwardRef","externalRef","configAndProps","useLayoutId","layoutGroupId","useCreateMotionContext","getCurrentTreeVariants","useVisualElement","lazyContext","visualElementRef","useInsertionEffect","wantsHandoff","HandoffComplete","jsxs","Provider","Proxy","componentCache","_target","create_config_createDomMotionConfig","forwardMotionProps","createUseRender","visualProps","useVisualProps","_isStatic","rawStyles","htmlProps","useStyle","useInitialMotionValues","userSelect","WebkitUserSelect","WebkitTouchCallout","touchAction","filteredProps","filterProps","isDom","elementProps","renderedChildren"],"sourceRoot":""}