{"version":3,"file":"ThreeVideo.vue2.mjs","sources":["../../../../packages/ThreeVideo/ThreeVideo.vue"],"sourcesContent":["<template>\r\n  <video\r\n    ref=\"videoRef\"\r\n    style=\"display: none;\"\r\n    muted\r\n    loop\r\n    autoplay\r\n    crossOrigin=\"anonymous\"\r\n  >\r\n    <source\r\n      v-for=\"item in videoUrlList\"\r\n      :key=\"item\"\r\n      :src=\"item\"\r\n      type=\"video/mp4\"\r\n    >\r\n  </video>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions, ref, nextTick} from 'vue';\r\nimport {useRegister, buildProps} from \"@vuemap/vue-amap\";\r\nimport ThreeVideo from \"./ThreeVideo\";\r\nimport type {Vec} from \"./Type\";\r\nimport type{PropType} from \"vue\";\r\n\r\ndefineOptions({\r\n  name: 'ElAmapThreeVideo',\r\n  inheritAttrs: false\r\n});\r\n\r\ndefineProps(buildProps({\r\n  video: {\r\n    type: [String, Array, HTMLVideoElement],\r\n    required: true\r\n  },\r\n  videoTranslate: {\r\n    type: Object as PropType<Vec>,\r\n    default (){\r\n      return {\r\n        x:0,\r\n        y:0,\r\n        z:0\r\n      };\r\n    }\r\n  },\r\n  videoWidth: {\r\n    type: Number\r\n  }, // 视频宽度\r\n  videoHeight: {\r\n    type: Number\r\n  }, // 视频高度\r\n  canvas: {\r\n    type: Object as PropType<HTMLCanvasElement>\r\n  },\r\n  position: {\r\n    type: Array as PropType<number[]>,\r\n    required: true\r\n  },\r\n  altitude: {\r\n    type: Number,\r\n    default: 0\r\n  },\r\n  rotation: {\r\n    type: Object as PropType<Vec>\r\n  },\r\n  scale: {\r\n    type: [Number, Array],\r\n    default: 1\r\n  },\r\n  angle: {\r\n    type: Number,\r\n    default: 0\r\n  },\r\n  opacity: {\r\n    type: Number,\r\n    default: 1\r\n  }, // 透明度，默认 1\r\n  alwaysFront: {\r\n    type: Boolean,\r\n    default: false\r\n  } //是否一直面朝屏幕\r\n}));\r\nconst emits = defineEmits(['init', 'click', 'mousemove', 'mouseover', 'mouseout']);\r\n\r\nlet $amapComponent: ThreeVideo;\r\n\r\nconst videoUrlList = ref<string[]>([]);\r\nconst videoRef = ref<HTMLVideoElement>();\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<ThreeVideo, any>((options, parentComponent) => {\r\n  const urlType = Object.prototype.toString.call(options.video);\r\n  if(urlType === '[object String]'){\r\n    videoUrlList.value = [options.video as string];\r\n  }else if(urlType === '[object Array]'){\r\n    videoUrlList.value = options.video;\r\n  }\r\n  if(videoUrlList.value.length > 0){\r\n    options.video = videoRef.value;\r\n  }\r\n  $amapComponent = new ThreeVideo(parentComponent);\r\n  return new Promise<ThreeVideo>((resolve) => {\r\n    nextTick(() => {\r\n      $amapComponent.init(options, this).then(() => {\r\n        resolve($amapComponent);\r\n      });\r\n    });\r\n\r\n  });\r\n\r\n}, {\r\n  emits,\r\n  destroyComponent () {\r\n    if ($amapComponent && parentInstance?.$amapComponent) {\r\n      if(!parentInstance.isDestroy){\r\n        $amapComponent.remove();\r\n      }\r\n      $amapComponent.destroy();\r\n      $amapComponent = null as any;\r\n    }\r\n  },\r\n});\r\n\r\nconst $$start = () => {\r\n  $amapComponent.start();\r\n};\r\nconst $$pause = () => {\r\n  $amapComponent.pause();\r\n};\r\n\r\ndefineExpose({\r\n  $$getInstance,\r\n  $$start,\r\n  $$pause\r\n});\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAM,MAAA,YAAA,GAAe,GAAc,CAAA,EAAE,CAAA,CAAA;AACrC,IAAA,MAAM,WAAW,GAAsB,EAAA,CAAA;AAEvC,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAA6B,CAAA,CAAC,SAAS,eAAoB,KAAA;AACjG,MAAA,MAAM,UAAU,MAAO,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAC5D,MAAA,IAAG,YAAY,iBAAkB,EAAA;AAC/B,QAAa,YAAA,CAAA,KAAA,GAAQ,CAAC,OAAA,CAAQ,KAAe,CAAA,CAAA;AAAA,OAC/C,MAAA,IAAS,YAAY,gBAAiB,EAAA;AACpC,QAAA,YAAA,CAAa,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,OAC/B;AACA,MAAG,IAAA,YAAA,CAAa,KAAM,CAAA,MAAA,GAAS,CAAE,EAAA;AAC/B,QAAA,OAAA,CAAQ,QAAQ,QAAS,CAAA,KAAA,CAAA;AAAA,OAC3B;AACA,MAAiB,cAAA,GAAA,IAAI,WAAW,eAAe,CAAA,CAAA;AAC/C,MAAO,OAAA,IAAI,OAAoB,CAAA,CAAC,OAAY,KAAA;AAC1C,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,cAAA,CAAe,IAAK,CAAA,OAAA,EAAS,IAAI,CAAA,CAAE,KAAK,MAAM;AAC5C,YAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,WACvB,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OAEF,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,gBAAoB,GAAA;AAClB,QAAI,IAAA,cAAA,KAAkB,iDAAgB,cAAgB,CAAA,EAAA;AACpD,UAAG,IAAA,CAAC,eAAe,SAAU,EAAA;AAC3B,YAAA,cAAA,CAAe,MAAO,EAAA,CAAA;AAAA,WACxB;AACA,UAAA,cAAA,CAAe,OAAQ,EAAA,CAAA;AACvB,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,cAAA,CAAe,KAAM,EAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,cAAA,CAAe,KAAM,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}