@teamturing/react-kit 2.51.3 → 2.51.4
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/index.js +1342 -24149
- package/esm/_virtual/_commonjsHelpers.js +1 -3
- package/esm/core/ActionList/ActionListItem.js +18 -20
- package/esm/core/ActionList/ActionListSectionDivider.js +2 -2
- package/esm/core/ActionList/ActionListSectionHeader.js +3 -3
- package/esm/core/ActionList/index.js +3 -3
- package/esm/core/AnimatePresence/index.js +2 -5
- package/esm/core/Avatar/index.js +3 -3
- package/esm/core/AvatarGroup/AvatarGroupItem.js +4 -4
- package/esm/core/AvatarGroup/index.js +13 -13
- package/esm/core/BadgeAttacher/index.js +2 -2
- package/esm/core/Breadcrumbs/BreadcrumbsItem.js +4 -4
- package/esm/core/Breadcrumbs/index.js +5 -5
- package/esm/core/Button/index.js +7 -7
- package/esm/core/Card/index.js +1 -1
- package/esm/core/Checkbox/index.js +3 -3
- package/esm/core/Chip/index.js +4 -4
- package/esm/core/ClickArea/index.js +2 -2
- package/esm/core/CounterBadge/index.js +3 -3
- package/esm/core/Datagrid/DatagridBody.js +3 -3
- package/esm/core/Datagrid/DatagridCell.js +2 -2
- package/esm/core/Datagrid/DatagridHeader.js +7 -7
- package/esm/core/Datagrid/DatagridRow.js +3 -3
- package/esm/core/Datagrid/DatagridSubheader.js +3 -3
- package/esm/core/Datagrid/index.js +4 -4
- package/esm/core/DescriptionList/index.js +11 -11
- package/esm/core/Dialog/DialogBody.js +2 -2
- package/esm/core/Dialog/DialogFooter.js +2 -2
- package/esm/core/Dialog/DialogHeader.js +2 -2
- package/esm/core/Dialog/DialogHeaderSubtitle.js +2 -2
- package/esm/core/Dialog/DialogHeaderTitle.js +2 -2
- package/esm/core/Dialog/index.js +8 -8
- package/esm/core/Drawer/DrawerBody.js +2 -2
- package/esm/core/Drawer/DrawerFooter.js +2 -2
- package/esm/core/Drawer/DrawerHeader.js +2 -2
- package/esm/core/Drawer/DrawerHeaderIconButton.js +2 -2
- package/esm/core/Drawer/index.js +12 -13
- package/esm/core/EmptyState/index.js +8 -9
- package/esm/core/Flash/index.js +12 -15
- package/esm/core/FormControl/FormControlCaption.js +2 -2
- package/esm/core/FormControl/FormControlErrorMessage.js +2 -2
- package/esm/core/FormControl/FormControlLabel.js +5 -5
- package/esm/core/FormControl/FormControlSuccessMessage.js +2 -2
- package/esm/core/FormControl/FormControlTooltipIcon.js +5 -6
- package/esm/core/FormControl/index.js +8 -8
- package/esm/core/Grid/index.js +4 -6
- package/esm/core/HorizontalDivider/index.js +2 -2
- package/esm/core/IconButton/index.js +3 -3
- package/esm/core/IconToggleButton/index.js +3 -3
- package/esm/core/ItemList/index.js +2 -2
- package/esm/core/MotionView/index.js +1 -1
- package/esm/core/Overlay/index.js +4 -4
- package/esm/core/OverlayPopper/index.js +4 -6
- package/esm/core/Pagination/index.js +15 -17
- package/esm/core/Pill/index.js +11 -12
- package/esm/core/Radio/index.js +3 -3
- package/esm/core/SearchSelectInput/index.js +22 -28
- package/esm/core/Select/SelectOption.js +3 -3
- package/esm/core/Select/index.js +11 -13
- package/esm/core/Spinner/index.js +2 -3
- package/esm/core/Stack/index.js +4 -4
- package/esm/core/StyledIcon/index.js +3 -3
- package/esm/core/Switch/index.js +3 -3
- package/esm/core/Tab/TabItem.js +5 -5
- package/esm/core/Tab/index.js +18 -19
- package/esm/core/TextInput/TextInputTrailingAction.js +4 -4
- package/esm/core/TextInput/index.js +9 -11
- package/esm/core/Textarea/index.js +6 -8
- package/esm/core/ThemeProvider/index.js +2 -2
- package/esm/core/Toast/index.js +6 -8
- package/esm/core/Tooltip/BaseTooltip.js +8 -8
- package/esm/core/Tooltip/index.js +4 -4
- package/esm/core/Tooltip/useTooltip.js +1 -3
- package/esm/enigma/EnigmaUI/index.js +3 -4
- package/esm/enigma/Layout/SingleColumnLayout/index.js +4 -4
- package/esm/enigma/View/ChipGroupView/index.js +6 -6
- package/esm/enigma/View/GridView/index.js +5 -5
- package/esm/enigma/View/HorizontalDividerView/index.js +2 -2
- package/esm/enigma/View/IconView/index.js +4 -4
- package/esm/enigma/View/ImageView/index.js +2 -2
- package/esm/enigma/View/TextView/index.js +2 -2
- package/esm/hook/useFocusTrap.js +5 -5
- package/esm/hook/useFocusZone.js +2 -2
- package/esm/hook/useResize.js +1 -1
- package/esm/index.js +1 -1
- package/esm/theme/index.js +1 -13
- package/package.json +2 -2
- package/esm/_virtual/index.js +0 -3
- package/esm/_virtual/jsx-runtime.js +0 -3
- package/esm/_virtual/react-is.development.js +0 -3
- package/esm/_virtual/react-is.production.min.js +0 -3
- package/esm/_virtual/react-jsx-runtime.development.js +0 -3
- package/esm/_virtual/react-jsx-runtime.production.min.js +0 -3
- package/esm/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -593
- package/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -731
- package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -1621
- package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -233
- package/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -321
- package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -161
- package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -136
- package/esm/node_modules/@primer/behaviors/dist/esm/focus-trap.js +0 -105
- package/esm/node_modules/@primer/behaviors/dist/esm/focus-zone.js +0 -436
- package/esm/node_modules/@primer/behaviors/dist/esm/polyfills/event-listener-signal.js +0 -38
- package/esm/node_modules/@primer/behaviors/dist/esm/utils/iterate-focusable-elements.js +0 -65
- package/esm/node_modules/@primer/behaviors/dist/esm/utils/unique-id.js +0 -6
- package/esm/node_modules/@primer/behaviors/dist/esm/utils/user-agent.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/animation/animators/instant.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/animation/animators/js/driver-frameloop.js +0 -16
- package/esm/node_modules/framer-motion/dist/es/animation/animators/js/index.js +0 -303
- package/esm/node_modules/framer-motion/dist/es/animation/animators/waapi/create-accelerated-animation.js +0 -199
- package/esm/node_modules/framer-motion/dist/es/animation/animators/waapi/easing.js +0 -31
- package/esm/node_modules/framer-motion/dist/es/animation/animators/waapi/index.js +0 -23
- package/esm/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/animation/generators/inertia.js +0 -87
- package/esm/node_modules/framer-motion/dist/es/animation/generators/keyframes.js +0 -51
- package/esm/node_modules/framer-motion/dist/es/animation/generators/spring/find.js +0 -89
- package/esm/node_modules/framer-motion/dist/es/animation/generators/spring/index.js +0 -129
- package/esm/node_modules/framer-motion/dist/es/animation/generators/utils/calc-duration.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/animation/generators/utils/velocity.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.js +0 -101
- package/esm/node_modules/framer-motion/dist/es/animation/interfaces/single-value.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.js +0 -71
- package/esm/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.js +0 -63
- package/esm/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/animation/utils/default-transitions.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/animation/utils/is-animatable.js +0 -30
- package/esm/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/animation/utils/is-none.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/animation/utils/keyframes.js +0 -45
- package/esm/node_modules/framer-motion/dist/es/animation/utils/transitions.js +0 -13
- package/esm/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js +0 -71
- package/esm/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js +0 -56
- package/esm/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js +0 -158
- package/esm/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/context/LazyContext.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/context/MotionConfigContext.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/context/MotionContext/create.js +0 -13
- package/esm/node_modules/framer-motion/dist/es/context/MotionContext/index.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/context/MotionContext/utils.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/context/PresenceContext.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/debug/record.js +0 -7
- package/esm/node_modules/framer-motion/dist/es/easing/anticipate.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/easing/back.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/easing/circ.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/easing/cubic-bezier.js +0 -51
- package/esm/node_modules/framer-motion/dist/es/easing/ease.js +0 -7
- package/esm/node_modules/framer-motion/dist/es/easing/modifiers/mirror.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/easing/modifiers/reverse.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/easing/utils/is-bezier-definition.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/easing/utils/is-easing-array.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/easing/utils/map.js +0 -37
- package/esm/node_modules/framer-motion/dist/es/events/add-dom-event.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/events/add-pointer-event.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/events/event-info.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/frameloop/batcher.js +0 -60
- package/esm/node_modules/framer-motion/dist/es/frameloop/frame.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/frameloop/render-step.js +0 -104
- package/esm/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +0 -457
- package/esm/node_modules/framer-motion/dist/es/gestures/drag/index.js +0 -27
- package/esm/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js +0 -125
- package/esm/node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js +0 -53
- package/esm/node_modules/framer-motion/dist/es/gestures/focus.js +0 -41
- package/esm/node_modules/framer-motion/dist/es/gestures/hover.js +0 -32
- package/esm/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js +0 -148
- package/esm/node_modules/framer-motion/dist/es/gestures/pan/index.js +0 -46
- package/esm/node_modules/framer-motion/dist/es/gestures/press.js +0 -120
- package/esm/node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js +0 -20
- package/esm/node_modules/framer-motion/dist/es/motion/features/Feature.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/motion/features/animation/exit.js +0 -31
- package/esm/node_modules/framer-motion/dist/es/motion/features/animation/index.js +0 -38
- package/esm/node_modules/framer-motion/dist/es/motion/features/animations.js +0 -13
- package/esm/node_modules/framer-motion/dist/es/motion/features/definitions.js +0 -28
- package/esm/node_modules/framer-motion/dist/es/motion/features/drag.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/motion/features/gestures.js +0 -21
- package/esm/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +0 -131
- package/esm/node_modules/framer-motion/dist/es/motion/features/layout.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/motion/features/load-features.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/motion/features/viewport/index.js +0 -72
- package/esm/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js +0 -49
- package/esm/node_modules/framer-motion/dist/es/motion/index.js +0 -79
- package/esm/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/motion/utils/symbol.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js +0 -33
- package/esm/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js +0 -75
- package/esm/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js +0 -81
- package/esm/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +0 -59
- package/esm/node_modules/framer-motion/dist/es/projection/animation/mix-values.js +0 -93
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/conversion.js +0 -33
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/copy.js +0 -20
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.js +0 -122
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.js +0 -41
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.js +0 -54
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/models.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/projection/geometry/utils.js +0 -25
- package/esm/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.js +0 -13
- package/esm/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.js +0 -27
- package/esm/node_modules/framer-motion/dist/es/projection/node/create-projection-node.js +0 -1494
- package/esm/node_modules/framer-motion/dist/es/projection/node/state.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/projection/shared/stack.js +0 -112
- package/esm/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.js +0 -41
- package/esm/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.js +0 -35
- package/esm/node_modules/framer-motion/dist/es/projection/styles/scale-correction.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/projection/styles/transform.js +0 -42
- package/esm/node_modules/framer-motion/dist/es/projection/utils/each-axis.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/projection/utils/has-transform.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/projection/utils/measure.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/render/VisualElement.js +0 -507
- package/esm/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.js +0 -48
- package/esm/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/render/dom/motion-proxy.js +0 -47
- package/esm/node_modules/framer-motion/dist/es/render/dom/motion.js +0 -23
- package/esm/node_modules/framer-motion/dist/es/render/dom/use-render.js +0 -35
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/create-config.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js +0 -89
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js +0 -57
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js +0 -30
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js +0 -230
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.js +0 -30
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/find.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.js +0 -10
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/number.js +0 -72
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/test.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.js +0 -55
- package/esm/node_modules/framer-motion/dist/es/render/html/config-motion.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/render/html/use-props.js +0 -57
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/build-styles.js +0 -74
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/build-transform.js +0 -45
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/render.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/render/html/utils/transform.js +0 -28
- package/esm/node_modules/framer-motion/dist/es/render/store.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.js +0 -46
- package/esm/node_modules/framer-motion/dist/es/render/svg/config-motion.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +0 -33
- package/esm/node_modules/framer-motion/dist/es/render/svg/use-props.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js +0 -52
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js +0 -30
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/path.js +0 -32
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/render.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/render/utils/animation-state.js +0 -319
- package/esm/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/render/utils/flat-tree.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.js +0 -13
- package/esm/node_modules/framer-motion/dist/es/render/utils/is-variant-label.js +0 -8
- package/esm/node_modules/framer-motion/dist/es/render/utils/motion-values.js +0 -63
- package/esm/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/render/utils/resolve-variants.js +0 -26
- package/esm/node_modules/framer-motion/dist/es/render/utils/setters.js +0 -101
- package/esm/node_modules/framer-motion/dist/es/render/utils/variant-props.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/utils/array.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/utils/clamp.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/utils/delay.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/utils/distance.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/utils/errors.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.js +0 -42
- package/esm/node_modules/framer-motion/dist/es/utils/interpolate.js +0 -92
- package/esm/node_modules/framer-motion/dist/es/utils/is-browser.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/utils/is-numerical-string.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/utils/is-ref-object.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/utils/is-zero-value-string.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/utils/memo.js +0 -10
- package/esm/node_modules/framer-motion/dist/es/utils/mix-color.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/utils/mix-complex.js +0 -64
- package/esm/node_modules/framer-motion/dist/es/utils/mix.js +0 -24
- package/esm/node_modules/framer-motion/dist/es/utils/noop.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/utils/offsets/default.js +0 -9
- package/esm/node_modules/framer-motion/dist/es/utils/offsets/fill.js +0 -12
- package/esm/node_modules/framer-motion/dist/es/utils/offsets/time.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/utils/pipe.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/utils/progress.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/utils/reduced-motion/index.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/utils/reduced-motion/state.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/utils/resolve-value.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/utils/shallow-compare.js +0 -14
- package/esm/node_modules/framer-motion/dist/es/utils/subscription-manager.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/utils/time-conversion.js +0 -10
- package/esm/node_modules/framer-motion/dist/es/utils/use-constant.js +0 -18
- package/esm/node_modules/framer-motion/dist/es/utils/use-force-update.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/utils/use-instant-transition-state.js +0 -5
- package/esm/node_modules/framer-motion/dist/es/utils/use-is-mounted.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js +0 -6
- package/esm/node_modules/framer-motion/dist/es/utils/use-unmount-effect.js +0 -7
- package/esm/node_modules/framer-motion/dist/es/utils/velocity-per-second.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/utils/warn-once.js +0 -11
- package/esm/node_modules/framer-motion/dist/es/value/index.js +0 -331
- package/esm/node_modules/framer-motion/dist/es/value/types/color/hex.js +0 -40
- package/esm/node_modules/framer-motion/dist/es/value/types/color/hsla.js +0 -22
- package/esm/node_modules/framer-motion/dist/es/value/types/color/index.js +0 -28
- package/esm/node_modules/framer-motion/dist/es/value/types/color/rgba.js +0 -25
- package/esm/node_modules/framer-motion/dist/es/value/types/color/utils.js +0 -23
- package/esm/node_modules/framer-motion/dist/es/value/types/complex/filter.js +0 -30
- package/esm/node_modules/framer-motion/dist/es/value/types/complex/index.js +0 -92
- package/esm/node_modules/framer-motion/dist/es/value/types/numbers/index.js +0 -17
- package/esm/node_modules/framer-motion/dist/es/value/types/numbers/units.js +0 -19
- package/esm/node_modules/framer-motion/dist/es/value/types/utils.js +0 -15
- package/esm/node_modules/framer-motion/dist/es/value/use-will-change/is.js +0 -7
- package/esm/node_modules/framer-motion/dist/es/value/utils/is-motion-value.js +0 -3
- package/esm/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js +0 -16
- package/esm/node_modules/lodash.debounce/index.js +0 -363
- package/esm/node_modules/lodash.throttle/index.js +0 -424
- package/esm/node_modules/lodash.toarray/index.js +0 -849
- package/esm/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1140
- package/esm/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -53
- package/esm/node_modules/react/jsx-runtime.js +0 -12
- package/esm/node_modules/react-is/cjs/react-is.development.js +0 -211
- package/esm/node_modules/react-is/cjs/react-is.production.min.js +0 -123
- package/esm/node_modules/react-is/index.js +0 -12
- package/esm/node_modules/tabbable/dist/index.esm.js +0 -560
- package/esm/packages/icons/esm/AHorizontalLine.js +0 -15
- package/esm/packages/icons/esm/AInCircleFilled.js +0 -21
- package/esm/packages/icons/esm/AVertialLine.js +0 -15
- package/esm/packages/icons/esm/Ai.js +0 -23
- package/esm/packages/icons/esm/AiColor.js +0 -23
- package/esm/packages/icons/esm/AiSad.js +0 -24
- package/esm/packages/icons/esm/Alarm.js +0 -17
- package/esm/packages/icons/esm/AppleColor.js +0 -18
- package/esm/packages/icons/esm/ArrowBelow.js +0 -17
- package/esm/packages/icons/esm/ArrowDiagonal.js +0 -15
- package/esm/packages/icons/esm/ArrowDown.js +0 -17
- package/esm/packages/icons/esm/ArrowLeft.js +0 -17
- package/esm/packages/icons/esm/ArrowLeftCircle.js +0 -15
- package/esm/packages/icons/esm/ArrowLeftLimit.js +0 -17
- package/esm/packages/icons/esm/ArrowLeftRight.js +0 -17
- package/esm/packages/icons/esm/ArrowRight.js +0 -17
- package/esm/packages/icons/esm/ArrowRightCircle.js +0 -15
- package/esm/packages/icons/esm/ArrowRightLimit.js +0 -17
- package/esm/packages/icons/esm/ArrowUp.js +0 -17
- package/esm/packages/icons/esm/ArrowUpDown.js +0 -17
- package/esm/packages/icons/esm/ArrowUpLimit.js +0 -17
- package/esm/packages/icons/esm/Barchart.js +0 -15
- package/esm/packages/icons/esm/Book.js +0 -17
- package/esm/packages/icons/esm/BookColor.js +0 -28
- package/esm/packages/icons/esm/Bookmark.js +0 -17
- package/esm/packages/icons/esm/BookmarkAnimation.js +0 -17
- package/esm/packages/icons/esm/Box.js +0 -24
- package/esm/packages/icons/esm/BoxPlus.js +0 -15
- package/esm/packages/icons/esm/BusColor.js +0 -36
- package/esm/packages/icons/esm/Calendar.js +0 -22
- package/esm/packages/icons/esm/CalendarCheck.js +0 -17
- package/esm/packages/icons/esm/CalendarCheckColor.js +0 -20
- package/esm/packages/icons/esm/CalendarColor.js +0 -36
- package/esm/packages/icons/esm/Camera.js +0 -22
- package/esm/packages/icons/esm/CameraColor.js +0 -30
- package/esm/packages/icons/esm/Card.js +0 -17
- package/esm/packages/icons/esm/CardsPercent.js +0 -19
- package/esm/packages/icons/esm/CardsPercentColor.js +0 -23
- package/esm/packages/icons/esm/CaretDown.js +0 -15
- package/esm/packages/icons/esm/CaretLeft.js +0 -15
- package/esm/packages/icons/esm/CaretRight.js +0 -15
- package/esm/packages/icons/esm/CaretUp.js +0 -15
- package/esm/packages/icons/esm/Cart.js +0 -17
- package/esm/packages/icons/esm/ChatBubble.js +0 -17
- package/esm/packages/icons/esm/ChatBubbleBadgeColor.js +0 -32
- package/esm/packages/icons/esm/ChatBubbleCorrect.js +0 -24
- package/esm/packages/icons/esm/ChatBubbleCorrectColor.js +0 -22
- package/esm/packages/icons/esm/ChatBubbleDots.js +0 -17
- package/esm/packages/icons/esm/ChatBubbleQuestion.js +0 -17
- package/esm/packages/icons/esm/ChatBubbleQuestionAnimation.js +0 -16
- package/esm/packages/icons/esm/ChatBubbleQuestionColor.js +0 -20
- package/esm/packages/icons/esm/Check.js +0 -15
- package/esm/packages/icons/esm/CheckInCircle.js +0 -17
- package/esm/packages/icons/esm/CheckInCircleColor.js +0 -20
- package/esm/packages/icons/esm/CheckInCircleLine.js +0 -20
- package/esm/packages/icons/esm/ChevronDown.js +0 -17
- package/esm/packages/icons/esm/ChevronDownTwo.js +0 -23
- package/esm/packages/icons/esm/ChevronLeft.js +0 -17
- package/esm/packages/icons/esm/ChevronRight.js +0 -17
- package/esm/packages/icons/esm/ChevronRightTwo.js +0 -23
- package/esm/packages/icons/esm/ChevronUp.js +0 -17
- package/esm/packages/icons/esm/ChevronUpTwo.js +0 -23
- package/esm/packages/icons/esm/Circles.js +0 -17
- package/esm/packages/icons/esm/Clip.js +0 -15
- package/esm/packages/icons/esm/Close.js +0 -17
- package/esm/packages/icons/esm/CloseInCircle.js +0 -17
- package/esm/packages/icons/esm/Coin.js +0 -17
- package/esm/packages/icons/esm/Contact.js +0 -17
- package/esm/packages/icons/esm/Copy.js +0 -22
- package/esm/packages/icons/esm/Correct.js +0 -16
- package/esm/packages/icons/esm/Coupon.js +0 -17
- package/esm/packages/icons/esm/Crop.js +0 -24
- package/esm/packages/icons/esm/Crown.js +0 -17
- package/esm/packages/icons/esm/Curriculum.js +0 -31
- package/esm/packages/icons/esm/CurriculumColor.js +0 -38
- package/esm/packages/icons/esm/Cursor.js +0 -22
- package/esm/packages/icons/esm/Delete.js +0 -17
- package/esm/packages/icons/esm/Document.js +0 -22
- package/esm/packages/icons/esm/Dots.js +0 -17
- package/esm/packages/icons/esm/Download.js +0 -18
- package/esm/packages/icons/esm/Emoji.js +0 -17
- package/esm/packages/icons/esm/EmojiPlus.js +0 -22
- package/esm/packages/icons/esm/EmojiPlusDash.js +0 -17
- package/esm/packages/icons/esm/Eng.js +0 -20
- package/esm/packages/icons/esm/Enter.js +0 -17
- package/esm/packages/icons/esm/Equal.js +0 -17
- package/esm/packages/icons/esm/Eraser.js +0 -17
- package/esm/packages/icons/esm/ExclamationPointInCircle.js +0 -17
- package/esm/packages/icons/esm/ExternalLink.js +0 -27
- package/esm/packages/icons/esm/EyeOff.js +0 -15
- package/esm/packages/icons/esm/EyeOn.js +0 -22
- package/esm/packages/icons/esm/EyesTwo.js +0 -15
- package/esm/packages/icons/esm/FaceHappy.js +0 -17
- package/esm/packages/icons/esm/FaceSad.js +0 -17
- package/esm/packages/icons/esm/Facebook.js +0 -15
- package/esm/packages/icons/esm/FacebookColor.js +0 -20
- package/esm/packages/icons/esm/Filter.js +0 -17
- package/esm/packages/icons/esm/Find.js +0 -17
- package/esm/packages/icons/esm/Fire.js +0 -15
- package/esm/packages/icons/esm/FireColor.js +0 -27
- package/esm/packages/icons/esm/Flag.js +0 -15
- package/esm/packages/icons/esm/Folder.js +0 -17
- package/esm/packages/icons/esm/Frame.js +0 -17
- package/esm/packages/icons/esm/Glasses.js +0 -17
- package/esm/packages/icons/esm/Global.js +0 -17
- package/esm/packages/icons/esm/GoogleColor.js +0 -35
- package/esm/packages/icons/esm/Graph.js +0 -17
- package/esm/packages/icons/esm/Hair.js +0 -17
- package/esm/packages/icons/esm/Headphone.js +0 -17
- package/esm/packages/icons/esm/Heart.js +0 -17
- package/esm/packages/icons/esm/Home.js +0 -17
- package/esm/packages/icons/esm/Infinite.js +0 -15
- package/esm/packages/icons/esm/InfoInCircle.js +0 -17
- package/esm/packages/icons/esm/Instagram.js +0 -17
- package/esm/packages/icons/esm/KakaoColor.js +0 -20
- package/esm/packages/icons/esm/Kor.js +0 -20
- package/esm/packages/icons/esm/LandscapeArrow.js +0 -20
- package/esm/packages/icons/esm/League.js +0 -17
- package/esm/packages/icons/esm/Letter.js +0 -17
- package/esm/packages/icons/esm/LetterCrownColor.js +0 -26
- package/esm/packages/icons/esm/LetterCrownOpenColor.js +0 -35
- package/esm/packages/icons/esm/LetterHeartColor.js +0 -26
- package/esm/packages/icons/esm/LetterHeartOpenColor.js +0 -35
- package/esm/packages/icons/esm/LineThree.js +0 -17
- package/esm/packages/icons/esm/Link.js +0 -22
- package/esm/packages/icons/esm/Lock.js +0 -17
- package/esm/packages/icons/esm/LogoApple.js +0 -17
- package/esm/packages/icons/esm/LogoColor.js +0 -22
- package/esm/packages/icons/esm/LogoFacebook.js +0 -17
- package/esm/packages/icons/esm/LogoKakao.js +0 -17
- package/esm/packages/icons/esm/LogoNaver.js +0 -15
- package/esm/packages/icons/esm/MagicWand.js +0 -22
- package/esm/packages/icons/esm/Maxsize.js +0 -15
- package/esm/packages/icons/esm/Minsize.js +0 -17
- package/esm/packages/icons/esm/Minus.js +0 -17
- package/esm/packages/icons/esm/MinusInCircle.js +0 -17
- package/esm/packages/icons/esm/Moneybag.js +0 -17
- package/esm/packages/icons/esm/MoneybagColor.js +0 -20
- package/esm/packages/icons/esm/Moon.js +0 -15
- package/esm/packages/icons/esm/More.js +0 -17
- package/esm/packages/icons/esm/MyBubble.js +0 -17
- package/esm/packages/icons/esm/NaverColor.js +0 -18
- package/esm/packages/icons/esm/New.js +0 -22
- package/esm/packages/icons/esm/Note.js +0 -17
- package/esm/packages/icons/esm/NoteColor.js +0 -18
- package/esm/packages/icons/esm/NotePenColor.js +0 -46
- package/esm/packages/icons/esm/NumberFiveFilled.js +0 -17
- package/esm/packages/icons/esm/NumberFiveOutlined.js +0 -20
- package/esm/packages/icons/esm/NumberFourFilled.js +0 -17
- package/esm/packages/icons/esm/NumberFourOutlined.js +0 -20
- package/esm/packages/icons/esm/NumberOneFilled.js +0 -17
- package/esm/packages/icons/esm/NumberOneOutlined.js +0 -20
- package/esm/packages/icons/esm/NumberThreeFilled.js +0 -17
- package/esm/packages/icons/esm/NumberThreeOutlined.js +0 -20
- package/esm/packages/icons/esm/NumberTwoFilled.js +0 -17
- package/esm/packages/icons/esm/NumberTwoOutlined.js +0 -20
- package/esm/packages/icons/esm/Out.js +0 -17
- package/esm/packages/icons/esm/PalmTreeColor.js +0 -41
- package/esm/packages/icons/esm/PaperCheck.js +0 -36
- package/esm/packages/icons/esm/PaperPen.js +0 -31
- package/esm/packages/icons/esm/PaperPenColor.js +0 -20
- package/esm/packages/icons/esm/PaperTwo.js +0 -18
- package/esm/packages/icons/esm/Pause.js +0 -17
- package/esm/packages/icons/esm/Pen.js +0 -17
- package/esm/packages/icons/esm/PercentInCircle.js +0 -22
- package/esm/packages/icons/esm/Picture.js +0 -17
- package/esm/packages/icons/esm/Pill.js +0 -25
- package/esm/packages/icons/esm/PillColor.js +0 -18
- package/esm/packages/icons/esm/Pin.js +0 -17
- package/esm/packages/icons/esm/PinColorRed.js +0 -26
- package/esm/packages/icons/esm/Play.js +0 -15
- package/esm/packages/icons/esm/Plus.js +0 -17
- package/esm/packages/icons/esm/PlusInCircle.js +0 -17
- package/esm/packages/icons/esm/PointInCircle.js +0 -22
- package/esm/packages/icons/esm/PointInCircleColor.js +0 -27
- package/esm/packages/icons/esm/PortraitArrow.js +0 -20
- package/esm/packages/icons/esm/Present.js +0 -21
- package/esm/packages/icons/esm/PresentColor.js +0 -20
- package/esm/packages/icons/esm/Print.js +0 -20
- package/esm/packages/icons/esm/Problem.js +0 -15
- package/esm/packages/icons/esm/Profile.js +0 -17
- package/esm/packages/icons/esm/ProgressGradient.js +0 -41
- package/esm/packages/icons/esm/QuestionMarkInCircle.js +0 -17
- package/esm/packages/icons/esm/QuestionMarkInCircleOutlined.js +0 -20
- package/esm/packages/icons/esm/QuizColor.js +0 -28
- package/esm/packages/icons/esm/RaffleColor.js +0 -113
- package/esm/packages/icons/esm/Receipt.js +0 -17
- package/esm/packages/icons/esm/Refresh.js +0 -17
- package/esm/packages/icons/esm/Repeat.js +0 -15
- package/esm/packages/icons/esm/ReportColor.js +0 -30
- package/esm/packages/icons/esm/School.js +0 -20
- package/esm/packages/icons/esm/SchoolColor.js +0 -27
- package/esm/packages/icons/esm/Scroll.js +0 -22
- package/esm/packages/icons/esm/Search.js +0 -15
- package/esm/packages/icons/esm/Set.js +0 -20
- package/esm/packages/icons/esm/Setting.js +0 -17
- package/esm/packages/icons/esm/Share.js +0 -22
- package/esm/packages/icons/esm/ShieldCheck.js +0 -15
- package/esm/packages/icons/esm/Sidebar.js +0 -17
- package/esm/packages/icons/esm/Siren.js +0 -17
- package/esm/packages/icons/esm/Skipback.js +0 -17
- package/esm/packages/icons/esm/Skipforward.js +0 -17
- package/esm/packages/icons/esm/SoundOff.js +0 -15
- package/esm/packages/icons/esm/SoundOn.js +0 -25
- package/esm/packages/icons/esm/SoundPaper.js +0 -20
- package/esm/packages/icons/esm/Speaker.js +0 -17
- package/esm/packages/icons/esm/Stackup.js +0 -27
- package/esm/packages/icons/esm/Star.js +0 -17
- package/esm/packages/icons/esm/StarColor.js +0 -21
- package/esm/packages/icons/esm/Store.js +0 -15
- package/esm/packages/icons/esm/Sun.js +0 -15
- package/esm/packages/icons/esm/Sync.js +0 -17
- package/esm/packages/icons/esm/TestUploadColor.js +0 -26
- package/esm/packages/icons/esm/Thumbdown.js +0 -17
- package/esm/packages/icons/esm/Thumbup.js +0 -17
- package/esm/packages/icons/esm/Thunder.js +0 -17
- package/esm/packages/icons/esm/Ticket.js +0 -17
- package/esm/packages/icons/esm/TicketColor.js +0 -29
- package/esm/packages/icons/esm/Time.js +0 -17
- package/esm/packages/icons/esm/Timer.js +0 -17
- package/esm/packages/icons/esm/Top.js +0 -17
- package/esm/packages/icons/esm/Touch.js +0 -26
- package/esm/packages/icons/esm/Trash.js +0 -17
- package/esm/packages/icons/esm/Treasurebox.js +0 -22
- package/esm/packages/icons/esm/Trophy.js +0 -17
- package/esm/packages/icons/esm/Twinkle.js +0 -15
- package/esm/packages/icons/esm/TwinkleColor.js +0 -48
- package/esm/packages/icons/esm/Undo.js +0 -17
- package/esm/packages/icons/esm/University.js +0 -26
- package/esm/packages/icons/esm/UserBlocked.js +0 -17
- package/esm/packages/icons/esm/UserCheck.js +0 -17
- package/esm/packages/icons/esm/UserPlus.js +0 -17
- package/esm/packages/icons/esm/UserTwo.js +0 -23
- package/esm/packages/icons/esm/Video.js +0 -17
- package/esm/packages/icons/esm/VideoColor.js +0 -18
- package/esm/packages/icons/esm/VoteColor.js +0 -24
- package/esm/packages/icons/esm/Warning.js +0 -17
- package/esm/packages/icons/esm/Wifi.js +0 -27
- package/esm/packages/icons/esm/Workbook.js +0 -28
- package/esm/packages/icons/esm/WorkbookColor.js +0 -29
- package/esm/packages/icons/esm/Wrong.js +0 -20
- package/esm/packages/icons/esm/Youtube.js +0 -17
- package/esm/packages/icons/esm/_virtual/_rollupPluginBabelHelpers.js +0 -16
- package/esm/packages/icons/esm/index.js +0 -242
- package/esm/packages/token-studio/esm/foundation/breakpoint/device.js +0 -7
- package/esm/packages/token-studio/esm/foundation/gradient/colorStopList/index.js +0 -9
- package/esm/packages/token-studio/esm/foundation/gradient/direction/index.js +0 -9
- package/esm/packages/token-studio/esm/foundation/opacity/index.js +0 -5
- package/esm/packages/token-studio/esm/foundation/palette/index.js +0 -169
- package/esm/packages/token-studio/esm/foundation/rounding/index.js +0 -13
- package/esm/packages/token-studio/esm/foundation/shadow/index.js +0 -5
- package/esm/packages/token-studio/esm/foundation/spacing/index.js +0 -56
- package/esm/packages/token-studio/esm/foundation/typography/fontSize/index.js +0 -18
- package/esm/packages/token-studio/esm/foundation/typography/fontWeight/index.js +0 -13
- package/esm/packages/token-studio/esm/foundation/typography/lineHeight/index.js +0 -6
- package/esm/packages/token-studio/esm/token/breakpoints/index.js +0 -6
- package/esm/packages/token-studio/esm/token/color/gpai/dark.js +0 -223
- package/esm/packages/token-studio/esm/token/color/gpai/light.js +0 -223
- package/esm/packages/token-studio/esm/token/color/index.js +0 -223
- package/esm/packages/token-studio/esm/token/elevation/index.js +0 -7
- package/esm/packages/token-studio/esm/token/gradient/index.js +0 -41
- package/esm/packages/token-studio/esm/token/opacity/index.js +0 -7
- package/esm/packages/token-studio/esm/token/radii/index.js +0 -15
- package/esm/packages/token-studio/esm/token/space/index.js +0 -55
- package/esm/packages/token-studio/esm/token/typography/fontSizes.js +0 -17
- package/esm/packages/token-studio/esm/token/typography/fontWeights.js +0 -9
- package/esm/packages/token-studio/esm/token/typography/index.js +0 -133
- package/esm/packages/token-studio/esm/token/typography/lineHeights.js +0 -8
- package/esm/packages/utils/esm/commaizeNumber.js +0 -10
- package/esm/packages/utils/esm/forcePixelValue.js +0 -8
- package/esm/packages/utils/esm/isArray.js +0 -3
- package/esm/packages/utils/esm/isFunction.js +0 -3
- package/esm/packages/utils/esm/isNullable.js +0 -3
- package/esm/packages/utils/esm/noop.js +0 -6
- package/esm/packages/utils/esm/scrollIntoView.js +0 -46
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { keyframes } from '../../generators/keyframes.js';
|
|
2
|
-
import { spring } from '../../generators/spring/index.js';
|
|
3
|
-
import { inertia } from '../../generators/inertia.js';
|
|
4
|
-
import { frameloopDriver } from './driver-frameloop.js';
|
|
5
|
-
import { interpolate } from '../../../utils/interpolate.js';
|
|
6
|
-
import { clamp } from '../../../utils/clamp.js';
|
|
7
|
-
import { millisecondsToSeconds, secondsToMilliseconds } from '../../../utils/time-conversion.js';
|
|
8
|
-
import { calcGeneratorDuration } from '../../generators/utils/calc-duration.js';
|
|
9
|
-
|
|
10
|
-
const types = {
|
|
11
|
-
decay: inertia,
|
|
12
|
-
inertia,
|
|
13
|
-
tween: keyframes,
|
|
14
|
-
keyframes: keyframes,
|
|
15
|
-
spring,
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Animate a single value on the main thread.
|
|
19
|
-
*
|
|
20
|
-
* This function is written, where functionality overlaps,
|
|
21
|
-
* to be largely spec-compliant with WAAPI to allow fungibility
|
|
22
|
-
* between the two.
|
|
23
|
-
*/
|
|
24
|
-
function animateValue({ autoplay = true, delay = 0, driver = frameloopDriver, keyframes: keyframes$1, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", onPlay, onStop, onComplete, onUpdate, ...options }) {
|
|
25
|
-
let speed = 1;
|
|
26
|
-
let hasStopped = false;
|
|
27
|
-
let resolveFinishedPromise;
|
|
28
|
-
let currentFinishedPromise;
|
|
29
|
-
/**
|
|
30
|
-
* Resolve the current Promise every time we enter the
|
|
31
|
-
* finished state. This is WAAPI-compatible behaviour.
|
|
32
|
-
*/
|
|
33
|
-
const updateFinishedPromise = () => {
|
|
34
|
-
currentFinishedPromise = new Promise((resolve) => {
|
|
35
|
-
resolveFinishedPromise = resolve;
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
// Create the first finished promise
|
|
39
|
-
updateFinishedPromise();
|
|
40
|
-
let animationDriver;
|
|
41
|
-
const generatorFactory = types[type] || keyframes;
|
|
42
|
-
/**
|
|
43
|
-
* If this isn't the keyframes generator and we've been provided
|
|
44
|
-
* strings as keyframes, we need to interpolate these.
|
|
45
|
-
* TODO: Support velocity for units and complex value types/
|
|
46
|
-
*/
|
|
47
|
-
let mapNumbersToKeyframes;
|
|
48
|
-
if (generatorFactory !== keyframes &&
|
|
49
|
-
typeof keyframes$1[0] !== "number") {
|
|
50
|
-
mapNumbersToKeyframes = interpolate([0, 100], keyframes$1, {
|
|
51
|
-
clamp: false,
|
|
52
|
-
});
|
|
53
|
-
keyframes$1 = [0, 100];
|
|
54
|
-
}
|
|
55
|
-
const generator = generatorFactory({ ...options, keyframes: keyframes$1 });
|
|
56
|
-
let mirroredGenerator;
|
|
57
|
-
if (repeatType === "mirror") {
|
|
58
|
-
mirroredGenerator = generatorFactory({
|
|
59
|
-
...options,
|
|
60
|
-
keyframes: [...keyframes$1].reverse(),
|
|
61
|
-
velocity: -(options.velocity || 0),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
let playState = "idle";
|
|
65
|
-
let holdTime = null;
|
|
66
|
-
let startTime = null;
|
|
67
|
-
let cancelTime = null;
|
|
68
|
-
/**
|
|
69
|
-
* If duration is undefined and we have repeat options,
|
|
70
|
-
* we need to calculate a duration from the generator.
|
|
71
|
-
*
|
|
72
|
-
* We set it to the generator itself to cache the duration.
|
|
73
|
-
* Any timeline resolver will need to have already precalculated
|
|
74
|
-
* the duration by this step.
|
|
75
|
-
*/
|
|
76
|
-
if (generator.calculatedDuration === null && repeat) {
|
|
77
|
-
generator.calculatedDuration = calcGeneratorDuration(generator);
|
|
78
|
-
}
|
|
79
|
-
const { calculatedDuration } = generator;
|
|
80
|
-
let resolvedDuration = Infinity;
|
|
81
|
-
let totalDuration = Infinity;
|
|
82
|
-
if (calculatedDuration !== null) {
|
|
83
|
-
resolvedDuration = calculatedDuration + repeatDelay;
|
|
84
|
-
totalDuration = resolvedDuration * (repeat + 1) - repeatDelay;
|
|
85
|
-
}
|
|
86
|
-
let currentTime = 0;
|
|
87
|
-
const tick = (timestamp) => {
|
|
88
|
-
if (startTime === null)
|
|
89
|
-
return;
|
|
90
|
-
/**
|
|
91
|
-
* requestAnimationFrame timestamps can come through as lower than
|
|
92
|
-
* the startTime as set by performance.now(). Here we prevent this,
|
|
93
|
-
* though in the future it could be possible to make setting startTime
|
|
94
|
-
* a pending operation that gets resolved here.
|
|
95
|
-
*/
|
|
96
|
-
if (speed > 0)
|
|
97
|
-
startTime = Math.min(startTime, timestamp);
|
|
98
|
-
if (speed < 0)
|
|
99
|
-
startTime = Math.min(timestamp - totalDuration / speed, startTime);
|
|
100
|
-
if (holdTime !== null) {
|
|
101
|
-
currentTime = holdTime;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
// Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =
|
|
105
|
-
// 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for
|
|
106
|
-
// example.
|
|
107
|
-
currentTime = Math.round(timestamp - startTime) * speed;
|
|
108
|
-
}
|
|
109
|
-
// Rebase on delay
|
|
110
|
-
const timeWithoutDelay = currentTime - delay * (speed >= 0 ? 1 : -1);
|
|
111
|
-
const isInDelayPhase = speed >= 0 ? timeWithoutDelay < 0 : timeWithoutDelay > totalDuration;
|
|
112
|
-
currentTime = Math.max(timeWithoutDelay, 0);
|
|
113
|
-
/**
|
|
114
|
-
* If this animation has finished, set the current time
|
|
115
|
-
* to the total duration.
|
|
116
|
-
*/
|
|
117
|
-
if (playState === "finished" && holdTime === null) {
|
|
118
|
-
currentTime = totalDuration;
|
|
119
|
-
}
|
|
120
|
-
let elapsed = currentTime;
|
|
121
|
-
let frameGenerator = generator;
|
|
122
|
-
if (repeat) {
|
|
123
|
-
/**
|
|
124
|
-
* Get the current progress (0-1) of the animation. If t is >
|
|
125
|
-
* than duration we'll get values like 2.5 (midway through the
|
|
126
|
-
* third iteration)
|
|
127
|
-
*/
|
|
128
|
-
const progress = currentTime / resolvedDuration;
|
|
129
|
-
/**
|
|
130
|
-
* Get the current iteration (0 indexed). For instance the floor of
|
|
131
|
-
* 2.5 is 2.
|
|
132
|
-
*/
|
|
133
|
-
let currentIteration = Math.floor(progress);
|
|
134
|
-
/**
|
|
135
|
-
* Get the current progress of the iteration by taking the remainder
|
|
136
|
-
* so 2.5 is 0.5 through iteration 2
|
|
137
|
-
*/
|
|
138
|
-
let iterationProgress = progress % 1.0;
|
|
139
|
-
/**
|
|
140
|
-
* If iteration progress is 1 we count that as the end
|
|
141
|
-
* of the previous iteration.
|
|
142
|
-
*/
|
|
143
|
-
if (!iterationProgress && progress >= 1) {
|
|
144
|
-
iterationProgress = 1;
|
|
145
|
-
}
|
|
146
|
-
iterationProgress === 1 && currentIteration--;
|
|
147
|
-
currentIteration = Math.min(currentIteration, repeat + 1);
|
|
148
|
-
/**
|
|
149
|
-
* Reverse progress if we're not running in "normal" direction
|
|
150
|
-
*/
|
|
151
|
-
const iterationIsOdd = Boolean(currentIteration % 2);
|
|
152
|
-
if (iterationIsOdd) {
|
|
153
|
-
if (repeatType === "reverse") {
|
|
154
|
-
iterationProgress = 1 - iterationProgress;
|
|
155
|
-
if (repeatDelay) {
|
|
156
|
-
iterationProgress -= repeatDelay / resolvedDuration;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
else if (repeatType === "mirror") {
|
|
160
|
-
frameGenerator = mirroredGenerator;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
let p = clamp(0, 1, iterationProgress);
|
|
164
|
-
if (currentTime > totalDuration) {
|
|
165
|
-
p = repeatType === "reverse" && iterationIsOdd ? 1 : 0;
|
|
166
|
-
}
|
|
167
|
-
elapsed = p * resolvedDuration;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* If we're in negative time, set state as the initial keyframe.
|
|
171
|
-
* This prevents delay: x, duration: 0 animations from finishing
|
|
172
|
-
* instantly.
|
|
173
|
-
*/
|
|
174
|
-
const state = isInDelayPhase
|
|
175
|
-
? { done: false, value: keyframes$1[0] }
|
|
176
|
-
: frameGenerator.next(elapsed);
|
|
177
|
-
if (mapNumbersToKeyframes) {
|
|
178
|
-
state.value = mapNumbersToKeyframes(state.value);
|
|
179
|
-
}
|
|
180
|
-
let { done } = state;
|
|
181
|
-
if (!isInDelayPhase && calculatedDuration !== null) {
|
|
182
|
-
done = speed >= 0 ? currentTime >= totalDuration : currentTime <= 0;
|
|
183
|
-
}
|
|
184
|
-
const isAnimationFinished = holdTime === null &&
|
|
185
|
-
(playState === "finished" || (playState === "running" && done));
|
|
186
|
-
if (onUpdate) {
|
|
187
|
-
onUpdate(state.value);
|
|
188
|
-
}
|
|
189
|
-
if (isAnimationFinished) {
|
|
190
|
-
finish();
|
|
191
|
-
}
|
|
192
|
-
return state;
|
|
193
|
-
};
|
|
194
|
-
const stopAnimationDriver = () => {
|
|
195
|
-
animationDriver && animationDriver.stop();
|
|
196
|
-
animationDriver = undefined;
|
|
197
|
-
};
|
|
198
|
-
const cancel = () => {
|
|
199
|
-
playState = "idle";
|
|
200
|
-
stopAnimationDriver();
|
|
201
|
-
resolveFinishedPromise();
|
|
202
|
-
updateFinishedPromise();
|
|
203
|
-
startTime = cancelTime = null;
|
|
204
|
-
};
|
|
205
|
-
const finish = () => {
|
|
206
|
-
playState = "finished";
|
|
207
|
-
onComplete && onComplete();
|
|
208
|
-
stopAnimationDriver();
|
|
209
|
-
resolveFinishedPromise();
|
|
210
|
-
};
|
|
211
|
-
const play = () => {
|
|
212
|
-
if (hasStopped)
|
|
213
|
-
return;
|
|
214
|
-
if (!animationDriver)
|
|
215
|
-
animationDriver = driver(tick);
|
|
216
|
-
const now = animationDriver.now();
|
|
217
|
-
onPlay && onPlay();
|
|
218
|
-
if (holdTime !== null) {
|
|
219
|
-
startTime = now - holdTime;
|
|
220
|
-
}
|
|
221
|
-
else if (!startTime || playState === "finished") {
|
|
222
|
-
startTime = now;
|
|
223
|
-
}
|
|
224
|
-
if (playState === "finished") {
|
|
225
|
-
updateFinishedPromise();
|
|
226
|
-
}
|
|
227
|
-
cancelTime = startTime;
|
|
228
|
-
holdTime = null;
|
|
229
|
-
/**
|
|
230
|
-
* Set playState to running only after we've used it in
|
|
231
|
-
* the previous logic.
|
|
232
|
-
*/
|
|
233
|
-
playState = "running";
|
|
234
|
-
animationDriver.start();
|
|
235
|
-
};
|
|
236
|
-
if (autoplay) {
|
|
237
|
-
play();
|
|
238
|
-
}
|
|
239
|
-
const controls = {
|
|
240
|
-
then(resolve, reject) {
|
|
241
|
-
return currentFinishedPromise.then(resolve, reject);
|
|
242
|
-
},
|
|
243
|
-
get time() {
|
|
244
|
-
return millisecondsToSeconds(currentTime);
|
|
245
|
-
},
|
|
246
|
-
set time(newTime) {
|
|
247
|
-
newTime = secondsToMilliseconds(newTime);
|
|
248
|
-
currentTime = newTime;
|
|
249
|
-
if (holdTime !== null || !animationDriver || speed === 0) {
|
|
250
|
-
holdTime = newTime;
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
startTime = animationDriver.now() - newTime / speed;
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
get duration() {
|
|
257
|
-
const duration = generator.calculatedDuration === null
|
|
258
|
-
? calcGeneratorDuration(generator)
|
|
259
|
-
: generator.calculatedDuration;
|
|
260
|
-
return millisecondsToSeconds(duration);
|
|
261
|
-
},
|
|
262
|
-
get speed() {
|
|
263
|
-
return speed;
|
|
264
|
-
},
|
|
265
|
-
set speed(newSpeed) {
|
|
266
|
-
if (newSpeed === speed || !animationDriver)
|
|
267
|
-
return;
|
|
268
|
-
speed = newSpeed;
|
|
269
|
-
controls.time = millisecondsToSeconds(currentTime);
|
|
270
|
-
},
|
|
271
|
-
get state() {
|
|
272
|
-
return playState;
|
|
273
|
-
},
|
|
274
|
-
play,
|
|
275
|
-
pause: () => {
|
|
276
|
-
playState = "paused";
|
|
277
|
-
holdTime = currentTime;
|
|
278
|
-
},
|
|
279
|
-
stop: () => {
|
|
280
|
-
hasStopped = true;
|
|
281
|
-
if (playState === "idle")
|
|
282
|
-
return;
|
|
283
|
-
playState = "idle";
|
|
284
|
-
onStop && onStop();
|
|
285
|
-
cancel();
|
|
286
|
-
},
|
|
287
|
-
cancel: () => {
|
|
288
|
-
if (cancelTime !== null)
|
|
289
|
-
tick(cancelTime);
|
|
290
|
-
cancel();
|
|
291
|
-
},
|
|
292
|
-
complete: () => {
|
|
293
|
-
playState = "finished";
|
|
294
|
-
},
|
|
295
|
-
sample: (elapsed) => {
|
|
296
|
-
startTime = 0;
|
|
297
|
-
return tick(elapsed);
|
|
298
|
-
},
|
|
299
|
-
};
|
|
300
|
-
return controls;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
export { animateValue };
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { animateStyle } from './index.js';
|
|
2
|
-
import { isWaapiSupportedEasing } from './easing.js';
|
|
3
|
-
import { getFinalKeyframe } from './utils/get-final-keyframe.js';
|
|
4
|
-
import { animateValue } from '../js/index.js';
|
|
5
|
-
import { millisecondsToSeconds, secondsToMilliseconds } from '../../../utils/time-conversion.js';
|
|
6
|
-
import { memo } from '../../../utils/memo.js';
|
|
7
|
-
import { noop } from '../../../utils/noop.js';
|
|
8
|
-
import { frameData, frame, cancelFrame } from '../../../frameloop/frame.js';
|
|
9
|
-
|
|
10
|
-
const supportsWaapi = memo(() => Object.hasOwnProperty.call(Element.prototype, "animate"));
|
|
11
|
-
/**
|
|
12
|
-
* A list of values that can be hardware-accelerated.
|
|
13
|
-
*/
|
|
14
|
-
const acceleratedValues = new Set([
|
|
15
|
-
"opacity",
|
|
16
|
-
"clipPath",
|
|
17
|
-
"filter",
|
|
18
|
-
"transform",
|
|
19
|
-
"backgroundColor",
|
|
20
|
-
]);
|
|
21
|
-
/**
|
|
22
|
-
* 10ms is chosen here as it strikes a balance between smooth
|
|
23
|
-
* results (more than one keyframe per frame at 60fps) and
|
|
24
|
-
* keyframe quantity.
|
|
25
|
-
*/
|
|
26
|
-
const sampleDelta = 10; //ms
|
|
27
|
-
/**
|
|
28
|
-
* Implement a practical max duration for keyframe generation
|
|
29
|
-
* to prevent infinite loops
|
|
30
|
-
*/
|
|
31
|
-
const maxDuration = 20000;
|
|
32
|
-
const requiresPregeneratedKeyframes = (valueName, options) => options.type === "spring" ||
|
|
33
|
-
valueName === "backgroundColor" ||
|
|
34
|
-
!isWaapiSupportedEasing(options.ease);
|
|
35
|
-
function createAcceleratedAnimation(value, valueName, { onUpdate, onComplete, ...options }) {
|
|
36
|
-
const canAccelerateAnimation = supportsWaapi() &&
|
|
37
|
-
acceleratedValues.has(valueName) &&
|
|
38
|
-
!options.repeatDelay &&
|
|
39
|
-
options.repeatType !== "mirror" &&
|
|
40
|
-
options.damping !== 0 &&
|
|
41
|
-
options.type !== "inertia";
|
|
42
|
-
if (!canAccelerateAnimation)
|
|
43
|
-
return false;
|
|
44
|
-
/**
|
|
45
|
-
* TODO: Unify with js/index
|
|
46
|
-
*/
|
|
47
|
-
let hasStopped = false;
|
|
48
|
-
let resolveFinishedPromise;
|
|
49
|
-
let currentFinishedPromise;
|
|
50
|
-
/**
|
|
51
|
-
* Resolve the current Promise every time we enter the
|
|
52
|
-
* finished state. This is WAAPI-compatible behaviour.
|
|
53
|
-
*/
|
|
54
|
-
const updateFinishedPromise = () => {
|
|
55
|
-
currentFinishedPromise = new Promise((resolve) => {
|
|
56
|
-
resolveFinishedPromise = resolve;
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
// Create the first finished promise
|
|
60
|
-
updateFinishedPromise();
|
|
61
|
-
let { keyframes, duration = 300, ease, times } = options;
|
|
62
|
-
/**
|
|
63
|
-
* If this animation needs pre-generated keyframes then generate.
|
|
64
|
-
*/
|
|
65
|
-
if (requiresPregeneratedKeyframes(valueName, options)) {
|
|
66
|
-
const sampleAnimation = animateValue({
|
|
67
|
-
...options,
|
|
68
|
-
repeat: 0,
|
|
69
|
-
delay: 0,
|
|
70
|
-
});
|
|
71
|
-
let state = { done: false, value: keyframes[0] };
|
|
72
|
-
const pregeneratedKeyframes = [];
|
|
73
|
-
/**
|
|
74
|
-
* Bail after 20 seconds of pre-generated keyframes as it's likely
|
|
75
|
-
* we're heading for an infinite loop.
|
|
76
|
-
*/
|
|
77
|
-
let t = 0;
|
|
78
|
-
while (!state.done && t < maxDuration) {
|
|
79
|
-
state = sampleAnimation.sample(t);
|
|
80
|
-
pregeneratedKeyframes.push(state.value);
|
|
81
|
-
t += sampleDelta;
|
|
82
|
-
}
|
|
83
|
-
times = undefined;
|
|
84
|
-
keyframes = pregeneratedKeyframes;
|
|
85
|
-
duration = t - sampleDelta;
|
|
86
|
-
ease = "linear";
|
|
87
|
-
}
|
|
88
|
-
const animation = animateStyle(value.owner.current, valueName, keyframes, {
|
|
89
|
-
...options,
|
|
90
|
-
duration,
|
|
91
|
-
/**
|
|
92
|
-
* This function is currently not called if ease is provided
|
|
93
|
-
* as a function so the cast is safe.
|
|
94
|
-
*
|
|
95
|
-
* However it would be possible for a future refinement to port
|
|
96
|
-
* in easing pregeneration from Motion One for browsers that
|
|
97
|
-
* support the upcoming `linear()` easing function.
|
|
98
|
-
*/
|
|
99
|
-
ease: ease,
|
|
100
|
-
times,
|
|
101
|
-
});
|
|
102
|
-
/**
|
|
103
|
-
* WAAPI animations don't resolve startTime synchronously. But a blocked
|
|
104
|
-
* thread could delay the startTime resolution by a noticeable amount.
|
|
105
|
-
* For synching handoff animations with the new Motion animation we want
|
|
106
|
-
* to ensure startTime is synchronously set.
|
|
107
|
-
*/
|
|
108
|
-
if (options.syncStart) {
|
|
109
|
-
animation.startTime = frameData.isProcessing
|
|
110
|
-
? frameData.timestamp
|
|
111
|
-
: document.timeline
|
|
112
|
-
? document.timeline.currentTime
|
|
113
|
-
: performance.now();
|
|
114
|
-
}
|
|
115
|
-
const cancelAnimation = () => animation.cancel();
|
|
116
|
-
const safeCancel = () => {
|
|
117
|
-
frame.update(cancelAnimation);
|
|
118
|
-
resolveFinishedPromise();
|
|
119
|
-
updateFinishedPromise();
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Prefer the `onfinish` prop as it's more widely supported than
|
|
123
|
-
* the `finished` promise.
|
|
124
|
-
*
|
|
125
|
-
* Here, we synchronously set the provided MotionValue to the end
|
|
126
|
-
* keyframe. If we didn't, when the WAAPI animation is finished it would
|
|
127
|
-
* be removed from the element which would then revert to its old styles.
|
|
128
|
-
*/
|
|
129
|
-
animation.onfinish = () => {
|
|
130
|
-
value.set(getFinalKeyframe(keyframes, options));
|
|
131
|
-
onComplete && onComplete();
|
|
132
|
-
safeCancel();
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Animation interrupt callback.
|
|
136
|
-
*/
|
|
137
|
-
const controls = {
|
|
138
|
-
then(resolve, reject) {
|
|
139
|
-
return currentFinishedPromise.then(resolve, reject);
|
|
140
|
-
},
|
|
141
|
-
attachTimeline(timeline) {
|
|
142
|
-
animation.timeline = timeline;
|
|
143
|
-
animation.onfinish = null;
|
|
144
|
-
return noop;
|
|
145
|
-
},
|
|
146
|
-
get time() {
|
|
147
|
-
return millisecondsToSeconds(animation.currentTime || 0);
|
|
148
|
-
},
|
|
149
|
-
set time(newTime) {
|
|
150
|
-
animation.currentTime = secondsToMilliseconds(newTime);
|
|
151
|
-
},
|
|
152
|
-
get speed() {
|
|
153
|
-
return animation.playbackRate;
|
|
154
|
-
},
|
|
155
|
-
set speed(newSpeed) {
|
|
156
|
-
animation.playbackRate = newSpeed;
|
|
157
|
-
},
|
|
158
|
-
get duration() {
|
|
159
|
-
return millisecondsToSeconds(duration);
|
|
160
|
-
},
|
|
161
|
-
play: () => {
|
|
162
|
-
if (hasStopped)
|
|
163
|
-
return;
|
|
164
|
-
animation.play();
|
|
165
|
-
/**
|
|
166
|
-
* Cancel any pending cancel tasks
|
|
167
|
-
*/
|
|
168
|
-
cancelFrame(cancelAnimation);
|
|
169
|
-
},
|
|
170
|
-
pause: () => animation.pause(),
|
|
171
|
-
stop: () => {
|
|
172
|
-
hasStopped = true;
|
|
173
|
-
if (animation.playState === "idle")
|
|
174
|
-
return;
|
|
175
|
-
/**
|
|
176
|
-
* WAAPI doesn't natively have any interruption capabilities.
|
|
177
|
-
*
|
|
178
|
-
* Rather than read commited styles back out of the DOM, we can
|
|
179
|
-
* create a renderless JS animation and sample it twice to calculate
|
|
180
|
-
* its current value, "previous" value, and therefore allow
|
|
181
|
-
* Motion to calculate velocity for any subsequent animation.
|
|
182
|
-
*/
|
|
183
|
-
const { currentTime } = animation;
|
|
184
|
-
if (currentTime) {
|
|
185
|
-
const sampleAnimation = animateValue({
|
|
186
|
-
...options,
|
|
187
|
-
autoplay: false,
|
|
188
|
-
});
|
|
189
|
-
value.setWithVelocity(sampleAnimation.sample(currentTime - sampleDelta).value, sampleAnimation.sample(currentTime).value, sampleDelta);
|
|
190
|
-
}
|
|
191
|
-
safeCancel();
|
|
192
|
-
},
|
|
193
|
-
complete: () => animation.finish(),
|
|
194
|
-
cancel: safeCancel,
|
|
195
|
-
};
|
|
196
|
-
return controls;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
export { createAcceleratedAnimation };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { isBezierDefinition } from '../../../easing/utils/is-bezier-definition.js';
|
|
2
|
-
|
|
3
|
-
function isWaapiSupportedEasing(easing) {
|
|
4
|
-
return Boolean(!easing ||
|
|
5
|
-
(typeof easing === "string" && supportedWaapiEasing[easing]) ||
|
|
6
|
-
isBezierDefinition(easing) ||
|
|
7
|
-
(Array.isArray(easing) && easing.every(isWaapiSupportedEasing)));
|
|
8
|
-
}
|
|
9
|
-
const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
|
|
10
|
-
const supportedWaapiEasing = {
|
|
11
|
-
linear: "linear",
|
|
12
|
-
ease: "ease",
|
|
13
|
-
easeIn: "ease-in",
|
|
14
|
-
easeOut: "ease-out",
|
|
15
|
-
easeInOut: "ease-in-out",
|
|
16
|
-
circIn: cubicBezierAsString([0, 0.65, 0.55, 1]),
|
|
17
|
-
circOut: cubicBezierAsString([0.55, 0, 1, 0.45]),
|
|
18
|
-
backIn: cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),
|
|
19
|
-
backOut: cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),
|
|
20
|
-
};
|
|
21
|
-
function mapEasingToNativeEasing(easing) {
|
|
22
|
-
if (!easing)
|
|
23
|
-
return undefined;
|
|
24
|
-
return isBezierDefinition(easing)
|
|
25
|
-
? cubicBezierAsString(easing)
|
|
26
|
-
: Array.isArray(easing)
|
|
27
|
-
? easing.map(mapEasingToNativeEasing)
|
|
28
|
-
: supportedWaapiEasing[easing];
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { cubicBezierAsString, isWaapiSupportedEasing, mapEasingToNativeEasing, supportedWaapiEasing };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { mapEasingToNativeEasing } from './easing.js';
|
|
2
|
-
|
|
3
|
-
function animateStyle(element, valueName, keyframes, { delay = 0, duration, repeat = 0, repeatType = "loop", ease, times, } = {}) {
|
|
4
|
-
const keyframeOptions = { [valueName]: keyframes };
|
|
5
|
-
if (times)
|
|
6
|
-
keyframeOptions.offset = times;
|
|
7
|
-
const easing = mapEasingToNativeEasing(ease);
|
|
8
|
-
/**
|
|
9
|
-
* If this is an easing array, apply to keyframes, not animation as a whole
|
|
10
|
-
*/
|
|
11
|
-
if (Array.isArray(easing))
|
|
12
|
-
keyframeOptions.easing = easing;
|
|
13
|
-
return element.animate(keyframeOptions, {
|
|
14
|
-
delay,
|
|
15
|
-
duration,
|
|
16
|
-
easing: !Array.isArray(easing) ? easing : "linear",
|
|
17
|
-
fill: "both",
|
|
18
|
-
iterations: repeat + 1,
|
|
19
|
-
direction: repeatType === "reverse" ? "alternate" : "normal",
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { animateStyle };
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { spring } from './spring/index.js';
|
|
2
|
-
import { calcGeneratorVelocity } from './utils/velocity.js';
|
|
3
|
-
|
|
4
|
-
function inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {
|
|
5
|
-
const origin = keyframes[0];
|
|
6
|
-
const state = {
|
|
7
|
-
done: false,
|
|
8
|
-
value: origin,
|
|
9
|
-
};
|
|
10
|
-
const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);
|
|
11
|
-
const nearestBoundary = (v) => {
|
|
12
|
-
if (min === undefined)
|
|
13
|
-
return max;
|
|
14
|
-
if (max === undefined)
|
|
15
|
-
return min;
|
|
16
|
-
return Math.abs(min - v) < Math.abs(max - v) ? min : max;
|
|
17
|
-
};
|
|
18
|
-
let amplitude = power * velocity;
|
|
19
|
-
const ideal = origin + amplitude;
|
|
20
|
-
const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);
|
|
21
|
-
/**
|
|
22
|
-
* If the target has changed we need to re-calculate the amplitude, otherwise
|
|
23
|
-
* the animation will start from the wrong position.
|
|
24
|
-
*/
|
|
25
|
-
if (target !== ideal)
|
|
26
|
-
amplitude = target - origin;
|
|
27
|
-
const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);
|
|
28
|
-
const calcLatest = (t) => target + calcDelta(t);
|
|
29
|
-
const applyFriction = (t) => {
|
|
30
|
-
const delta = calcDelta(t);
|
|
31
|
-
const latest = calcLatest(t);
|
|
32
|
-
state.done = Math.abs(delta) <= restDelta;
|
|
33
|
-
state.value = state.done ? target : latest;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Ideally this would resolve for t in a stateless way, we could
|
|
37
|
-
* do that by always precalculating the animation but as we know
|
|
38
|
-
* this will be done anyway we can assume that spring will
|
|
39
|
-
* be discovered during that.
|
|
40
|
-
*/
|
|
41
|
-
let timeReachedBoundary;
|
|
42
|
-
let spring$1;
|
|
43
|
-
const checkCatchBoundary = (t) => {
|
|
44
|
-
if (!isOutOfBounds(state.value))
|
|
45
|
-
return;
|
|
46
|
-
timeReachedBoundary = t;
|
|
47
|
-
spring$1 = spring({
|
|
48
|
-
keyframes: [state.value, nearestBoundary(state.value)],
|
|
49
|
-
velocity: calcGeneratorVelocity(calcLatest, t, state.value),
|
|
50
|
-
damping: bounceDamping,
|
|
51
|
-
stiffness: bounceStiffness,
|
|
52
|
-
restDelta,
|
|
53
|
-
restSpeed,
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
checkCatchBoundary(0);
|
|
57
|
-
return {
|
|
58
|
-
calculatedDuration: null,
|
|
59
|
-
next: (t) => {
|
|
60
|
-
/**
|
|
61
|
-
* We need to resolve the friction to figure out if we need a
|
|
62
|
-
* spring but we don't want to do this twice per frame. So here
|
|
63
|
-
* we flag if we updated for this frame and later if we did
|
|
64
|
-
* we can skip doing it again.
|
|
65
|
-
*/
|
|
66
|
-
let hasUpdatedFrame = false;
|
|
67
|
-
if (!spring$1 && timeReachedBoundary === undefined) {
|
|
68
|
-
hasUpdatedFrame = true;
|
|
69
|
-
applyFriction(t);
|
|
70
|
-
checkCatchBoundary(t);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* If we have a spring and the provided t is beyond the moment the friction
|
|
74
|
-
* animation crossed the min/max boundary, use the spring.
|
|
75
|
-
*/
|
|
76
|
-
if (timeReachedBoundary !== undefined && t > timeReachedBoundary) {
|
|
77
|
-
return spring$1.next(t - timeReachedBoundary);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
!hasUpdatedFrame && applyFriction(t);
|
|
81
|
-
return state;
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export { inertia };
|