UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

93 lines (89 loc) 3.15 kB
"use client"; const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs'); const require_create_component = require('../../core/components/create-component.cjs'); const require_factory = require('../motion/factory.cjs'); const require_transition = require('../motion/transition.cjs'); const require_slide_fade_style = require('./slide-fade.style.cjs'); let react = require("react"); react = require_rolldown_runtime.__toESM(react); let react_jsx_runtime = require("react/jsx-runtime"); react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime); let motion_react = require("motion/react"); motion_react = require_rolldown_runtime.__toESM(motion_react); //#region src/components/slide-fade/slide-fade.tsx const slideFadeVariants = { enter: ({ delay, duration, enter, transition, transitionEnd } = {}) => ({ opacity: 1, transition: require_transition.createTransition.enter(transition?.enter)(delay, duration), transitionEnd: transitionEnd?.enter, x: 0, y: 0, ...enter }), exit: ({ delay, duration, exit, offsetX, offsetY, reverse, transition, transitionEnd } = {}) => ({ opacity: 0, transition: require_transition.createTransition.exit(transition?.exit)(delay, duration), ...reverse ? { transitionEnd: transitionEnd?.exit, x: offsetX, y: offsetY } : { transitionEnd: { x: offsetX, y: offsetY, ...transitionEnd?.exit } }, ...exit }), initial: ({ delay, duration, initial, offsetX, offsetY, transition, transitionEnd }) => ({ opacity: 0, transition: require_transition.createTransition.exit(transition?.exit)(delay, duration), transitionEnd: transitionEnd?.exit, x: offsetX, y: offsetY, ...initial }) }; const { PropsContext: SlideFadePropsContext, usePropsContext: useSlideFadePropsContext, withContext } = require_create_component.createComponent("slide-fade", require_slide_fade_style.slideFadeStyle); /** * `SlideFade` is a component that gradually shows or hides an element while moving it from a specified position. * * @see https://yamada-ui.com/docs/components/slide-fade */ const SlideFade = withContext(({ delay, duration, offsetX = 0, offsetY = 8, open: openProp, reverse = true, transition, transitionEnd, unmountOnExit,...rest }) => { const animate = openProp || unmountOnExit ? "enter" : "exit"; const open = unmountOnExit ? openProp && unmountOnExit : true; const custom = (0, react.useMemo)(() => ({ delay, duration, offsetX, offsetY, reverse, transition, transitionEnd }), [ delay, duration, offsetX, offsetY, reverse, transition, transitionEnd ]); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(motion_react.AnimatePresence, { custom, children: open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.motion.div, { animate, custom, exit: "exit", initial: "exit", variants: slideFadeVariants, ...rest }) : null }); })(); //#endregion exports.SlideFade = SlideFade; exports.SlideFadePropsContext = SlideFadePropsContext; exports.slideFadeVariants = slideFadeVariants; exports.useSlideFadePropsContext = useSlideFadePropsContext; //# sourceMappingURL=slide-fade.cjs.map