transition.mjs 986 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Utilities
  2. import { h, mergeProps, Transition, TransitionGroup } from 'vue';
  3. import { propsFactory } from "../util/index.mjs"; // Types
  4. export const makeTransitionProps = propsFactory({
  5. transition: {
  6. type: [Boolean, String, Object],
  7. default: 'fade-transition',
  8. validator: val => val !== true
  9. }
  10. }, 'transition');
  11. export const MaybeTransition = (props, _ref) => {
  12. let {
  13. slots
  14. } = _ref;
  15. const {
  16. transition,
  17. disabled,
  18. group,
  19. ...rest
  20. } = props;
  21. const {
  22. component = group ? TransitionGroup : Transition,
  23. ...customProps
  24. } = typeof transition === 'object' ? transition : {};
  25. return h(component, mergeProps(typeof transition === 'string' ? {
  26. name: disabled ? '' : transition
  27. } : customProps, typeof transition === 'string' ? {} : Object.fromEntries(Object.entries({
  28. disabled,
  29. group
  30. }).filter(_ref2 => {
  31. let [_, v] = _ref2;
  32. return v !== undefined;
  33. })), rest), slots);
  34. };
  35. //# sourceMappingURL=transition.mjs.map