built-in-components.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { DefineComponent } from './v3-define-component'
  2. type Hook<T = () => void> = T | T[]
  3. export interface TransitionProps {
  4. name?: string
  5. appear?: boolean
  6. css?: boolean
  7. mode?: 'in-out' | 'out-in' | 'default'
  8. type?: 'transition' | 'animation'
  9. duration?:
  10. | number
  11. | string
  12. | {
  13. enter: number
  14. leave: number
  15. }
  16. // classes
  17. enterClass?: string
  18. enterActiveClass?: string
  19. enterToClass?: string
  20. appearClass?: string
  21. appearActiveClass?: string
  22. appearToClass?: string
  23. leaveClass?: string
  24. leaveActiveClass?: string
  25. leaveToClass?: string
  26. // event hooks
  27. onBeforeEnter?: Hook<(el: Element) => void>
  28. onEnter?: Hook<(el: Element, done: () => void) => void>
  29. onAfterEnter?: Hook<(el: Element) => void>
  30. onEnterCancelled?: Hook<(el: Element) => void>
  31. onBeforeLeave?: Hook<(el: Element) => void>
  32. onLeave?: Hook<(el: Element, done: () => void) => void>
  33. onAfterLeave?: Hook<(el: Element) => void>
  34. onLeaveCancelled?: Hook<(el: Element) => void>
  35. onBeforeAppear?: Hook<(el: Element) => void>
  36. onAppear?: Hook<(el: Element, done: () => void) => void>
  37. onAfterAppear?: Hook<(el: Element) => void>
  38. onAppearCancelled?: Hook<(el: Element) => void>
  39. }
  40. export declare const Transition: DefineComponent<TransitionProps>
  41. export type TransitionGroupProps = Omit<TransitionProps, 'mode'> & {
  42. tag?: string
  43. moveClass?: string
  44. }
  45. export declare const TransitionGroup: DefineComponent<TransitionGroupProps>
  46. type MatchPattern = string | RegExp | (string | RegExp)[]
  47. export interface KeepAliveProps {
  48. include?: MatchPattern
  49. exclude?: MatchPattern
  50. max?: number | string
  51. }
  52. export declare const KeepAlive: DefineComponent<KeepAliveProps>