image.mjs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import '../../../utils/index.mjs';
  2. import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
  3. import { mutable } from '../../../utils/typescript.mjs';
  4. import { isNumber } from '@vueuse/core';
  5. const imageProps = buildProps({
  6. hideOnClickModal: {
  7. type: Boolean,
  8. default: false
  9. },
  10. src: {
  11. type: String,
  12. default: ""
  13. },
  14. fit: {
  15. type: String,
  16. values: ["", "contain", "cover", "fill", "none", "scale-down"],
  17. default: ""
  18. },
  19. loading: {
  20. type: String,
  21. values: ["eager", "lazy"]
  22. },
  23. lazy: {
  24. type: Boolean,
  25. default: false
  26. },
  27. scrollContainer: {
  28. type: definePropType([String, Object])
  29. },
  30. previewSrcList: {
  31. type: definePropType(Array),
  32. default: () => mutable([])
  33. },
  34. previewTeleported: {
  35. type: Boolean,
  36. default: false
  37. },
  38. zIndex: {
  39. type: Number
  40. },
  41. initialIndex: {
  42. type: Number,
  43. default: 0
  44. },
  45. infinite: {
  46. type: Boolean,
  47. default: true
  48. },
  49. closeOnPressEscape: {
  50. type: Boolean,
  51. default: true
  52. },
  53. zoomRate: {
  54. type: Number,
  55. default: 1.2
  56. }
  57. });
  58. const imageEmits = {
  59. load: (evt) => evt instanceof Event,
  60. error: (evt) => evt instanceof Event,
  61. switch: (val) => isNumber(val),
  62. close: () => true,
  63. show: () => true
  64. };
  65. export { imageEmits, imageProps };
  66. //# sourceMappingURL=image.mjs.map