@nethesis/phone-island 1.1.4 → 1.1.5-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.js.map +1 -1
- package/dist/components/AlertView/index.js.map +1 -1
- package/dist/components/AudioBars.js.map +1 -1
- package/dist/components/AudioPlayerView/PlayerFooterActions.js +1 -1
- package/dist/components/AudioPlayerView/PlayerFooterActions.js.map +1 -1
- package/dist/components/AudioPlayerView/Progress.js.map +1 -1
- package/dist/components/AudioPlayerView/index.js +1 -1
- package/dist/components/AudioPlayerView/index.js.map +1 -1
- package/dist/components/CallView/Actions.js +1 -1
- package/dist/components/CallView/Actions.js.map +1 -1
- package/dist/components/CallView/BackCall.js +1 -1
- package/dist/components/CallView/BackCall.js.map +1 -1
- package/dist/components/CallView/DeviceIcon.js +1 -1
- package/dist/components/CallView/DeviceIcon.js.map +1 -1
- package/dist/components/CallView/DisplayName.js +1 -1
- package/dist/components/CallView/DisplayName.js.map +1 -1
- package/dist/components/CallView/DisplayNameUtils.js.map +1 -1
- package/dist/components/CallView/Number.js +1 -1
- package/dist/components/CallView/Number.js.map +1 -1
- package/dist/components/CallView/NumberPopover.js +1 -1
- package/dist/components/CallView/NumberPopover.js.map +1 -1
- package/dist/components/CallView/index.js +1 -1
- package/dist/components/CallView/index.js.map +1 -1
- package/dist/components/ConferenceView/ConferenceUsersList.js +1 -1
- package/dist/components/ConferenceView/ConferenceUsersList.js.map +1 -1
- package/dist/components/ConferenceView/index.js +1 -1
- package/dist/components/ConferenceView/index.js.map +1 -1
- package/dist/components/ContactView/ContactListView.js +1 -1
- package/dist/components/ContactView/ContactListView.js.map +1 -1
- package/dist/components/ContactView/SelectContactNumberView.js +1 -1
- package/dist/components/ContactView/SelectContactNumberView.js.map +1 -1
- package/dist/components/ContactView/TransferActions.js +1 -1
- package/dist/components/ContactView/TransferActions.js.map +1 -1
- package/dist/components/Hangup.js +1 -1
- package/dist/components/Hangup.js.map +1 -1
- package/dist/components/KeypadView/index.js +1 -1
- package/dist/components/KeypadView/index.js.map +1 -1
- package/dist/components/OperatorBusyView/index.js +1 -1
- package/dist/components/OperatorBusyView/index.js.map +1 -1
- package/dist/components/PhysicalRecorderView/index.js +1 -1
- package/dist/components/PhysicalRecorderView/index.js.map +1 -1
- package/dist/components/RecorderView/Actions.js +1 -1
- package/dist/components/RecorderView/Actions.js.map +1 -1
- package/dist/components/RecorderView/BarsGroup.js.map +1 -1
- package/dist/components/RecorderView/index.js +1 -1
- package/dist/components/RecorderView/index.js.map +1 -1
- package/dist/components/SettingsView/AudioView.js +1 -1
- package/dist/components/SettingsView/AudioView.js.map +1 -1
- package/dist/components/SettingsView/MicrophoneView.js +1 -1
- package/dist/components/SettingsView/MicrophoneView.js.map +1 -1
- package/dist/components/SettingsView/SettingsHeader.js +1 -1
- package/dist/components/SettingsView/SettingsHeader.js.map +1 -1
- package/dist/components/SettingsView/ThemeView.js +1 -1
- package/dist/components/SettingsView/ThemeView.js.map +1 -1
- package/dist/components/SettingsView/index.js +1 -1
- package/dist/components/SettingsView/index.js.map +1 -1
- package/dist/components/SideView/SideView.js +1 -1
- package/dist/components/SideView/SideView.js.map +1 -1
- package/dist/components/SideView/hooks/useSideViewLogic.js.map +1 -1
- package/dist/components/Socket.js.map +1 -1
- package/dist/components/SwitchDeviceView/index.js +1 -1
- package/dist/components/SwitchDeviceView/index.js.map +1 -1
- package/dist/components/SwitchInputView/DropdownContent.js +1 -1
- package/dist/components/SwitchInputView/DropdownContent.js.map +1 -1
- package/dist/components/SwitchInputView/Index.js +1 -1
- package/dist/components/TextScroll.js +1 -1
- package/dist/components/TextScroll.js.map +1 -1
- package/dist/components/TranscriptionView/TranscriptionView.js +1 -1
- package/dist/components/TranscriptionView/TranscriptionView.js.map +1 -1
- package/dist/components/VideoStreamingEmptyState/index.js +1 -1
- package/dist/components/VideoStreamingEmptyState/index.js.map +1 -1
- package/dist/components/VideoStreamingSkeleton/index.js +1 -1
- package/dist/components/VideoStreamingSkeleton/index.js.map +1 -1
- package/dist/components/VideoView/index.js.map +1 -1
- package/dist/components/WebRTC.js.map +1 -1
- package/dist/events/SocketEvents.js.map +1 -1
- package/dist/lib/i18n.js +1 -1
- package/dist/lib/i18n.js.map +1 -1
- package/dist/lib/phone/call.js +1 -1
- package/dist/lib/phone/call.js.map +1 -1
- package/dist/lib/phone/counterpartDevice.js.map +1 -1
- package/dist/lib/phone/video.js.map +1 -1
- package/dist/lib/player/audio.js.map +1 -1
- package/dist/lib/user/default_device.js.map +1 -1
- package/dist/lib/user/extensions.js.map +1 -1
- package/dist/models/currentCall.js.map +1 -1
- package/dist/models/island.js.map +1 -1
- package/dist/models/player.js +1 -1
- package/dist/models/player.js.map +1 -1
- package/dist/node_modules/classnames/index.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/press.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/press.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js.map +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.js +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/needs-mixer.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/needs-mixer.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/events/add-pointer-event.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/events/add-pointer-event.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/events/event-info.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/events/event-info.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/VisualElementDragControls.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/VisualElementDragControls.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/utils/constraints.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/utils/constraints.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/pan/PanSession.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/pan/PanSession.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/round.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/round.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/root.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/root.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/resize/index.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/resize/index.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/scope/active.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/scope/active.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/delay.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/delay.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/distance.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/is-ref-object.mjs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/index.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/index.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/value/utils/as-number.mjs.js +2 -0
- package/dist/node_modules/motion-dom/dist/es/value/utils/as-number.mjs.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/circ.mjs.js.map +1 -1
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs.js +1 -1
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs.js.map +1 -1
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.mjs.js +1 -1
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.mjs.js.map +1 -1
- package/dist/node_modules/motion-utils/dist/es/errors.mjs.js +1 -1
- package/dist/node_modules/motion-utils/dist/es/errors.mjs.js.map +1 -1
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.mjs.js +1 -1
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.mjs.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/context.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/context.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/defaults.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/defaults.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/i18nInstance.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/i18nInstance.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/initReactI18next.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/initReactI18next.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/unescape.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/unescape.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/utils.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/utils.js.map +1 -1
- package/dist/node_modules/react-redux/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +1 -1
- package/dist/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/services/astproxy.js +1 -1
- package/dist/services/astproxy.js.map +1 -1
- package/dist/services/phonebook.js +1 -1
- package/dist/services/phonebook.js.map +1 -1
- package/dist/utils/customHooks/useLocalStorage.js.map +1 -1
- package/dist/utils/deviceUtils.js.map +1 -1
- package/package.json +6 -6
- package/dist/_virtual/arrayLikeToArray.js +0 -2
- package/dist/_virtual/arrayLikeToArray.js.map +0 -1
- package/dist/_virtual/arrayWithHoles.js +0 -2
- package/dist/_virtual/arrayWithHoles.js.map +0 -1
- package/dist/_virtual/classCallCheck.js +0 -2
- package/dist/_virtual/classCallCheck.js.map +0 -1
- package/dist/_virtual/createClass.js +0 -2
- package/dist/_virtual/createClass.js.map +0 -1
- package/dist/_virtual/defineProperty.js +0 -2
- package/dist/_virtual/defineProperty.js.map +0 -1
- package/dist/_virtual/iterableToArrayLimit.js +0 -2
- package/dist/_virtual/iterableToArrayLimit.js.map +0 -1
- package/dist/_virtual/nonIterableRest.js +0 -2
- package/dist/_virtual/nonIterableRest.js.map +0 -1
- package/dist/_virtual/objectWithoutProperties.js +0 -2
- package/dist/_virtual/objectWithoutProperties.js.map +0 -1
- package/dist/_virtual/objectWithoutPropertiesLoose.js +0 -2
- package/dist/_virtual/objectWithoutPropertiesLoose.js.map +0 -1
- package/dist/_virtual/slicedToArray.js +0 -2
- package/dist/_virtual/slicedToArray.js.map +0 -1
- package/dist/_virtual/toPrimitive.js +0 -2
- package/dist/_virtual/toPrimitive.js.map +0 -1
- package/dist/_virtual/toPropertyKey.js +0 -2
- package/dist/_virtual/toPropertyKey.js.map +0 -1
- package/dist/_virtual/typeof.js +0 -2
- package/dist/_virtual/typeof.js.map +0 -1
- package/dist/_virtual/unsupportedIterableToArray.js +0 -2
- package/dist/_virtual/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/createClass.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/inherits.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/toArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/typeof.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/distance.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.mjs.js +0 -2
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.mjs.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs.js.map +0 -1
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.js +0 -2
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs.js +0 -2
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.mjs.js +0 -2
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.mjs.js.map +0 -1
- package/dist/node_modules/void-elements/index.js +0 -2
- package/dist/node_modules/void-elements/index.js.map +0 -1
- /package/dist/node_modules/{framer-motion → motion-dom}/dist/es/utils/distance.mjs.js +0 -0
- /package/dist/node_modules/{framer-motion → motion-dom}/dist/es/utils/is-ref-object.mjs.js +0 -0
package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyframesResolver.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs"],"sourcesContent":["import { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = 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 element.getValue(key)?.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(isForced));\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 isForced = true;\n readAllKeyframes();\n measureAllKeyframes();\n isForced = false;\n}\nclass KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n this.state = \"pending\";\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 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.state = \"scheduled\";\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 // If initial keyframe is null we need to read it from the DOM\n if (unresolvedKeyframes[0] === null) {\n const currentValue = motionValue?.get();\n // TODO: This doesn't work if the final keyframe is a wildcard\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 fillWildcards(unresolvedKeyframes);\n }\n setFinalKeyframe() { }\n measureInitialState() { }\n renderEndStyles() { }\n measureEndState() { }\n complete(isForcedComplete = false) {\n this.state = \"complete\";\n this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n toResolve.delete(this);\n }\n cancel() {\n if (this.state === \"scheduled\") {\n toResolve.delete(this);\n this.state = \"pending\";\n }\n }\n resume() {\n if (this.state === \"pending\")\n this.scheduleResolve();\n }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n//# sourceMappingURL=KeyframesResolver.mjs.map\n"],"names":["toResolve","Set","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","Array","from","filter","resolver","needsMeasurement","elementsToMeasure","map","element","transformsToRestore","Map","forEach","removedTransforms","removeNonTranslationalTransform","length","set","render","measureInitialState","restore","get","key","value","getValue","measureEndState","undefined","suspendedScrollY","window","scrollTo","complete","clear","readAllKeyframes","readKeyframes","constructor","unresolvedKeyframes","onComplete","name","motionValue","isAsync","this","state","scheduleResolve","add","frame","read","resolveKeyframes","currentValue","finalKeyframe","valueAsRead","readValue","fillWildcards","setFinalKeyframe","renderEndStyles","isForcedComplete","delete","cancel","resume","flushKeyframeResolvers"],"mappings":"yMAWA,MAAMA,EAAY,IAAIC,IACtB,IAAIC,GAAc,EACdC,GAAsB,EACtBC,GAAW,EAEf,SAASC,IACL,GAAIF,EAAqB,CACrB,MAAMG,EAAqBC,MAAMC,KAAKR,GAAWS,OAC5CC,GAA+BA,EAASC,kBAEvCC,EAAoB,IAAIX,IAC1BK,EAAmBO,IAAKH,GAAaA,EAASI,UAE5CC,EAAsB,IAAIC,IAShCJ,EAAkBK,QAASH,IACvB,MAAMI,EAAoBC,kCACtBL,GAGCI,EAAkBE,SAEvBL,EAAoBM,IAAIP,EAASI,GAEjCJ,EAAQQ,YAIZhB,EAAmBW,QAASP,GAAaA,EAASa,uBAGlDX,EAAkBK,QAASH,IACvBA,EAAQQ,SAER,MAAME,EAAUT,EAAoBU,IAAIX,GACpCU,GACAA,EAAQP,QAAQ,EAAES,EAAKC,MACnBb,EAAQc,SAASF,IAAML,IAAIM,OAMvCrB,EAAmBW,QAASP,GAAaA,EAASmB,mBAGlDvB,EAAmBW,QAASP,SACUoB,IAA9BpB,EAASqB,kBACTC,OAAOC,SAAS,EAAGvB,EAASqB,mBAGxC,CAEA5B,GAAsB,EACtBD,GAAc,EAEdF,EAAUiB,QAASP,GAAaA,EAASwB,SAAS9B,IAClDJ,EAAUmC,OACd,CAEA,SAASC,IACLpC,EAAUiB,QAASP,IACfA,EAAS2B,gBAEL3B,EAASC,mBACTR,GAAsB,IAGlC,gCAyCImC,WAAAA,CACIC,EACAC,EACAC,EACAC,EACA5B,EACA6B,GAAU,GArBdC,KAAAC,MAA8C,UAOtCD,KAAAD,SAAU,EAMlBC,KAAAjC,kBAAmB,EAUfiC,KAAKL,oBAAsB,IAAIA,GAC/BK,KAAKJ,WAAaA,EAClBI,KAAKH,KAAOA,EACZG,KAAKF,YAAcA,EACnBE,KAAK9B,QAAUA,EACf8B,KAAKD,QAAUA,CACnB,CAEAG,eAAAA,GACIF,KAAKC,MAAQ,YAETD,KAAKD,SACL3C,EAAU+C,IAAIH,MAET1C,IACDA,GAAc,EACd8C,QAAMC,KAAKb,GACXY,QAAME,iBAAiB7C,MAG3BuC,KAAKP,gBACLO,KAAKV,WAEb,CAEAG,aAAAA,GACI,MAAME,oBAAEA,EAAmBE,KAAEA,EAAI3B,QAAEA,EAAO4B,YAAEA,GAAgBE,KAG5D,GAA+B,OAA3BL,EAAoB,GAAa,CACjC,MAAMY,EAAeT,GAAajB,MAG5B2B,EACFb,EAAoBA,EAAoBnB,OAAS,GAErD,QAAqBU,IAAjBqB,EACAZ,EAAoB,GAAKY,OACtB,GAAIrC,GAAW2B,EAAM,CACxB,MAAMY,EAAcvC,EAAQwC,UAAUb,EAAMW,GAExCC,UACAd,EAAoB,GAAKc,EAEjC,MAE+BvB,IAA3BS,EAAoB,KACpBA,EAAoB,GAAKa,GAGzBV,QAAgCZ,IAAjBqB,GACfT,EAAYrB,IAAIkB,EAAoB,GAE5C,CAEAgB,EAAaA,cAAChB,EAClB,CAEAiB,gBAAAA,GAAoB,CACpBjC,mBAAAA,GAAuB,CACvBkC,eAAAA,GAAmB,CACnB5B,eAAAA,GAAmB,CAEnBK,QAAAA,CAASwB,GAAmB,GACxBd,KAAKC,MAAQ,WAEbD,KAAKJ,WACDI,KAAKL,oBACLK,KAAKQ,cACLM,GAGJ1D,EAAU2D,OAAOf,KACrB,CAEAgB,MAAAA,GACuB,cAAfhB,KAAKC,QACL7C,EAAU2D,OAAOf,MACjBA,KAAKC,MAAQ,UAErB,CAEAgB,MAAAA,GACuB,YAAfjB,KAAKC,OAAqBD,KAAKE,iBACvC,kCAnIYgB,WACZ1D,GAAW,EACXgC,IACA/B,IACAD,GAAW,CACf"}
|
|
1
|
+
{"version":3,"file":"KeyframesResolver.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs"],"sourcesContent":["import { isNumericalString, isZeroValueString } from 'motion-utils';\nimport { complex } from '../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../value/types/utils/animatable-none.mjs';\nimport { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { boxDependentValues, removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = false;\nfunction measureAllKeyframes() {\n if (anyNeedsMeasurement) {\n const resolversToMeasure = [];\n const elementsToMeasure = new Set();\n const elementsToUntransform = new Set();\n toResolve.forEach((resolver) => {\n if (!resolver.needsMeasurement)\n return;\n resolversToMeasure.push(resolver);\n elementsToMeasure.add(resolver.element);\n if (boxDependentValues.has(resolver.name)) {\n elementsToUntransform.add(resolver.element);\n }\n });\n const transformsToRestore = new Map();\n /**\n * Write pass\n * Values measured from the bounding box need bounding box-changing\n * transforms removed first. Values read from computed style don't.\n */\n elementsToUntransform.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 element.getValue(key)?.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(isForced));\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 isForced = true;\n readAllKeyframes();\n measureAllKeyframes();\n isForced = false;\n}\n/**\n * Normalise a value read from the subject into an animation origin: a\n * number read as a string (\"0\", \"200\") becomes a number, and a value\n * that isn't animatable (e.g. \"none\") but whose target is becomes an\n * animatable zero in the shape of the target.\n */\nfunction readOrigin(value, name, target) {\n if (typeof value === \"string\") {\n if (isNumericalString(value) || isZeroValueString(value)) {\n return parseFloat(value);\n }\n else if (!complex.test(value) && complex.test(target)) {\n return getAnimatableNone(name, target);\n }\n }\n return value ?? undefined;\n}\nclass KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n this.state = \"pending\";\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 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.state = \"scheduled\";\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 // If initial keyframe is null we need to read it from the DOM\n if (unresolvedKeyframes[0] === null) {\n const currentValue = motionValue?.get();\n // TODO: This doesn't work if the final keyframe is a wildcard\n const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n if (currentValue !== undefined) {\n unresolvedKeyframes[0] = currentValue;\n }\n else if (element && name) {\n const valueAsRead = readOrigin(element.readValue(name, finalKeyframe), name, finalKeyframe);\n if (valueAsRead !== undefined) {\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 fillWildcards(unresolvedKeyframes);\n }\n setFinalKeyframe() { }\n measureInitialState() { }\n renderEndStyles() { }\n measureEndState() { }\n complete(isForcedComplete = false) {\n this.state = \"complete\";\n this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n toResolve.delete(this);\n }\n cancel() {\n if (this.state === \"scheduled\") {\n toResolve.delete(this);\n this.state = \"pending\";\n }\n }\n resume() {\n if (this.state === \"pending\")\n this.scheduleResolve();\n }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n//# sourceMappingURL=KeyframesResolver.mjs.map\n"],"names":["toResolve","Set","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","elementsToMeasure","elementsToUntransform","forEach","resolver","needsMeasurement","push","add","element","boxDependentValues","has","name","transformsToRestore","Map","removedTransforms","removeNonTranslationalTransform","length","set","render","measureInitialState","restore","get","key","value","getValue","measureEndState","undefined","suspendedScrollY","window","scrollTo","complete","clear","readAllKeyframes","readKeyframes","constructor","unresolvedKeyframes","onComplete","motionValue","isAsync","this","state","scheduleResolve","frame","read","resolveKeyframes","currentValue","finalKeyframe","valueAsRead","target","isNumericalString","isZeroValueString","parseFloat","complex","test","getAnimatableNone","readOrigin","readValue","fillWildcards","setFinalKeyframe","renderEndStyles","isForcedComplete","delete","cancel","resume","flushKeyframeResolvers"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0})
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFinalKeyframe=function(e,{repeat:t,repeatType:o="loop"},r,l=1){let n,p,s=0;for(let t=0;t<e.length;t++){const o=e[t];null!==o&&(s++||(n=o),p=o)}const u=l<0||t&&"loop"!==o&&t%2==1?0:s-1;return u&&void 0!==r?r:u?p:n};
|
|
2
2
|
//# sourceMappingURL=get-final.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-final.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"get-final.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs"],"sourcesContent":["function getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe, speed = 1) {\n /**\n * The first and last keyframes that aren't null, and how many there\n * are. Found in one pass rather than filtering into a new array, as\n * this runs for every value of every animation.\n */\n let first;\n let last;\n let numResolved = 0;\n for (let i = 0; i < keyframes.length; i++) {\n const keyframe = keyframes[i];\n if (keyframe !== null) {\n if (!numResolved++)\n first = keyframe;\n last = keyframe;\n }\n }\n const useFirstKeyframe = speed < 0 || (repeat && repeatType !== \"loop\" && repeat % 2 === 1);\n const index = useFirstKeyframe ? 0 : numResolved - 1;\n return !index || finalKeyframe === undefined\n ? (index ? last : first)\n : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final.mjs.map\n"],"names":["keyframes","repeat","repeatType","finalKeyframe","speed","first","last","numResolved","i","length","keyframe","index","undefined"],"mappings":"sGAGIA,GACAC,OAAEA,EAAMC,WAAEA,EAAa,QACvBC,EACAC,EAAgB,GAOhB,IAAIC,EACAC,EACAC,EAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIR,EAAUS,OAAQD,IAAK,CACvC,MAAME,EAAWV,EAAUQ,GACV,OAAbE,IACKH,MAAeF,EAAQK,GAC5BJ,EAAOI,EAEf,CAEA,MAEMC,EADFP,EAAQ,GAAMH,GAAyB,SAAfC,GAAyBD,EAAS,GAAM,EACnC,EAAIM,EAAc,EAEnD,OAAQI,QAA2BC,IAAlBT,EAEXA,EADEQ,EAAQL,EAAOD,CAE3B"}
|
package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../value/types/complex/index.mjs.js"),t=require("../../../value/types/utils/animatable-none.mjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../value/types/complex/index.mjs.js"),t=require("../../../value/types/utils/animatable-none.mjs.js");const s=new Set(["auto","none","0"]);exports.makeNoneKeyframesAnimatable=function(n,o,a){let r,l=0;for(;l<n.length&&!r;){const t=n[l];"string"==typeof t&&!s.has(t)&&e.hasComplexValues(t)&&(r=n[l]),l++}if(r&&a)for(const e of o)n[e]!==r&&(n[e]=t.getAnimatableNone(a,r))};
|
|
2
2
|
//# sourceMappingURL=make-none-animatable.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-none-animatable.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"make-none-animatable.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs"],"sourcesContent":["import { hasComplexValues } from '../../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../../value/types/utils/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 */\nconst invalidTemplates = new Set([\"auto\", \"none\", \"0\"]);\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n let i = 0;\n let animatableTemplate = undefined;\n while (i < unresolvedKeyframes.length && !animatableTemplate) {\n const keyframe = unresolvedKeyframes[i];\n if (typeof keyframe === \"string\" &&\n !invalidTemplates.has(keyframe) &&\n hasComplexValues(keyframe)) {\n animatableTemplate = unresolvedKeyframes[i];\n }\n i++;\n }\n if (animatableTemplate && name) {\n for (const noneIndex of noneKeyframeIndexes) {\n /**\n * A zero-valued template like \"0%\" is already its own\n * animatable none, so there's nothing to derive.\n */\n if (unresolvedKeyframes[noneIndex] === animatableTemplate)\n continue;\n unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n }\n }\n}\n\nexport { makeNoneKeyframesAnimatable };\n//# sourceMappingURL=make-none-animatable.mjs.map\n"],"names":["invalidTemplates","Set","makeNoneKeyframesAnimatable","unresolvedKeyframes","noneKeyframeIndexes","name","animatableTemplate","i","length","keyframe","has","hasComplexValues","noneIndex","getAnimatableNone"],"mappings":"8LAWA,MAAMA,EAAmB,IAAIC,IAAI,CAAC,OAAQ,OAAQ,0CAElCC,SACZC,EACAC,EACAC,GAEA,IACIC,EADAC,EAAI,EAER,KAAOA,EAAIJ,EAAoBK,SAAWF,GAAoB,CAC1D,MAAMG,EAAWN,EAAoBI,GAEb,iBAAbE,IACNT,EAAiBU,IAAID,IACtBE,mBAAiBF,KAEjBH,EAAqBH,EAAoBI,IAE7CA,GACJ,CAEA,GAAID,GAAsBD,EACtB,IAAK,MAAMO,KAAaR,EAKhBD,EAAoBS,KAAeN,IAEvCH,EAAoBS,GAAaC,EAAiBA,kBAC9CR,EACAC,GAIhB"}
|
package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../render/dom/parse-transform.mjs.js"),r=require("../../../render/utils/keys-transform.mjs.js"),t=require("../../../value/types/numbers/index.mjs.js"),s=require("../../../value/types/numbers/units.mjs.js");const o=new Set(["x","y","z"]),n=r.transformPropOrder.filter(e=>!o.has(e));const a=new Set(["bottom","right"]);function i(e,r,t,s,o,n){const a=parseFloat(e);if(!isNaN(a))return a;const{min:i,max:p}=r()[t],m=p-i;return"border-box"===n?m:m-parseFloat(s)-parseFloat(o)}const p=({transform:r})=>e.parseValueFromTransform(r,"x"),m=({transform:r})=>e.parseValueFromTransform(r,"y"),u={width:({width:e,paddingLeft:r="0",paddingRight:t="0",boxSizing:s},o)=>i(e,o,"x",r,t,s),height:({height:e,paddingTop:r="0",paddingBottom:t="0",boxSizing:s},o)=>i(e,o,"y",r,t,s),top:({top:e})=>parseFloat(e),left:({left:e})=>parseFloat(e),bottom:({top:e},r)=>{const{y:t}=r();return parseFloat(e)+(t.max-t.min)},right:({left:e},r)=>{const{x:t}=r();return parseFloat(e)+(t.max-t.min)},x:p,y:m,translateX:p,translateY:m};exports.boxDependentValues=a,exports.isNumOrPxType=e=>e===t.number||e===s.px,exports.positionalValues=u,exports.removeNonTranslationalTransform=function(e){const r=[];return n.forEach(t=>{const s=e.getValue(t);if(void 0!==s){const e=s.get(),o=t.startsWith("scale")?1:0;if(e===o)return;r.push([t,e]),s.set(o)}}),r};
|
|
2
2
|
//# sourceMappingURL=unit-conversion.mjs.js.map
|
package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-conversion.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs"],"sourcesContent":["import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\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
|
|
1
|
+
{"version":3,"file":"unit-conversion.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs"],"sourcesContent":["import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = /* @__PURE__ */ transformPropOrder.filter((key) => !transformKeys.has(key));\n/**\n * Reset any bounding box-changing transforms so the element can be\n * measured. Returns the values to restore. Values already at their\n * default don't change the box, so they're left alone: an element with\n * only `rotate: 0` doesn't need to be re-rendered before measuring.\n */\nfunction removeNonTranslationalTransform(visualElement) {\n const removedTransforms = [];\n nonTranslationalTransformKeys.forEach((key) => {\n const value = visualElement.getValue(key);\n if (value !== undefined) {\n const current = value.get();\n const reset = key.startsWith(\"scale\") ? 1 : 0;\n if (current === reset)\n return;\n removedTransforms.push([key, current]);\n value.set(reset);\n }\n });\n return removedTransforms;\n}\n/**\n * Values that can only be measured from the bounding box. Elements with\n * these values need bounding box-changing transforms removed first.\n */\nconst boxDependentValues = new Set([\"bottom\", \"right\"]);\n/**\n * Computed width/height is already in pixels and unaffected by\n * transforms. It's \"auto\" for elements without a layout box (e.g. inline),\n * in which case we fall back to measuring the bounding box.\n */\nfunction measureDimension(computed, measureBox, axis, paddingStart, paddingEnd, boxSizing) {\n const px = parseFloat(computed);\n if (!isNaN(px))\n return px;\n const { min, max } = measureBox()[axis];\n const size = max - min;\n return boxSizing === \"border-box\"\n ? size\n : size - parseFloat(paddingStart) - parseFloat(paddingEnd);\n}\nconst transformX = ({ transform }) => parseValueFromTransform(transform, \"x\");\nconst transformY = ({ transform }) => parseValueFromTransform(transform, \"y\");\nconst positionalValues = {\n // Dimensions\n width: ({ width, paddingLeft = \"0\", paddingRight = \"0\", boxSizing }, measureBox) => measureDimension(width, measureBox, \"x\", paddingLeft, paddingRight, boxSizing),\n height: ({ height, paddingTop = \"0\", paddingBottom = \"0\", boxSizing }, measureBox) => measureDimension(height, measureBox, \"y\", paddingTop, paddingBottom, boxSizing),\n top: ({ top }) => parseFloat(top),\n left: ({ left }) => parseFloat(left),\n bottom: ({ top }, measureBox) => {\n const { y } = measureBox();\n return parseFloat(top) + (y.max - y.min);\n },\n right: ({ left }, measureBox) => {\n const { x } = measureBox();\n return parseFloat(left) + (x.max - x.min);\n },\n // Transform, including translate longform names\n x: transformX,\n y: transformY,\n translateX: transformX,\n translateY: transformY,\n};\n\nexport { boxDependentValues, isNumOrPxType, positionalValues, removeNonTranslationalTransform };\n//# sourceMappingURL=unit-conversion.mjs.map\n"],"names":["isNumOrPxType","transformKeys","Set","nonTranslationalTransformKeys","transformPropOrder","filter","key","has","boxDependentValues","measureDimension","computed","measureBox","axis","paddingStart","paddingEnd","boxSizing","px","parseFloat","isNaN","min","max","size","transformX","transform","parseValueFromTransform","transformY","positionalValues","width","paddingLeft","paddingRight","height","paddingTop","paddingBottom","top","left","bottom","y","right","x","translateX","translateY","v","number","visualElement","removedTransforms","forEach","value","getValue","undefined","current","get","reset","startsWith","push","set"],"mappings":"uSAUaA,MAaPC,EAAgB,IAAIC,IAAI,CAAC,IAAK,IAAK,MACnCC,EAAgDC,EAAAA,mBAAmBC,OACpEC,IAASL,EAAcM,IAAID,IAmCnBE,MAAAA,EAAqB,IAAIN,IAAI,CAAC,SAAU,UAOrD,SAASO,EACLC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAKC,WAAWP,GACtB,IAAKQ,MAAMF,GAAK,OAAOA,EAEvB,MAAMG,IAAEA,EAAGC,IAAEA,GAAQT,IAAaC,GAC5BS,EAAOD,EAAMD,EACnB,MAAqB,eAAdJ,EACDM,EACAA,EAAOJ,WAAWJ,GAAgBI,WAAWH,EACvD,CAEA,MAAMQ,EAA2CA,EAAGC,eAChDC,EAAuBA,wBAACD,EAAW,KACjCE,EAA2CA,EAAGF,eAChDC,EAAuBA,wBAACD,EAAW,KAE1BG,EACT,CAEIC,MAAOA,EACDA,QAAOC,cAAc,IAAKC,eAAe,IAAKd,aAChDJ,IAEAF,EACIkB,EACAhB,EACA,IACAiB,EACAC,EACAd,GAERe,OAAQA,EACFA,SAAQC,aAAa,IAAKC,gBAAgB,IAAKjB,aACjDJ,IAEAF,EACIqB,EACAnB,EACA,IACAoB,EACAC,EACAjB,GAGRkB,IAAKA,EAAGA,SAAUhB,WAAWgB,GAC7BC,KAAMA,EAAGA,UAAWjB,WAAWiB,GAC/BC,OAAQA,EAAGF,OAAOtB,KACd,MAAMyB,EAAEA,GAAMzB,IACd,OAAOM,WAAWgB,IAAkBG,EAAEhB,IAAMgB,EAAEjB,MAElDkB,MAAOA,EAAGH,QAAQvB,KACd,MAAM2B,EAAEA,GAAM3B,IACd,OAAOM,WAAWiB,IAAmBI,EAAElB,IAAMkB,EAAEnB,MAInDmB,EAAGhB,EACHc,EAAGX,EACHc,WAAYjB,EACZkB,WAAYf,sDA3HUgB,GAC1BA,IAAMC,EAAMA,QAAID,IAAMzB,EAAAA,sEAyBpB,SAA0C2B,GAC5C,MAAMC,EAAuC,GAgB7C,OAdAzC,EAA8B0C,QAASvC,IACnC,MAAMwC,EACFH,EAAcI,SAASzC,GAC3B,QAAc0C,IAAVF,EAAqB,CACrB,MAAMG,EAAUH,EAAMI,MAChBC,EAAQ7C,EAAI8C,WAAW,SAAW,EAAI,EAE5C,GAAIH,IAAYE,EAAO,OAEvBP,EAAkBS,KAAK,CAAC/C,EAAK2C,IAC7BH,EAAMQ,IAAIH,EACd,IAGGP,CACX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.optimizedAppearDataAttribute="data-framer-appear-id";
|
|
2
2
|
//# sourceMappingURL=data-id.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-id.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"data-id.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs"],"sourcesContent":["const optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-framer-appear-id\";\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n//# sourceMappingURL=data-id.mjs.map\n"],"names":[],"mappings":"yGAE4C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WithPromise=class{constructor(){this.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WithPromise=class{constructor(){this.isResolved=!1}get finished(){return this._finished||(this._finished=this.isResolved?Promise.resolve():new Promise(e=>{this._resolve=e})),this._finished}updateFinished(){this._finished=this._resolve=void 0,this.isResolved=!1}notifyFinished(){this.isResolved=!0,this._resolve?.()}then(e,s){return this.finished.then(e,s)}};
|
|
2
2
|
//# sourceMappingURL=WithPromise.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPromise.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs"],"sourcesContent":["class WithPromise {\n constructor() {\n this.
|
|
1
|
+
{"version":3,"file":"WithPromise.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs"],"sourcesContent":["class WithPromise {\n constructor() {\n this.isResolved = false;\n }\n get finished() {\n if (!this._finished) {\n this._finished = this.isResolved\n ? Promise.resolve()\n : new Promise((resolve) => {\n this._resolve = resolve;\n });\n }\n return this._finished;\n }\n updateFinished() {\n this._finished = this._resolve = undefined;\n this.isResolved = false;\n }\n notifyFinished() {\n this.isResolved = true;\n this._resolve?.();\n }\n /**\n * Allows the animation to be awaited.\n *\n * @deprecated Use `finished` instead.\n */\n then(onResolve, onReject) {\n return this.finished.then(onResolve, onReject);\n }\n}\n\nexport { WithPromise };\n//# sourceMappingURL=WithPromise.mjs.map\n"],"names":["constructor","this","isResolved","finished","_finished","Promise","resolve","_resolve","updateFinished","undefined","notifyFinished","then","onResolve","onReject"],"mappings":"8FAAAA,WAAAA,GAUYC,KAAAC,YAAa,CAgCzB,CA9BI,YAAIC,GASA,OARKF,KAAKG,YACNH,KAAKG,UAAYH,KAAKC,WAChBG,QAAQC,UACR,IAAID,QAAeC,IACfL,KAAKM,SAAWD,KAIvBL,KAAKG,SAChB,CAEUI,cAAAA,GACNP,KAAKG,UAAYH,KAAKM,cAAWE,EACjCR,KAAKC,YAAa,CACtB,CAEUQ,cAAAA,GACNT,KAAKC,YAAa,EAClBD,KAAKM,YACT,CAOAI,IAAAA,CAAKC,EAAyBC,GAC1B,OAAOZ,KAAKE,SAASQ,KAAKC,EAAWC,EACzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../generators/utils/is-generator.mjs.js"),t=require("./is-animatable.mjs.js"),r=require("../../../../../motion-utils/dist/es/errors.mjs.js");exports.canAnimate=function(i,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../generators/utils/is-generator.mjs.js"),t=require("./is-animatable.mjs.js"),r=require("../../../../../motion-utils/dist/es/errors.mjs.js");exports.canAnimate=function(n,i,s,a){const o=n[0];if(null===o)return!1;if("display"===i||"visibility"===i)return!0;const u=n[n.length-1],l=t.isAnimatable(o,i),m=t.isAnimatable(u,i);return l&&m?function(e){const t=e[0];if(1===e.length)return!0;for(let r=0;r<e.length;r++)if(e[r]!==t)return!0}(n)||("spring"===s||e.isGenerator(s))&&a:(l!==m&&"production"!==process.env.NODE_ENV&&r.warning(!1,`You are trying to animate ${i} from "${o}" to "${u}". "${l?u:o}" is not an animatable value.`,"value-not-animatable"),!1)};
|
|
2
2
|
//# sourceMappingURL=can-animate.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"can-animate.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs"],"sourcesContent":["import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './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 }\n /**\n * These aren't traditionally animatable but we do support them.\n * In future we could look into making this more generic or replacing\n * this function with mix() === mixImmediate\n */\n if (name === \"display\" || name === \"visibility\")\n return true;\n const targetKeyframe = keyframes[keyframes.length - 1];\n const isOriginAnimatable = isAnimatable(originKeyframe, name);\n const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n
|
|
1
|
+
{"version":3,"file":"can-animate.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs"],"sourcesContent":["import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './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 }\n /**\n * These aren't traditionally animatable but we do support them.\n * In future we could look into making this more generic or replacing\n * this function with mix() === mixImmediate\n */\n if (name === \"display\" || name === \"visibility\")\n return true;\n const targetKeyframe = keyframes[keyframes.length - 1];\n const isOriginAnimatable = isAnimatable(originKeyframe, name);\n const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n // Always skip if any of these are true\n if (!isOriginAnimatable || !isTargetAnimatable) {\n // Only build the message when we're going to warn\n isOriginAnimatable !== isTargetAnimatable &&\n process.env.NODE_ENV !== \"production\" &&\n warning(false, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". \"${isOriginAnimatable ? targetKeyframe : originKeyframe}\" is not an animatable value.`, \"value-not-animatable\");\n return false;\n }\n return (hasKeyframesChanged(keyframes) ||\n ((type === \"spring\" || isGenerator(type)) && velocity));\n}\n\nexport { canAnimate };\n//# sourceMappingURL=can-animate.mjs.map\n"],"names":["keyframes","name","type","velocity","originKeyframe","targetKeyframe","length","isOriginAnimatable","isAnimatable","isTargetAnimatable","current","i","hasKeyframesChanged","isGenerator","process","env","NODE_ENV","warning"],"mappings":"mPAcM,SACFA,EACAC,EACAC,EACAC,GAOA,MAAMC,EAAiBJ,EAAU,GACjC,GAAuB,OAAnBI,EACA,OAAO,EAQX,GAAa,YAATH,GAA+B,eAATA,EAAuB,OAAO,EAExD,MAAMI,EAAiBL,EAAUA,EAAUM,OAAS,GAC9CC,EAAqBC,EAAAA,aAAaJ,EAAgBH,GAClDQ,EAAqBD,EAAAA,aAAaH,EAAgBJ,GAGxD,OAAKM,GAAuBE,EApChC,SAA6BT,GACzB,MAAMU,EAAUV,EAAU,GAC1B,GAAyB,IAArBA,EAAUM,OAAc,OAAO,EACnC,IAAK,IAAIK,EAAI,EAAGA,EAAIX,EAAUM,OAAQK,IAClC,GAAIX,EAAUW,KAAOD,EAAS,OAAO,CAE7C,CA8CQE,CAAoBZ,KACT,WAATE,GAAqBW,EAAWA,YAACX,KAAUC,GAf7CI,IAAuBE,GACM,eAAzBK,QAAQC,IAAIC,UACZC,WACI,EACA,6BAA6BhB,WAAcG,UAAuBC,QAC9DE,EAAqBF,EAAiBD,iCAE1C,yBAGD,EAOf"}
|
package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./is-css-variable.mjs.js"),r=require("../../../../../motion-utils/dist/es/errors.mjs.js"),t=require("../../../../../motion-utils/dist/es/is-numerical-string.mjs.js");const i=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function s(e){const r=i.exec(e);if(!r)return[,];const[,t,s,a]=r;return[`--${t??s}`,a]}exports.getVariableValue=function i(a,n,o=1){r.invariant(o<=4,`Max CSS variable fallback depth detected in property "${a}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[c,u]=s(a);if(!c)return;const l=window.getComputedStyle(n).getPropertyValue(c);if(l){const e=l.trim();return t.isNumericalString(e)?parseFloat(e):e}return e.isCSSVariableToken(u)?i(u,n,o+1):u},exports.parseCSSVariable=s;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./is-css-variable.mjs.js"),r=require("../../../../../motion-utils/dist/es/errors.mjs.js"),t=require("../../../../../motion-utils/dist/es/is-numerical-string.mjs.js");const i=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function s(e){const r=i.exec(e);if(!r)return[,];const[,t,s,a]=r;return[`--${t??s}`,a]}exports.getVariableValue=function i(a,n,o=1){"production"!==process.env.NODE_ENV&&r.invariant(o<=4,`Max CSS variable fallback depth detected in property "${a}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[c,u]=s(a);if(!c)return;const l=window.getComputedStyle(n).getPropertyValue(c);if(l){const e=l.trim();return t.isNumericalString(e)?parseFloat(e):e}return e.isCSSVariableToken(u)?i(u,n,o+1):u},exports.parseCSSVariable=s;
|
|
2
2
|
//# sourceMappingURL=css-variables-conversion.mjs.js.map
|
package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-variables-conversion.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs"],"sourcesContent":["import { invariant, isNumericalString } from 'motion-utils';\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 ?? 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.`, \"max-css-var-depth\");\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//# sourceMappingURL=css-variables-conversion.mjs.map\n"],"names":["splitCSSVariableRegex","parseCSSVariable","current","match","exec","token1","token2","fallback","getVariableValue","element","depth","invariant","token","resolved","window","getComputedStyle","getPropertyValue","trimmed","trim","isNumericalString","parseFloat","isCSSVariableToken"],"mappings":"yPAcA,MAAMA,EAEF,2DACE,SAAUC,EAAiBC,GAC7B,MAAMC,EAAQH,EAAsBI,KAAKF,GACzC,IAAKC,EAAO,MAAO,IAEnB,MAASE,CAAAA,EAAQC,EAAQC,GAAYJ,EACrC,MAAO,CAAC,KAAKE,GAAUC,IAAUC,EACrC,0BAGM,SAAUC,EACZN,EACAO,EACAC,EAAQ,
|
|
1
|
+
{"version":3,"file":"css-variables-conversion.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs"],"sourcesContent":["import { invariant, isNumericalString } from 'motion-utils';\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 ?? token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n process.env.NODE_ENV !== \"production\" &&\n invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`, \"max-css-var-depth\");\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//# sourceMappingURL=css-variables-conversion.mjs.map\n"],"names":["splitCSSVariableRegex","parseCSSVariable","current","match","exec","token1","token2","fallback","getVariableValue","element","depth","process","env","NODE_ENV","invariant","token","resolved","window","getComputedStyle","getPropertyValue","trimmed","trim","isNumericalString","parseFloat","isCSSVariableToken"],"mappings":"yPAcA,MAAMA,EAEF,2DACE,SAAUC,EAAiBC,GAC7B,MAAMC,EAAQH,EAAsBI,KAAKF,GACzC,IAAKC,EAAO,MAAO,IAEnB,MAASE,CAAAA,EAAQC,EAAQC,GAAYJ,EACrC,MAAO,CAAC,KAAKE,GAAUC,IAAUC,EACrC,0BAGM,SAAUC,EACZN,EACAO,EACAC,EAAQ,GAEiB,eAAzBC,QAAQC,IAAIC,UACRC,EAASA,UACLJ,GARK,EASL,yDAAyDR,wDACzD,qBAGR,MAAOa,EAAOR,GAAYN,EAAiBC,GAG3C,IAAKa,EAAO,OAGZ,MAAMC,EAAWC,OAAOC,iBAAiBT,GAASU,iBAAiBJ,GAEnE,GAAIC,EAAU,CACV,MAAMI,EAAUJ,EAASK,OACzB,OAAOC,EAAAA,kBAAkBF,GAAWG,WAAWH,GAAWA,CAC9D,CAEA,OAAOI,EAAkBA,mBAACjB,GACpBC,EAAiBD,EAAUE,EAASC,EAAQ,GAC5CH,CACV"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);exports.isTransitionDefined=function(r){for(const t in r)if(!e.has(t))return!0;return!1};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed","out","mixer"]);exports.isTransitionDefined=function(r){for(const t in r)if(!e.has(t))return!0;return!1};
|
|
2
2
|
//# sourceMappingURL=is-transition-defined.mjs.js.map
|
package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-transition-defined.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs"],"sourcesContent":["const orchestrationKeys = new Set([\n \"when\",\n \"delay\",\n \"delayChildren\",\n \"staggerChildren\",\n \"staggerDirection\",\n \"repeat\",\n \"repeatType\",\n \"repeatDelay\",\n \"from\",\n \"elapsed\",\n]);\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(transition) {\n for (const key in transition) {\n if (!orchestrationKeys.has(key))\n return true;\n }\n return false;\n}\n\nexport { isTransitionDefined };\n//# sourceMappingURL=is-transition-defined.mjs.map\n"],"names":["orchestrationKeys","Set","transition","key","has"],"mappings":"oEAGA,MAAMA,EAAoB,IAAIC,IAAI,CAC9B,OACA,QACA,gBACA,kBACA,mBACA,SACA,aACA,cACA,OACA,
|
|
1
|
+
{"version":3,"file":"is-transition-defined.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs"],"sourcesContent":["const orchestrationKeys = new Set([\n \"when\",\n \"delay\",\n \"delayChildren\",\n \"staggerChildren\",\n \"staggerDirection\",\n \"repeat\",\n \"repeatType\",\n \"repeatDelay\",\n \"from\",\n \"elapsed\",\n \"out\",\n \"mixer\",\n]);\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(transition) {\n for (const key in transition) {\n if (!orchestrationKeys.has(key))\n return true;\n }\n return false;\n}\n\nexport { isTransitionDefined };\n//# sourceMappingURL=is-transition-defined.mjs.map\n"],"names":["orchestrationKeys","Set","transition","key","has"],"mappings":"oEAGA,MAAMA,EAAoB,IAAIC,IAAI,CAC9B,OACA,QACA,gBACA,kBACA,mBACA,SACA,aACA,cACA,OACA,UACA,MACA,sCAQE,SACFC,GAEA,IAAK,MAAMC,KAAOD,EACd,IAAKF,EAAkBI,IAAID,GAAM,OAAO,EAE5C,OAAO,CACX"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../../frameloop/frame-data.mjs.js"),a=require("../../frameloop/sync-time.mjs.js");function i(i,e){return{kind:i,animation:e,timestamp:a.time.now(),frameTimestamp:t.frameData.timestamp,frameIsProcessing:t.frameData.isProcessing}}exports.notifyAnimationStart=function(t,a,e){const o=globalThis.__MOTION_INSPECT__;if(o)try{o({...i("animation-start",t),options:e?{...a,...e}:a})}catch{}},exports.notifyLayoutAnimationStart=function(t,a){const e=globalThis.__MOTION_INSPECT__;if(e)try{e({...i("layout-animation-start",t),node:a})}catch{}};
|
|
2
|
+
//# sourceMappingURL=notify-inspector.mjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify-inspector.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs"],"sourcesContent":["import { frameData } from '../../frameloop/frame-data.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\n\nfunction baseRecord(kind, animation) {\n return {\n kind,\n animation,\n timestamp: time.now(),\n frameTimestamp: frameData.timestamp,\n frameIsProcessing: frameData.isProcessing,\n };\n}\n/**\n * Notify an optional inspector without adding a public Motion API.\n *\n * The record is a raw firehose: the live animation handle, the concrete\n * animation's internal options object untouched (timing fields in\n * internal milliseconds, name/keyframes/element/motionValue still\n * attached), a timestamp and the raw frameloop state at notify time.\n * All interpretation belongs to the consumer behind\n * globalThis.__MOTION_INSPECT__.\n */\nfunction notifyAnimationStart(animation, options, transition) {\n const notify = globalThis.__MOTION_INSPECT__;\n if (!notify)\n return;\n try {\n notify({\n ...baseRecord(\"animation-start\", animation),\n options: transition ? { ...options, ...transition } : options,\n });\n }\n catch { }\n}\n/**\n * Layout animations drive a projection node's progress rather than a\n * property, so the record forwards the live node itself: it carries the\n * DOM instance, the layout options (layoutId) and the progress handle.\n * Fired inside the frame.update that starts the animation, so nodes\n * animating in the same layout commit share frameTimestamp.\n */\nfunction notifyLayoutAnimationStart(animation, node) {\n const notify = globalThis.__MOTION_INSPECT__;\n if (!notify)\n return;\n try {\n notify({\n ...baseRecord(\"layout-animation-start\", animation),\n node,\n });\n }\n catch { }\n}\n\nexport { notifyAnimationStart, notifyLayoutAnimationStart };\n//# sourceMappingURL=notify-inspector.mjs.map\n"],"names":["baseRecord","kind","animation","timestamp","time","now","frameTimestamp","frameData","frameIsProcessing","isProcessing","notifyAnimationStart","options","transition","notify","globalThis","__MOTION_INSPECT__","node"],"mappings":"qKA8BA,SAASA,EACLC,EACAC,GAEA,MAAO,CACHD,OACAC,YACAC,UAAWC,EAAIA,KAACC,MAChBC,eAAgBC,EAASA,UAACJ,UAC1BK,kBAAmBD,EAASA,UAACE,aAErC,8BAYgBC,SACZR,EACAS,EACAC,GAEA,MAAMC,EAAUC,WAA6BC,mBAC7C,GAAKF,EAEL,IACIA,EAAO,IACAb,EAAW,kBAAmBE,GACjCS,QAASC,EAAa,IAAKD,KAAYC,GAAeD,GAE9D,CAAE,MAAO,CACb,qCASM,SACFT,EACAc,GAEA,MAAMH,EAAUC,WAA6BC,mBAC7C,GAAKF,EAEL,IACIA,EAAO,IACAb,EAAW,yBAA0BE,GACxCc,QAER,CAAE,MAAO,CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-start-time.mjs.js","sources":["../../../../../../../node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs"],"sourcesContent":["import { MotionGlobalConfig } from 'motion-utils';\n\n/**\n * If an animation's keyframes resolve, or its first frame renders, more than\n * this long after its start time, it starts from then instead. While we prefer\n * to \"start\" an animation as soon as it's triggered, this avoids a visual jump\n * into it after main thread work.\n *\n * Manual timing steps frames by however long it likes, so never lags.\n */\nconst MAX_START_DELAY = 40;\nconst resolveStartTime = (startTime, now) => now - startTime > MAX_START_DELAY && !MotionGlobalConfig.useManualTiming\n ? now\n : startTime;\n\nexport { resolveStartTime };\n//# sourceMappingURL=resolve-start-time.mjs.map\n"],"names":["resolveStartTime","startTime","now","MotionGlobalConfig","useManualTiming"],"mappings":"uKAYgCA,CAACC,EAAmBC,IAChDA,EAAMD,EAHc,KAGkBE,EAAAA,mBAAmBC,gBACnDF,EACAD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils/accelerated-values.mjs.js"),r=require("../utils/is-browser-color.mjs.js"),o=require("../../../../../../motion-utils/dist/es/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils/accelerated-values.mjs.js"),r=require("../utils/is-browser-color.mjs.js"),o=require("../utils/needs-mixer.mjs.js"),t=require("../../../../../../motion-utils/dist/es/global-config.mjs.js");const s=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),n=()=>!t.MotionGlobalConfig.useManualTiming&&Object.hasOwnProperty.call(Element.prototype,"animate");exports.supportsBrowserAnimation=function(t){const{motionValue:a,name:l,repeatDelay:i,repeatType:u,damping:c,type:m,keyframes:p}=t;if(!l||!e.acceleratedValues.has(l)&&!s.has(l))return!1;const d=a?.owner?.current;if(!(d instanceof HTMLElement||d instanceof SVGElement))return!1;const{onUpdate:f,transformTemplate:b}=a.owner.getProps();return n()&&(e.acceleratedValues.has(l)||s.has(l)&&r.hasBrowserOnlyColors(p))&&("transform"!==l||!b)&&!f&&!i&&"mirror"!==u&&0!==c&&"inertia"!==m&&!o.needsMixer(t)},exports.supportsWaapi=n;
|
|
2
2
|
//# sourceMappingURL=waapi.mjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waapi.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"waapi.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs"],"sourcesContent":["import { MotionGlobalConfig } from 'motion-utils';\nimport { acceleratedValues } from '../utils/accelerated-values.mjs';\nimport { hasBrowserOnlyColors } from '../utils/is-browser-color.mjs';\nimport { needsMixer } from '../utils/needs-mixer.mjs';\n\nconst colorProperties = new Set([\n \"color\",\n \"backgroundColor\",\n \"outlineColor\",\n \"fill\",\n \"stroke\",\n \"borderColor\",\n \"borderTopColor\",\n \"borderRightColor\",\n \"borderBottomColor\",\n \"borderLeftColor\",\n]);\n/**\n * WAAPI runs on the browser's clock, so on a manual clock every animation\n * runs in JS where processFrame can drive it. Set the flag before starting\n * animations: running WAAPI animations stay on the browser's clock.\n */\nconst supportsWaapi = () => !MotionGlobalConfig.useManualTiming &&\n Object.hasOwnProperty.call(Element.prototype, \"animate\");\nfunction supportsBrowserAnimation(options) {\n const { motionValue, name, repeatDelay, repeatType, damping, type, keyframes, } = options;\n /**\n * Most values can't be accelerated at all, so check the name before\n * looking at the element or its props.\n */\n if (!name ||\n !(acceleratedValues.has(name) || colorProperties.has(name))) {\n return false;\n }\n const subject = motionValue?.owner?.current;\n /**\n * We use instanceof checks instead of isHTMLElement()/isSVGElement()\n * because we explicitly **don't** want elements in different timing\n * contexts (i.e. popups) to be accelerated, as it's not possible to sync\n * these animations properly with those driven from the main window\n * frameloop.\n */\n if (!(subject instanceof HTMLElement) &&\n !(subject instanceof SVGElement)) {\n return false;\n }\n const { onUpdate, transformTemplate } = motionValue.owner.getProps();\n return (supportsWaapi() &&\n /**\n * Force WAAPI for color properties with browser-only color formats\n * (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse.\n */\n (acceleratedValues.has(name) ||\n (colorProperties.has(name) &&\n hasBrowserOnlyColors(keyframes))) &&\n (name !== \"transform\" || !transformTemplate) &&\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 !onUpdate &&\n !repeatDelay &&\n repeatType !== \"mirror\" &&\n damping !== 0 &&\n type !== \"inertia\" &&\n !needsMixer(options));\n}\n\nexport { supportsBrowserAnimation, supportsWaapi };\n//# sourceMappingURL=waapi.mjs.map\n"],"names":["colorProperties","Set","supportsWaapi","MotionGlobalConfig","useManualTiming","Object","hasOwnProperty","call","Element","prototype","options","motionValue","name","repeatDelay","repeatType","damping","type","keyframes","acceleratedValues","has","subject","owner","current","HTMLElement","SVGElement","onUpdate","transformTemplate","getProps","hasBrowserOnlyColors","needsMixer"],"mappings":"wRASA,MAAMA,EAAkB,IAAIC,IAAI,CAC5B,QACA,kBACA,eACA,OACA,SACA,cACA,iBACA,mBACA,oBACA,oBAQSC,EAAgBA,KACxBC,EAAkBA,mBAACC,iBACpBC,OAAOC,eAAeC,KAAKC,QAAQC,UAAW,4CAE5C,SACFC,GAEA,MAAMC,YACFA,EAAWC,KACXA,EAAIC,YACJA,EAAWC,WACXA,EAAUC,QACVA,EAAOC,KACPA,EAAIC,UACJA,GACAP,EAMJ,IACKE,IACCM,EAAAA,kBAAkBC,IAAIP,KAASZ,EAAgBmB,IAAIP,GAErD,OAAO,EAGX,MAAMQ,EAAUT,GAAaU,OAAOC,QASpC,KACMF,aAAmBG,aACnBH,aAAmBI,YAErB,OAAO,EAGX,MAAMC,SAAEA,EAAQC,kBAAEA,GAAsBf,EAAaU,MAAOM,WAE5D,OACIzB,MAKCgB,EAAAA,kBAAkBC,IAAIP,IAClBZ,EAAgBmB,IAAIP,IACjBgB,EAAoBA,qBAACX,MACnB,cAATL,IAAyBc,KAKzBD,IACAZ,GACc,WAAfC,GACY,IAAZC,GACS,YAATC,IACCa,EAAUA,WAACnB,EAEpB"}
|
package/dist/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../frameloop/frame.mjs.js"),t=require("../../../frameloop/frame-data.mjs.js"),s=require("../../../frameloop/sync-time.mjs.js"),r=require("../../../render/html/utils/build-transform.mjs.js"),i=require("../../../render/utils/keys-transform.mjs.js"),n=require("../../../utils/mix/number.mjs.js"),o=require("../../drivers/frame.mjs.js"),a=require("../../generators/keyframes.mjs.js"),u=require("../../keyframes/offsets/default.mjs.js"),c=require("../../JSAnimation.mjs.js"),f=require("../../NativeAnimationExtended.mjs.js"),l=require("../easing/cubic-bezier.mjs.js"),m=require("../easing/supported.mjs.js"),h=require("../supports/waapi.mjs.js"),p=require("../utils/needs-mixer.mjs.js"),d=require("../../../utils/supports/linear-easing.mjs.js"),g=require("./groups.mjs.js"),j=require("../../../../../../motion-utils/dist/es/easing/utils/is-easing-array.mjs.js"),y=require("../../../../../../motion-utils/dist/es/easing/utils/is-bezier-definition.mjs.js"),b=require("../../../../../../motion-utils/dist/es/easing/utils/map.mjs.js"),v=require("../../../../../../motion-utils/dist/es/time-conversion.mjs.js"),A=require("../../../../../../motion-utils/dist/es/clamp.mjs.js"),M=require("../../../../../../motion-utils/dist/es/progress.mjs.js");const w=.001,S=100,T=new Set(["linear","easeIn","easeOut","easeInOut"]),D=new WeakMap,k=(e,t)=>Math.min(200,Math.max(2,Math.ceil((t-e)/f.sampleDelta))),q=(e,t)=>Math.abs(e-t)<=.001,J=(e,t)=>e-t,E=(e,t,s)=>u.defaultOffset(Array(s+1)).map(s=>n.mixNumber(e,t,s)),O=e=>e.motionValue.owner,x=e=>g.transformGroups.get(e),P=({state:e})=>"idle"===e||"finished"===e,V=(e,t)=>e.latestValues?e.latestValues[t]:e.getValue(t)?.get();class F{constructor(e,t,s,r){this.element=e,this.update=t,this.makeDriver=s,this.animation=r}get js(){return this.driver||(this.driver=this.makeDriver(this.update))}now(){return this.driver||this.makeDriver!==o.frameloopDriver?this.js.now():t.frameData.isProcessing?t.frameData.timestamp:s.time.now()}start(e=!0){const t=x(this.element);!t||t.isJS?this.js.start(e):t.schedule(!1,!e)}stopJS(){this.driver?.stop()}stop(){this.stopJS();const e=x(this.element);e&&!e.isFinishing&&e.release(this.animation)}}let R,z;class W extends c.JSAnimation{constructor(e){const t=O(e).current,{driver:s=o.frameloopDriver}=e;let r;const i=function(e){const t=O(e),{onUpdate:s,transformTemplate:r}=t.getProps();return!(e.isHandoff||s||e.hasOnUpdate||r||"inertia"===e.type||"none"!==(V(t,"transform")||"none")||V(t,"pathRotation")||t.projection?.isProjecting()||p.needsMixer(e))}(e);e.driver=e=>new F(t,e,s,r),super(e),r=this;const n=this.driver;n&&(n.animation=this),this.canAccelerate=i;const{stop:a}=this;this.stop=()=>{this.isAccelerated()&&this.sync(),a()}}offsets(){const{keyframes:e,times:t}=this.options;return t||(this.offsetsOf!==e&&(this.offsetsOf=e,this.cachedOffsets=u.defaultOffset(e)),this.cachedOffsets)}get group(){return x(O(this.options).current)}get js(){return this.driver?.js}stopJS(){this.driver?.stopJS()}get name(){return this.options.name}timing(){const{startTime:e,speed:t,totalDuration:s}=this,{delay:r=0,repeatType:i}=this.options;return null!==this.holdTime?[1/0,0]:s===1/0?[e+r/t,this.resolvedDuration*("loop"===i?1:2)/t||1]:[e+(r+s)/t,0]}isAccelerated(){const{group:e,state:t}=this;return e?.tracks.has(this)&&!e.isJS&&this.canAccelerate&&("running"===t||"paused"===t)}liveValue(){return this.isAccelerated()?this.sampleAt(s.time.now()):void 0}tween(){const{keyframes:e,type:t,repeat:s,delay:r=0}=this.options;let i=-1;if(s||t!==a.keyframes||null!==this.holdTime)return;for(let t=1;t<e.length;t++)if(e[t]!==e[t-1]){if(i>=0)return;i=t-1}let{ease:n}=this.options;j.isEasingArray(n)&&(n=n[i]);const o=this.offsets(),u=e=>this.startTime+(r+o[e]*this.totalDuration)/this.speed;if(i>=0){const e=y.isBezierDefinition(n)?l.cubicBezierAsString(n):(e=>T.has(e))(n)?m.supportedWaapiEasing[n]:b.easingDefinitionToFunction(n);return[u(i),u(i+1),"string"==typeof e||q(e(0),0)&&q(e(1),1)?e:void 0]}}boundaries(e,t){const{startTime:s,speed:r,resolvedDuration:i,options:n}=this,{delay:o=0,repeat:u=0,repeatDelay:c=0,repeatType:f,type:l}=n,m=(l||a.keyframes)===a.keyframes?this.offsets():[0,1],h=s+o/r,p=[];if(null!==this.holdTime||!(i>0))return p;for(let s=Math.max(0,Math.floor((e-h)*r/i));s<=u;s++){const n=h+s*i/r;if(n>t)break;for(const o of m){const a=n+(s%2&&f&&"loop"!==f?1-o:o)*(i-c)/r;a>e&&a<t&&p.push(a)}}return p}numberAt(e){return parseFloat(this.sampleAt(e,!0))}sync(){const e=s.time.now(),t=this.sampleAt(e,!0);this.options.motionValue.setWithVelocity(null===this.holdTime?this.sampleAt(e-f.sampleDelta,!0):t,t,f.sampleDelta)}play(){this.isStopped||((this.group||function(n){const o=n.current,a=new Set,f=new Map;let l,m,h={},p=[],d=new Map,j=[],y=!1,b=!1,v=!1,A=!1,T=-1/0,O=1/0;const F=e=>{for(const t of a)if(t.name===e)return!0},R=(e,t)=>{const s={};for(const r of void 0===e?i.transformPropOrder:p){const i=f.get(r),o=void 0===e?V(n,r):i?i.sampleAt(t>e&&!i.timing()[1]?t:e):h[r];void 0!==o&&(s[r]=o)}return s},z=(e,t)=>{let s="";for(const i in e){const n=e[i];t&&r.isDefaultTransform(i,n)||(s+=r.transformFunction(i,n)+" ")}return(t?s.trim():s)||"none"},W=(e,t)=>z(R(e,t)),N=(e=R())=>{o.style.transform=z(e,!0)},B=e=>{e.onfinish=e.oncancel=null,e.cancel()},H=(e=!0)=>{clearTimeout(l),O=1/0,m=void 0,e&&N(),j.forEach(({animation:e})=>B(e)),j=[]},I=(e,t)=>new Animation(new KeyframeEffect(o,e,t)),L=(e,t,r=1/0)=>{const i={animation:e,offset:t,end:r};e.startTime=s.time.now()+t,r<1/0&&(e.onfinish=()=>{i.isDone=!0,j.some(e=>e.end===1/0)&&(B(e),j=j.filter(e=>e!==i)),te.schedule(!1)}),e.oncancel=()=>j.includes(i)&&te.demote(),j.push(i)},U=(e,t,s)=>{const r=(t,s)=>Math.abs(e(s)-e(t)),i=r(t,s);for(;s-t>.01;){const e=(t+s)/2;r(t,e)>r(e,s)?s=e:t=e}return r(t,s)>i/2?[t,s]:[]},_=(e,t,s,r)=>{const i=k(t,s);if(4*r.length>i)return;let n;for(const r of e){const e=r.numberAt(t),i=(r.numberAt((t+s)/2)-e)/(r.numberAt(s)-e);if(i==i)if(void 0===n)n=i;else if(!q(i,n))return}const o=E(t,s,i).concat(r).sort(J),a=e=>M.progress(t,s,e);let u,f;for(const s of e){const e=s.numberAt(t),r=o.map(t=>s.numberAt(t)-e),i=r[r.length-1],n=r.some(e=>Math.abs(e)*w>Math.abs(i))?0:i,a=r.map(e=>n?e/n:e);if(n&&!u)u=a,f=t=>(s.numberAt(t)-e)/n;else if(a.some((e,t)=>!q(e,n&&u[t])))return}if(!u||u.every((e,t)=>q(e,a(o[t]))))return"linear";const l=[],m=(e,t=f(e))=>l.push(c.round(t)+" "+c.round(100*a(e))+"%");return u.forEach((e,t)=>{t&&Math.abs(e-u[t-1])>.2&&U(f,o[t-1],o[t]).forEach(e=>m(e)),m(o[t],e)}),"linear("+l+")"},K=(e,t,s,r)=>{const i=[t],n=[];let o=s,a=t;for(const r of e){const e=r.tween();if("linear"!==e?.[2]){const[i,u]=r.timing(),[c,f]=e||[t,u?s:i];o=Math.min(o,c),a=Math.max(a,f),n.push(r)}}o=Math.max(t,o),a=Math.min(s,a);const u=(e,t)=>n.every(s=>!(Math.abs(s.numberAt((e+t)/2)-(s.numberAt(e)+s.numberAt(t))/2)>(s.name.startsWith("scale")?.001:.1))),c=(t,s,r)=>{if(s-t<1||u(t,s))i.push(s);else if(r<4)c(t,(t+s)/2,r+1),c((t+s)/2,s,r+1);else{for(const r of e)i.push(...U(e=>r.numberAt(e),t,s));i.push(s)}},f=a>o?E(o,a,Math.ceil((a-o)/100)):[];f.push(s);for(const e of r)f.push(e,Math.min(e+.01,s));let l=t;for(const e of f.sort(J))e>l&&c(l,e,0),l=e;return i.sort(J)},C=e=>{let t;for(const s of e){const e=s.tween();if(!e||t&&(Math.abs(e[0]-t[0])>1||Math.abs(e[1]-t[1])>1))return;t=[e[0],e[1],t&&e[2]!==t[2]?void 0:e[2]]}return t},Q=(e,t,s,r,i={fill:"both"},n)=>{const o=r?[]:e.flatMap(e=>e.boundaries(t,s)),a=r||_(e,t,s,o),u=a?[t,s]:K(e,t,s,o),c=u.map(e=>W(e,n));let f={transform:c};return a||(f.offset=u.map(e=>M.progress(t,s,e))),c.every(e=>e===c[0])&&(N(R(t,n)),f=null),I(f,{...i,duration:s-t,easing:a||"linear"})},X=e=>{const t=s.time.now()+e;t<O&&(clearTimeout(l),O=t,l=setTimeout(()=>{O=1/0,te.schedule(!1)},e))},Y=e=>{let t=e,s=0,o=0;const l=[],g=[],y=new Set;f.clear(),d=new Map;for(const r of a){f.set(r.name,r);const[i,n]=r.timing(),a=i===1/0;if(d.set(r,[r.at(e),r.speed,a]),!a){if(r.speed<0)return;if(n){if(s){const e=(i-o)/n;if(Math.abs(n-s)>1||Math.abs(e-Math.round(e))*s>1)return}else s=n,o=i;g.push(r)}else y.add(i);l.push(r),t=Math.max(t,i)}}h={},p=i.transformPropOrder.filter(e=>{if(f.has(e))return!0;const t=h[e]=V(n,e);return void 0!==t&&!r.isDefaultTransform(e,t)}),H(!1);const b=!s&&C(l);try{if(t>e){let s;if(b&&b[1]>e){const[r,i,n]=b;if(r-e>S)return l.forEach(e=>e.sync()),X(m=r-e-S),!0;s="string"==typeof n?n:n?((e,t)=>{let s=D.get(e);return s?.[0]!==t&&(s=[t,"linear("+u.defaultOffset(Array(t+1)).map(t=>c.round(e(t))+" "+c.round(100*t)+"%")+")"],D.set(e,s)),s[1]})(n,k(r,i)):_(l,r,i,[]),s&&L(Q(l,r,i,s,{fill:"both",endDelay:t-i}),r-e,t-r)}s||L(Q(l,e,t),0,t-e),y.forEach(s=>s<t-1&&L(I(null,{duration:s-e}),0,s-e))}if(s){const r=o+Math.floor((t-o)/s)*s;L(Q(g,r,r+s,void 0,{iterations:1/0,iterationStart:(t-r)/s,fill:"forwards"},t),t-e)}}catch{return}return j.length||H(),!0},Z=(e,t)=>{let s,r=0;for(const t of a){const i=d.get(t);if(!i)return!1;const[n,o,a]=i,u=t.at(e),c=t.timing()[0]===1/0;if(a){if(c&&(u===n||!j.length))continue;return!1}const f=(u-n)/o,l=c?0:t.speed/o;if(void 0===s)s=f,r=l;else if(Math.abs(f-s)>1||l!==r)return!1}if(void 0===s)return!0;if(!j.length){if(void 0===m||t&&r)return!1;if(r){const e=(m-s)/r;if(e<1)return!1;X(e)}return!0}for(const{offset:e,end:r,isDone:i}of j){const n=s-e;if(r<1/0&&(i?n<r-1:n<0&&(t||e<=0)||n>=r))return!1}for(const{animation:t,offset:i,isDone:n}of j){if(n)continue;const o=s-i;r&&t.updatePlaybackRate&&"running"===t.playState&&Math.abs(Number(t.currentTime)-o)<20?t.playbackRate!==r&&t.updatePlaybackRate(r):r?(t.playbackRate!==r&&(t.playbackRate=r),t.startTime=e-o/r):(t.startTime=null,t.currentTime=o)}return!0},$=()=>!a.size&&(v=!0,x(o)===te&&g.transformGroups.delete(o),te.isJS||H(),!0),ee=()=>{const e=s.time.now();if(te.isJS||(te.isFinishing=!0,a.forEach(t=>{const[s,r]=t.timing();"running"===t.state&&t.speed>0&&!r&&s<=e+1&&(t.complete(),h[t.name]=V(n,t.name),d.has(t)||(y=!0))}),te.isFinishing=!1),b=!1,v)return;if(a.forEach(e=>P(e)&&a.delete(e)),$())return;for(const e of a)if(!e.canAccelerate)return te.demote(!0);te.isJS&&(te.isJS=!1,y=!0,a.forEach(e=>e.stopJS()));const t=y,r=A;if(y=A=!1,t||!Z(e,r)){if(r){if(e-T<100)return te.demote();T=e}if(!Y(e))return te.demote()}else if(void 0!==m&&!r)return;a.forEach(e=>e.timing()[0]===1/0&&e.sync())},te={tracks:a,isJS:!1,isFinishing:!1,schedule(s,r){v||(y||(y=s),A||(A=!!r),b||(b=!0,t.frameData.isProcessing?e.frame.render(ee,!1,!0):G(ee)))},release(e){P(e)&&a.delete(e),$()||te.schedule(!0)},check(){if(!te.isJS)for(const e in h)if(V(n,e)!==h[e]&&!F(e))return te.schedule(!0,!0)},demote(e){if(!te.isJS&&!v)return a.forEach(t=>{t.isAccelerated()&&t.sync(),e||(t.canAccelerate=!1)}),te.isJS=!0,d=new Map,H(),a.forEach(e=>"running"===e.state&&e.js?.start()),!0}};return g.transformGroups.set(o,te),te}(O(this.options))).tracks.add(this),super.play())}pause(){super.pause(),this.isAccelerated()&&this.group.schedule(!1)}complete(){super.complete();const{group:e}=this;e&&!e.isJS&&this.tick(s.time.now())}get time(){return this.isAccelerated()?v.millisecondsToSeconds(A.clamp(0,this.totalDuration,this.at(s.time.now())-(this.options.delay||0))):super.time}set time(e){(R??(R=Object.getOwnPropertyDescriptor(c.JSAnimation.prototype,"time").set)).call(this,e)}attachTimeline(e){return this.canAccelerate=!1,this.group?.demote(!0),super.attachTimeline(e)}}const G=e=>{z||queueMicrotask(()=>{const e=z;z=void 0,e.forEach(e=>e())}),(z||(z=[])).push(e)};exports.TransformAnimation=W,exports.canGroupTransform=({name:e,motionValue:t})=>e&&i.transformPropOrder.includes(e)&&t?.owner?.current instanceof HTMLElement&&h.supportsWaapi()&&d.supportsLinearEasing();
|
|
2
|
+
//# sourceMappingURL=TransformAnimation.mjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformAnimation.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs"],"sourcesContent":["import { isEasingArray, isBezierDefinition, easingDefinitionToFunction, millisecondsToSeconds, clamp, progress } from 'motion-utils';\nimport { frame } from '../../../frameloop/frame.mjs';\nimport { frameData } from '../../../frameloop/frame-data.mjs';\nimport { time } from '../../../frameloop/sync-time.mjs';\nimport { isDefaultTransform, transformFunction } from '../../../render/html/utils/build-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\nimport { frameloopDriver } from '../../drivers/frame.mjs';\nimport { keyframes } from '../../generators/keyframes.mjs';\nimport { defaultOffset } from '../../keyframes/offsets/default.mjs';\nimport { JSAnimation, round } from '../../JSAnimation.mjs';\nimport { sampleDelta } from '../../NativeAnimationExtended.mjs';\nimport { cubicBezierAsString } from '../easing/cubic-bezier.mjs';\nimport { supportedWaapiEasing } from '../easing/supported.mjs';\nimport { supportsWaapi } from '../supports/waapi.mjs';\nimport { needsMixer } from '../utils/needs-mixer.mjs';\nimport { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { transformGroups } from './groups.mjs';\n\n/**\n * Sample at the interruption sampling rate, up to a cap for long\n * animations.\n */\nconst maxSamples = 200;\n/**\n * How far values may stray from the WAAPI animation: as a fraction of\n * each value's change when they share an easing, otherwise in px or deg,\n * or for scale.\n */\nconst easingTolerance = 0.001;\nconst sampleTolerance = 0.1;\nconst scaleTolerance = 0.001;\n/**\n * If an outside write, or a seek the WAAPI animation can't follow,\n * happens again within this window, the group is being driven every\n * frame (scrubbing, drag), which is cheaper on the main thread than\n * rebuilding the WAAPI animation every frame.\n */\nconst churnWindow = 100;\n/**\n * A WAAPI animation that starts moving later than this, as most segments\n * of a long sequence do, is built this long before it starts, rather than\n * all at once at the start.\n */\nconst buildAhead = 100;\n/**\n * Named easings that are the same cubic-bezier in JS and CSS.\n */\nconst nativeEasings = new Set([\"linear\", \"easeIn\", \"easeOut\", \"easeInOut\"]);\nconst isNativeEasing = (ease) => nativeEasings.has(ease);\n/**\n * The last trace of each easing WAAPI can't run into linear(), with its\n * number of samples, so the elements of a sequence that share an easing\n * and duration trace it once.\n */\nconst traced = new WeakMap();\nconst trace = (ease, samples) => {\n let last = traced.get(ease);\n if (last?.[0] !== samples) {\n last = [\n samples,\n \"linear(\" +\n defaultOffset(Array(samples + 1)).map((p) => round(ease(p)) + \" \" + round(p * 100) + \"%\") +\n \")\",\n ];\n traced.set(ease, last);\n }\n return last[1];\n};\n/**\n * How many samples trace an easing between two timestamps.\n */\nconst countSamples = (from, to) => Math.min(maxSamples, Math.max(2, Math.ceil((to - from) / sampleDelta)));\n/**\n * Whether two eased progresses match. False if either is NaN.\n */\nconst isNear = (a, b) => Math.abs(a - b) <= easingTolerance;\nconst byTime = (a, b) => a - b;\n/**\n * n + 1 evenly spaced timestamps, from one timestamp to another.\n */\nconst spread = (from, to, n) => defaultOffset(Array(n + 1)).map((p) => mixNumber(from, to, p));\nconst getOwner = (options) => options.motionValue.owner;\nconst getGroup = (element) => transformGroups.get(element);\n/**\n * Whether an animation has ended, so can leave its group.\n */\nconst hasEnded = ({ state }) => state === \"idle\" || state === \"finished\";\nconst read = (owner, key) => owner.latestValues ? owner.latestValues[key] : owner.getValue(key)?.get();\n/**\n * Whether this animation should join its element's transform group.\n * Animations that can't be accelerated still join, so the group knows\n * to stay on the main thread while they run. Browsers without linear()\n * easing stay on the main thread.\n */\nconst canGroupTransform = ({ name, motionValue, }) => name &&\n transformPropOrder.includes(name) &&\n motionValue?.owner?.current instanceof HTMLElement &&\n supportsWaapi() &&\n supportsLinearEasing();\nfunction canAccelerateTransform(options) {\n const owner = getOwner(options);\n const { onUpdate, transformTemplate } = owner.getProps();\n return (\n /**\n * A handoff from an optimised appear animation is already running\n * on its own WAAPI animation. onUpdate needs every value, every\n * frame.\n */\n !options.isHandoff &&\n !onUpdate &&\n !options.hasOnUpdate &&\n /**\n * transformTemplate could output anything.\n */\n !transformTemplate &&\n options.type !== \"inertia\" &&\n /**\n * A literal transform, or pathRotation, replaces or adds to the\n * transform we'd build. styleEffect builds its own as \"none\".\n */\n (read(owner, \"transform\") || \"none\") === \"none\" &&\n !read(owner, \"pathRotation\") &&\n /**\n * Layout animations write transform every frame.\n */\n !owner.projection?.isProjecting() &&\n /**\n * A mixer that blends these values makes them every frame. It's\n * asked last, as it's user code.\n */\n !needsMixer(options));\n}\n/**\n * Starting or stopping tells the group to update its WAAPI animation.\n * The frame loop driver is only made once the group is on the main\n * thread, as accelerated animations never tick.\n */\nclass TransformDriver {\n constructor(element, update, makeDriver, animation) {\n this.element = element;\n this.update = update;\n this.makeDriver = makeDriver;\n this.animation = animation;\n }\n get js() {\n return (this.driver || (this.driver = this.makeDriver(this.update)));\n }\n now() {\n return this.driver || this.makeDriver !== frameloopDriver\n ? this.js.now()\n : frameData.isProcessing\n ? frameData.timestamp\n : time.now();\n }\n /**\n * keepAlive is false when seeking. Seeking the WAAPI animation is\n * free, but if a seek needs a rebuild and keeps happening, the group\n * moves to the main thread.\n */\n start(keepAlive = true) {\n const group = getGroup(this.element);\n !group || group.isJS\n ? this.js.start(keepAlive)\n : group.schedule(false, !keepAlive);\n }\n stopJS() {\n this.driver?.stop();\n }\n stop() {\n this.stopJS();\n const group = getGroup(this.element);\n group && !group.isFinishing && group.release(this.animation);\n }\n}\n/**\n * JSAnimation's time setter, looked up on first use rather than at module\n * load, so the module has no top-level side effects and stays\n * tree-shakeable in flattened bundles.\n */\nlet setTime;\nclass TransformAnimation extends JSAnimation {\n constructor(options) {\n const element = getOwner(options).current;\n const { driver = frameloopDriver } = options;\n let animation;\n /**\n * Before JSAnimation replaces the type with its generator.\n */\n const canAccelerate = canAccelerateTransform(options);\n /**\n * The driver ticks on the main thread only once the group has\n * moved there, so its frame loop driver is made then.\n */\n options.driver = (update) => new TransformDriver(element, update, driver, animation);\n super(options);\n animation = this;\n /**\n * The first driver is made in super(), before this was assigned.\n */\n const firstDriver = this.driver;\n firstDriver && (firstDriver.animation = this);\n this.canAccelerate = canAccelerate;\n /**\n * stop is bound in JSAnimation, so wrap it rather than override.\n * Before stopping, set the motion value to where the WAAPI\n * animation is now, with velocity, for the next animation to\n * start from.\n */\n const { stop } = this;\n this.stop = () => {\n this.isAccelerated() && this.sync();\n stop();\n };\n }\n /**\n * Each keyframe's offset, made once for the keyframes rather than on\n * every build.\n */\n offsets() {\n const { keyframes, times } = this.options;\n if (times)\n return times;\n if (this.offsetsOf !== keyframes) {\n this.offsetsOf = keyframes;\n this.cachedOffsets = defaultOffset(keyframes);\n }\n return this.cachedOffsets;\n }\n get group() {\n return getGroup(getOwner(this.options).current);\n }\n get js() {\n return this.driver?.js;\n }\n stopJS() {\n this.driver?.stopJS();\n }\n get name() {\n return this.options.name;\n }\n /**\n * When this stops moving, or, if it repeats forever, when it starts\n * repeating, and how long each repeat takes. Held (paused, or at\n * speed 0) animations never stop moving.\n */\n timing() {\n const { startTime, speed, totalDuration } = this;\n const { delay = 0, repeatType } = this.options;\n return this.holdTime !== null\n ? [Infinity, 0]\n : totalDuration === Infinity\n ? [\n startTime + delay / speed,\n (this.resolvedDuration * (repeatType === \"loop\" ? 1 : 2)) /\n speed || 1,\n ]\n : [startTime + (delay + totalDuration) / speed, 0];\n }\n /**\n * Whether this is running, or paused, on the compositor.\n */\n isAccelerated() {\n const { group, state } = this;\n return (group?.tracks.has(this) &&\n !group.isJS &&\n this.canAccelerate &&\n (state === \"running\" || state === \"paused\"));\n }\n /**\n * The value now, while this runs on the compositor and so doesn't\n * set its motion value every frame.\n */\n liveValue() {\n return this.isAccelerated() ? this.sampleAt(time.now()) : undefined;\n }\n /**\n * If this moves between two keyframes only, holding still either side\n * of them, as each value of a sequence segment does, when it starts\n * and stops moving, and its easing: as a string if WAAPI runs it\n * exactly, otherwise its function, to trace.\n */\n tween() {\n const { keyframes: keyframes$1, type, repeat, delay = 0 } = this.options;\n let span = -1;\n if (repeat || type !== keyframes || this.holdTime !== null) {\n return;\n }\n for (let i = 1; i < keyframes$1.length; i++) {\n if (keyframes$1[i] !== keyframes$1[i - 1]) {\n if (span >= 0)\n return;\n span = i - 1;\n }\n }\n let { ease } = this.options;\n if (isEasingArray(ease))\n ease = ease[span];\n const offsets = this.offsets();\n const at = (i) => this.startTime +\n (delay + offsets[i] * this.totalDuration) / this.speed;\n if (span >= 0) {\n const easing = isBezierDefinition(ease)\n ? cubicBezierAsString(ease)\n : isNativeEasing(ease)\n ? supportedWaapiEasing[ease]\n : easingDefinitionToFunction(ease);\n /**\n * An easing that doesn't run from 0 to 1 doesn't move between\n * the keyframes, so is traced from the values it gives instead.\n */\n return [\n at(span),\n at(span + 1),\n typeof easing === \"string\" ||\n (isNear(easing(0), 0) && isNear(easing(1), 1))\n ? easing\n : undefined,\n ];\n }\n }\n /**\n * The timestamps between two timestamps where this reaches a\n * keyframe or starts a repeat, where it can turn or jump.\n */\n boundaries(from, to) {\n const { startTime, speed, resolvedDuration, options } = this;\n const { delay = 0, repeat = 0, repeatDelay = 0, repeatType, type, } = options;\n const offsets = (type || keyframes) === keyframes\n ? this.offsets()\n : [0, 1];\n const start = startTime + delay / speed;\n const result = [];\n if (this.holdTime !== null || !(resolvedDuration > 0))\n return result;\n for (let i = Math.max(0, Math.floor(((from - start) * speed) / resolvedDuration)); i <= repeat; i++) {\n const iterationStart = start + (i * resolvedDuration) / speed;\n if (iterationStart > to)\n break;\n for (const offset of offsets) {\n const t = iterationStart +\n ((i % 2 && repeatType && repeatType !== \"loop\"\n ? 1 - offset\n : offset) *\n (resolvedDuration - repeatDelay)) /\n speed;\n t > from && t < to && result.push(t);\n }\n }\n return result;\n }\n /**\n * The value at a timestamp, as a number.\n */\n numberAt(timestamp) {\n return parseFloat(this.sampleAt(timestamp, true));\n }\n /**\n * Write the current value, and velocity, to the motion value.\n */\n sync() {\n const now = time.now();\n const value = this.sampleAt(now, true);\n /**\n * A held value doesn't move, so there's no need to sample it\n * twice.\n */\n this.options.motionValue.setWithVelocity(this.holdTime === null\n ? this.sampleAt(now - sampleDelta, true)\n : value, value, sampleDelta);\n }\n play() {\n /**\n * A stopped animation (one that was interrupted) can't play again,\n * so it mustn't join the group.\n */\n if (this.isStopped)\n return;\n (this.group || createGroup(getOwner(this.options))).tracks.add(this);\n super.play();\n }\n pause() {\n super.pause();\n this.isAccelerated() && this.group.schedule(false);\n }\n /**\n * JSAnimation finishes on its next tick, which only happens once the\n * group is on the main thread, so finish now. That includes an\n * animation that can't be accelerated but reached its end before the\n * group could move there.\n */\n complete() {\n super.complete();\n const { group } = this;\n group && !group.isJS && this.tick(time.now());\n }\n /**\n * Without a tick to rebase it, a held time still includes the delay,\n * so take it off here, as a JS animation does on its next tick.\n */\n get time() {\n if (this.isAccelerated()) {\n return millisecondsToSeconds(clamp(0, this.totalDuration, this.at(time.now()) - (this.options.delay || 0)));\n }\n return super.time;\n }\n /**\n * Calls JSAnimation's setter directly, as `super.time =` is a slow\n * path in V8 and this runs for every animation of a seeked sequence.\n */\n set time(newTime) {\n (setTime ?? (setTime = Object.getOwnPropertyDescriptor(JSAnimation.prototype, \"time\").set)).call(this, newTime);\n }\n /**\n * Scroll timelines set time every frame, so run these on the main\n * thread.\n */\n attachTimeline(timeline) {\n this.canAccelerate = false;\n this.group?.demote(true);\n return super.attachTimeline(timeline);\n }\n}\n/**\n * Groups that build straight after the current task build in one\n * microtask, rather than one each.\n */\nlet builds;\nconst buildSoon = (build) => {\n builds ||\n queueMicrotask(() => {\n const queue = builds;\n builds = undefined;\n queue.forEach((build) => build());\n });\n (builds || (builds = [])).push(build);\n};\nfunction createGroup(owner) {\n const element = owner.current;\n const tracks = new Set();\n const byKey = new Map();\n /**\n * Transforms that aren't animating, as built into the WAAPI animation.\n */\n let statics = {};\n /**\n * The transforms in the WAAPI animation, in order.\n */\n let keys = [];\n let built = new Map();\n let segments = [];\n let needsBuild = false;\n let isScheduled = false;\n let isEnded = false;\n let hasChurned = false;\n let lastChurn = -Infinity;\n let wake;\n let wakeAt = Infinity;\n /**\n * While waiting to build a tween that starts later, how long after\n * the last build to build it.\n */\n let buildAt;\n const has = (key) => {\n for (const track of tracks)\n if (track.name === key)\n return true;\n };\n /**\n * The transform values at a timestamp or, without one, from the\n * motion values. Animations that don't repeat forever are sampled no\n * earlier than settled, so a loop that starts from an earlier cycle\n * boundary holds them at their end.\n */\n const valuesAt = (timestamp, settled) => {\n const values = {};\n for (const key of timestamp === undefined ? transformPropOrder : keys) {\n const track = byKey.get(key);\n const value = timestamp === undefined\n ? read(owner, key)\n : track\n ? track.sampleAt(settled > timestamp && !track.timing()[1]\n ? settled\n : timestamp)\n : statics[key];\n if (value !== undefined)\n values[key] = value;\n }\n return values;\n };\n /**\n * Build a transform from values in transformPropOrder. For a keyframe,\n * every key is written, even at its default, so each keyframe has the\n * same list of functions and the browser interpolates them one by one.\n * As an inline style, defaults are left out, as buildTransform does.\n */\n const toTransform = (values, isStyle) => {\n let transform = \"\";\n for (const key in values) {\n const value = values[key];\n if (!isStyle || !isDefaultTransform(key, value)) {\n transform += transformFunction(key, value) + \" \";\n }\n }\n return (isStyle ? transform.trim() : transform) || \"none\";\n };\n /**\n * Build the transform at a timestamp.\n */\n const compose = (timestamp, settled) => toTransform(valuesAt(timestamp, settled));\n /**\n * Write the transform as an inline style, as the renderer would.\n */\n const commit = (values = valuesAt()) => {\n element.style.transform = toTransform(values, true);\n };\n /**\n * Cancel a WAAPI animation and remove its handlers, as WebKit never\n * collects an animation once it has run, nor anything its handlers\n * reference (#4034).\n */\n const cancel = (animation) => {\n animation.onfinish = animation.oncancel = null;\n animation.cancel();\n };\n /**\n * Cancel the WAAPI animations, by default first committing the\n * transform. The renderer writes its own version on its next render.\n */\n const stop = (shouldCommit = true) => {\n clearTimeout(wake);\n wakeAt = Infinity;\n buildAt = undefined;\n shouldCommit && commit();\n segments.forEach(({ animation }) => cancel(animation));\n segments = [];\n };\n /**\n * A WAAPI animation that add() starts by setting its startTime. Playing\n * it first, as element.animate() does, would leave WebKit holding that\n * play's ready time once startTime ends the play, and it uses that for\n * the next updatePlaybackRate(), so the animation would jump.\n */\n const create = (keyframes, options) => new Animation(new KeyframeEffect(element, keyframes, options));\n const add = (animation, offset, end = Infinity) => {\n const segment = { animation, offset, end };\n animation.startTime = time.now() + offset;\n /**\n * Animations finish when the WAAPI animation reaches their end.\n * Once a loop has taken over, the finished animation isn't needed.\n */\n if (end < Infinity) {\n animation.onfinish = () => {\n segment.isDone = true;\n if (segments.some((s) => s.end === Infinity)) {\n cancel(animation);\n segments = segments.filter((s) => s !== segment);\n }\n group.schedule(false);\n };\n }\n /**\n * Something else cancelled it, so carry on on the main thread.\n */\n animation.oncancel = () => segments.includes(segment) && group.demote();\n segments.push(segment);\n };\n /**\n * Where a value jumps between two timestamps, as when a repeat starts\n * again: the timestamps either side of the jump, or none if it moves\n * there continuously.\n */\n const jumpAt = (value, a, b) => {\n const change = (x, y) => Math.abs(value(y) - value(x));\n const size = change(a, b);\n while (b - a > 0.01) {\n const mid = (a + b) / 2;\n change(a, mid) > change(mid, b) ? (b = mid) : (a = mid);\n }\n return change(a, b) > size / 2 ? [a, b] : [];\n };\n /**\n * If every moving animation follows the same eased progress between\n * two timestamps, the easing that describes it.\n */\n const getEasing = (moving, from, to, bounds) => {\n const samples = countSamples(from, to);\n /**\n * Too many keyframes or repeats to follow with this many samples.\n */\n if (bounds.length * 4 > samples)\n return;\n /**\n * First check half way, where values with different easings\n * usually differ, before sampling every value many times.\n */\n let quick;\n for (const track of moving) {\n const first = track.numberAt(from);\n const p = (track.numberAt((from + to) / 2) - first) /\n (track.numberAt(to) - first);\n /**\n * NaN if it doesn't move.\n */\n if (p !== p)\n continue;\n if (quick === undefined)\n quick = p;\n else if (!isNear(p, quick))\n return;\n }\n const at = spread(from, to, samples).concat(bounds).sort(byTime);\n const position = (t) => progress(from, to, t);\n let shared;\n let progressAt;\n for (const track of moving) {\n const first = track.numberAt(from);\n const changes = at.map((t) => track.numberAt(t) - first);\n const end = changes[changes.length - 1];\n /**\n * A value that ends only a tiny way from where it started, as\n * a round trip does if it's built just after it starts, or\n * from a float residue, ends where it started. Dividing by\n * that tiny range would stretch the easing to values the\n * compositor can't render.\n */\n const range = changes.some((change) => Math.abs(change) * easingTolerance > Math.abs(end))\n ? 0\n : end;\n const progress = changes.map((change) => range ? change / range : change);\n /**\n * The first value that moves sets the easing, and every other\n * one must follow it. A value that doesn't change, like one\n * still in its delay, fits any easing. One that changes but\n * ends where it started fits none.\n */\n if (range && !shared) {\n shared = progress;\n progressAt = (t) => (track.numberAt(t) - first) / range;\n }\n else if (progress.some((p, i) => !isNear(p, range && shared[i]))) {\n return;\n }\n }\n if (!shared || shared.every((p, i) => isNear(p, position(at[i])))) {\n return \"linear\";\n }\n /**\n * A repeat that starts again jumps back, which takes two points at\n * the same position.\n */\n const points = [];\n const point = (t, p = progressAt(t)) => points.push(round(p) + \" \" + round(position(t) * 100) + \"%\");\n shared.forEach((p, i) => {\n i &&\n Math.abs(p - shared[i - 1]) > 0.2 &&\n jumpAt(progressAt, at[i - 1], at[i]).forEach((t) => point(t));\n point(at[i], p);\n });\n return \"linear(\" + points + \")\";\n };\n /**\n * Sample timestamps between two timestamps, closer together where the\n * moving animations curve.\n */\n const sample = (moving, from, to, bounds) => {\n const times = [from];\n /**\n * A linear tween is straight between its keyframes, so only the\n * other values can curve, and a tween only while it moves.\n */\n const curved = [];\n let curveFrom = to;\n let curveTo = from;\n for (const track of moving) {\n const tween = track.tween();\n if (tween?.[2] !== \"linear\") {\n const [trackEnd, cycle] = track.timing();\n const [a, b] = tween || [from, cycle ? to : trackEnd];\n curveFrom = Math.min(curveFrom, a);\n curveTo = Math.max(curveTo, b);\n curved.push(track);\n }\n }\n curveFrom = Math.max(from, curveFrom);\n curveTo = Math.min(to, curveTo);\n /**\n * Values that aren't numbers, like calc(), are left to the\n * browser to interpolate.\n */\n const isStraight = (a, b) => curved.every((track) => !(Math.abs(track.numberAt((a + b) / 2) -\n (track.numberAt(a) + track.numberAt(b)) / 2) >\n (track.name.startsWith(\"scale\")\n ? scaleTolerance\n : sampleTolerance)));\n const split = (a, b, depth) => {\n if (b - a < 1 || isStraight(a, b)) {\n times.push(b);\n }\n else if (depth < 4) {\n split(a, (a + b) / 2, depth + 1);\n split((a + b) / 2, b, depth + 1);\n }\n else {\n /**\n * Keyframes either side of a jump, like a repeat starting\n * again, so it doesn't play as a quick sweep.\n */\n for (const track of moving) {\n times.push(...jumpAt((t) => track.numberAt(t), a, b));\n }\n times.push(b);\n }\n };\n /**\n * Split at least every 100ms where a value can curve, and at every\n * keyframe and repeat, either side of where a value can jump.\n */\n const ends = curveTo > curveFrom\n ? spread(curveFrom, curveTo, Math.ceil((curveTo - curveFrom) / 100))\n : [];\n ends.push(to);\n for (const t of bounds)\n ends.push(t, Math.min(t + 0.01, to));\n let start = from;\n for (const end of ends.sort(byTime)) {\n end > start && split(start, end, 0);\n start = end;\n }\n return times.sort(byTime);\n };\n /**\n * If every moving animation is the same tween, started together, as\n * happens for the values of one animate() call or transition, when\n * they move and their native easing.\n */\n const getTween = (moving) => {\n let shared;\n for (const track of moving) {\n const tween = track.tween();\n if (!tween ||\n (shared &&\n (Math.abs(tween[0] - shared[0]) > 1 ||\n Math.abs(tween[1] - shared[1]) > 1))) {\n return;\n }\n /**\n * Easings that differ, like the springs a sequence makes for\n * each value, can still be the same curve.\n */\n shared = [\n tween[0],\n tween[1],\n !shared || tween[2] === shared[2] ? tween[2] : undefined,\n ];\n }\n return shared;\n };\n /**\n * A WAAPI animation of the composed transform between two timestamps.\n */\n const run = (moving, from, to, nativeEasing, options = { fill: \"both\" }, settled) => {\n /**\n * With an easing given, there's nothing to sample, so no need\n * for the boundaries.\n */\n const bounds = nativeEasing\n ? []\n : moving.flatMap((track) => track.boundaries(from, to));\n const easing = nativeEasing || getEasing(moving, from, to, bounds);\n const times = easing ? [from, to] : sample(moving, from, to, bounds);\n const transform = times.map((t) => compose(t, settled));\n let keyframes = { transform };\n if (!easing) {\n keyframes.offset = times.map((t) => progress(from, to, t));\n }\n /**\n * If nothing moves, don't hold a transform, which, even at its\n * default, would make the element a containing block. The empty\n * animation still finishes the animations.\n */\n if (transform.every((t) => t === transform[0])) {\n commit(valuesAt(from, settled));\n keyframes = null;\n }\n return create(keyframes, {\n ...options,\n duration: to - from,\n easing: easing || \"linear\",\n });\n };\n /**\n * Check whether it's time to build in this long. A check that's due\n * sooner is kept, and checks again if it's early, so pausing and\n * playing don't each replace a timer. One due later, after a seek or\n * speed change while held, is replaced.\n */\n const wakeIn = (delay) => {\n const at = time.now() + delay;\n if (at < wakeAt) {\n clearTimeout(wake);\n wakeAt = at;\n wake = setTimeout(() => {\n wakeAt = Infinity;\n group.schedule(false);\n }, delay);\n }\n };\n /**\n * Replace the WAAPI animations with ones built from now. Returns\n * undefined if the animations can't be composed.\n */\n const animate = (now) => {\n /**\n * The finite part runs until the last finite animation (or the\n * last delay) ends. Infinitely repeating animations then continue\n * as one looping WAAPI animation, which needs them to share a\n * cycle.\n */\n let end = now;\n let cycle = 0;\n let cycleStart = 0;\n const moving = [];\n const looping = [];\n const ends = new Set();\n byKey.clear();\n built = new Map();\n for (const track of tracks) {\n byKey.set(track.name, track);\n const [trackEnd, trackCycle] = track.timing();\n const isHeld = trackEnd === Infinity;\n built.set(track, [track.at(now), track.speed, isHeld]);\n if (isHeld)\n continue;\n if (track.speed < 0)\n return;\n if (trackCycle) {\n if (cycle) {\n const phase = (trackEnd - cycleStart) / trackCycle;\n if (Math.abs(trackCycle - cycle) > 1 ||\n Math.abs(phase - Math.round(phase)) * cycle > 1) {\n return;\n }\n }\n else {\n cycle = trackCycle;\n cycleStart = trackEnd;\n }\n looping.push(track);\n }\n else {\n ends.add(trackEnd);\n }\n moving.push(track);\n end = Math.max(end, trackEnd);\n }\n statics = {};\n /**\n * Transforms that aren't animating are left out at their default.\n */\n keys = transformPropOrder.filter((key) => {\n if (byKey.has(key))\n return true;\n const value = (statics[key] = read(owner, key));\n return value !== undefined && !isDefaultTransform(key, value);\n });\n stop(false);\n /**\n * Values that share one tween are one WAAPI animation of it, with\n * two keyframes and its own easing, from when they started.\n */\n const tween = !cycle && getTween(moving);\n try {\n if (end > now) {\n let easing;\n if (tween && tween[1] > now) {\n const [from, to, ease] = tween;\n /**\n * Until it's built, the motion values hold where it\n * starts, for the renderer to write.\n */\n if (from - now > buildAhead) {\n moving.forEach((track) => track.sync());\n wakeIn((buildAt = from - now - buildAhead));\n return true;\n }\n easing =\n typeof ease === \"string\"\n ? ease\n : ease\n ? trace(ease, countSamples(from, to))\n : getEasing(moving, from, to, []);\n /**\n * It holds its last keyframe until the animations end.\n */\n easing &&\n add(run(moving, from, to, easing, {\n fill: \"both\",\n endDelay: end - to,\n }), from - now, end - from);\n }\n easing || add(run(moving, now, end), 0, end - now);\n /**\n * Animations that end sooner finish on the events of\n * empty animations that end with them.\n */\n ends.forEach((trackEnd) => trackEnd < end - 1 &&\n add(create(null, { duration: trackEnd - now }), 0, trackEnd - now));\n }\n if (cycle) {\n /**\n * Build one cycle from a cycle boundary, so it repeats\n * seamlessly, and start it part way through.\n */\n const from = cycleStart + Math.floor((end - cycleStart) / cycle) * cycle;\n add(run(looping, from, from + cycle, undefined, {\n iterations: Infinity,\n iterationStart: (end - from) / cycle,\n /**\n * It must not fill backwards over the finite part\n * that runs before it.\n */\n fill: \"forwards\",\n }, end), end - now);\n }\n }\n catch {\n return;\n }\n /**\n * Everything is held, so hold it with an inline style instead.\n */\n segments.length || stop();\n return true;\n };\n /**\n * If every animation has been paused, played, seeked or sped up\n * together since the WAAPI animation was built, do the same to it.\n * Returns false if it needs rebuilding instead. Seeking to before a\n * tween starts rebuilds, so a running group seeked every frame still\n * moves to the main thread.\n */\n const retime = (now, isSeek) => {\n let elapsed;\n let rate = 0;\n for (const track of tracks) {\n const state = built.get(track);\n if (!state)\n return false;\n const [builtTime, builtSpeed, wasHeld] = state;\n const trackTime = track.at(now);\n const isHeld = track.timing()[0] === Infinity;\n /**\n * With nothing on the compositor, a held animation is set\n * where it's held, so it can be seeked as often as needed.\n */\n if (wasHeld) {\n if (isHeld && (trackTime === builtTime || !segments.length)) {\n continue;\n }\n return false;\n }\n const trackElapsed = (trackTime - builtTime) / builtSpeed;\n const trackRate = isHeld ? 0 : track.speed / builtSpeed;\n if (elapsed === undefined) {\n elapsed = trackElapsed;\n rate = trackRate;\n }\n else if (Math.abs(trackElapsed - elapsed) > 1 ||\n trackRate !== rate) {\n return false;\n }\n }\n if (elapsed === undefined)\n return true;\n /**\n * Waiting to build a tween that starts later. Until then the\n * values hold where they start, so only when to build changes.\n * Held, it has nothing on the compositor, so it can be seeked.\n */\n if (!segments.length) {\n if (buildAt === undefined || (isSeek && rate))\n return false;\n if (rate) {\n const delay = (buildAt - elapsed) / rate;\n if (delay < 1)\n return false;\n wakeIn(delay);\n }\n return true;\n }\n /**\n * Only a tween is built to start later, and it holds its first\n * keyframe until then, so it can be paused and played before it\n * starts.\n */\n for (const { offset, end, isDone } of segments) {\n const local = elapsed - offset;\n if (end < Infinity &&\n (isDone\n ? local < end - 1\n : (local < 0 && (isSeek || offset <= 0)) || local >= end)) {\n return false;\n }\n }\n for (const { animation, offset, isDone } of segments) {\n if (isDone)\n continue;\n const local = elapsed - offset;\n if (rate &&\n animation.updatePlaybackRate &&\n animation.playState === \"running\" &&\n Math.abs(Number(animation.currentTime) - local) < 20) {\n /**\n * Only the speed changed. Setting playbackRate and\n * startTime restarts a running compositor animation, which\n * can render the underlying value for a frame.\n */\n animation.playbackRate !== rate &&\n animation.updatePlaybackRate(rate);\n }\n else if (rate) {\n animation.playbackRate !== rate &&\n (animation.playbackRate = rate);\n animation.startTime = now - local / rate;\n }\n else {\n /**\n * Hold it without pause(), whose pending pause setting\n * currentTime would end at once, leaving WebKit holding its\n * ready time (see create()).\n */\n animation.startTime = null;\n animation.currentTime = local;\n }\n }\n return true;\n };\n /**\n * If no animations are left, write where they got to and cancel the\n * WAAPI animations. Returns whether the group ended.\n */\n const end = () => {\n if (tracks.size)\n return false;\n isEnded = true;\n /**\n * The element may have a newer group if this one was detached\n * (see handOffElementState).\n */\n getGroup(element) === group && transformGroups.delete(element);\n group.isJS || stop();\n return true;\n };\n const build = () => {\n const now = time.now();\n /**\n * Finish the animations that have reached their end, which the\n * WAAPI animation has already rendered.\n */\n if (!group.isJS) {\n group.isFinishing = true;\n tracks.forEach((track) => {\n const [trackEnd, trackCycle] = track.timing();\n if (track.state === \"running\" &&\n track.speed > 0 &&\n !trackCycle &&\n trackEnd <= now + 1) {\n track.complete();\n /**\n * From now it's checked for outside writes like any\n * other static transform. If the WAAPI animation never\n * rendered it (it was instant), rebuild with its value.\n */\n statics[track.name] = read(owner, track.name);\n built.has(track) || (needsBuild = true);\n }\n });\n group.isFinishing = false;\n }\n isScheduled = false;\n if (isEnded)\n return;\n tracks.forEach((track) => hasEnded(track) && tracks.delete(track));\n if (end())\n return;\n for (const track of tracks) {\n if (!track.canAccelerate)\n return group.demote(true);\n }\n /**\n * Everything that kept the group on the main thread has finished,\n * so move the remaining animations back to the compositor.\n */\n if (group.isJS) {\n group.isJS = false;\n needsBuild = true;\n tracks.forEach((track) => track.stopJS());\n }\n const shouldBuild = needsBuild;\n const churned = hasChurned;\n needsBuild = hasChurned = false;\n if (shouldBuild || !retime(now, churned)) {\n if (churned) {\n if (now - lastChurn < churnWindow)\n return group.demote();\n lastChurn = now;\n }\n if (!animate(now))\n return group.demote();\n }\n else if (buildAt !== undefined && !churned) {\n /**\n * Still waiting to build, so the values still hold where\n * they start.\n */\n return;\n }\n /**\n * Held animations don't move, so set their motion values to where\n * they're held, as a JSAnimation would on its next tick. Pausing\n * and seeking schedule this, so it's once however many there are.\n */\n tracks.forEach((track) => track.timing()[0] === Infinity && track.sync());\n };\n const group = {\n tracks,\n isJS: false,\n isFinishing: false,\n schedule(build_, isChurn) {\n if (isEnded)\n return;\n needsBuild || (needsBuild = build_);\n hasChurned || (hasChurned = !!isChurn);\n /**\n * Build in this frame's render step, so it's in place before\n * anything reads the DOM in postRender, or straight after the\n * current task outside of a frame.\n */\n if (!isScheduled) {\n isScheduled = true;\n frameData.isProcessing\n ? frame.render(build, false, true)\n : buildSoon(build);\n }\n },\n /**\n * End the group now, rather than when it next builds, so the\n * element's transform is the caller's again as soon as its last\n * animation is stopped.\n */\n release(track) {\n /**\n * Only drop the stopped animation. Others can be idle because\n * they're part way through play(), and are about to run.\n */\n hasEnded(track) && tracks.delete(track);\n end() || group.schedule(true);\n },\n /**\n * An outside write. Rebuild once, but if it keeps happening, move\n * to the main thread.\n */\n check() {\n if (group.isJS)\n return;\n for (const key in statics) {\n if (read(owner, key) !== statics[key] && !has(key)) {\n return group.schedule(true, true);\n }\n }\n },\n demote(canReturn) {\n if (group.isJS || isEnded)\n return;\n /**\n * Unless only another animation is holding the group on the\n * main thread, these animations stay there until they end.\n */\n tracks.forEach((track) => {\n track.isAccelerated() && track.sync();\n canReturn || (track.canAccelerate = false);\n });\n group.isJS = true;\n built = new Map();\n stop();\n tracks.forEach((track) => track.state === \"running\" && track.js?.start());\n return true;\n },\n };\n transformGroups.set(element, group);\n return group;\n}\n\nexport { TransformAnimation, canGroupTransform };\n//# sourceMappingURL=TransformAnimation.mjs.map\n"],"names":["easingTolerance","buildAhead","nativeEasings","Set","traced","WeakMap","countSamples","from","to","Math","min","max","ceil","sampleDelta","isNear","a","b","abs","byTime","spread","n","defaultOffset","Array","map","p","mixNumber","getOwner","options","motionValue","owner","getGroup","element","transformGroups","get","hasEnded","state","read","key","latestValues","getValue","TransformDriver","constructor","update","makeDriver","animation","this","js","driver","now","frameloopDriver","frameData","isProcessing","timestamp","time","start","keepAlive","group","isJS","schedule","stopJS","stop","isFinishing","release","setTime","builds","TransformAnimation","JSAnimation","current","canAccelerate","onUpdate","transformTemplate","getProps","isHandoff","hasOnUpdate","type","projection","isProjecting","needsMixer","canAccelerateTransform","super","firstDriver","isAccelerated","sync","offsets","keyframes","times","offsetsOf","cachedOffsets","name","timing","startTime","speed","totalDuration","delay","repeatType","holdTime","Infinity","resolvedDuration","tracks","has","liveValue","sampleAt","undefined","tween","keyframes$1","repeat","span","keyframesGenerator","i","length","ease","isEasingArray","at","easing","isBezierDefinition","cubicBezierAsString","isNativeEasing","supportedWaapiEasing","easingDefinitionToFunction","boundaries","repeatDelay","result","floor","iterationStart","offset","t","push","numberAt","parseFloat","value","setWithVelocity","play","isStopped","byKey","Map","wake","buildAt","statics","keys","built","segments","needsBuild","isScheduled","isEnded","hasChurned","lastChurn","wakeAt","track","valuesAt","settled","values","transformPropOrder","toTransform","isStyle","transform","isDefaultTransform","transformFunction","trim","compose","commit","style","cancel","onfinish","oncancel","shouldCommit","clearTimeout","forEach","create","Animation","KeyframeEffect","add","end","segment","isDone","some","s","filter","includes","demote","jumpAt","change","x","y","size","mid","getEasing","moving","bounds","samples","quick","first","concat","sort","position","progress","shared","progressAt","changes","range","every","points","point","round","sample","curved","curveFrom","curveTo","trackEnd","cycle","isStraight","startsWith","split","depth","ends","getTween","run","nativeEasing","fill","flatMap","duration","wakeIn","setTimeout","animate","cycleStart","looping","clear","set","trackCycle","isHeld","phase","trace","last","endDelay","iterations","retime","isSeek","elapsed","rate","builtTime","builtSpeed","wasHeld","trackTime","trackElapsed","trackRate","local","updatePlaybackRate","playState","Number","currentTime","playbackRate","delete","build","complete","shouldBuild","churned","build_","isChurn","frame","render","buildSoon","check","canReturn","createGroup","pause","tick","millisecondsToSeconds","clamp","newTime","Object","getOwnPropertyDescriptor","prototype","call","attachTimeline","timeline","queueMicrotask","queue","canGroupTransform","HTMLElement","supportsWaapi","supportsLinearEasing"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs"],"sourcesContent":["const transformGroups = new WeakMap();\n\nexport { transformGroups };\n//# sourceMappingURL=groups.mjs.map\n"],"names":["transformGroups","WeakMap"],"mappings":"oEAsBaA,MAAAA,EAAkB,IAAIC"}
|
package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=new Set(["opacity","clipPath","filter","transform"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=new Set(["opacity","clipPath","filter","transform"]);exports.acceleratedValues=e;
|
|
2
2
|
//# sourceMappingURL=accelerated-values.mjs.js.map
|
package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accelerated-values.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs"],"sourcesContent":["/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n \"opacity\",\n \"clipPath\",\n \"filter\",\n \"transform\",\n
|
|
1
|
+
{"version":3,"file":"accelerated-values.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs"],"sourcesContent":["/**\n * A list of values that can be hardware-accelerated.\n *\n * Colors aren't included: WAAPI mixes them in sRGB, but JS animations\n * (and the sampler that estimates a WAAPI value on interrupt) mix them\n * in linear color space, so interrupting one would visibly jump.\n */\nconst acceleratedValues = new Set([\n \"opacity\",\n \"clipPath\",\n \"filter\",\n \"transform\",\n]);\n\nexport { acceleratedValues };\n//# sourceMappingURL=accelerated-values.mjs.map\n"],"names":["acceleratedValues","Set"],"mappings":"oEAOO,MAAMA,EAAoB,IAAIC,IAAY,CAC7C,UACA,WACA,SACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"needs-mixer.mjs.js","sources":["../../../../../../../../node_modules/motion-dom/dist/es/animation/waapi/utils/needs-mixer.mjs"],"sourcesContent":["/**\n * Whether an animation needs its mixer, which WAAPI can't call. Numbers\n * blend as usual, and an animation whose mixer declines every pair runs\n * as it would without one.\n */\nconst needsMixer = ({ mixer, keyframes }) => mixer &&\n typeof keyframes[0] !== \"number\" &&\n keyframes.some((keyframe, i) => i && mixer(keyframes[i - 1], keyframe));\n\nexport { needsMixer };\n//# sourceMappingURL=needs-mixer.mjs.map\n"],"names":["needsMixer","mixer","keyframes","some","keyframe","i"],"mappings":"uFAO0BA,EAAGC,QAAOC,eAChCD,GACwB,iBAAjBC,EAAU,IACjBA,EAAUC,KAAK,CAACC,EAAUC,IAAMA,GAAKJ,EAAMC,EAAUG,EAAI,GAAID"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./add-dom-event.mjs.js"),r=require("./event-info.mjs.js");exports.addPointerEvent=function(t,n,d,o){return e.addDomEvent(t,n,r.addPointerInfo(d),o)};
|
|
2
|
+
//# sourceMappingURL=add-pointer-event.mjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-pointer-event.mjs.js","sources":["../../../../../../node_modules/motion-dom/dist/es/events/add-pointer-event.mjs"],"sourcesContent":["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//# sourceMappingURL=add-pointer-event.mjs.map\n"],"names":["target","eventName","handler","options","addDomEvent","addPointerInfo"],"mappings":"qKAGM,SACFA,EACAC,EACAC,EACAC,GAEA,OAAOC,EAAAA,YAAYJ,EAAQC,EAAWI,EAAcA,eAACH,GAAUC,EACnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../gestures/utils/is-primary-pointer.mjs.js");function r(e){return{point:{x:e.pageX,y:e.pageY}}}exports.addPointerInfo=t=>i=>e.isPrimaryPointer(i)&&t(i,r(i)),exports.extractEventInfo=r;
|
|
2
|
+
//# sourceMappingURL=event-info.mjs.js.map
|