types.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * 图片 item 类型
  3. */
  4. import React from 'react';
  5. export type dataType = {
  6. // 唯一标识
  7. key?: string;
  8. // 图片地址
  9. src: string;
  10. // 图片介绍
  11. intro?: React.ReactNode;
  12. };
  13. export interface IPhotoProviderBase {
  14. // 背景可点击关闭,默认 true
  15. maskClosable?: boolean;
  16. // 导航条 visible,默认 true
  17. bannerVisible?: boolean;
  18. // 简介 visible,默认 true
  19. introVisible?: boolean;
  20. // 自定义容器
  21. overlay?: React.ReactNode;
  22. // className
  23. className?: string;
  24. // 遮罩 className
  25. maskClassName?: string;
  26. // 图片容器 className
  27. viewClassName?: string;
  28. // 图片 className
  29. imageClassName?: string;
  30. // 自定义 loading
  31. loadingElement?: JSX.Element;
  32. // 加载失败 Element
  33. brokenElement?: JSX.Element;
  34. }
  35. export type ReachFunction = (clientX: number, clientY: number) => void;
  36. export type PhotoTapFunction = (clientX: number, clientY: number) => void;
  37. /**
  38. * 边缘超出状态
  39. */
  40. export enum CloseEdgeEnum {
  41. Normal, // 正常滑动
  42. Small, // 小于屏幕宽度
  43. Before, // 抵触左边/上边
  44. After, // 抵触右边/下边
  45. }
  46. /**
  47. * 边缘触发状态
  48. */
  49. export enum ReachTypeEnum {
  50. Normal, // 未触发
  51. XReach, // x 轴
  52. YReach, // y 轴
  53. }