'use strict';

require('../../../utils/index.js');
var runtime = require('../../../utils/props/runtime.js');

"use strict";
const slideshowEffect = [
  "slide",
  // 滑动
  "fade",
  // 淡入淡出
  "cube",
  // 立方体
  "coverflow",
  // 封面流
  "flip",
  // 翻转
  "cards"
  // 卡片
];
const slideshowProps = runtime.buildProps({
  // 数据源配置
  list: {
    type: runtime.definePropType(Array),
    default: () => []
  },
  // 轮播图容器高度
  height: {
    type: runtime.definePropType([String, Number]),
    default: 300
  },
  // 是否显示左右导航按钮
  navigation: {
    type: Boolean,
    default: true
  },
  // 是否显示分页指示器
  pagination: {
    type: Boolean,
    default: true
  },
  // 是否显示滚动条
  scrollbar: {
    type: Boolean,
    default: false
  },
  // 效果选择 slide(滑动)/fade(淡入淡出)/cube(立方体)/coverflow(封面流)/flip(翻转)/cards(卡片)
  effect: {
    type: String,
    default: "slide",
    values: slideshowEffect
  },
  // 方向 horizontal(水平) / vertical(垂直)
  direction: {
    type: String,
    default: "horizontal"
  },
  // 是否启用循环播放
  loop: {
    type: Boolean,
    default: false
  },
  // 同时显示的幻灯片数量
  slidesPerView: {
    type: Number,
    default: 1
  },
  // 相邻幻灯片之间的间距
  spaceBetween: {
    type: Number,
    default: 0
  },
  // 是否将活动幻灯片居中显示
  centeredSlides: {
    type: Boolean,
    default: false
  },
  // 每次滑动切换的幻灯片组数
  slidesPerGroup: {
    type: Number,
    default: 1
  },
  // 幻灯片切换动画速度(毫秒)
  speed: {
    type: Number,
    default: 600
  },
  // 是否启用自动播放
  autoplay: {
    type: Boolean,
    default: false
  },
  // 自动播放延迟时间(毫秒)
  delay: {
    type: Number,
    default: 3e3
  },
  // 是否触摸滑动切换
  simulateTouch: {
    type: Boolean,
    default: false
  },
  // 是否在触摸时显示抓取光标
  grabCursor: {
    type: Boolean,
    default: true
  },
  // 额外自定义配置
  options: {
    type: Object,
    default: () => ({})
  },
  // 文本内边距
  textPadding: {
    type: String,
    default: "48px"
  },
  /**
   * 以下效果专用配置———————————————————————————————————————————————————————————
   */
  // cube是否显示阴影
  shadow: {
    type: Boolean,
    default: true
  },
  // coverflow 滑块旋转角度
  rotate: {
    type: Number,
    default: 50
  },
  // coverflow拉伸距离
  stretch: {
    type: Number,
    default: 0
  },
  // coverflow 深度偏移
  depth: {
    type: Number,
    default: 100
  },
  // cards每张幻灯片的旋转角度
  perSlideRotate: {
    type: Number,
    default: 2
  },
  // cards每张幻灯片的偏移量
  perSlideOffset: {
    type: Number,
    default: 8
  },
  // ==================== 鼠标滚轮控制 ====================
  // 是否启用鼠标滚轮控制
  mousewheel: {
    type: Boolean,
    default: false
  },
  // 鼠标滚轮方向是否反转
  mousewheelInvert: {
    type: Boolean,
    default: false
  },
  // 鼠标滚轮灵敏度 (0.1 - 3)
  mousewheelSensitivity: {
    type: Number,
    default: 1,
    validator: (value) => value >= 0.1 && value <= 3
  },
  // ==================== 键盘控制 ====================
  // 是否启用键盘控制
  keyboard: {
    type: Boolean,
    default: false
  },
  // 是否仅在视窗内响应键盘
  keyboardOnlyInViewport: {
    type: Boolean,
    default: true
  },
  // 是否启用PageUp/PageDown翻页
  keyboardPageUpDown: {
    type: Boolean,
    default: true
  }
});

exports.slideshowEffect = slideshowEffect;
exports.slideshowProps = slideshowProps;
//# sourceMappingURL=slideshow.js.map
