{
  "title": "movable-view",
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "description": "movable-view的移动方向，属性值有all、vertical、horizontal、none",
      "defaultValue": "none"
    },
    "inertia": {
      "type": "boolean",
      "description": "movable-view是否带有惯性",
      "defaultValue": false
    },
    "out-of-bounds": {
      "type": "boolean",
      "description": "超过可移动区域后，movable-view是否还可以移动",
      "defaultValue": false
    },
    "x": {
      "type": [
        "number",
        "string"
      ],
      "description": "定义x轴方向的偏移，如果x的值不在可移动范围内，会自动移动到可移动范围；改变x的值会触发动画；单位支持px（默认）、rpx；"
    },
    "y": {
      "type": [
        "number",
        "string"
      ],
      "description": "定义y轴方向的偏移，如果y的值不在可移动范围内，会自动移动到可移动范围；改变y的值会触发动画；单位支持px（默认）、rpx；"
    },
    "damping": {
      "type": "number",
      "description": "阻尼系数，用于控制x或y改变时的动画和过界回弹的动画，值越大移动越快",
      "defaultValue": 20
    },
    "friction": {
      "type": "number",
      "description": "摩擦系数，用于控制惯性滑动的动画，值越大摩擦力越大，滑动越快停止；必须大于0，否则会被设置成默认值",
      "defaultValue": 2
    },
    "disabled": {
      "type": "boolean",
      "description": "是否禁用",
      "defaultValue": false
    },
    "scale": {
      "type": "boolean",
      "description": "是否支持双指缩放，默认缩放手势生效区域是在movable-view内",
      "defaultValue": false
    },
    "scale-min": {
      "type": "number",
      "description": "定义缩放倍数最小值",
      "defaultValue": 0.1
    },
    "scale-max": {
      "type": "number",
      "description": "定义缩放倍数最大值",
      "defaultValue": 10
    },
    "scale-value": {
      "type": "number",
      "description": "定义缩放倍数，取值范围为 0.1 - 10",
      "defaultValue": 1
    },
    "animation": {
      "type": "boolean",
      "description": "是否使用动画",
      "defaultValue": true
    },
    "bindChange": {
      "tsType": "() => void",
      "description": "拖动过程中触发的事件，event.detail = {x, y, source}"
    },
    "bindScale": {
      "tsType": "() => void",
      "description": "缩放过程中触发的事件，event.detail = {x, y, scale}，x和y字段在2.1.0之后支持"
    },
    "bindHTouchMove": {
      "tsType": "() => void",
      "description": "初次手指触摸后移动为横向的移动时触发，如果catch此事件，则意味着touchmove事件也被catch"
    },
    "bindVTouchMove": {
      "tsType": "() => void",
      "description": "初次手指触摸后移动为纵向的移动时触发，如果catch此事件，则意味着touchmove事件也被catch"
    }
  },
  "additionalProperties": false
}