@tarojs/components 3.6.0-canary.9 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-dfd8638f.js +40 -0
- package/dist/cjs/index-dfd8638f.js.map +1 -0
- package/dist/cjs/index-e1b469cd.js +2066 -0
- package/dist/cjs/index-e1b469cd.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/taro-ad-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-ad-custom-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-animation-video-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-animation-view-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-ar-camera-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-audio-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-aweme-data-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-block-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-button-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-camera-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-canvas-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +1 -1
- package/dist/cjs/taro-comment-detail-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-comment-list-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-components.cjs.js +7 -3
- package/dist/cjs/taro-components.cjs.js.map +1 -1
- package/dist/cjs/taro-contact-button-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-cover-image-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-cover-view-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-editor-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-follow-swan-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-form-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-icon-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-image-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-input-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-label-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-lifestyle-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-like-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-live-player-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-live-pusher-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-login-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-lottie-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-map-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-match-media-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-movable-area-core_2.cjs.entry.js +1 -1
- package/dist/cjs/taro-native-slot-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-navigator-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-official-account-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-open-data-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-page-container-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-page-meta-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-picker-core_2.cjs.entry.js +1 -1
- package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js +2 -2
- package/dist/cjs/taro-progress-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +1 -1
- package/dist/cjs/taro-radio-core_2.cjs.entry.js +1 -1
- package/dist/cjs/taro-rich-text-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-root-portal-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-rtc-room-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-rtc-room-item-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-scroll-view-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-share-element-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-slider-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-slot-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-swiper-core_2.cjs.entry.js +49 -8
- package/dist/cjs/taro-swiper-core_2.cjs.entry.js.map +1 -1
- package/dist/cjs/taro-switch-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-tab-item-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-tabbar.cjs.entry.js +18 -20
- package/dist/cjs/taro-tabbar.cjs.entry.js.map +1 -1
- package/dist/cjs/taro-tabs-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-text-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-textarea-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-video-control_3.cjs.entry.js +6 -2
- package/dist/cjs/taro-video-control_3.cjs.entry.js.map +1 -1
- package/dist/cjs/taro-view-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-voip-room-core.cjs.entry.js +1 -1
- package/dist/cjs/taro-web-view-core.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/swiper/swiper-item.js +37 -1
- package/dist/collection/components/swiper/swiper-item.js.map +1 -1
- package/dist/collection/components/swiper/swiper.js +12 -5
- package/dist/collection/components/swiper/swiper.js.map +1 -1
- package/dist/collection/components/tabbar/tabbar-item.js +7 -1
- package/dist/collection/components/tabbar/tabbar-item.js.map +1 -1
- package/dist/collection/components/tabbar/tabbar.js +4 -17
- package/dist/collection/components/tabbar/tabbar.js.map +1 -1
- package/dist/collection/components/video/video.js +23 -0
- package/dist/collection/components/video/video.js.map +1 -1
- package/dist/collection/utils/index.js +3 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/helper.js +15 -0
- package/dist/components/helper.js.map +1 -0
- package/dist/components/hls.js +27622 -0
- package/dist/components/hls.js.map +1 -0
- package/dist/components/index.d.ts +106 -0
- package/dist/components/index.js +79 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index2.js +78 -0
- package/dist/components/index2.js.map +1 -0
- package/dist/components/index3.js +36 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/intersection-observer.js +728 -0
- package/dist/components/intersection-observer.js.map +1 -0
- package/dist/components/picker-group.js +220 -0
- package/dist/components/picker-group.js.map +1 -0
- package/dist/components/taro-ad-core.d.ts +11 -0
- package/dist/components/taro-ad-core.js +35 -0
- package/dist/components/taro-ad-core.js.map +1 -0
- package/dist/components/taro-ad-custom-core.d.ts +11 -0
- package/dist/components/taro-ad-custom-core.js +35 -0
- package/dist/components/taro-ad-custom-core.js.map +1 -0
- package/dist/components/taro-animation-video-core.d.ts +11 -0
- package/dist/components/taro-animation-video-core.js +35 -0
- package/dist/components/taro-animation-video-core.js.map +1 -0
- package/dist/components/taro-animation-view-core.d.ts +11 -0
- package/dist/components/taro-animation-view-core.js +35 -0
- package/dist/components/taro-animation-view-core.js.map +1 -0
- package/dist/components/taro-ar-camera-core.d.ts +11 -0
- package/dist/components/taro-ar-camera-core.js +35 -0
- package/dist/components/taro-ar-camera-core.js.map +1 -0
- package/dist/components/taro-audio-core.d.ts +11 -0
- package/dist/components/taro-audio-core.js +80 -0
- package/dist/components/taro-audio-core.js.map +1 -0
- package/dist/components/taro-aweme-data-core.d.ts +11 -0
- package/dist/components/taro-aweme-data-core.js +35 -0
- package/dist/components/taro-aweme-data-core.js.map +1 -0
- package/dist/components/taro-block-core.d.ts +11 -0
- package/dist/components/taro-block-core.js +31 -0
- package/dist/components/taro-block-core.js.map +1 -0
- package/dist/components/taro-button-core.d.ts +11 -0
- package/dist/components/taro-button-core.js +102 -0
- package/dist/components/taro-button-core.js.map +1 -0
- package/dist/components/taro-camera-core.d.ts +11 -0
- package/dist/components/taro-camera-core.js +35 -0
- package/dist/components/taro-camera-core.js.map +1 -0
- package/dist/components/taro-canvas-core.d.ts +11 -0
- package/dist/components/taro-canvas-core.js +57 -0
- package/dist/components/taro-canvas-core.js.map +1 -0
- package/dist/components/taro-checkbox-core.d.ts +11 -0
- package/dist/components/taro-checkbox-core.js +81 -0
- package/dist/components/taro-checkbox-core.js.map +1 -0
- package/dist/components/taro-checkbox-group-core.d.ts +11 -0
- package/dist/components/taro-checkbox-group-core.js +71 -0
- package/dist/components/taro-checkbox-group-core.js.map +1 -0
- package/dist/components/taro-comment-detail-core.d.ts +11 -0
- package/dist/components/taro-comment-detail-core.js +35 -0
- package/dist/components/taro-comment-detail-core.js.map +1 -0
- package/dist/components/taro-comment-list-core.d.ts +11 -0
- package/dist/components/taro-comment-list-core.js +35 -0
- package/dist/components/taro-comment-list-core.js.map +1 -0
- package/dist/components/taro-contact-button-core.d.ts +11 -0
- package/dist/components/taro-contact-button-core.js +35 -0
- package/dist/components/taro-contact-button-core.js.map +1 -0
- package/dist/components/taro-cover-image-core.d.ts +11 -0
- package/dist/components/taro-cover-image-core.js +52 -0
- package/dist/components/taro-cover-image-core.js.map +1 -0
- package/dist/components/taro-cover-view-core.d.ts +11 -0
- package/dist/components/taro-cover-view-core.js +89 -0
- package/dist/components/taro-cover-view-core.js.map +1 -0
- package/dist/components/taro-custom-wrapper-core.d.ts +11 -0
- package/dist/components/taro-custom-wrapper-core.js +31 -0
- package/dist/components/taro-custom-wrapper-core.js.map +1 -0
- package/dist/components/taro-editor-core.d.ts +11 -0
- package/dist/components/taro-editor-core.js +35 -0
- package/dist/components/taro-editor-core.js.map +1 -0
- package/dist/components/taro-follow-swan-core.d.ts +11 -0
- package/dist/components/taro-follow-swan-core.js +35 -0
- package/dist/components/taro-follow-swan-core.js.map +1 -0
- package/dist/components/taro-form-core.d.ts +11 -0
- package/dist/components/taro-form-core.js +140 -0
- package/dist/components/taro-form-core.js.map +1 -0
- package/dist/components/taro-functional-page-navigator-core.d.ts +11 -0
- package/dist/components/taro-functional-page-navigator-core.js +35 -0
- package/dist/components/taro-functional-page-navigator-core.js.map +1 -0
- package/dist/components/taro-icon-core.d.ts +11 -0
- package/dist/components/taro-icon-core.js +48 -0
- package/dist/components/taro-icon-core.js.map +1 -0
- package/dist/components/taro-image-core.d.ts +11 -0
- package/dist/components/taro-image-core.js +81 -0
- package/dist/components/taro-image-core.js.map +1 -0
- package/dist/components/taro-inline-payment-panel-core.d.ts +11 -0
- package/dist/components/taro-inline-payment-panel-core.js +35 -0
- package/dist/components/taro-inline-payment-panel-core.js.map +1 -0
- package/dist/components/taro-input-core.d.ts +11 -0
- package/dist/components/taro-input-core.js +246 -0
- package/dist/components/taro-input-core.js.map +1 -0
- package/dist/components/taro-keyboard-accessory-core.d.ts +11 -0
- package/dist/components/taro-keyboard-accessory-core.js +35 -0
- package/dist/components/taro-keyboard-accessory-core.js.map +1 -0
- package/dist/components/taro-label-core.d.ts +11 -0
- package/dist/components/taro-label-core.js +34 -0
- package/dist/components/taro-label-core.js.map +1 -0
- package/dist/components/taro-lifestyle-core.d.ts +11 -0
- package/dist/components/taro-lifestyle-core.js +35 -0
- package/dist/components/taro-lifestyle-core.js.map +1 -0
- package/dist/components/taro-like-core.d.ts +11 -0
- package/dist/components/taro-like-core.js +35 -0
- package/dist/components/taro-like-core.js.map +1 -0
- package/dist/components/taro-live-player-core.d.ts +11 -0
- package/dist/components/taro-live-player-core.js +35 -0
- package/dist/components/taro-live-player-core.js.map +1 -0
- package/dist/components/taro-live-pusher-core.d.ts +11 -0
- package/dist/components/taro-live-pusher-core.js +35 -0
- package/dist/components/taro-live-pusher-core.js.map +1 -0
- package/dist/components/taro-login-core.d.ts +11 -0
- package/dist/components/taro-login-core.js +35 -0
- package/dist/components/taro-login-core.js.map +1 -0
- package/dist/components/taro-lottie-core.d.ts +11 -0
- package/dist/components/taro-lottie-core.js +35 -0
- package/dist/components/taro-lottie-core.js.map +1 -0
- package/dist/components/taro-map-core.d.ts +11 -0
- package/dist/components/taro-map-core.js +35 -0
- package/dist/components/taro-map-core.js.map +1 -0
- package/dist/components/taro-match-media-core.d.ts +11 -0
- package/dist/components/taro-match-media-core.js +35 -0
- package/dist/components/taro-match-media-core.js.map +1 -0
- package/dist/components/taro-movable-area-core.d.ts +11 -0
- package/dist/components/taro-movable-area-core.js +175 -0
- package/dist/components/taro-movable-area-core.js.map +1 -0
- package/dist/components/taro-movable-view-core.d.ts +11 -0
- package/dist/components/taro-movable-view-core.js +361 -0
- package/dist/components/taro-movable-view-core.js.map +1 -0
- package/dist/components/taro-native-slot-core.d.ts +11 -0
- package/dist/components/taro-native-slot-core.js +35 -0
- package/dist/components/taro-native-slot-core.js.map +1 -0
- package/dist/components/taro-navigation-bar-core.d.ts +11 -0
- package/dist/components/taro-navigation-bar-core.js +35 -0
- package/dist/components/taro-navigation-bar-core.js.map +1 -0
- package/dist/components/taro-navigator-core.d.ts +11 -0
- package/dist/components/taro-navigator-core.js +96 -0
- package/dist/components/taro-navigator-core.js.map +1 -0
- package/dist/components/taro-official-account-core.d.ts +11 -0
- package/dist/components/taro-official-account-core.js +35 -0
- package/dist/components/taro-official-account-core.js.map +1 -0
- package/dist/components/taro-open-data-core.d.ts +11 -0
- package/dist/components/taro-open-data-core.js +35 -0
- package/dist/components/taro-open-data-core.js.map +1 -0
- package/dist/components/taro-page-container-core.d.ts +11 -0
- package/dist/components/taro-page-container-core.js +35 -0
- package/dist/components/taro-page-container-core.js.map +1 -0
- package/dist/components/taro-page-meta-core.d.ts +11 -0
- package/dist/components/taro-page-meta-core.js +35 -0
- package/dist/components/taro-page-meta-core.js.map +1 -0
- package/dist/components/taro-picker-core.d.ts +11 -0
- package/dist/components/taro-picker-core.js +538 -0
- package/dist/components/taro-picker-core.js.map +1 -0
- package/dist/components/taro-picker-group.d.ts +11 -0
- package/dist/components/taro-picker-group.js +8 -0
- package/dist/components/taro-picker-group.js.map +1 -0
- package/dist/components/taro-picker-view-column-core.d.ts +11 -0
- package/dist/components/taro-picker-view-column-core.js +115 -0
- package/dist/components/taro-picker-view-column-core.js.map +1 -0
- package/dist/components/taro-picker-view-core.d.ts +11 -0
- package/dist/components/taro-picker-view-core.js +114 -0
- package/dist/components/taro-picker-view-core.js.map +1 -0
- package/dist/components/taro-progress-core.d.ts +11 -0
- package/dist/components/taro-progress-core.js +62 -0
- package/dist/components/taro-progress-core.js.map +1 -0
- package/dist/components/taro-pull-to-refresh.d.ts +11 -0
- package/dist/components/taro-pull-to-refresh.js +284 -0
- package/dist/components/taro-pull-to-refresh.js.map +1 -0
- package/dist/components/taro-radio-core.d.ts +11 -0
- package/dist/components/taro-radio-core.js +83 -0
- package/dist/components/taro-radio-core.js.map +1 -0
- package/dist/components/taro-radio-group-core.d.ts +11 -0
- package/dist/components/taro-radio-group-core.js +82 -0
- package/dist/components/taro-radio-group-core.js.map +1 -0
- package/dist/components/taro-rich-text-core.d.ts +11 -0
- package/dist/components/taro-rich-text-core.js +86 -0
- package/dist/components/taro-rich-text-core.js.map +1 -0
- package/dist/components/taro-root-portal-core.d.ts +11 -0
- package/dist/components/taro-root-portal-core.js +35 -0
- package/dist/components/taro-root-portal-core.js.map +1 -0
- package/dist/components/taro-rtc-room-core.d.ts +11 -0
- package/dist/components/taro-rtc-room-core.js +35 -0
- package/dist/components/taro-rtc-room-core.js.map +1 -0
- package/dist/components/taro-rtc-room-item-core.d.ts +11 -0
- package/dist/components/taro-rtc-room-item-core.js +35 -0
- package/dist/components/taro-rtc-room-item-core.js.map +1 -0
- package/dist/components/taro-scroll-view-core.d.ts +11 -0
- package/dist/components/taro-scroll-view-core.js +184 -0
- package/dist/components/taro-scroll-view-core.js.map +1 -0
- package/dist/components/taro-share-element-core.d.ts +11 -0
- package/dist/components/taro-share-element-core.js +35 -0
- package/dist/components/taro-share-element-core.js.map +1 -0
- package/dist/components/taro-slider-core.d.ts +11 -0
- package/dist/components/taro-slider-core.js +196 -0
- package/dist/components/taro-slider-core.js.map +1 -0
- package/dist/components/taro-slot-core.d.ts +11 -0
- package/dist/components/taro-slot-core.js +35 -0
- package/dist/components/taro-slot-core.js.map +1 -0
- package/dist/components/taro-swiper-core.d.ts +11 -0
- package/dist/components/taro-swiper-core.js +10172 -0
- package/dist/components/taro-swiper-core.js.map +1 -0
- package/dist/components/taro-swiper-item-core.d.ts +11 -0
- package/dist/components/taro-swiper-item-core.js +70 -0
- package/dist/components/taro-swiper-item-core.js.map +1 -0
- package/dist/components/taro-switch-core.d.ts +11 -0
- package/dist/components/taro-switch-core.js +87 -0
- package/dist/components/taro-switch-core.js.map +1 -0
- package/dist/components/taro-tab-item-core.d.ts +11 -0
- package/dist/components/taro-tab-item-core.js +35 -0
- package/dist/components/taro-tab-item-core.js.map +1 -0
- package/dist/components/taro-tabbar.d.ts +11 -0
- package/dist/components/taro-tabbar.js +455 -0
- package/dist/components/taro-tabbar.js.map +1 -0
- package/dist/components/taro-tabs-core.d.ts +11 -0
- package/dist/components/taro-tabs-core.js +35 -0
- package/dist/components/taro-tabs-core.js.map +1 -0
- package/dist/components/taro-text-core.d.ts +11 -0
- package/dist/components/taro-text-core.js +41 -0
- package/dist/components/taro-text-core.js.map +1 -0
- package/dist/components/taro-textarea-core.d.ts +11 -0
- package/dist/components/taro-textarea-core.js +164 -0
- package/dist/components/taro-textarea-core.js.map +1 -0
- package/dist/components/taro-video-control.d.ts +11 -0
- package/dist/components/taro-video-control.js +8 -0
- package/dist/components/taro-video-control.js.map +1 -0
- package/dist/components/taro-video-core.d.ts +11 -0
- package/dist/components/taro-video-core.js +490 -0
- package/dist/components/taro-video-core.js.map +1 -0
- package/dist/components/taro-video-danmu.d.ts +11 -0
- package/dist/components/taro-video-danmu.js +8 -0
- package/dist/components/taro-video-danmu.js.map +1 -0
- package/dist/components/taro-view-core.d.ts +11 -0
- package/dist/components/taro-view-core.js +101 -0
- package/dist/components/taro-view-core.js.map +1 -0
- package/dist/components/taro-voip-room-core.d.ts +11 -0
- package/dist/components/taro-voip-room-core.js +35 -0
- package/dist/components/taro-voip-room-core.js.map +1 -0
- package/dist/components/taro-web-view-core.d.ts +11 -0
- package/dist/components/taro-web-view-core.js +46 -0
- package/dist/components/taro-web-view-core.js.map +1 -0
- package/dist/components/video-control.js +233 -0
- package/dist/components/video-control.js.map +1 -0
- package/dist/components/video-danmu.js +110 -0
- package/dist/components/video-danmu.js.map +1 -0
- package/dist/esm/index-c948674f.js +2037 -0
- package/dist/esm/index-c948674f.js.map +1 -0
- package/dist/esm/index-d1b03e47.js +36 -0
- package/dist/esm/index-d1b03e47.js.map +1 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/taro-ad-core.entry.js +1 -1
- package/dist/esm/taro-ad-custom-core.entry.js +1 -1
- package/dist/esm/taro-animation-video-core.entry.js +1 -1
- package/dist/esm/taro-animation-view-core.entry.js +1 -1
- package/dist/esm/taro-ar-camera-core.entry.js +1 -1
- package/dist/esm/taro-audio-core.entry.js +1 -1
- package/dist/esm/taro-aweme-data-core.entry.js +1 -1
- package/dist/esm/taro-block-core.entry.js +1 -1
- package/dist/esm/taro-button-core.entry.js +1 -1
- package/dist/esm/taro-camera-core.entry.js +1 -1
- package/dist/esm/taro-canvas-core.entry.js +1 -1
- package/dist/esm/taro-checkbox-core_2.entry.js +1 -1
- package/dist/esm/taro-comment-detail-core.entry.js +1 -1
- package/dist/esm/taro-comment-list-core.entry.js +1 -1
- package/dist/esm/taro-components.js +4 -3
- package/dist/esm/taro-components.js.map +1 -1
- package/dist/esm/taro-contact-button-core.entry.js +1 -1
- package/dist/esm/taro-cover-image-core.entry.js +1 -1
- package/dist/esm/taro-cover-view-core.entry.js +1 -1
- package/dist/esm/taro-custom-wrapper-core.entry.js +1 -1
- package/dist/esm/taro-editor-core.entry.js +1 -1
- package/dist/esm/taro-follow-swan-core.entry.js +1 -1
- package/dist/esm/taro-form-core.entry.js +1 -1
- package/dist/esm/taro-functional-page-navigator-core.entry.js +1 -1
- package/dist/esm/taro-icon-core.entry.js +1 -1
- package/dist/esm/taro-image-core.entry.js +1 -1
- package/dist/esm/taro-inline-payment-panel-core.entry.js +1 -1
- package/dist/esm/taro-input-core.entry.js +1 -1
- package/dist/esm/taro-keyboard-accessory-core.entry.js +1 -1
- package/dist/esm/taro-label-core.entry.js +1 -1
- package/dist/esm/taro-lifestyle-core.entry.js +1 -1
- package/dist/esm/taro-like-core.entry.js +1 -1
- package/dist/esm/taro-live-player-core.entry.js +1 -1
- package/dist/esm/taro-live-pusher-core.entry.js +1 -1
- package/dist/esm/taro-login-core.entry.js +1 -1
- package/dist/esm/taro-lottie-core.entry.js +1 -1
- package/dist/esm/taro-map-core.entry.js +1 -1
- package/dist/esm/taro-match-media-core.entry.js +1 -1
- package/dist/esm/taro-movable-area-core_2.entry.js +1 -1
- package/dist/esm/taro-native-slot-core.entry.js +1 -1
- package/dist/esm/taro-navigation-bar-core.entry.js +1 -1
- package/dist/esm/taro-navigator-core.entry.js +1 -1
- package/dist/esm/taro-official-account-core.entry.js +1 -1
- package/dist/esm/taro-open-data-core.entry.js +1 -1
- package/dist/esm/taro-page-container-core.entry.js +1 -1
- package/dist/esm/taro-page-meta-core.entry.js +1 -1
- package/dist/esm/taro-picker-core_2.entry.js +1 -1
- package/dist/esm/taro-picker-view-column-core_2.entry.js +2 -2
- package/dist/esm/taro-progress-core.entry.js +1 -1
- package/dist/esm/taro-pull-to-refresh.entry.js +1 -1
- package/dist/esm/taro-radio-core_2.entry.js +1 -1
- package/dist/esm/taro-rich-text-core.entry.js +1 -1
- package/dist/esm/taro-root-portal-core.entry.js +1 -1
- package/dist/esm/taro-rtc-room-core.entry.js +1 -1
- package/dist/esm/taro-rtc-room-item-core.entry.js +1 -1
- package/dist/esm/taro-scroll-view-core.entry.js +2 -2
- package/dist/esm/taro-share-element-core.entry.js +1 -1
- package/dist/esm/taro-slider-core.entry.js +1 -1
- package/dist/esm/taro-slot-core.entry.js +1 -1
- package/dist/esm/taro-swiper-core_2.entry.js +49 -8
- package/dist/esm/taro-swiper-core_2.entry.js.map +1 -1
- package/dist/esm/taro-switch-core.entry.js +1 -1
- package/dist/esm/taro-tab-item-core.entry.js +1 -1
- package/dist/esm/taro-tabbar.entry.js +16 -18
- package/dist/esm/taro-tabbar.entry.js.map +1 -1
- package/dist/esm/taro-tabs-core.entry.js +1 -1
- package/dist/esm/taro-text-core.entry.js +1 -1
- package/dist/esm/taro-textarea-core.entry.js +1 -1
- package/dist/esm/taro-video-control_3.entry.js +6 -2
- package/dist/esm/taro-video-control_3.entry.js.map +1 -1
- package/dist/esm/taro-view-core.entry.js +1 -1
- package/dist/esm/taro-voip-room-core.entry.js +1 -1
- package/dist/esm/taro-web-view-core.entry.js +1 -1
- package/dist/esm-es5/helper-3d0ecf0f.js.map +1 -1
- package/dist/esm-es5/hls-221423a1.js.map +1 -1
- package/dist/esm-es5/index-1d8e8acd.js.map +1 -1
- package/dist/esm-es5/index-c948674f.js +3 -0
- package/dist/esm-es5/index-c948674f.js.map +1 -0
- package/dist/esm-es5/index-d1b03e47.js +2 -0
- package/dist/esm-es5/index-d1b03e47.js.map +1 -0
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/intersection-observer-8e4c7135.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/taro-ad-core.entry.js +1 -1
- package/dist/esm-es5/taro-ad-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-ad-custom-core.entry.js +1 -1
- package/dist/esm-es5/taro-ad-custom-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-animation-video-core.entry.js +1 -1
- package/dist/esm-es5/taro-animation-video-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-animation-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-animation-view-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-ar-camera-core.entry.js +1 -1
- package/dist/esm-es5/taro-ar-camera-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-audio-core.entry.js +1 -1
- package/dist/esm-es5/taro-audio-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-aweme-data-core.entry.js +1 -1
- package/dist/esm-es5/taro-aweme-data-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-block-core.entry.js +1 -1
- package/dist/esm-es5/taro-block-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-button-core.entry.js +1 -1
- package/dist/esm-es5/taro-button-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-camera-core.entry.js +1 -1
- package/dist/esm-es5/taro-camera-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
- package/dist/esm-es5/taro-canvas-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-checkbox-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-comment-detail-core.entry.js +1 -1
- package/dist/esm-es5/taro-comment-detail-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-comment-list-core.entry.js +1 -1
- package/dist/esm-es5/taro-comment-list-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-components.js +1 -1
- package/dist/esm-es5/taro-components.js.map +1 -1
- package/dist/esm-es5/taro-contact-button-core.entry.js +1 -1
- package/dist/esm-es5/taro-contact-button-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
- package/dist/esm-es5/taro-cover-image-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-cover-view-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
- package/dist/esm-es5/taro-custom-wrapper-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-editor-core.entry.js +1 -1
- package/dist/esm-es5/taro-editor-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-follow-swan-core.entry.js +1 -1
- package/dist/esm-es5/taro-follow-swan-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-form-core.entry.js +1 -1
- package/dist/esm-es5/taro-form-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +1 -1
- package/dist/esm-es5/taro-functional-page-navigator-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-icon-core.entry.js +1 -1
- package/dist/esm-es5/taro-icon-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-image-core.entry.js +1 -1
- package/dist/esm-es5/taro-image-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-inline-payment-panel-core.entry.js +1 -1
- package/dist/esm-es5/taro-inline-payment-panel-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-input-core.entry.js +1 -1
- package/dist/esm-es5/taro-input-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +1 -1
- package/dist/esm-es5/taro-keyboard-accessory-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-label-core.entry.js +1 -1
- package/dist/esm-es5/taro-label-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-lifestyle-core.entry.js +1 -1
- package/dist/esm-es5/taro-lifestyle-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-like-core.entry.js +1 -1
- package/dist/esm-es5/taro-like-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-live-player-core.entry.js +1 -1
- package/dist/esm-es5/taro-live-player-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-live-pusher-core.entry.js +1 -1
- package/dist/esm-es5/taro-live-pusher-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-login-core.entry.js +1 -1
- package/dist/esm-es5/taro-login-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-lottie-core.entry.js +1 -1
- package/dist/esm-es5/taro-lottie-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-map-core.entry.js +1 -1
- package/dist/esm-es5/taro-map-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-match-media-core.entry.js +1 -1
- package/dist/esm-es5/taro-match-media-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-movable-area-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-movable-area-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-native-slot-core.entry.js +1 -1
- package/dist/esm-es5/taro-native-slot-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-navigation-bar-core.entry.js +1 -1
- package/dist/esm-es5/taro-navigation-bar-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
- package/dist/esm-es5/taro-navigator-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-official-account-core.entry.js +1 -1
- package/dist/esm-es5/taro-official-account-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
- package/dist/esm-es5/taro-open-data-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-page-container-core.entry.js +1 -1
- package/dist/esm-es5/taro-page-container-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-page-meta-core.entry.js +1 -1
- package/dist/esm-es5/taro-page-meta-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-picker-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-picker-view-column-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-progress-core.entry.js +1 -1
- package/dist/esm-es5/taro-progress-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-pull-to-refresh.entry.js +1 -1
- package/dist/esm-es5/taro-pull-to-refresh.entry.js.map +1 -1
- package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-radio-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
- package/dist/esm-es5/taro-rich-text-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-root-portal-core.entry.js +1 -1
- package/dist/esm-es5/taro-root-portal-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-rtc-room-core.entry.js +1 -1
- package/dist/esm-es5/taro-rtc-room-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-rtc-room-item-core.entry.js +1 -1
- package/dist/esm-es5/taro-rtc-room-item-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-scroll-view-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-share-element-core.entry.js +1 -1
- package/dist/esm-es5/taro-share-element-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-slider-core.entry.js +1 -1
- package/dist/esm-es5/taro-slider-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-slot-core.entry.js +1 -1
- package/dist/esm-es5/taro-slot-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-swiper-core_2.entry.js.map +1 -1
- package/dist/esm-es5/taro-switch-core.entry.js +1 -1
- package/dist/esm-es5/taro-switch-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-tab-item-core.entry.js +1 -1
- package/dist/esm-es5/taro-tab-item-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-tabbar.entry.js +1 -1
- package/dist/esm-es5/taro-tabbar.entry.js.map +1 -1
- package/dist/esm-es5/taro-tabs-core.entry.js +1 -1
- package/dist/esm-es5/taro-tabs-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-text-core.entry.js +1 -1
- package/dist/esm-es5/taro-text-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
- package/dist/esm-es5/taro-textarea-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
- package/dist/esm-es5/taro-video-control_3.entry.js.map +1 -1
- package/dist/esm-es5/taro-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-view-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-voip-room-core.entry.js +1 -1
- package/dist/esm-es5/taro-voip-room-core.entry.js.map +1 -1
- package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-web-view-core.entry.js.map +1 -1
- package/dist/taro-components/index.esm.js.map +1 -1
- package/dist/taro-components/p-020bcd8c.entry.js +2 -0
- package/dist/taro-components/p-020bcd8c.entry.js.map +1 -0
- package/dist/taro-components/p-03d4de13.entry.js +2 -0
- package/dist/taro-components/p-03d4de13.entry.js.map +1 -0
- package/dist/taro-components/p-05f3f84a.entry.js +2 -0
- package/dist/taro-components/p-05f3f84a.entry.js.map +1 -0
- package/dist/taro-components/p-087bf23a.system.entry.js +2 -0
- package/dist/taro-components/p-087bf23a.system.entry.js.map +1 -0
- package/dist/taro-components/p-0895120a.system.entry.js +2 -0
- package/dist/taro-components/p-0895120a.system.entry.js.map +1 -0
- package/dist/taro-components/p-08bb8dfc.system.entry.js +2 -0
- package/dist/taro-components/p-08bb8dfc.system.entry.js.map +1 -0
- package/dist/taro-components/p-09db02e6.entry.js +2 -0
- package/dist/taro-components/p-09db02e6.entry.js.map +1 -0
- package/dist/taro-components/p-0a165ad3.system.entry.js +2 -0
- package/dist/taro-components/p-0a165ad3.system.entry.js.map +1 -0
- package/dist/taro-components/p-0a9b984e.system.entry.js +2 -0
- package/dist/taro-components/p-0a9b984e.system.entry.js.map +1 -0
- package/dist/taro-components/p-0accc602.entry.js +2 -0
- package/dist/taro-components/p-0accc602.entry.js.map +1 -0
- package/dist/taro-components/p-0faf45d5.entry.js +2 -0
- package/dist/taro-components/p-0faf45d5.entry.js.map +1 -0
- package/dist/taro-components/p-10be7fb5.system.entry.js +2 -0
- package/dist/taro-components/p-10be7fb5.system.entry.js.map +1 -0
- package/dist/taro-components/p-15e45ed6.system.js.map +1 -1
- package/dist/taro-components/p-17302fe9.system.entry.js +2 -0
- package/dist/taro-components/p-17302fe9.system.entry.js.map +1 -0
- package/dist/taro-components/p-1743a04b.system.js.map +1 -1
- package/dist/taro-components/p-1941d333.system.entry.js +2 -0
- package/dist/taro-components/p-1941d333.system.entry.js.map +1 -0
- package/dist/taro-components/p-19e87e18.entry.js +2 -0
- package/dist/taro-components/p-19e87e18.entry.js.map +1 -0
- package/dist/taro-components/p-1a0e1932.system.js +3 -0
- package/dist/taro-components/p-1a0e1932.system.js.map +1 -0
- package/dist/taro-components/p-1c320250.system.entry.js +2 -0
- package/dist/taro-components/p-1c320250.system.entry.js.map +1 -0
- package/dist/taro-components/p-1c446c65.system.js +2 -0
- package/dist/taro-components/p-1c446c65.system.js.map +1 -0
- package/dist/taro-components/p-2024e133.system.entry.js +2 -0
- package/dist/taro-components/p-2024e133.system.entry.js.map +1 -0
- package/dist/taro-components/p-2049bdc4.entry.js +2 -0
- package/dist/taro-components/p-2049bdc4.entry.js.map +1 -0
- package/dist/taro-components/p-2357313b.entry.js +2 -0
- package/dist/taro-components/p-2357313b.entry.js.map +1 -0
- package/dist/taro-components/p-24c2fd23.entry.js +2 -0
- package/dist/taro-components/p-24c2fd23.entry.js.map +1 -0
- package/dist/taro-components/p-26889f3c.system.entry.js +2 -0
- package/dist/taro-components/p-26889f3c.system.entry.js.map +1 -0
- package/dist/taro-components/p-281278cf.entry.js +2 -0
- package/dist/taro-components/p-281278cf.entry.js.map +1 -0
- package/dist/taro-components/p-30f32fa2.system.entry.js +2 -0
- package/dist/taro-components/p-30f32fa2.system.entry.js.map +1 -0
- package/dist/taro-components/p-30fe0e81.system.entry.js +2 -0
- package/dist/taro-components/p-30fe0e81.system.entry.js.map +1 -0
- package/dist/taro-components/p-33223303.system.entry.js +2 -0
- package/dist/taro-components/p-33223303.system.entry.js.map +1 -0
- package/dist/taro-components/p-386ae2b2.entry.js +2 -0
- package/dist/taro-components/p-386ae2b2.entry.js.map +1 -0
- package/dist/taro-components/p-3b1d2d37.system.js.map +1 -1
- package/dist/taro-components/p-3bce88d9.entry.js +2 -0
- package/dist/taro-components/p-3bce88d9.entry.js.map +1 -0
- package/dist/taro-components/p-3f07f3d3.entry.js +2 -0
- package/dist/taro-components/p-3f07f3d3.entry.js.map +1 -0
- package/dist/taro-components/p-4086e546.system.entry.js +2 -0
- package/dist/taro-components/p-4086e546.system.entry.js.map +1 -0
- package/dist/taro-components/p-4190e20b.system.entry.js +2 -0
- package/dist/taro-components/p-4190e20b.system.entry.js.map +1 -0
- package/dist/taro-components/p-4263c9d9.entry.js +2 -0
- package/dist/taro-components/p-4263c9d9.entry.js.map +1 -0
- package/dist/taro-components/p-46244579.system.entry.js +2 -0
- package/dist/taro-components/p-46244579.system.entry.js.map +1 -0
- package/dist/taro-components/p-4915fdc1.system.entry.js +2 -0
- package/dist/taro-components/p-4915fdc1.system.entry.js.map +1 -0
- package/dist/taro-components/p-4a462c95.entry.js +2 -0
- package/dist/taro-components/p-4a462c95.entry.js.map +1 -0
- package/dist/taro-components/p-4bc85eb7.entry.js +2 -0
- package/dist/taro-components/p-4bc85eb7.entry.js.map +1 -0
- package/dist/taro-components/p-4d0da795.system.entry.js +2 -0
- package/dist/taro-components/p-4d0da795.system.entry.js.map +1 -0
- package/dist/taro-components/p-50ea2036.system.js.map +1 -1
- package/dist/taro-components/p-518146fd.system.entry.js +2 -0
- package/dist/taro-components/p-518146fd.system.entry.js.map +1 -0
- package/dist/taro-components/p-51b6fc09.system.entry.js +2 -0
- package/dist/taro-components/p-51b6fc09.system.entry.js.map +1 -0
- package/dist/taro-components/p-51caa3f3.entry.js +2 -0
- package/dist/taro-components/p-51caa3f3.entry.js.map +1 -0
- package/dist/taro-components/p-5208792d.entry.js +2 -0
- package/dist/taro-components/p-5208792d.entry.js.map +1 -0
- package/dist/taro-components/p-56da1da3.system.entry.js +2 -0
- package/dist/taro-components/p-56da1da3.system.entry.js.map +1 -0
- package/dist/taro-components/p-58877ef2.system.entry.js +2 -0
- package/dist/taro-components/p-58877ef2.system.entry.js.map +1 -0
- package/dist/taro-components/p-59590806.system.entry.js +2 -0
- package/dist/taro-components/p-59590806.system.entry.js.map +1 -0
- package/dist/taro-components/p-5beca045.system.entry.js +2 -0
- package/dist/taro-components/p-5beca045.system.entry.js.map +1 -0
- package/dist/taro-components/p-5d3acf86.entry.js +2 -0
- package/dist/taro-components/p-5d3acf86.entry.js.map +1 -0
- package/dist/taro-components/p-5f3c65f0.entry.js +2 -0
- package/dist/taro-components/p-5f3c65f0.entry.js.map +1 -0
- package/dist/taro-components/p-603ceecd.entry.js +2 -0
- package/dist/taro-components/p-603ceecd.entry.js.map +1 -0
- package/dist/taro-components/p-61f225ef.system.js.map +1 -1
- package/dist/taro-components/p-623b3eb6.system.entry.js +2 -0
- package/dist/taro-components/p-623b3eb6.system.entry.js.map +1 -0
- package/dist/taro-components/p-651586f8.system.entry.js +2 -0
- package/dist/taro-components/p-651586f8.system.entry.js.map +1 -0
- package/dist/taro-components/p-663e27a0.entry.js +2 -0
- package/dist/taro-components/p-663e27a0.entry.js.map +1 -0
- package/dist/taro-components/p-66b07ac0.entry.js +2 -0
- package/dist/taro-components/p-66b07ac0.entry.js.map +1 -0
- package/dist/taro-components/p-67c3a0ba.entry.js +2 -0
- package/dist/taro-components/p-67c3a0ba.entry.js.map +1 -0
- package/dist/taro-components/p-69f6784d.system.entry.js +2 -0
- package/dist/taro-components/p-69f6784d.system.entry.js.map +1 -0
- package/dist/taro-components/p-69fa7272.system.entry.js +2 -0
- package/dist/taro-components/p-69fa7272.system.entry.js.map +1 -0
- package/dist/taro-components/p-6a96da58.js.map +1 -1
- package/dist/taro-components/p-6bb1fdf2.entry.js +2 -0
- package/dist/taro-components/p-6bb1fdf2.entry.js.map +1 -0
- package/dist/taro-components/p-6dae898a.system.entry.js +2 -0
- package/dist/taro-components/p-6dae898a.system.entry.js.map +1 -0
- package/dist/taro-components/p-6de64a4b.system.entry.js +2 -0
- package/dist/taro-components/p-6de64a4b.system.entry.js.map +1 -0
- package/dist/taro-components/p-6f048097.system.entry.js +2 -0
- package/dist/taro-components/p-6f048097.system.entry.js.map +1 -0
- package/dist/taro-components/p-6f214fc3.system.entry.js +2 -0
- package/dist/taro-components/p-6f214fc3.system.entry.js.map +1 -0
- package/dist/taro-components/p-71155a2c.entry.js +2 -0
- package/dist/taro-components/p-71155a2c.entry.js.map +1 -0
- package/dist/taro-components/p-72f327e1.js.map +1 -1
- package/dist/taro-components/p-736053bb.system.entry.js +2 -0
- package/dist/taro-components/p-736053bb.system.entry.js.map +1 -0
- package/dist/taro-components/p-74bf8246.system.entry.js +2 -0
- package/dist/taro-components/p-74bf8246.system.entry.js.map +1 -0
- package/dist/taro-components/p-76724e58.js.map +1 -1
- package/dist/taro-components/p-76e6fbff.entry.js +2 -0
- package/dist/taro-components/p-76e6fbff.entry.js.map +1 -0
- package/dist/taro-components/p-780870eb.entry.js +2 -0
- package/dist/taro-components/p-780870eb.entry.js.map +1 -0
- package/dist/taro-components/p-78c30850.system.entry.js +2 -0
- package/dist/taro-components/p-78c30850.system.entry.js.map +1 -0
- package/dist/taro-components/p-78e3ebb9.js +3 -0
- package/dist/taro-components/p-78e3ebb9.js.map +1 -0
- package/dist/taro-components/p-7a2f11dc.entry.js +2 -0
- package/dist/taro-components/p-7a2f11dc.entry.js.map +1 -0
- package/dist/taro-components/p-7c1fec76.entry.js +2 -0
- package/dist/taro-components/p-7c1fec76.entry.js.map +1 -0
- package/dist/taro-components/p-7c6f0d5c.entry.js +2 -0
- package/dist/taro-components/p-7c6f0d5c.entry.js.map +1 -0
- package/dist/taro-components/p-7dd9c8da.system.entry.js +2 -0
- package/dist/taro-components/p-7dd9c8da.system.entry.js.map +1 -0
- package/dist/taro-components/p-8027e1c6.system.entry.js +2 -0
- package/dist/taro-components/p-8027e1c6.system.entry.js.map +1 -0
- package/dist/taro-components/p-828bd091.entry.js +2 -0
- package/dist/taro-components/p-828bd091.entry.js.map +1 -0
- package/dist/taro-components/p-8425ff09.entry.js +2 -0
- package/dist/taro-components/p-8425ff09.entry.js.map +1 -0
- package/dist/taro-components/p-8594d1e5.entry.js +2 -0
- package/dist/taro-components/p-8594d1e5.entry.js.map +1 -0
- package/dist/taro-components/p-8625c29c.entry.js +2 -0
- package/dist/taro-components/p-8625c29c.entry.js.map +1 -0
- package/dist/taro-components/p-88d64daa.system.entry.js +2 -0
- package/dist/taro-components/p-88d64daa.system.entry.js.map +1 -0
- package/dist/taro-components/p-88fbacdb.entry.js +2 -0
- package/dist/taro-components/p-88fbacdb.entry.js.map +1 -0
- package/dist/taro-components/p-895cd7c9.system.entry.js +2 -0
- package/dist/taro-components/p-895cd7c9.system.entry.js.map +1 -0
- package/dist/taro-components/p-8d2101be.system.entry.js +2 -0
- package/dist/taro-components/p-8d2101be.system.entry.js.map +1 -0
- package/dist/taro-components/p-8e5cc8fe.system.entry.js +2 -0
- package/dist/taro-components/p-8e5cc8fe.system.entry.js.map +1 -0
- package/dist/taro-components/p-908ddbb0.entry.js +2 -0
- package/dist/taro-components/p-908ddbb0.entry.js.map +1 -0
- package/dist/taro-components/p-91f8cd40.entry.js +2 -0
- package/dist/taro-components/p-91f8cd40.entry.js.map +1 -0
- package/dist/taro-components/p-93ccd68a.entry.js +2 -0
- package/dist/taro-components/p-93ccd68a.entry.js.map +1 -0
- package/dist/taro-components/p-955fbcfa.entry.js +2 -0
- package/dist/taro-components/p-955fbcfa.entry.js.map +1 -0
- package/dist/taro-components/p-95f70aea.system.entry.js +2 -0
- package/dist/taro-components/p-95f70aea.system.entry.js.map +1 -0
- package/dist/taro-components/p-97782cdd.system.entry.js +2 -0
- package/dist/taro-components/p-97782cdd.system.entry.js.map +1 -0
- package/dist/taro-components/p-982e431d.entry.js +2 -0
- package/dist/taro-components/p-982e431d.entry.js.map +1 -0
- package/dist/taro-components/p-9d4fa0d3.system.entry.js +2 -0
- package/dist/taro-components/p-9d4fa0d3.system.entry.js.map +1 -0
- package/dist/taro-components/p-a23a21e1.entry.js +2 -0
- package/dist/taro-components/p-a23a21e1.entry.js.map +1 -0
- package/dist/taro-components/p-a7789ed6.entry.js +2 -0
- package/dist/taro-components/p-a7789ed6.entry.js.map +1 -0
- package/dist/taro-components/p-adc37a00.entry.js +2 -0
- package/dist/taro-components/p-adc37a00.entry.js.map +1 -0
- package/dist/taro-components/p-ae3f1ed4.system.entry.js +2 -0
- package/dist/taro-components/p-ae3f1ed4.system.entry.js.map +1 -0
- package/dist/taro-components/p-b1249ebb.system.entry.js +2 -0
- package/dist/taro-components/p-b1249ebb.system.entry.js.map +1 -0
- package/dist/taro-components/p-b1c972e2.system.entry.js +2 -0
- package/dist/taro-components/p-b1c972e2.system.entry.js.map +1 -0
- package/dist/taro-components/p-b2bb02d7.system.entry.js +2 -0
- package/dist/taro-components/p-b2bb02d7.system.entry.js.map +1 -0
- package/dist/taro-components/p-b313c11a.entry.js +2 -0
- package/dist/taro-components/p-b313c11a.entry.js.map +1 -0
- package/dist/taro-components/p-b39b973e.entry.js +2 -0
- package/dist/taro-components/p-b39b973e.entry.js.map +1 -0
- package/dist/taro-components/p-b4419d86.entry.js +2 -0
- package/dist/taro-components/p-b4419d86.entry.js.map +1 -0
- package/dist/taro-components/p-b8ba5d0a.entry.js +2 -0
- package/dist/taro-components/p-b8ba5d0a.entry.js.map +1 -0
- package/dist/taro-components/p-bac3deb0.system.entry.js +2 -0
- package/dist/taro-components/p-bac3deb0.system.entry.js.map +1 -0
- package/dist/taro-components/p-bba8c3a7.system.entry.js +2 -0
- package/dist/taro-components/p-bba8c3a7.system.entry.js.map +1 -0
- package/dist/taro-components/p-bd5177d3.system.js +2 -0
- package/dist/taro-components/p-bd5177d3.system.js.map +1 -0
- package/dist/taro-components/p-c0bb8610.entry.js +2 -0
- package/dist/taro-components/p-c0bb8610.entry.js.map +1 -0
- package/dist/taro-components/p-c1c0e16d.entry.js +2 -0
- package/dist/taro-components/p-c1c0e16d.entry.js.map +1 -0
- package/dist/taro-components/p-c2ac8f08.entry.js +2 -0
- package/dist/taro-components/p-c2ac8f08.entry.js.map +1 -0
- package/dist/taro-components/p-c33733b3.system.entry.js +2 -0
- package/dist/taro-components/p-c33733b3.system.entry.js.map +1 -0
- package/dist/taro-components/p-c3e98fdf.entry.js +2 -0
- package/dist/taro-components/p-c3e98fdf.entry.js.map +1 -0
- package/dist/taro-components/p-c4fdb669.system.entry.js +2 -0
- package/dist/taro-components/p-c4fdb669.system.entry.js.map +1 -0
- package/dist/taro-components/p-c50087fd.entry.js +2 -0
- package/dist/taro-components/p-c50087fd.entry.js.map +1 -0
- package/dist/taro-components/p-c586a796.system.entry.js +2 -0
- package/dist/taro-components/p-c586a796.system.entry.js.map +1 -0
- package/dist/taro-components/p-c6e6dab1.system.entry.js +2 -0
- package/dist/taro-components/p-c6e6dab1.system.entry.js.map +1 -0
- package/dist/taro-components/p-c70dd956.system.entry.js +2 -0
- package/dist/taro-components/p-c70dd956.system.entry.js.map +1 -0
- package/dist/taro-components/p-d1d19ce9.entry.js +2 -0
- package/dist/taro-components/p-d1d19ce9.entry.js.map +1 -0
- package/dist/taro-components/p-d3c7f87d.js +2 -0
- package/dist/taro-components/p-d3c7f87d.js.map +1 -0
- package/dist/taro-components/p-d5234e7e.js.map +1 -1
- package/dist/taro-components/p-d562aae3.entry.js +2 -0
- package/dist/taro-components/p-d562aae3.entry.js.map +1 -0
- package/dist/taro-components/p-d61d3394.entry.js +2 -0
- package/dist/taro-components/p-d61d3394.entry.js.map +1 -0
- package/dist/taro-components/p-d621d190.entry.js +2 -0
- package/dist/taro-components/p-d621d190.entry.js.map +1 -0
- package/dist/taro-components/p-d8c8c63f.entry.js +2 -0
- package/dist/taro-components/p-d8c8c63f.entry.js.map +1 -0
- package/dist/taro-components/p-da5cdbf5.system.entry.js +2 -0
- package/dist/taro-components/p-da5cdbf5.system.entry.js.map +1 -0
- package/dist/taro-components/p-de2d8e2e.system.entry.js +2 -0
- package/dist/taro-components/p-de2d8e2e.system.entry.js.map +1 -0
- package/dist/taro-components/p-de356b29.system.entry.js +2 -0
- package/dist/taro-components/p-de356b29.system.entry.js.map +1 -0
- package/dist/taro-components/p-e0e4a403.entry.js +2 -0
- package/dist/taro-components/p-e0e4a403.entry.js.map +1 -0
- package/dist/taro-components/p-e3f8265d.system.entry.js +2 -0
- package/dist/taro-components/p-e3f8265d.system.entry.js.map +1 -0
- package/dist/taro-components/p-e53feb03.system.entry.js +2 -0
- package/dist/taro-components/p-e53feb03.system.entry.js.map +1 -0
- package/dist/taro-components/p-e67165fd.entry.js +2 -0
- package/dist/taro-components/p-e67165fd.entry.js.map +1 -0
- package/dist/taro-components/p-eb2a7609.entry.js +2 -0
- package/dist/taro-components/p-eb2a7609.entry.js.map +1 -0
- package/dist/taro-components/p-eb9adf17.entry.js +2 -0
- package/dist/taro-components/p-eb9adf17.entry.js.map +1 -0
- package/dist/taro-components/p-ef4c1fd4.entry.js +2 -0
- package/dist/taro-components/p-ef4c1fd4.entry.js.map +1 -0
- package/dist/taro-components/p-ef7e7d73.system.entry.js +2 -0
- package/dist/taro-components/p-ef7e7d73.system.entry.js.map +1 -0
- package/dist/taro-components/p-efa51030.system.entry.js +2 -0
- package/dist/taro-components/p-efa51030.system.entry.js.map +1 -0
- package/dist/taro-components/p-efe31b23.entry.js +2 -0
- package/dist/taro-components/p-efe31b23.entry.js.map +1 -0
- package/dist/taro-components/p-f034fb11.system.entry.js +2 -0
- package/dist/taro-components/p-f034fb11.system.entry.js.map +1 -0
- package/dist/taro-components/p-f499c0a0.system.entry.js +2 -0
- package/dist/taro-components/p-f499c0a0.system.entry.js.map +1 -0
- package/dist/taro-components/p-f88f0f55.entry.js +2 -0
- package/dist/taro-components/p-f88f0f55.entry.js.map +1 -0
- package/dist/taro-components/p-f9ac515e.system.entry.js +2 -0
- package/dist/taro-components/p-f9ac515e.system.entry.js.map +1 -0
- package/dist/taro-components/p-fa36fe8e.system.entry.js +2 -0
- package/dist/taro-components/p-fa36fe8e.system.entry.js.map +1 -0
- package/dist/taro-components/p-fcdac6ec.system.entry.js +2 -0
- package/dist/taro-components/p-fcdac6ec.system.entry.js.map +1 -0
- package/dist/taro-components/p-fda82bc1.entry.js +2 -0
- package/dist/taro-components/p-fda82bc1.entry.js.map +1 -0
- package/dist/taro-components/p-fec6746d.entry.js +2 -0
- package/dist/taro-components/p-fec6746d.entry.js.map +1 -0
- package/dist/taro-components/taro-components.esm.js +1 -1
- package/dist/taro-components/taro-components.esm.js.map +1 -1
- package/dist/taro-components/taro-components.js +1 -1
- package/dist/types/components/icon/icon.d.ts +1 -1
- package/dist/types/components/image/image.d.ts +1 -1
- package/dist/types/components/picker/picker.d.ts +3 -3
- package/dist/types/components/rich-text/rich-text.d.ts +3 -3
- package/dist/types/components/swiper/swiper-item.d.ts +2 -0
- package/dist/types/components/swiper/swiper.d.ts +1 -0
- package/dist/types/components/tabbar/tabbar-item.d.ts +2 -1
- package/dist/types/components.d.ts +21 -0
- package/dist/types/stencil-public-runtime.d.ts +59 -3
- package/dist/types/utils/index.d.ts +1 -0
- package/lib/react/components.d.ts +82 -0
- package/lib/react/components.js +85 -0
- package/lib/react/components.js.map +1 -0
- package/lib/react/helper.d.ts +10 -0
- package/lib/react/helper.js +7 -0
- package/lib/react/helper.js.map +1 -0
- package/lib/react/index.d.ts +1 -0
- package/lib/react/index.js +2 -0
- package/lib/react/index.js.map +1 -0
- package/lib/react/interfaces-4f837811.d.ts +30 -0
- package/lib/react/react-component-lib/createComponent.d.ts +10 -0
- package/lib/react/react-component-lib/createComponent.js +70 -0
- package/lib/react/react-component-lib/createComponent.js.map +1 -0
- package/lib/react/react-component-lib/createOverlayComponent.d.ts +21 -0
- package/lib/react/react-component-lib/createOverlayComponent.js +91 -0
- package/lib/react/react-component-lib/createOverlayComponent.js.map +1 -0
- package/lib/react/react-component-lib/index.d.ts +2 -0
- package/lib/react/react-component-lib/index.js +3 -0
- package/lib/react/react-component-lib/index.js.map +1 -0
- package/lib/react/react-component-lib/utils/attachProps.d.ts +13 -0
- package/lib/react/react-component-lib/utils/attachProps.js +101 -0
- package/lib/react/react-component-lib/utils/attachProps.js.map +1 -0
- package/lib/react/react-component-lib/utils/case.d.ts +3 -0
- package/lib/react/react-component-lib/utils/case.js +9 -0
- package/lib/react/react-component-lib/utils/case.js.map +1 -0
- package/lib/react/react-component-lib/utils/index.d.ts +11 -0
- package/lib/react/react-component-lib/utils/index.js +37 -0
- package/lib/react/react-component-lib/utils/index.js.map +1 -0
- package/lib/vue2/components.d.ts +353 -0
- package/lib/vue2/components.js +621 -0
- package/lib/vue2/components.js.map +1 -0
- package/lib/vue2/index.d.ts +3 -0
- package/lib/vue2/index.js +21 -0
- package/lib/vue2/index.js.map +1 -0
- package/lib/vue2/vue-component-lib/utils.d.ts +6 -0
- package/lib/vue2/vue-component-lib/utils.js +32 -0
- package/lib/vue2/vue-component-lib/utils.js.map +1 -0
- package/lib/vue3/components.d.ts +82 -0
- package/lib/vue3/components.js +386 -0
- package/lib/vue3/components.js.map +1 -0
- package/lib/vue3/index.d.ts +3 -0
- package/lib/vue3/index.js +15 -0
- package/lib/vue3/index.js.map +1 -0
- package/lib/vue3/vue-component-lib/utils.d.ts +21 -0
- package/lib/vue3/vue-component-lib/utils.js +163 -0
- package/lib/vue3/vue-component-lib/utils.js.map +1 -0
- package/loader/index.d.ts +9 -0
- package/package.json +11 -9
- package/types/ChannelLive.d.ts +22 -0
- package/types/CoverImage.d.ts +4 -4
- package/types/CoverView.d.ts +2 -2
- package/types/Form.d.ts +6 -0
- package/types/Input.d.ts +11 -6
- package/types/LivePusher.d.ts +39 -0
- package/types/Map.d.ts +6 -0
- package/types/MovableArea.d.ts +2 -2
- package/types/Radio.d.ts +6 -6
- package/types/RadioGroup.d.ts +2 -2
- package/types/ScrollView.d.ts +1 -1
- package/types/ShareElement.d.ts +0 -5
- package/types/Swiper.d.ts +2 -2
- package/types/Textarea.d.ts +22 -28
- package/types/Video.d.ts +13 -9
- package/types/VoipRoom.d.ts +6 -0
- package/types/index.d.ts +1 -0
- package/types/index.vue3.d.ts +4 -4
- package/dist/cjs/index-47a1959e.js +0 -36
- package/dist/cjs/index-47a1959e.js.map +0 -1
- package/dist/cjs/index-9174e0b1.js +0 -1957
- package/dist/cjs/index-9174e0b1.js.map +0 -1
- package/dist/esm/index-5d881caf.js +0 -1929
- package/dist/esm/index-5d881caf.js.map +0 -1
- package/dist/esm/index-cad8203e.js +0 -33
- package/dist/esm/index-cad8203e.js.map +0 -1
- package/dist/esm-es5/index-5d881caf.js +0 -3
- package/dist/esm-es5/index-5d881caf.js.map +0 -1
- package/dist/esm-es5/index-cad8203e.js +0 -2
- package/dist/esm-es5/index-cad8203e.js.map +0 -1
- package/dist/react/component-lib/index.js +0 -74
- package/dist/react/component-lib/input.js +0 -17
- package/dist/react/component-lib/reactify-wc.js +0 -206
- package/dist/react/components.js +0 -82
- package/dist/react/helper.js +0 -8
- package/dist/react/index.js +0 -1
- package/dist/react/react-component-lib/createComponent.js +0 -99
- package/dist/react/react-component-lib/createOverlayComponent.js +0 -178
- package/dist/react/react-component-lib/index.js +0 -2
- package/dist/react/react-component-lib/interfaces.js +0 -0
- package/dist/react/react-component-lib/utils/attachProps.js +0 -98
- package/dist/react/react-component-lib/utils/case.js +0 -10
- package/dist/react/react-component-lib/utils/dev.js +0 -12
- package/dist/react/react-component-lib/utils/index.js +0 -37
- package/dist/taro-components/p-001ef419.system.entry.js +0 -2
- package/dist/taro-components/p-001ef419.system.entry.js.map +0 -1
- package/dist/taro-components/p-01dc54a5.entry.js +0 -2
- package/dist/taro-components/p-01dc54a5.entry.js.map +0 -1
- package/dist/taro-components/p-0382d7d0.system.entry.js +0 -2
- package/dist/taro-components/p-0382d7d0.system.entry.js.map +0 -1
- package/dist/taro-components/p-0a896bc7.entry.js +0 -2
- package/dist/taro-components/p-0a896bc7.entry.js.map +0 -1
- package/dist/taro-components/p-0b38e6c7.system.entry.js +0 -2
- package/dist/taro-components/p-0b38e6c7.system.entry.js.map +0 -1
- package/dist/taro-components/p-0be383a9.system.entry.js +0 -2
- package/dist/taro-components/p-0be383a9.system.entry.js.map +0 -1
- package/dist/taro-components/p-0d36ef6b.entry.js +0 -2
- package/dist/taro-components/p-0d36ef6b.entry.js.map +0 -1
- package/dist/taro-components/p-0ee6a068.entry.js +0 -2
- package/dist/taro-components/p-0ee6a068.entry.js.map +0 -1
- package/dist/taro-components/p-12e4b019.entry.js +0 -2
- package/dist/taro-components/p-12e4b019.entry.js.map +0 -1
- package/dist/taro-components/p-15dced71.system.entry.js +0 -2
- package/dist/taro-components/p-15dced71.system.entry.js.map +0 -1
- package/dist/taro-components/p-17657dca.entry.js +0 -2
- package/dist/taro-components/p-17657dca.entry.js.map +0 -1
- package/dist/taro-components/p-186ad7ff.entry.js +0 -2
- package/dist/taro-components/p-186ad7ff.entry.js.map +0 -1
- package/dist/taro-components/p-19afe402.entry.js +0 -2
- package/dist/taro-components/p-19afe402.entry.js.map +0 -1
- package/dist/taro-components/p-1a47133c.system.entry.js +0 -2
- package/dist/taro-components/p-1a47133c.system.entry.js.map +0 -1
- package/dist/taro-components/p-1ad0aa95.system.entry.js +0 -2
- package/dist/taro-components/p-1ad0aa95.system.entry.js.map +0 -1
- package/dist/taro-components/p-1b1420c9.system.entry.js +0 -2
- package/dist/taro-components/p-1b1420c9.system.entry.js.map +0 -1
- package/dist/taro-components/p-1b2556e2.system.entry.js +0 -2
- package/dist/taro-components/p-1b2556e2.system.entry.js.map +0 -1
- package/dist/taro-components/p-1b64d2a2.entry.js +0 -2
- package/dist/taro-components/p-1b64d2a2.entry.js.map +0 -1
- package/dist/taro-components/p-1bd3d09b.system.entry.js +0 -2
- package/dist/taro-components/p-1bd3d09b.system.entry.js.map +0 -1
- package/dist/taro-components/p-1cb76199.entry.js +0 -2
- package/dist/taro-components/p-1cb76199.entry.js.map +0 -1
- package/dist/taro-components/p-2096bc5f.entry.js +0 -2
- package/dist/taro-components/p-2096bc5f.entry.js.map +0 -1
- package/dist/taro-components/p-20ec6387.entry.js +0 -2
- package/dist/taro-components/p-20ec6387.entry.js.map +0 -1
- package/dist/taro-components/p-21b77a13.system.entry.js +0 -2
- package/dist/taro-components/p-21b77a13.system.entry.js.map +0 -1
- package/dist/taro-components/p-2243a376.entry.js +0 -2
- package/dist/taro-components/p-2243a376.entry.js.map +0 -1
- package/dist/taro-components/p-281a2bcf.entry.js +0 -2
- package/dist/taro-components/p-281a2bcf.entry.js.map +0 -1
- package/dist/taro-components/p-28dade4f.entry.js +0 -2
- package/dist/taro-components/p-28dade4f.entry.js.map +0 -1
- package/dist/taro-components/p-29f04296.entry.js +0 -2
- package/dist/taro-components/p-29f04296.entry.js.map +0 -1
- package/dist/taro-components/p-301a8b85.system.entry.js +0 -2
- package/dist/taro-components/p-301a8b85.system.entry.js.map +0 -1
- package/dist/taro-components/p-31e10d77.system.entry.js +0 -2
- package/dist/taro-components/p-31e10d77.system.entry.js.map +0 -1
- package/dist/taro-components/p-36c64ed0.system.entry.js +0 -2
- package/dist/taro-components/p-36c64ed0.system.entry.js.map +0 -1
- package/dist/taro-components/p-37d71e63.entry.js +0 -2
- package/dist/taro-components/p-37d71e63.entry.js.map +0 -1
- package/dist/taro-components/p-386b9de8.entry.js +0 -2
- package/dist/taro-components/p-386b9de8.entry.js.map +0 -1
- package/dist/taro-components/p-3b9a1125.entry.js +0 -2
- package/dist/taro-components/p-3b9a1125.entry.js.map +0 -1
- package/dist/taro-components/p-3c256e0e.entry.js +0 -2
- package/dist/taro-components/p-3c256e0e.entry.js.map +0 -1
- package/dist/taro-components/p-3e6b29c6.entry.js +0 -2
- package/dist/taro-components/p-3e6b29c6.entry.js.map +0 -1
- package/dist/taro-components/p-427a2872.entry.js +0 -2
- package/dist/taro-components/p-427a2872.entry.js.map +0 -1
- package/dist/taro-components/p-439a3349.system.entry.js +0 -2
- package/dist/taro-components/p-439a3349.system.entry.js.map +0 -1
- package/dist/taro-components/p-447386b2.system.entry.js +0 -2
- package/dist/taro-components/p-447386b2.system.entry.js.map +0 -1
- package/dist/taro-components/p-45b6ea0c.system.entry.js +0 -2
- package/dist/taro-components/p-45b6ea0c.system.entry.js.map +0 -1
- package/dist/taro-components/p-49a6cae4.system.entry.js +0 -2
- package/dist/taro-components/p-49a6cae4.system.entry.js.map +0 -1
- package/dist/taro-components/p-4b05e003.entry.js +0 -2
- package/dist/taro-components/p-4b05e003.entry.js.map +0 -1
- package/dist/taro-components/p-4b27df71.system.entry.js +0 -2
- package/dist/taro-components/p-4b27df71.system.entry.js.map +0 -1
- package/dist/taro-components/p-4b71c926.entry.js +0 -2
- package/dist/taro-components/p-4b71c926.entry.js.map +0 -1
- package/dist/taro-components/p-4fbb8b4c.system.entry.js +0 -2
- package/dist/taro-components/p-4fbb8b4c.system.entry.js.map +0 -1
- package/dist/taro-components/p-51040638.entry.js +0 -2
- package/dist/taro-components/p-51040638.entry.js.map +0 -1
- package/dist/taro-components/p-55519002.entry.js +0 -2
- package/dist/taro-components/p-55519002.entry.js.map +0 -1
- package/dist/taro-components/p-570222e2.entry.js +0 -2
- package/dist/taro-components/p-570222e2.entry.js.map +0 -1
- package/dist/taro-components/p-5746d7ce.js +0 -2
- package/dist/taro-components/p-5746d7ce.js.map +0 -1
- package/dist/taro-components/p-580a72d1.system.entry.js +0 -2
- package/dist/taro-components/p-580a72d1.system.entry.js.map +0 -1
- package/dist/taro-components/p-59418be7.system.entry.js +0 -2
- package/dist/taro-components/p-59418be7.system.entry.js.map +0 -1
- package/dist/taro-components/p-59e02aca.system.entry.js +0 -2
- package/dist/taro-components/p-59e02aca.system.entry.js.map +0 -1
- package/dist/taro-components/p-5b552407.entry.js +0 -2
- package/dist/taro-components/p-5b552407.entry.js.map +0 -1
- package/dist/taro-components/p-5bd1c1a1.entry.js +0 -2
- package/dist/taro-components/p-5bd1c1a1.entry.js.map +0 -1
- package/dist/taro-components/p-5bfefd19.js +0 -3
- package/dist/taro-components/p-5bfefd19.js.map +0 -1
- package/dist/taro-components/p-62d750a7.entry.js +0 -2
- package/dist/taro-components/p-62d750a7.entry.js.map +0 -1
- package/dist/taro-components/p-632f9a72.system.entry.js +0 -2
- package/dist/taro-components/p-632f9a72.system.entry.js.map +0 -1
- package/dist/taro-components/p-65971d99.entry.js +0 -2
- package/dist/taro-components/p-65971d99.entry.js.map +0 -1
- package/dist/taro-components/p-663d1bb9.system.js +0 -2
- package/dist/taro-components/p-663d1bb9.system.js.map +0 -1
- package/dist/taro-components/p-6831f7b1.system.entry.js +0 -2
- package/dist/taro-components/p-6831f7b1.system.entry.js.map +0 -1
- package/dist/taro-components/p-6af8be19.entry.js +0 -2
- package/dist/taro-components/p-6af8be19.entry.js.map +0 -1
- package/dist/taro-components/p-6c622fa2.system.entry.js +0 -2
- package/dist/taro-components/p-6c622fa2.system.entry.js.map +0 -1
- package/dist/taro-components/p-6cd941bc.entry.js +0 -2
- package/dist/taro-components/p-6cd941bc.entry.js.map +0 -1
- package/dist/taro-components/p-6ea2995b.entry.js +0 -2
- package/dist/taro-components/p-6ea2995b.entry.js.map +0 -1
- package/dist/taro-components/p-6f8af69f.entry.js +0 -2
- package/dist/taro-components/p-6f8af69f.entry.js.map +0 -1
- package/dist/taro-components/p-701b0286.system.entry.js +0 -2
- package/dist/taro-components/p-701b0286.system.entry.js.map +0 -1
- package/dist/taro-components/p-70defa84.entry.js +0 -2
- package/dist/taro-components/p-70defa84.entry.js.map +0 -1
- package/dist/taro-components/p-72f626ab.system.entry.js +0 -2
- package/dist/taro-components/p-72f626ab.system.entry.js.map +0 -1
- package/dist/taro-components/p-73106bc9.entry.js +0 -2
- package/dist/taro-components/p-73106bc9.entry.js.map +0 -1
- package/dist/taro-components/p-755be847.system.entry.js +0 -2
- package/dist/taro-components/p-755be847.system.entry.js.map +0 -1
- package/dist/taro-components/p-7afc274a.entry.js +0 -2
- package/dist/taro-components/p-7afc274a.entry.js.map +0 -1
- package/dist/taro-components/p-7bafbe22.entry.js +0 -2
- package/dist/taro-components/p-7bafbe22.entry.js.map +0 -1
- package/dist/taro-components/p-7e7a1e62.entry.js +0 -2
- package/dist/taro-components/p-7e7a1e62.entry.js.map +0 -1
- package/dist/taro-components/p-8231e748.entry.js +0 -2
- package/dist/taro-components/p-8231e748.entry.js.map +0 -1
- package/dist/taro-components/p-876edf66.entry.js +0 -2
- package/dist/taro-components/p-876edf66.entry.js.map +0 -1
- package/dist/taro-components/p-898aba38.system.entry.js +0 -2
- package/dist/taro-components/p-898aba38.system.entry.js.map +0 -1
- package/dist/taro-components/p-8a3620a6.system.entry.js +0 -2
- package/dist/taro-components/p-8a3620a6.system.entry.js.map +0 -1
- package/dist/taro-components/p-8a8f286f.system.js +0 -3
- package/dist/taro-components/p-8a8f286f.system.js.map +0 -1
- package/dist/taro-components/p-8bec95d4.system.entry.js +0 -2
- package/dist/taro-components/p-8bec95d4.system.entry.js.map +0 -1
- package/dist/taro-components/p-8c8fe164.system.entry.js +0 -2
- package/dist/taro-components/p-8c8fe164.system.entry.js.map +0 -1
- package/dist/taro-components/p-93cc7adc.entry.js +0 -2
- package/dist/taro-components/p-93cc7adc.entry.js.map +0 -1
- package/dist/taro-components/p-96a784f1.entry.js +0 -2
- package/dist/taro-components/p-96a784f1.entry.js.map +0 -1
- package/dist/taro-components/p-98901e99.system.entry.js +0 -2
- package/dist/taro-components/p-98901e99.system.entry.js.map +0 -1
- package/dist/taro-components/p-99bbe34a.system.entry.js +0 -2
- package/dist/taro-components/p-99bbe34a.system.entry.js.map +0 -1
- package/dist/taro-components/p-9e20c25c.entry.js +0 -2
- package/dist/taro-components/p-9e20c25c.entry.js.map +0 -1
- package/dist/taro-components/p-9f1ca602.system.entry.js +0 -2
- package/dist/taro-components/p-9f1ca602.system.entry.js.map +0 -1
- package/dist/taro-components/p-9f780103.system.entry.js +0 -2
- package/dist/taro-components/p-9f780103.system.entry.js.map +0 -1
- package/dist/taro-components/p-a1ace8c7.system.entry.js +0 -2
- package/dist/taro-components/p-a1ace8c7.system.entry.js.map +0 -1
- package/dist/taro-components/p-a29509fa.system.entry.js +0 -2
- package/dist/taro-components/p-a29509fa.system.entry.js.map +0 -1
- package/dist/taro-components/p-a4961ddd.entry.js +0 -2
- package/dist/taro-components/p-a4961ddd.entry.js.map +0 -1
- package/dist/taro-components/p-a6f2dc54.system.entry.js +0 -2
- package/dist/taro-components/p-a6f2dc54.system.entry.js.map +0 -1
- package/dist/taro-components/p-ab105c26.entry.js +0 -2
- package/dist/taro-components/p-ab105c26.entry.js.map +0 -1
- package/dist/taro-components/p-ad25cc91.system.entry.js +0 -2
- package/dist/taro-components/p-ad25cc91.system.entry.js.map +0 -1
- package/dist/taro-components/p-b04a56bd.system.entry.js +0 -2
- package/dist/taro-components/p-b04a56bd.system.entry.js.map +0 -1
- package/dist/taro-components/p-b10cb428.entry.js +0 -2
- package/dist/taro-components/p-b10cb428.entry.js.map +0 -1
- package/dist/taro-components/p-b4cccb3e.system.entry.js +0 -2
- package/dist/taro-components/p-b4cccb3e.system.entry.js.map +0 -1
- package/dist/taro-components/p-b4ec48c3.entry.js +0 -2
- package/dist/taro-components/p-b4ec48c3.entry.js.map +0 -1
- package/dist/taro-components/p-b500c116.system.entry.js +0 -2
- package/dist/taro-components/p-b500c116.system.entry.js.map +0 -1
- package/dist/taro-components/p-b6733e23.system.entry.js +0 -2
- package/dist/taro-components/p-b6733e23.system.entry.js.map +0 -1
- package/dist/taro-components/p-b832f4e8.entry.js +0 -2
- package/dist/taro-components/p-b832f4e8.entry.js.map +0 -1
- package/dist/taro-components/p-b88a55b4.system.entry.js +0 -2
- package/dist/taro-components/p-b88a55b4.system.entry.js.map +0 -1
- package/dist/taro-components/p-b90926cc.entry.js +0 -2
- package/dist/taro-components/p-b90926cc.entry.js.map +0 -1
- package/dist/taro-components/p-ba743573.entry.js +0 -2
- package/dist/taro-components/p-ba743573.entry.js.map +0 -1
- package/dist/taro-components/p-be3f5ac0.entry.js +0 -2
- package/dist/taro-components/p-be3f5ac0.entry.js.map +0 -1
- package/dist/taro-components/p-beea63a7.entry.js +0 -2
- package/dist/taro-components/p-beea63a7.entry.js.map +0 -1
- package/dist/taro-components/p-c0e3c822.system.entry.js +0 -2
- package/dist/taro-components/p-c0e3c822.system.entry.js.map +0 -1
- package/dist/taro-components/p-c3bb8fa6.entry.js +0 -2
- package/dist/taro-components/p-c3bb8fa6.entry.js.map +0 -1
- package/dist/taro-components/p-c43fe342.system.entry.js +0 -2
- package/dist/taro-components/p-c43fe342.system.entry.js.map +0 -1
- package/dist/taro-components/p-c4cf58af.system.entry.js +0 -2
- package/dist/taro-components/p-c4cf58af.system.entry.js.map +0 -1
- package/dist/taro-components/p-c5c331bf.system.entry.js +0 -2
- package/dist/taro-components/p-c5c331bf.system.entry.js.map +0 -1
- package/dist/taro-components/p-cb17d8bd.system.js +0 -2
- package/dist/taro-components/p-cb17d8bd.system.js.map +0 -1
- package/dist/taro-components/p-cbe2436d.system.entry.js +0 -2
- package/dist/taro-components/p-cbe2436d.system.entry.js.map +0 -1
- package/dist/taro-components/p-cd6a7eea.entry.js +0 -2
- package/dist/taro-components/p-cd6a7eea.entry.js.map +0 -1
- package/dist/taro-components/p-d388c097.entry.js +0 -2
- package/dist/taro-components/p-d388c097.entry.js.map +0 -1
- package/dist/taro-components/p-d4b6f19e.system.entry.js +0 -2
- package/dist/taro-components/p-d4b6f19e.system.entry.js.map +0 -1
- package/dist/taro-components/p-d619f198.system.entry.js +0 -2
- package/dist/taro-components/p-d619f198.system.entry.js.map +0 -1
- package/dist/taro-components/p-d6441fd8.entry.js +0 -2
- package/dist/taro-components/p-d6441fd8.entry.js.map +0 -1
- package/dist/taro-components/p-d7ab3e23.system.entry.js +0 -2
- package/dist/taro-components/p-d7ab3e23.system.entry.js.map +0 -1
- package/dist/taro-components/p-d7f4b10f.entry.js +0 -2
- package/dist/taro-components/p-d7f4b10f.entry.js.map +0 -1
- package/dist/taro-components/p-d85b216d.entry.js +0 -2
- package/dist/taro-components/p-d85b216d.entry.js.map +0 -1
- package/dist/taro-components/p-dcb48fd9.system.entry.js +0 -2
- package/dist/taro-components/p-dcb48fd9.system.entry.js.map +0 -1
- package/dist/taro-components/p-dcfb7d97.system.entry.js +0 -2
- package/dist/taro-components/p-dcfb7d97.system.entry.js.map +0 -1
- package/dist/taro-components/p-de762042.entry.js +0 -2
- package/dist/taro-components/p-de762042.entry.js.map +0 -1
- package/dist/taro-components/p-df862d0c.entry.js +0 -2
- package/dist/taro-components/p-df862d0c.entry.js.map +0 -1
- package/dist/taro-components/p-e0d6b00b.entry.js +0 -2
- package/dist/taro-components/p-e0d6b00b.entry.js.map +0 -1
- package/dist/taro-components/p-e4f1cc50.entry.js +0 -2
- package/dist/taro-components/p-e4f1cc50.entry.js.map +0 -1
- package/dist/taro-components/p-e5607803.system.entry.js +0 -2
- package/dist/taro-components/p-e5607803.system.entry.js.map +0 -1
- package/dist/taro-components/p-e59f999e.entry.js +0 -2
- package/dist/taro-components/p-e59f999e.entry.js.map +0 -1
- package/dist/taro-components/p-e7239faa.system.entry.js +0 -2
- package/dist/taro-components/p-e7239faa.system.entry.js.map +0 -1
- package/dist/taro-components/p-e7965c55.system.entry.js +0 -2
- package/dist/taro-components/p-e7965c55.system.entry.js.map +0 -1
- package/dist/taro-components/p-e98c07c3.system.entry.js +0 -2
- package/dist/taro-components/p-e98c07c3.system.entry.js.map +0 -1
- package/dist/taro-components/p-eddd00e9.system.entry.js +0 -2
- package/dist/taro-components/p-eddd00e9.system.entry.js.map +0 -1
- package/dist/taro-components/p-ef029c30.system.entry.js +0 -2
- package/dist/taro-components/p-ef029c30.system.entry.js.map +0 -1
- package/dist/taro-components/p-f00ee372.system.entry.js +0 -2
- package/dist/taro-components/p-f00ee372.system.entry.js.map +0 -1
- package/dist/taro-components/p-f0d0160d.system.entry.js +0 -2
- package/dist/taro-components/p-f0d0160d.system.entry.js.map +0 -1
- package/dist/taro-components/p-f120c272.entry.js +0 -2
- package/dist/taro-components/p-f120c272.entry.js.map +0 -1
- package/dist/taro-components/p-f2c75971.system.entry.js +0 -2
- package/dist/taro-components/p-f2c75971.system.entry.js.map +0 -1
- package/dist/taro-components/p-f81d14ad.entry.js +0 -2
- package/dist/taro-components/p-f81d14ad.entry.js.map +0 -1
- package/dist/taro-components/p-fae28cc1.system.entry.js +0 -2
- package/dist/taro-components/p-fae28cc1.system.entry.js.map +0 -1
- package/dist/taro-components/p-fb843ff2.system.entry.js +0 -2
- package/dist/taro-components/p-fb843ff2.system.entry.js.map +0 -1
- package/dist/taro-components/p-fc0fbcce.system.entry.js +0 -2
- package/dist/taro-components/p-fc0fbcce.system.entry.js.map +0 -1
- package/dist/taro-components/p-ffc44634.entry.js +0 -2
- package/dist/taro-components/p-ffc44634.entry.js.map +0 -1
- package/dist/vue2/component-lib/components.js +0 -71
- package/dist/vue2/component-lib/createComponent.js +0 -21
- package/dist/vue2/component-lib/createFormsComponent.js +0 -53
- package/dist/vue2/component-lib/icon.js +0 -19
- package/dist/vue2/component-lib/image.js +0 -20
- package/dist/vue2/component-lib/index.js +0 -28
- package/dist/vue2/component-lib/mixins/listeners.js +0 -14
- package/dist/vue2/component-lib/mixins/refs.js +0 -44
- package/dist/vue2/component-lib/picker.js +0 -40
- package/dist/vue2/component-lib/scroll-view.js +0 -32
- package/dist/vue2/component-lib/text.js +0 -20
- package/dist/vue2/components.js +0 -542
- package/dist/vue2/index.js +0 -22
- package/dist/vue2/vue-component-lib/utils.js +0 -40
- package/dist/vue3/component-lib/createComponent.js +0 -23
- package/dist/vue3/component-lib/createFormsComponent.js +0 -43
- package/dist/vue3/component-lib/forwardRef.js +0 -9
- package/dist/vue3/component-lib/icon.js +0 -21
- package/dist/vue3/component-lib/image.js +0 -22
- package/dist/vue3/component-lib/index.js +0 -76
- package/dist/vue3/component-lib/scroll-view.js +0 -28
- package/dist/vue3/component-lib/text.js +0 -22
- package/dist/vue3/components.js +0 -80
- package/dist/vue3/index.js +0 -17
- package/dist/vue3/vue-component-lib/utils.js +0 -175
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/components/video/utils.ts","src/components/video/video-control.tsx","src/components/video/style/index.scss?tag=taro-video-core","src/components/video/video.tsx","src/components/video/video-danmu.tsx"],"names":["formatTime","time","sec","Math","round","min","concat","calcDist","x","y","sqrt","pow","normalizeNumber","number","max","scene","screenFn","val","fnMap","defaultIOSMap","i","l","length","ret","document","isHls","url","test","VideoControl","this","visible","isDraggingProgressBall","percentage","progressDimensions","left","width","calcPercentage","pageX","pos","_this","onDragProgressBallStart","hideControlsTimer","clearTimeout","onClickProgress","e","stopPropagation","seekFunc","duration","toggleVisibility","class_1","prototype","onDocumentTouchMove","touchX","touches","setProgressBall","setCurrentTime","onDocumentTouchEnd","progressBallRef","style","nextVisible","undefined","isPlaying","setTimeout","el","visibility","getIsDraggingProgressBall","currentTimeRef","innerHTML","render","_c","controls","currentTime","pauseFunc","playFunc","showPlayBtn","showProgress","formattedDuration","playBtn","h","class","onClick","Host","ref","dom","rect","getBoundingClientRect","onTouchStart","indexCss","Video","isDraggingProgress","gestureType","analyzeGesture","obj","type","nowX","screenX","nowY","screenY","distX","lastTouchScreenX","distY","lastTouchScreenY","enableVslideGesture","isFullScreen","vslideGestureInFullscreen","vslideGesture","dist","abs","lastVolume","videoRef","volume","enableProgressGesture","lastPercentage","_a","_duration","dataX","dataY","loadNativePlayer","src","_b","load","call","init","import","then","n","Hls","default","HLS","isSupported","hls","destroy","loadSource","attachMedia","on","Events","MANIFEST_PARSED","autoplay","play","ERROR","_","data","handleError","canPlayType","console","error","handlePlay","isFirst","controlsRef","onPlay","emit","handlePause","onPause","handleEnded","pause","onEnded","handleTimeUpdate","throttle","__awaiter","isControlDragging","sent","danmuRef","tick","onTimeUpdate","target","seek","ErrorTypes","NETWORK_ERROR","onError","errMsg","response","startLoad","MEDIA_ERROR","reason","recoverMediaError","message","handleDurationChange","handleProgress","onProgress","handleLoadedMetaData","onLoadedMetaData","videoWidth","height","videoHeight","_play","_pause","_stop","_seek","position","onTouchStartContainer","onClickContainer","enablePlayGesture","now","Date","lastClickedTime","onClickFullScreenBtn","toggleFullScreen","handleFullScreenChange","timestamp","getTime","detail","fullscreenElement","fullScreenTimestamp","onFullScreenChange","fullScreen","direction","requestFullscreen","navigationUI","toggleMute","muted","isMute","toggleDanmu","_enableDanmu","class_2","componentWillLoad","enableDanmu","componentDidLoad","initialTime","sendDanmu","danmuList","addEventListener","fullscreenchange","componentDidRender","disconnectedCallback","removeEventListener","watchEnableDanmu","newVal","watchSrc","gestureObj","toastVolumeRef","nextVolume","toastVolumeBarRef","nextPercentage","toastProgressTitleRef","toastProgressRef","stop","requestFullScreen","exitFullScreen","loop","poster","objectFit","showCenterPlayBtn","showMuteBtn","danmuBtn","showFullscreenBtn","nativeProps","durationTime","classNames","taro-video-type-fullscreen","Object","assign","object-fit","playsinline","webkit-playsinline","onDurationChange","enable","taro-video-type-mute","taro-video-danmu-button-active","Array","fill","map","VideoDanmu","list","danmuElList","class_3","ensureProperties","danmu","clonedDanmu","key","random","bottom","isArray","__spreadArray","newDanmuList","filter","shouldUpdate","oldDanmuList","some","every","componentDidUpdate","requestAnimationFrame","splice","forEach","webkitTransform","transform","text","color","push"],"mappings":"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","sourcesContent":["export const formatTime = (time?: number): string => {\r\n if (!time) return ''\r\n const sec = Math.round(time % 60)\r\n const min = Math.round((time - sec) / 60)\r\n return `${min < 10 ? `0${min}` : min}:${sec < 10 ? `0${sec}` : sec}`\r\n}\r\n\r\nexport const calcDist = (x: number, y: number): number => {\r\n return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))\r\n}\r\n\r\nexport const normalizeNumber = (number: number): number => {\r\n return Math.max(-1, Math.min(number, 1))\r\n}\r\n\r\nexport let scene = 'default'\r\n\r\nexport const screenFn = (function () {\r\n let val\r\n const fnMap = [\r\n [\r\n 'requestFullscreen',\r\n 'exitFullscreen',\r\n 'fullscreenElement',\r\n 'fullscreenEnabled',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ],\r\n // New WebKit\r\n [\r\n 'webkitRequestFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitFullscreenElement',\r\n 'webkitFullscreenEnabled',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n // Old WebKit\r\n [\r\n 'webkitRequestFullScreen',\r\n 'webkitCancelFullScreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitCancelFullScreen',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n [\r\n 'mozRequestFullScreen',\r\n 'mozCancelFullScreen',\r\n 'mozFullScreenElement',\r\n 'mozFullScreenEnabled',\r\n 'mozfullscreenchange',\r\n 'mozfullscreenerror'\r\n ],\r\n [\r\n 'msRequestFullscreen',\r\n 'msExitFullscreen',\r\n 'msFullscreenElement',\r\n 'msFullscreenEnabled',\r\n 'MSFullscreenChange',\r\n 'MSFullscreenError'\r\n ]\r\n ]\r\n var defaultIOSMap = [\r\n 'webkitEnterFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitSupportsFullscreen',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ]\r\n let i = 0\r\n const l = fnMap.length\r\n const ret: Record<string, any> = {}\r\n // This for loop essentially checks the current document object for the property/methods above.\r\n for (; i < l; i++) {\r\n val = fnMap[i]\r\n if (val && val[1] in document) {\r\n for (i = 0; i < val.length; i++) {\r\n ret[fnMap[0][i]] = val[i]\r\n }\r\n return ret\r\n }\r\n }\r\n if (!ret[fnMap[0][0]]) {\r\n scene = 'iOS'\r\n // when there is no any APIs be set.\r\n\r\n // In IOS, there is no 'webkitEnterFullscreen' property `in document` but video can use it for fullscreen.\r\n // ref: https://developer.apple.com/documentation/webkitjs/htmlvideoelement/1633500-webkitenterfullscreen\r\n for (i = 0; i < defaultIOSMap.length; i++) {\r\n ret[fnMap[0][i]] = defaultIOSMap[i]\r\n }\r\n }\r\n // If it doesn't find any of them, this whole function returns {}\r\n // and the fn variable is set to this returned value.\r\n return ret\r\n})()\r\n\r\nexport const isHls = url => /\\.(m3u8)($|\\?)/i.test(url)\r\n","import { Component, h, ComponentInterface, Prop, Host, Element, Listen, Method } from '@stencil/core'\nimport { formatTime } from './utils'\n\n@Component({\n tag: 'taro-video-control'\n})\nexport class VideoControl implements ComponentInterface {\n private currentTimeRef: HTMLDivElement\n private progressBallRef: HTMLDivElement\n private visible = false\n private isDraggingProgressBall = false\n private hideControlsTimer: ReturnType<typeof setTimeout>\n private percentage = 0\n private progressDimensions = {\n left: 0,\n width: 0\n }\n\n @Element() el: HTMLElement\n\n @Prop() controls: boolean\n @Prop() currentTime: number\n @Prop() duration: number\n @Prop() isPlaying: boolean\n @Prop() pauseFunc: () => void\n @Prop() playFunc: () => void\n @Prop() seekFunc: (position: number) => void\n @Prop() showPlayBtn: boolean\n @Prop() showProgress: boolean\n\n @Listen('touchmove', {\n target: 'document'\n })\n onDocumentTouchMove (e: TouchEvent) {\n if (!this.isDraggingProgressBall) return\n const touchX = e.touches[0].pageX\n this.percentage = this.calcPercentage(touchX)\n this.setProgressBall(this.percentage)\n this.setCurrentTime(this.percentage * this.duration)\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (!this.isDraggingProgressBall) return\n\n this.isDraggingProgressBall = false\n this.seekFunc(this.percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n @Method()\n async setProgressBall (percentage: number) {\n if (this.progressBallRef) {\n this.progressBallRef.style.left = `${percentage * 100}%`\n }\n }\n\n @Method()\n async toggleVisibility (nextVisible?: boolean) {\n const visible = nextVisible === undefined ? !this.visible : nextVisible\n if (visible) {\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n if (this.isPlaying) {\n this.hideControlsTimer = setTimeout(() => {\n this.toggleVisibility(false)\n }, 2000)\n }\n this.el.style.visibility = 'visible'\n } else {\n this.el.style.visibility = 'hidden'\n }\n this.visible = !!visible\n }\n\n @Method()\n async getIsDraggingProgressBall () {\n return this.isDraggingProgressBall\n }\n\n @Method()\n async setCurrentTime (time: number) {\n this.currentTimeRef.innerHTML = formatTime(time)\n }\n\n calcPercentage = (pageX: number): number => {\n let pos = pageX - this.progressDimensions.left\n pos = Math.max(pos, 0)\n pos = Math.min(pos, this.progressDimensions.width)\n return pos / this.progressDimensions.width\n }\n\n onDragProgressBallStart = () => {\n this.isDraggingProgressBall = true\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n }\n\n onClickProgress = (e: MouseEvent) => {\n e.stopPropagation()\n\n const percentage = this.calcPercentage(e.pageX)\n this.seekFunc(percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n render () {\n const {\n controls,\n currentTime,\n duration,\n isPlaying,\n pauseFunc,\n playFunc,\n showPlayBtn,\n showProgress\n } = this\n\n const formattedDuration = formatTime(duration)\n let playBtn\n\n if (!showPlayBtn) {\n playBtn = null\n } else if (isPlaying) {\n playBtn = <div class='taro-video-control-button taro-video-control-button-pause' onClick={pauseFunc} />\n } else {\n playBtn = <div class='taro-video-control-button taro-video-control-button-play' onClick={playFunc} />\n }\n\n return (\n <Host class='taro-video-bar taro-video-bar-full'>\n {controls && (\n <div class='taro-video-controls'>\n {playBtn}\n {showProgress && (\n <div class='taro-video-current-time' ref={dom => (this.currentTimeRef = dom as HTMLDivElement)}>\n {formatTime(currentTime)}\n </div>\n )}\n {showProgress && (\n <div class='taro-video-progress-container' onClick={this.onClickProgress}>\n <div\n class='taro-video-progress'\n ref={ref => {\n if (!ref) return\n const rect = ref.getBoundingClientRect()\n this.progressDimensions.left = rect.left\n this.progressDimensions.width = rect.width\n }}>\n <div class='taro-video-progress-buffered' style={{ width: '100%' }} />\n <div\n class='taro-video-ball'\n ref={dom => (this.progressBallRef = dom as HTMLDivElement)}\n onTouchStart={this.onDragProgressBallStart}\n style={{\n left: `${formattedDuration ? (this.currentTime / duration) * 100 : 0}%`\n }}\n >\n <div class='taro-video-inner' />\n </div>\n </div>\n </div>\n )}\n {showProgress && <div class='taro-video-duration'>{formattedDuration}</div>}\n </div>\n )}\n <slot />\n </Host>\n )\n }\n}\n","@charset \"UTF-8\";\n\n.taro-video {\n display: inline-block;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 225px;\n line-height: 0;\n}\n\n.taro-video[hidden] {\n display: none;\n}\n\n.taro-video-container {\n display: inline-block;\n\n // NOTE: video 元素父节点设置该属性会导致 iOS 元素层级问题 https://stackoverflow.com/questions/49653475/video-and-z-index-inside-scaled-element-some-divs-disappear\n // overflow: hidden;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n object-position: inherit;\n}\n\n.taro-video-container.taro-video-type-fullscreen {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 999;\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left {\n transform: translate(-50%, -50%) rotate(-90deg);\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right {\n transform: translate(-50%, -50%) rotate(90deg);\n}\n\n.taro-video-video {\n width: 100%;\n height: 100%;\n object-position: inherit;\n}\n\n.taro-video-cover {\n display: flex;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n background-color: rgb(1 1 1 / 50%);\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-box-pack: center;\n -webkit-box-align: center;\n}\n\n.taro-video-cover-play-button {\n width: 40px;\n height: 40px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-cover-duration {\n margin-top: 10px;\n line-height: 1;\n font-size: 16px;\n color: #fff;\n}\n\n.taro-video-bar {\n display: flex;\n visibility: hidden;\n overflow: hidden;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 1;\n align-items: center;\n padding: 0 10px;\n height: 44px;\n background-color: rgb(0 0 0 / 50%);\n -webkit-box-align: center;\n}\n\n.taro-video-bar.taro-video-bar-full {\n left: 0;\n}\n\n.taro-video-controls {\n display: flex;\n -webkit-box-flex: 1;\n flex-grow: 1;\n margin: 0 8.5px;\n}\n\n.taro-video-control-button {\n box-sizing: content-box;\n margin-left: -8.5px;\n padding: 14.5px 12.5px;\n width: 13px;\n height: 15px;\n}\n\n.taro-video-control-button::after {\n display: block;\n width: 100%;\n height: 100%;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 100%;\n content: \"\";\n}\n\n.taro-video-control-button.taro-video-control-button-play::after,\n.taro-video-cover-play-button {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-control-button.taro-video-control-button-pause::after {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC\");\n}\n\n.taro-video-current-time,\n.taro-video-duration {\n margin-top: 15px;\n margin-bottom: 14.5px;\n height: 14.5px;\n line-height: 14.5px;\n font-size: 12px;\n color: #cbcbcb;\n}\n\n.taro-video-progress-container {\n position: relative;\n flex-grow: 2;\n -webkit-box-flex: 2;\n}\n\n.taro-video-progress {\n position: relative;\n margin: 21px 12px;\n height: 2px;\n background-color: hsl(0deg 0% 100% / 40%);\n}\n\n.taro-video-progress-buffered {\n position: absolute;\n left: 0;\n top: 0;\n width: 0;\n height: 100%;\n background-color: hsl(0deg 0% 100% / 80%);\n transition: width 0.1s;\n}\n\n.taro-video-ball {\n position: absolute;\n left: 0;\n top: -21px;\n box-sizing: content-box;\n margin-left: -22px;\n padding: 14px;\n width: 16px;\n height: 16px;\n}\n\n.taro-video-inner {\n border-radius: 50%;\n width: 100%;\n height: 100%;\n background-color: #fff;\n}\n\n.taro-video-danmu-button {\n margin: 0 8.5px;\n padding: 2px 10px;\n border: 1px solid #fff;\n border-radius: 5px;\n line-height: 1;\n font-size: 13px;\n color: #fff;\n white-space: nowrap;\n}\n\n.taro-video-danmu-button.taro-video-danmu-button-active {\n border-color: #48c23d;\n color: #48c23d;\n}\n\n.taro-video-fullscreen,\n.taro-video-mute {\n box-sizing: content-box;\n padding: 8.5px;\n width: 17px;\n height: 17px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-fullscreen.taro-video-type-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=\");\n}\n\n.taro-video-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-mute.taro-video-type-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC\");\n}\n\n.taro-video-danmu {\n overflow: visible;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n margin-top: 14px;\n margin-bottom: 44px;\n width: 100%;\n line-height: 14px;\n font-size: 14px;\n}\n\n.taro-video-danmu-item {\n position: absolute;\n left: 100%;\n line-height: 1;\n color: #fff;\n white-space: nowrap;\n transform: translateX(0);\n transition-property: left, transform;\n transition-duration: 3s;\n transition-timing-function: linear;\n}\n\n.taro-video-toast {\n display: block;\n visibility: hidden;\n position: absolute;\n left: 50%;\n top: 50%;\n border-radius: 5px;\n background-color: hsl(0deg 0% 100% / 80%);\n pointer-events: none;\n color: #000;\n transform: translate(-50%, -50%);\n}\n\n.taro-video-toast.taro-video-toast-volume {\n display: block;\n width: 100px;\n height: 100px;\n}\n\n.taro-video-toast-volume .taro-video-toast-title {\n display: block;\n margin-top: 10px;\n width: 100%;\n line-height: 16px;\n text-align: center;\n font-size: 12px;\n}\n\n.taro-video-toast-volume .taro-video-toast-icon {\n display: block;\n margin-left: 25%;\n width: 50%;\n height: 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==\");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n fill: #000;\n}\n\n.taro-video-toast-volume .taro-video-toast-value {\n margin-left: 10px;\n margin-top: 5px;\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume .taro-video-toast-value > .taro-video-toast-value-content {\n overflow: hidden;\n}\n\n.taro-video-toast-volume-grids {\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume-grids-item {\n float: left;\n width: 7.1px;\n height: 5px;\n background-color: #000;\n}\n\n.taro-video-toast-volume-grids-item:not(:first-child) {\n margin-left: 1px;\n}\n\n.taro-video-toast.taro-video-toast-progress {\n padding: 6px;\n background-color: rgb(0 0 0 / 80%);\n line-height: 18px;\n font-size: 14px;\n color: #fff;\n}\n","import { Component, h, ComponentInterface, Prop, State, Event, EventEmitter, Host, Watch, Listen, Element, Method } from '@stencil/core'\nimport classNames from 'classnames'\n\nimport { throttle } from '../../utils'\nimport {\n formatTime,\n calcDist,\n normalizeNumber,\n screenFn,\n isHls,\n scene\n} from './utils'\n\nimport type HLS from 'hls.js'\n\n@Component({\n tag: 'taro-video-core',\n styleUrl: './style/index.scss'\n})\nexport class Video implements ComponentInterface {\n private videoRef: HTMLVideoElement\n private controlsRef: HTMLTaroVideoControlElement\n private danmuRef: HTMLTaroVideoDanmuElement\n private toastProgressRef: HTMLDivElement\n private toastProgressTitleRef: HTMLDivElement\n private toastVolumeRef: HTMLDivElement\n private toastVolumeBarRef: HTMLDivElement\n private currentTime = 0\n private lastClickedTime: number\n private lastTouchScreenX: number | undefined\n private lastTouchScreenY: number | undefined\n private isDraggingProgress = false\n private lastVolume: number\n private lastPercentage: number\n private nextPercentage: number\n private gestureType = 'none'\n private HLS: typeof HLS\n private hls: HLS\n\n @Element() el: HTMLTaroVideoCoreElement\n\n /**\n * 要播放视频的资源地址\n */\n @Prop() src: string\n\n /**\n * 指定视频时长\n */\n @Prop() duration: number\n\n /**\n * 是否显示默认播放控件(播放/暂停按钮、播放进度、时间)\n */\n @Prop() controls = true\n\n /**\n * 是否自动播放\n */\n @Prop() autoplay = false\n\n /**\n * 是否循环播放\n */\n @Prop() loop = false\n\n /**\n * 是否静音播放\n */\n @Prop() muted = false\n\n /**\n * 指定视频初始播放位置\n */\n @Prop() initialTime = 0\n\n /**\n * 视频封面的图片网络资源地址或云文件ID(2.3.0)。若 controls 属性值为 false 则设置 poster 无效\n */\n @Prop() poster: string\n\n /**\n * 当视频大小与 video 容器大小不一致时,视频的表现形式\n */\n @Prop() objectFit: 'contain' | 'fill' | 'cover' = 'contain'\n\n /**\n * 若不设置,宽度大于 240 时才会显示\n */\n @Prop() showProgress = true\n\n /**\n * 是否显示全屏按钮\n */\n @Prop() showFullscreenBtn = true\n\n /**\n * 是否显示视频底部控制栏的播放按钮\n */\n @Prop() showPlayBtn = true\n\n /**\n * 是否显示视频中间的播放按钮\n */\n @Prop() showCenterPlayBtn = true\n\n /**\n * 是否显示静音按钮\n */\n @Prop() showMuteBtn = false\n\n /**\n * 弹幕列表\n */\n @Prop() danmuList: []\n\n /**\n * 是否显示弹幕按钮\n */\n @Prop() danmuBtn = false\n\n /**\n * 是否展示弹幕\n */\n @Prop() enableDanmu = false\n\n /**\n * 是否开启播放手势,即双击切换播放/暂停\n */\n @Prop() enablePlayGesture = false\n\n /**\n * 是否开启控制进度的手势\n */\n @Prop() enableProgressGesture = true\n\n /**\n * 在非全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGesture = false\n\n /**\n * 在全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGestureInFullscreen = true\n\n @Prop() nativeProps = {}\n\n @State() _duration: number\n @State() _enableDanmu = false\n @State() isPlaying = false\n @State() isFirst = true\n @State() isFullScreen = false\n @State() fullScreenTimestamp = new Date().getTime()\n @State() isMute = false\n\n @Event({\n eventName: 'play'\n }) onPlay: EventEmitter\n\n @Event({\n eventName: 'pause'\n }) onPause: EventEmitter\n\n @Event({\n eventName: 'ended'\n }) onEnded: EventEmitter\n\n @Event({\n eventName: 'timeupdate'\n }) onTimeUpdate: EventEmitter\n\n @Event({\n eventName: 'error'\n }) onError: EventEmitter\n\n @Event({\n eventName: 'fullscreenchange'\n }) onFullScreenChange: EventEmitter\n\n @Event({\n eventName: 'progress'\n }) onProgress: EventEmitter\n\n @Event({\n eventName: 'loadedmetadata'\n }) onLoadedMetaData: EventEmitter\n\n componentWillLoad () {\n this._enableDanmu = this.enableDanmu\n }\n\n componentDidLoad () {\n this.init()\n if (this.initialTime) {\n this.videoRef.currentTime = this.initialTime\n }\n // 目前只支持 danmuList 初始化弹幕列表,还未支持更新弹幕列表\n this.danmuRef.sendDanmu?.(this.danmuList)\n\n if (document.addEventListener) {\n document.addEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n // NOTE: iOS 场景下 fullscreenchange 并不会在退出全屏状态下触发,仅 webkitpresentationmodechanged 与 webkitendfullscreen 可替代\n this.videoRef.addEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n componentDidRender () {\n }\n\n disconnectedCallback () {\n if (document.removeEventListener) {\n document.removeEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n this.videoRef.removeEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n @Watch('enableDanmu')\n watchEnableDanmu (newVal) {\n this._enableDanmu = newVal\n }\n\n @Watch('src')\n watchSrc () {\n this.init()\n }\n\n analyzeGesture = (e: TouchEvent) => {\n const obj: {\n type: string\n dataX?: number\n dataY?: number\n } = {\n type: 'none'\n }\n const nowX = e.touches[0].screenX\n const nowY = e.touches[0].screenY\n const distX = nowX - (this.lastTouchScreenX as number)\n const distY = nowY - (this.lastTouchScreenY as number)\n const enableVslideGesture = this.isFullScreen ? this.vslideGestureInFullscreen : this.vslideGesture\n\n if (this.gestureType === 'none') {\n // 两点间距离\n const dist = calcDist(distX, distY)\n\n // 没有移动\n if (dist < 10) return obj\n\n if (Math.abs(distY) >= Math.abs(distX)) {\n // 垂直方向移动:调整音量\n if (enableVslideGesture) {\n this.gestureType = 'adjustVolume'\n this.lastVolume = this.videoRef.volume\n } else {\n return obj\n }\n } else if (Math.abs(distY) < Math.abs(distX)) {\n // 水平方向移动:调整进度\n if (this.enableProgressGesture) {\n this.gestureType = 'adjustProgress'\n this.lastPercentage = this.currentTime / (this.duration ?? this._duration)\n } else {\n return obj\n }\n }\n }\n obj.type = this.gestureType\n obj.dataX = normalizeNumber(distX / 200)\n obj.dataY = normalizeNumber(distY / 200)\n return obj\n }\n\n @Listen('touchmove', {\n target: 'document'\n })\n async onDocumentTouchMove (e: TouchEvent) {\n if (this.lastTouchScreenX === undefined || this.lastTouchScreenY === undefined) return\n if (await this.controlsRef.getIsDraggingProgressBall()) return\n\n const gestureObj = this.analyzeGesture(e)\n if (gestureObj.type === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'visible'\n const nextVolume = Math.max(Math.min(this.lastVolume - gestureObj.dataY!, 1), 0)\n this.videoRef.volume = nextVolume\n this.toastVolumeBarRef.style.width = `${nextVolume * 100}%`\n } else if (gestureObj.type === 'adjustProgress') {\n this.isDraggingProgress = true\n this.nextPercentage = Math.max(Math.min(this.lastPercentage + (gestureObj.dataX || 0), 1), 0)\n if (this.controls && this.showProgress) {\n this.controlsRef.setProgressBall(this.nextPercentage)\n this.controlsRef.toggleVisibility(true)\n }\n const duration = this.duration || this._duration\n this.toastProgressTitleRef.innerHTML = `${formatTime(this.nextPercentage * duration)} / ${formatTime(duration)}`\n this.toastProgressRef.style.visibility = 'visible'\n }\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (this.gestureType === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'hidden'\n } else if (this.gestureType === 'adjustProgress') {\n this.toastProgressRef.style.visibility = 'hidden'\n }\n\n if (this.isDraggingProgress) {\n this.isDraggingProgress = false\n this.seek(this.nextPercentage * (this.duration ?? this._duration))\n }\n\n this.gestureType = 'none'\n this.lastTouchScreenX = undefined\n this.lastTouchScreenY = undefined\n }\n\n loadNativePlayer = () => {\n if (this.videoRef) {\n this.videoRef.src = this.src\n this.videoRef.load?.()\n }\n }\n\n init = () => {\n const { src, videoRef } = this\n\n\n if (isHls(src)) {\n import('hls.js').then(e => {\n const Hls = e.default\n this.HLS = Hls\n if (Hls.isSupported()) {\n if (this.hls) {\n this.hls.destroy()\n }\n this.hls = new Hls()\n this.hls.loadSource(src)\n this.hls.attachMedia(videoRef)\n this.hls.on(Hls.Events.MANIFEST_PARSED, () => {\n this.autoplay && this.play()\n })\n this.hls.on(Hls.Events.ERROR, (_, data) => {\n this.handleError(data)\n })\n } else if (videoRef.canPlayType('application/vnd.apple.mpegurl')) {\n this.loadNativePlayer()\n } else {\n console.error('该浏览器不支持 HLS 播放')\n }\n })\n } else {\n this.loadNativePlayer()\n }\n }\n\n handlePlay = () => {\n this.isPlaying = true\n this.isFirst = false\n this.controlsRef.toggleVisibility(true)\n this.onPlay.emit()\n }\n\n handlePause = () => {\n this.isPlaying = false\n this.controlsRef.toggleVisibility(true)\n this.onPause.emit()\n }\n\n handleEnded = () => {\n this.isFirst = true\n this.pause()\n this.controlsRef.toggleVisibility()\n this.onEnded.emit()\n }\n\n handleTimeUpdate = throttle(async e => {\n this.currentTime = this.videoRef.currentTime\n const duration = this.duration || this._duration\n\n const isControlDragging = await this.controlsRef.getIsDraggingProgressBall()\n if (this.controls && this.showProgress) {\n if (!isControlDragging && !this.isDraggingProgress) {\n this.controlsRef.setProgressBall(this.currentTime / duration)\n this.controlsRef.setCurrentTime(this.currentTime)\n }\n }\n\n this.danmuRef.tick(this.currentTime)\n\n this.onTimeUpdate.emit({\n duration: e.target?.duration,\n currentTime: e.target?.currentTime\n })\n\n if (this.duration) {\n if (this.currentTime >= this.duration) {\n this.seek(0)\n this.handleEnded()\n }\n }\n }, 250)\n\n handleError = e => {\n if (this.hls) {\n switch (e.type) {\n case this.HLS.ErrorTypes.NETWORK_ERROR:\n // try to recover network error\n this.onError.emit({ errMsg: e.response })\n this.hls.startLoad()\n break\n case this.HLS.ErrorTypes.MEDIA_ERROR:\n this.onError.emit({ errMsg: e.reason || '媒体错误,请重试' })\n this.hls.recoverMediaError()\n break\n default:\n break\n }\n } else {\n this.onError.emit({\n errMsg: e.target?.error?.message,\n })\n }\n }\n\n handleDurationChange = () => {\n this._duration = this.videoRef.duration\n }\n\n handleProgress = () => {\n this.onProgress.emit()\n }\n\n handleLoadedMetaData = (e: Event) => {\n const target = e.target as HTMLVideoElement\n this.onLoadedMetaData.emit({\n width: target.videoWidth,\n height: target.videoHeight,\n duration: target.duration\n })\n }\n\n /** 播放视频 */\n @Method()\n async play () {\n this._play()\n }\n\n _play = () => this.videoRef.play()\n\n /** 暂停视频 */\n @Method()\n async pause () {\n this._pause()\n }\n\n _pause = () => this.videoRef.pause()\n\n /** 停止视频 */\n @Method()\n async stop () {\n this._stop()\n }\n\n _stop = () => {\n this.videoRef.pause()\n this._seek(0)\n }\n\n /** 跳转到指定位置 */\n @Method()\n async seek (position: number) {\n this._seek(position)\n }\n\n _seek = (position: number) => {\n this.videoRef.currentTime = position\n }\n\n /** 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */\n @Method()\n async requestFullScreen () {\n this.toggleFullScreen(true)\n }\n\n /** 退出全屏 */\n @Method()\n async exitFullScreen () {\n this.toggleFullScreen(false)\n }\n\n onTouchStartContainer = (e: TouchEvent) => {\n this.lastTouchScreenX = e.touches[0].screenX\n this.lastTouchScreenY = e.touches[0].screenY\n }\n\n onClickContainer = () => {\n if (this.enablePlayGesture) {\n const now = Date.now()\n if (now - this.lastClickedTime < 300) {\n // 双击\n this.isPlaying ? this.pause() : this.play()\n }\n this.lastClickedTime = now\n }\n this.controlsRef.toggleVisibility()\n }\n\n onClickFullScreenBtn = (e: MouseEvent) => {\n e.stopPropagation()\n this.toggleFullScreen()\n }\n\n handleFullScreenChange = e => {\n // 全屏后,\"退出\"走的是浏览器事件,在此同步状态\n const timestamp = new Date().getTime()\n if (!e.detail && this.isFullScreen && !document[screenFn.fullscreenElement] && timestamp - this.fullScreenTimestamp > 100) {\n this.toggleFullScreen(false)\n }\n }\n\n toggleFullScreen = (isFullScreen = !this.isFullScreen) => {\n this.isFullScreen = isFullScreen // this.videoRef?.['webkitDisplayingFullscreen']\n this.controlsRef.toggleVisibility(true)\n this.fullScreenTimestamp = new Date().getTime()\n this.onFullScreenChange.emit({\n fullScreen: this.isFullScreen,\n direction: 'vertical'\n })\n if (this.isFullScreen && !document[screenFn.fullscreenElement]) {\n setTimeout(() => {\n this.videoRef[screenFn.requestFullscreen]({ navigationUI: 'auto' })\n }, 0)\n }\n }\n\n toggleMute = (e: MouseEvent) => {\n e.stopPropagation()\n this.videoRef.muted = !this.isMute\n this.controlsRef.toggleVisibility(true)\n this.isMute = !this.isMute\n }\n\n toggleDanmu = (e: MouseEvent) => {\n e.stopPropagation()\n this.controlsRef.toggleVisibility(true)\n this._enableDanmu = !this._enableDanmu\n }\n\n render () {\n const {\n controls,\n autoplay,\n loop,\n muted,\n poster,\n objectFit,\n isFirst,\n isMute,\n isFullScreen,\n showCenterPlayBtn,\n isPlaying,\n _enableDanmu,\n showMuteBtn,\n danmuBtn,\n showFullscreenBtn,\n nativeProps\n } = this\n const duration = this.duration || this._duration\n const durationTime = formatTime(duration)\n\n return (\n <Host\n class={classNames('taro-video-container', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onTouchStart={this.onTouchStartContainer}\n onClick={this.onClickContainer}\n >\n <video\n class='taro-video-video'\n style={{\n 'object-fit': objectFit\n }}\n ref={dom => {\n if (dom) {\n this.videoRef = dom as HTMLVideoElement\n }\n }}\n autoplay={autoplay}\n loop={loop}\n muted={muted}\n poster={controls ? poster : undefined}\n playsinline\n webkit-playsinline\n onPlay={this.handlePlay}\n onPause={this.handlePause}\n onEnded={this.handleEnded}\n onTimeUpdate={this.handleTimeUpdate}\n onError={this.handleError}\n onDurationChange={this.handleDurationChange}\n onProgress={this.handleProgress}\n onLoadedMetaData={this.handleLoadedMetaData}\n {...nativeProps}\n >\n 暂时不支持播放该视频\n </video>\n\n <taro-video-danmu\n ref={dom => {\n if (dom) {\n this.danmuRef = dom as HTMLTaroVideoDanmuElement\n }\n }}\n enable={_enableDanmu}\n />\n\n {isFirst && showCenterPlayBtn && !isPlaying && (\n <div class='taro-video-cover'>\n <div class='taro-video-cover-play-button' onClick={() => this.play()} />\n <p class='taro-video-cover-duration'>{durationTime}</p>\n </div>\n )}\n\n <taro-video-control\n ref={dom => {\n if (dom) {\n this.controlsRef = dom\n }\n }}\n controls={controls}\n currentTime={this.currentTime}\n duration={duration}\n isPlaying={this.isPlaying}\n pauseFunc={this._pause}\n playFunc={this._play}\n seekFunc={this._seek}\n showPlayBtn={this.showPlayBtn}\n showProgress={this.showProgress}\n >\n {showMuteBtn && (\n <div\n class={classNames('taro-video-mute', {\n 'taro-video-type-mute': isMute\n })}\n onClick={this.toggleMute}\n />\n )}\n {danmuBtn && (\n <div\n class={classNames('taro-video-danmu-button', {\n 'taro-video-danmu-button-active': _enableDanmu\n })}\n onClick={this.toggleDanmu}>\n 弹幕\n </div>\n )}\n {showFullscreenBtn && (\n <div\n class={classNames('taro-video-fullscreen', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onClick={this.onClickFullScreenBtn}\n />\n )}\n </taro-video-control>\n\n <div class='taro-video-toast taro-video-toast-volume' ref={dom => {\n if (dom) {\n this.toastVolumeRef = dom\n }\n }}>\n <div class='taro-video-toast-title'>音量</div>\n <div class='taro-video-toast-icon' />\n <div class='taro-video-toast-value'>\n <div class='taro-video-toast-value-content' ref={dom => {\n if (dom) {\n this.toastVolumeBarRef = dom\n }\n }}>\n <div class='taro-video-toast-volume-grids'>\n {Array(10).fill(1).map(() => (\n <div class='taro-video-toast-volume-grids-item' />\n ))}\n </div>\n </div>\n </div>\n </div>\n\n <div class='taro-video-toast taro-video-toast-progress' ref={dom => {\n if (dom) {\n this.toastProgressRef = dom\n }\n }}>\n <div class='taro-video-toast-title' ref={dom => {\n if (dom) {\n this.toastProgressTitleRef = dom\n }\n }} />\n </div>\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Prop, State, Host, Method } from '@stencil/core'\n\nexport interface Danmu {\n text: string\n color: string\n time: number,\n key: number,\n bottom: string\n}\n\n@Component({\n tag: 'taro-video-danmu'\n})\nexport class VideoDanmu implements ComponentInterface {\n private list: Danmu[] = []\n private danmuElList: HTMLParagraphElement[] = []\n private currentTime = 0\n\n @Prop() enable = false\n\n @State() danmuList: Danmu[] = []\n\n ensureProperties (danmu: Partial<Danmu>): Danmu {\n const clonedDanmu = { ...danmu } as Danmu\n if (!('time' in danmu)) {\n clonedDanmu.time = this.currentTime\n }\n clonedDanmu.key = Math.random()\n clonedDanmu.bottom = `${Math.random() * 90 + 5}%`\n return clonedDanmu\n }\n\n @Method()\n async sendDanmu (danmuList: Partial<Danmu> | Partial<Danmu>[] = []) {\n if (Array.isArray(danmuList)) {\n this.list = [\n ...this.list,\n ...danmuList.map(danmu => this.ensureProperties(danmu))\n ]\n } else {\n const danmu = danmuList\n this.list = [\n ...this.list,\n { ...this.ensureProperties(danmu) }\n ]\n }\n }\n\n @Method()\n async tick (currentTime: number) {\n this.currentTime = currentTime\n\n if (!this.enable) return\n\n const danmuList = this.list\n\n /**\n * @todo 这个判断对拖拽进度的处理不严谨\n */\n const newDanmuList = danmuList.filter(({ time }) => {\n return currentTime - time < 4 && currentTime > time\n })\n let shouldUpdate = false\n const oldDanmuList = this.danmuList\n\n if (newDanmuList.length !== oldDanmuList.length) {\n shouldUpdate = true\n } else {\n shouldUpdate = newDanmuList.some(({ key }) => {\n return oldDanmuList.every((danmu) => {\n return key !== danmu.key\n })\n })\n }\n if (shouldUpdate) {\n this.danmuList = newDanmuList\n }\n }\n\n componentDidUpdate () {\n requestAnimationFrame(() => {\n setTimeout(() => {\n const danmuElList = this.danmuElList.splice(0)\n danmuElList.forEach(danmu => {\n danmu.style.left = '0'\n danmu.style.webkitTransform = 'translateX(-100%)'\n danmu.style.transform = 'translateX(-100%)'\n })\n })\n })\n }\n\n render () {\n if (!this.enable) return ''\n\n return (\n <Host class='taro-video-danmu'>\n {this.danmuList.map(({ text, color, bottom, key }) => (\n <p\n class='taro-video-danmu-item'\n key={key}\n style={{\n color,\n bottom\n }}\n ref={ref => {\n if (ref) {\n this.danmuElList.push(ref)\n }\n }}\n >\n {text}\n </p>\n ))}\n </Host>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"names":["formatTime","time","sec","Math","round","min","concat","calcDist","x","y","sqrt","pow","normalizeNumber","number","max","scene","screenFn","val","fnMap","defaultIOSMap","i","l","length","ret","document","isHls","url","test","VideoControl","this","visible","isDraggingProgressBall","percentage","progressDimensions","left","width","calcPercentage","pageX","pos","_this","onDragProgressBallStart","hideControlsTimer","clearTimeout","onClickProgress","e","stopPropagation","seekFunc","duration","toggleVisibility","class_1","prototype","onDocumentTouchMove","touchX","touches","setProgressBall","setCurrentTime","onDocumentTouchEnd","progressBallRef","style","nextVisible","undefined","isPlaying","setTimeout","el","visibility","getIsDraggingProgressBall","currentTimeRef","innerHTML","render","_c","controls","currentTime","pauseFunc","playFunc","showPlayBtn","showProgress","formattedDuration","playBtn","h","class","onClick","Host","ref","dom","rect","getBoundingClientRect","onTouchStart","indexCss","Video","isDraggingProgress","gestureType","analyzeGesture","obj","type","nowX","screenX","nowY","screenY","distX","lastTouchScreenX","distY","lastTouchScreenY","enableVslideGesture","isFullScreen","vslideGestureInFullscreen","vslideGesture","dist","abs","lastVolume","videoRef","volume","enableProgressGesture","lastPercentage","_a","_duration","dataX","dataY","loadNativePlayer","src","_b","load","call","init","import","then","n","Hls","default","HLS","isSupported","hls","destroy","loadSource","attachMedia","on","Events","MANIFEST_PARSED","autoplay","play","ERROR","_","data","handleError","canPlayType","console","error","handlePlay","isFirst","controlsRef","onPlay","emit","handlePause","onPause","handleEnded","pause","onEnded","handleTimeUpdate","throttle","__awaiter","isControlDragging","sent","danmuRef","tick","onTimeUpdate","target","seek","ErrorTypes","NETWORK_ERROR","onError","errMsg","response","startLoad","MEDIA_ERROR","reason","recoverMediaError","message","handleDurationChange","handleProgress","onProgress","handleLoadedMetaData","onLoadedMetaData","videoWidth","height","videoHeight","_play","_pause","_stop","_seek","position","onTouchStartContainer","onClickContainer","enablePlayGesture","now","Date","lastClickedTime","onClickFullScreenBtn","toggleFullScreen","handleFullScreenChange","timestamp","getTime","detail","fullscreenElement","fullScreenTimestamp","onFullScreenChange","fullScreen","direction","requestFullscreen","navigationUI","toggleMute","muted","isMute","toggleDanmu","_enableDanmu","class_2","componentWillLoad","enableDanmu","componentDidLoad","initialTime","sendDanmu","danmuList","addEventListener","fullscreenchange","componentDidRender","disconnectedCallback","removeEventListener","watchEnableDanmu","newVal","watchSrc","gestureObj","toastVolumeRef","nextVolume","toastVolumeBarRef","nextPercentage","toastProgressTitleRef","toastProgressRef","getHlsObject","stop","requestFullScreen","exitFullScreen","loop","poster","objectFit","showCenterPlayBtn","showMuteBtn","danmuBtn","showFullscreenBtn","nativeProps","durationTime","classNames","Object","assign","playsinline","onDurationChange","enable","Array","fill","map","VideoDanmu","list","danmuElList","class_3","ensureProperties","danmu","clonedDanmu","key","random","bottom","isArray","__spreadArray","newDanmuList","filter","shouldUpdate","oldDanmuList","some","every","componentDidUpdate","requestAnimationFrame","splice","forEach","webkitTransform","transform","text","color","push"],"sources":["src/components/video/utils.ts","src/components/video/video-control.tsx","src/components/video/style/index.scss?tag=taro-video-core","src/components/video/video.tsx","src/components/video/video-danmu.tsx"],"sourcesContent":["export const formatTime = (time?: number): string => {\r\n if (!time) return ''\r\n const sec = Math.round(time % 60)\r\n const min = Math.round((time - sec) / 60)\r\n return `${min < 10 ? `0${min}` : min}:${sec < 10 ? `0${sec}` : sec}`\r\n}\r\n\r\nexport const calcDist = (x: number, y: number): number => {\r\n return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))\r\n}\r\n\r\nexport const normalizeNumber = (number: number): number => {\r\n return Math.max(-1, Math.min(number, 1))\r\n}\r\n\r\nexport let scene = 'default'\r\n\r\nexport const screenFn = (function () {\r\n let val\r\n const fnMap = [\r\n [\r\n 'requestFullscreen',\r\n 'exitFullscreen',\r\n 'fullscreenElement',\r\n 'fullscreenEnabled',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ],\r\n // New WebKit\r\n [\r\n 'webkitRequestFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitFullscreenElement',\r\n 'webkitFullscreenEnabled',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n // Old WebKit\r\n [\r\n 'webkitRequestFullScreen',\r\n 'webkitCancelFullScreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitCancelFullScreen',\r\n 'webkitfullscreenchange',\r\n 'webkitfullscreenerror'\r\n ],\r\n [\r\n 'mozRequestFullScreen',\r\n 'mozCancelFullScreen',\r\n 'mozFullScreenElement',\r\n 'mozFullScreenEnabled',\r\n 'mozfullscreenchange',\r\n 'mozfullscreenerror'\r\n ],\r\n [\r\n 'msRequestFullscreen',\r\n 'msExitFullscreen',\r\n 'msFullscreenElement',\r\n 'msFullscreenEnabled',\r\n 'MSFullscreenChange',\r\n 'MSFullscreenError'\r\n ]\r\n ]\r\n var defaultIOSMap = [\r\n 'webkitEnterFullscreen',\r\n 'webkitExitFullscreen',\r\n 'webkitCurrentFullScreenElement',\r\n 'webkitSupportsFullscreen',\r\n 'fullscreenchange',\r\n 'fullscreenerror'\r\n ]\r\n let i = 0\r\n const l = fnMap.length\r\n const ret: Record<string, any> = {}\r\n // This for loop essentially checks the current document object for the property/methods above.\r\n for (; i < l; i++) {\r\n val = fnMap[i]\r\n if (val && val[1] in document) {\r\n for (i = 0; i < val.length; i++) {\r\n ret[fnMap[0][i]] = val[i]\r\n }\r\n return ret\r\n }\r\n }\r\n if (!ret[fnMap[0][0]]) {\r\n scene = 'iOS'\r\n // when there is no any APIs be set.\r\n\r\n // In IOS, there is no 'webkitEnterFullscreen' property `in document` but video can use it for fullscreen.\r\n // ref: https://developer.apple.com/documentation/webkitjs/htmlvideoelement/1633500-webkitenterfullscreen\r\n for (i = 0; i < defaultIOSMap.length; i++) {\r\n ret[fnMap[0][i]] = defaultIOSMap[i]\r\n }\r\n }\r\n // If it doesn't find any of them, this whole function returns {}\r\n // and the fn variable is set to this returned value.\r\n return ret\r\n})()\r\n\r\nexport const isHls = url => /\\.(m3u8)($|\\?)/i.test(url)\r\n","import { Component, h, ComponentInterface, Prop, Host, Element, Listen, Method } from '@stencil/core'\nimport { formatTime } from './utils'\n\n@Component({\n tag: 'taro-video-control'\n})\nexport class VideoControl implements ComponentInterface {\n private currentTimeRef: HTMLDivElement\n private progressBallRef: HTMLDivElement\n private visible = false\n private isDraggingProgressBall = false\n private hideControlsTimer: ReturnType<typeof setTimeout>\n private percentage = 0\n private progressDimensions = {\n left: 0,\n width: 0\n }\n\n @Element() el: HTMLElement\n\n @Prop() controls: boolean\n @Prop() currentTime: number\n @Prop() duration: number\n @Prop() isPlaying: boolean\n @Prop() pauseFunc: () => void\n @Prop() playFunc: () => void\n @Prop() seekFunc: (position: number) => void\n @Prop() showPlayBtn: boolean\n @Prop() showProgress: boolean\n\n @Listen('touchmove', {\n target: 'document'\n })\n onDocumentTouchMove (e: TouchEvent) {\n if (!this.isDraggingProgressBall) return\n const touchX = e.touches[0].pageX\n this.percentage = this.calcPercentage(touchX)\n this.setProgressBall(this.percentage)\n this.setCurrentTime(this.percentage * this.duration)\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (!this.isDraggingProgressBall) return\n\n this.isDraggingProgressBall = false\n this.seekFunc(this.percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n @Method()\n async setProgressBall (percentage: number) {\n if (this.progressBallRef) {\n this.progressBallRef.style.left = `${percentage * 100}%`\n }\n }\n\n @Method()\n async toggleVisibility (nextVisible?: boolean) {\n const visible = nextVisible === undefined ? !this.visible : nextVisible\n if (visible) {\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n if (this.isPlaying) {\n this.hideControlsTimer = setTimeout(() => {\n this.toggleVisibility(false)\n }, 2000)\n }\n this.el.style.visibility = 'visible'\n } else {\n this.el.style.visibility = 'hidden'\n }\n this.visible = !!visible\n }\n\n @Method()\n async getIsDraggingProgressBall () {\n return this.isDraggingProgressBall\n }\n\n @Method()\n async setCurrentTime (time: number) {\n this.currentTimeRef.innerHTML = formatTime(time)\n }\n\n calcPercentage = (pageX: number): number => {\n let pos = pageX - this.progressDimensions.left\n pos = Math.max(pos, 0)\n pos = Math.min(pos, this.progressDimensions.width)\n return pos / this.progressDimensions.width\n }\n\n onDragProgressBallStart = () => {\n this.isDraggingProgressBall = true\n this.hideControlsTimer && clearTimeout(this.hideControlsTimer)\n }\n\n onClickProgress = (e: MouseEvent) => {\n e.stopPropagation()\n\n const percentage = this.calcPercentage(e.pageX)\n this.seekFunc(percentage * this.duration)\n this.toggleVisibility(true)\n }\n\n render () {\n const {\n controls,\n currentTime,\n duration,\n isPlaying,\n pauseFunc,\n playFunc,\n showPlayBtn,\n showProgress\n } = this\n\n const formattedDuration = formatTime(duration)\n let playBtn\n\n if (!showPlayBtn) {\n playBtn = null\n } else if (isPlaying) {\n playBtn = <div class='taro-video-control-button taro-video-control-button-pause' onClick={pauseFunc} />\n } else {\n playBtn = <div class='taro-video-control-button taro-video-control-button-play' onClick={playFunc} />\n }\n\n return (\n <Host class='taro-video-bar taro-video-bar-full'>\n {controls && (\n <div class='taro-video-controls'>\n {playBtn}\n {showProgress && (\n <div class='taro-video-current-time' ref={dom => (this.currentTimeRef = dom as HTMLDivElement)}>\n {formatTime(currentTime)}\n </div>\n )}\n {showProgress && (\n <div class='taro-video-progress-container' onClick={this.onClickProgress}>\n <div\n class='taro-video-progress'\n ref={ref => {\n if (!ref) return\n const rect = ref.getBoundingClientRect()\n this.progressDimensions.left = rect.left\n this.progressDimensions.width = rect.width\n }}>\n <div class='taro-video-progress-buffered' style={{ width: '100%' }} />\n <div\n class='taro-video-ball'\n ref={dom => (this.progressBallRef = dom as HTMLDivElement)}\n onTouchStart={this.onDragProgressBallStart}\n style={{\n left: `${formattedDuration ? (this.currentTime / duration) * 100 : 0}%`\n }}\n >\n <div class='taro-video-inner' />\n </div>\n </div>\n </div>\n )}\n {showProgress && <div class='taro-video-duration'>{formattedDuration}</div>}\n </div>\n )}\n <slot />\n </Host>\n )\n }\n}\n","@charset \"UTF-8\";\n\n.taro-video {\n display: inline-block;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 225px;\n line-height: 0;\n}\n\n.taro-video[hidden] {\n display: none;\n}\n\n.taro-video-container {\n display: inline-block;\n\n // NOTE: video 元素父节点设置该属性会导致 iOS 元素层级问题 https://stackoverflow.com/questions/49653475/video-and-z-index-inside-scaled-element-some-divs-disappear\n // overflow: hidden;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n object-position: inherit;\n}\n\n.taro-video-container.taro-video-type-fullscreen {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 999;\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left {\n transform: translate(-50%, -50%) rotate(-90deg);\n}\n\n.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right {\n transform: translate(-50%, -50%) rotate(90deg);\n}\n\n.taro-video-video {\n width: 100%;\n height: 100%;\n object-position: inherit;\n}\n\n.taro-video-cover {\n display: flex;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n z-index: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n background-color: rgb(1 1 1 / 50%);\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-box-pack: center;\n -webkit-box-align: center;\n}\n\n.taro-video-cover-play-button {\n width: 40px;\n height: 40px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-cover-duration {\n margin-top: 10px;\n line-height: 1;\n font-size: 16px;\n color: #fff;\n}\n\n.taro-video-bar {\n display: flex;\n visibility: hidden;\n overflow: hidden;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 1;\n align-items: center;\n padding: 0 10px;\n height: 44px;\n background-color: rgb(0 0 0 / 50%);\n -webkit-box-align: center;\n}\n\n.taro-video-bar.taro-video-bar-full {\n left: 0;\n}\n\n.taro-video-controls {\n display: flex;\n -webkit-box-flex: 1;\n flex-grow: 1;\n margin: 0 8.5px;\n}\n\n.taro-video-control-button {\n box-sizing: content-box;\n margin-left: -8.5px;\n padding: 14.5px 12.5px;\n width: 13px;\n height: 15px;\n}\n\n.taro-video-control-button::after {\n display: block;\n width: 100%;\n height: 100%;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 100%;\n content: \"\";\n}\n\n.taro-video-control-button.taro-video-control-button-play::after,\n.taro-video-cover-play-button {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-control-button.taro-video-control-button-pause::after {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC\");\n}\n\n.taro-video-current-time,\n.taro-video-duration {\n margin-top: 15px;\n margin-bottom: 14.5px;\n height: 14.5px;\n line-height: 14.5px;\n font-size: 12px;\n color: #cbcbcb;\n}\n\n.taro-video-progress-container {\n position: relative;\n flex-grow: 2;\n -webkit-box-flex: 2;\n}\n\n.taro-video-progress {\n position: relative;\n margin: 21px 12px;\n height: 2px;\n background-color: hsl(0deg 0% 100% / 40%);\n}\n\n.taro-video-progress-buffered {\n position: absolute;\n left: 0;\n top: 0;\n width: 0;\n height: 100%;\n background-color: hsl(0deg 0% 100% / 80%);\n transition: width 0.1s;\n}\n\n.taro-video-ball {\n position: absolute;\n left: 0;\n top: -21px;\n box-sizing: content-box;\n margin-left: -22px;\n padding: 14px;\n width: 16px;\n height: 16px;\n}\n\n.taro-video-inner {\n border-radius: 50%;\n width: 100%;\n height: 100%;\n background-color: #fff;\n}\n\n.taro-video-danmu-button {\n margin: 0 8.5px;\n padding: 2px 10px;\n border: 1px solid #fff;\n border-radius: 5px;\n line-height: 1;\n font-size: 13px;\n color: #fff;\n white-space: nowrap;\n}\n\n.taro-video-danmu-button.taro-video-danmu-button-active {\n border-color: #48c23d;\n color: #48c23d;\n}\n\n.taro-video-fullscreen,\n.taro-video-mute {\n box-sizing: content-box;\n padding: 8.5px;\n width: 17px;\n height: 17px;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n}\n\n.taro-video-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-fullscreen.taro-video-type-fullscreen {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=\");\n}\n\n.taro-video-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==\");\n}\n\n.taro-video-mute.taro-video-type-mute {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC\");\n}\n\n.taro-video-danmu {\n overflow: visible;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n margin-top: 14px;\n margin-bottom: 44px;\n width: 100%;\n line-height: 14px;\n font-size: 14px;\n}\n\n.taro-video-danmu-item {\n position: absolute;\n left: 100%;\n line-height: 1;\n color: #fff;\n white-space: nowrap;\n transform: translateX(0);\n transition-property: left, transform;\n transition-duration: 3s;\n transition-timing-function: linear;\n}\n\n.taro-video-toast {\n display: block;\n visibility: hidden;\n position: absolute;\n left: 50%;\n top: 50%;\n border-radius: 5px;\n background-color: hsl(0deg 0% 100% / 80%);\n pointer-events: none;\n color: #000;\n transform: translate(-50%, -50%);\n}\n\n.taro-video-toast.taro-video-toast-volume {\n display: block;\n width: 100px;\n height: 100px;\n}\n\n.taro-video-toast-volume .taro-video-toast-title {\n display: block;\n margin-top: 10px;\n width: 100%;\n line-height: 16px;\n text-align: center;\n font-size: 12px;\n}\n\n.taro-video-toast-volume .taro-video-toast-icon {\n display: block;\n margin-left: 25%;\n width: 50%;\n height: 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==\");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: 50%;\n fill: #000;\n}\n\n.taro-video-toast-volume .taro-video-toast-value {\n margin-left: 10px;\n margin-top: 5px;\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume .taro-video-toast-value > .taro-video-toast-value-content {\n overflow: hidden;\n}\n\n.taro-video-toast-volume-grids {\n width: 80px;\n height: 5px;\n}\n\n.taro-video-toast-volume-grids-item {\n float: left;\n width: 7.1px;\n height: 5px;\n background-color: #000;\n}\n\n.taro-video-toast-volume-grids-item:not(:first-child) {\n margin-left: 1px;\n}\n\n.taro-video-toast.taro-video-toast-progress {\n padding: 6px;\n background-color: rgb(0 0 0 / 80%);\n line-height: 18px;\n font-size: 14px;\n color: #fff;\n}\n","import { Component, h, ComponentInterface, Prop, State, Event, EventEmitter, Host, Watch, Listen, Element, Method } from '@stencil/core'\nimport classNames from 'classnames'\n\nimport { throttle } from '../../utils'\nimport {\n formatTime,\n calcDist,\n normalizeNumber,\n screenFn,\n isHls,\n scene\n} from './utils'\n\nimport type HLS from 'hls.js'\n\n@Component({\n tag: 'taro-video-core',\n styleUrl: './style/index.scss'\n})\nexport class Video implements ComponentInterface {\n private videoRef: HTMLVideoElement\n private controlsRef: HTMLTaroVideoControlElement\n private danmuRef: HTMLTaroVideoDanmuElement\n private toastProgressRef: HTMLDivElement\n private toastProgressTitleRef: HTMLDivElement\n private toastVolumeRef: HTMLDivElement\n private toastVolumeBarRef: HTMLDivElement\n private currentTime = 0\n private lastClickedTime: number\n private lastTouchScreenX: number | undefined\n private lastTouchScreenY: number | undefined\n private isDraggingProgress = false\n private lastVolume: number\n private lastPercentage: number\n private nextPercentage: number\n private gestureType = 'none'\n private HLS: typeof HLS\n private hls: HLS\n\n @Element() el: HTMLTaroVideoCoreElement\n\n /**\n * 要播放视频的资源地址\n */\n @Prop() src: string\n\n /**\n * 指定视频时长\n */\n @Prop() duration: number\n\n /**\n * 是否显示默认播放控件(播放/暂停按钮、播放进度、时间)\n */\n @Prop() controls = true\n\n /**\n * 是否自动播放\n */\n @Prop() autoplay = false\n\n /**\n * 是否循环播放\n */\n @Prop() loop = false\n\n /**\n * 是否静音播放\n */\n @Prop() muted = false\n\n /**\n * 指定视频初始播放位置\n */\n @Prop() initialTime = 0\n\n /**\n * 视频封面的图片网络资源地址或云文件ID(2.3.0)。若 controls 属性值为 false 则设置 poster 无效\n */\n @Prop() poster: string\n\n /**\n * 当视频大小与 video 容器大小不一致时,视频的表现形式\n */\n @Prop() objectFit: 'contain' | 'fill' | 'cover' = 'contain'\n\n /**\n * 若不设置,宽度大于 240 时才会显示\n */\n @Prop() showProgress = true\n\n /**\n * 是否显示全屏按钮\n */\n @Prop() showFullscreenBtn = true\n\n /**\n * 是否显示视频底部控制栏的播放按钮\n */\n @Prop() showPlayBtn = true\n\n /**\n * 是否显示视频中间的播放按钮\n */\n @Prop() showCenterPlayBtn = true\n\n /**\n * 是否显示静音按钮\n */\n @Prop() showMuteBtn = false\n\n /**\n * 弹幕列表\n */\n @Prop() danmuList: []\n\n /**\n * 是否显示弹幕按钮\n */\n @Prop() danmuBtn = false\n\n /**\n * 是否展示弹幕\n */\n @Prop() enableDanmu = false\n\n /**\n * 是否开启播放手势,即双击切换播放/暂停\n */\n @Prop() enablePlayGesture = false\n\n /**\n * 是否开启控制进度的手势\n */\n @Prop() enableProgressGesture = true\n\n /**\n * 在非全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGesture = false\n\n /**\n * 在全屏模式下,是否开启亮度与音量调节手势\n */\n @Prop() vslideGestureInFullscreen = true\n\n @Prop() nativeProps = {}\n\n @State() _duration: number\n @State() _enableDanmu = false\n @State() isPlaying = false\n @State() isFirst = true\n @State() isFullScreen = false\n @State() fullScreenTimestamp = new Date().getTime()\n @State() isMute = false\n\n @Event({\n eventName: 'play'\n }) onPlay: EventEmitter\n\n @Event({\n eventName: 'pause'\n }) onPause: EventEmitter\n\n @Event({\n eventName: 'ended'\n }) onEnded: EventEmitter\n\n @Event({\n eventName: 'timeupdate'\n }) onTimeUpdate: EventEmitter\n\n @Event({\n eventName: 'error'\n }) onError: EventEmitter\n\n @Event({\n eventName: 'fullscreenchange'\n }) onFullScreenChange: EventEmitter\n\n @Event({\n eventName: 'progress'\n }) onProgress: EventEmitter\n\n @Event({\n eventName: 'loadedmetadata'\n }) onLoadedMetaData: EventEmitter\n\n componentWillLoad () {\n this._enableDanmu = this.enableDanmu\n }\n\n componentDidLoad () {\n this.init()\n if (this.initialTime) {\n this.videoRef.currentTime = this.initialTime\n }\n // 目前只支持 danmuList 初始化弹幕列表,还未支持更新弹幕列表\n this.danmuRef.sendDanmu?.(this.danmuList)\n\n if (document.addEventListener) {\n document.addEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n // NOTE: iOS 场景下 fullscreenchange 并不会在退出全屏状态下触发,仅 webkitpresentationmodechanged 与 webkitendfullscreen 可替代\n this.videoRef.addEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n componentDidRender () {\n }\n\n disconnectedCallback () {\n if (document.removeEventListener) {\n document.removeEventListener(screenFn.fullscreenchange, this.handleFullScreenChange)\n }\n if (this.videoRef && scene === 'iOS') {\n this.videoRef.removeEventListener('webkitendfullscreen', this.handleFullScreenChange)\n }\n }\n\n @Watch('enableDanmu')\n watchEnableDanmu (newVal) {\n this._enableDanmu = newVal\n }\n\n @Watch('src')\n watchSrc () {\n this.init()\n }\n\n analyzeGesture = (e: TouchEvent) => {\n const obj: {\n type: string\n dataX?: number\n dataY?: number\n } = {\n type: 'none'\n }\n const nowX = e.touches[0].screenX\n const nowY = e.touches[0].screenY\n const distX = nowX - (this.lastTouchScreenX as number)\n const distY = nowY - (this.lastTouchScreenY as number)\n const enableVslideGesture = this.isFullScreen ? this.vslideGestureInFullscreen : this.vslideGesture\n\n if (this.gestureType === 'none') {\n // 两点间距离\n const dist = calcDist(distX, distY)\n\n // 没有移动\n if (dist < 10) return obj\n\n if (Math.abs(distY) >= Math.abs(distX)) {\n // 垂直方向移动:调整音量\n if (enableVslideGesture) {\n this.gestureType = 'adjustVolume'\n this.lastVolume = this.videoRef.volume\n } else {\n return obj\n }\n } else if (Math.abs(distY) < Math.abs(distX)) {\n // 水平方向移动:调整进度\n if (this.enableProgressGesture) {\n this.gestureType = 'adjustProgress'\n this.lastPercentage = this.currentTime / (this.duration ?? this._duration)\n } else {\n return obj\n }\n }\n }\n obj.type = this.gestureType\n obj.dataX = normalizeNumber(distX / 200)\n obj.dataY = normalizeNumber(distY / 200)\n return obj\n }\n\n @Listen('touchmove', {\n target: 'document'\n })\n async onDocumentTouchMove (e: TouchEvent) {\n if (this.lastTouchScreenX === undefined || this.lastTouchScreenY === undefined) return\n if (await this.controlsRef.getIsDraggingProgressBall()) return\n\n const gestureObj = this.analyzeGesture(e)\n if (gestureObj.type === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'visible'\n const nextVolume = Math.max(Math.min(this.lastVolume - gestureObj.dataY!, 1), 0)\n this.videoRef.volume = nextVolume\n this.toastVolumeBarRef.style.width = `${nextVolume * 100}%`\n } else if (gestureObj.type === 'adjustProgress') {\n this.isDraggingProgress = true\n this.nextPercentage = Math.max(Math.min(this.lastPercentage + (gestureObj.dataX || 0), 1), 0)\n if (this.controls && this.showProgress) {\n this.controlsRef.setProgressBall(this.nextPercentage)\n this.controlsRef.toggleVisibility(true)\n }\n const duration = this.duration || this._duration\n this.toastProgressTitleRef.innerHTML = `${formatTime(this.nextPercentage * duration)} / ${formatTime(duration)}`\n this.toastProgressRef.style.visibility = 'visible'\n }\n }\n\n @Listen('touchend', {\n target: 'document'\n })\n @Listen('touchcancel', {\n target: 'document'\n })\n onDocumentTouchEnd () {\n if (this.gestureType === 'adjustVolume') {\n this.toastVolumeRef.style.visibility = 'hidden'\n } else if (this.gestureType === 'adjustProgress') {\n this.toastProgressRef.style.visibility = 'hidden'\n }\n\n if (this.isDraggingProgress) {\n this.isDraggingProgress = false\n this.seek(this.nextPercentage * (this.duration ?? this._duration))\n }\n\n this.gestureType = 'none'\n this.lastTouchScreenX = undefined\n this.lastTouchScreenY = undefined\n }\n\n loadNativePlayer = () => {\n if (this.videoRef) {\n this.videoRef.src = this.src\n this.videoRef.load?.()\n }\n }\n\n init = () => {\n const { src, videoRef } = this\n\n if (isHls(src)) {\n import('hls.js').then(e => {\n const Hls = e.default\n this.HLS = Hls\n if (Hls.isSupported()) {\n if (this.hls) {\n this.hls.destroy()\n }\n this.hls = new Hls()\n this.hls.loadSource(src)\n this.hls.attachMedia(videoRef)\n this.hls.on(Hls.Events.MANIFEST_PARSED, () => {\n this.autoplay && this.play()\n })\n this.hls.on(Hls.Events.ERROR, (_, data) => {\n this.handleError(data)\n })\n } else if (videoRef.canPlayType('application/vnd.apple.mpegurl')) {\n this.loadNativePlayer()\n } else {\n console.error('该浏览器不支持 HLS 播放')\n }\n })\n } else {\n this.loadNativePlayer()\n }\n }\n\n handlePlay = () => {\n this.isPlaying = true\n this.isFirst = false\n this.controlsRef.toggleVisibility(true)\n this.onPlay.emit()\n }\n\n handlePause = () => {\n this.isPlaying = false\n this.controlsRef.toggleVisibility(true)\n this.onPause.emit()\n }\n\n handleEnded = () => {\n this.isFirst = true\n this.pause()\n this.controlsRef.toggleVisibility()\n this.onEnded.emit()\n }\n\n handleTimeUpdate = throttle(async e => {\n this.currentTime = this.videoRef.currentTime\n const duration = this.duration || this._duration\n\n const isControlDragging = await this.controlsRef.getIsDraggingProgressBall()\n if (this.controls && this.showProgress) {\n if (!isControlDragging && !this.isDraggingProgress) {\n this.controlsRef.setProgressBall(this.currentTime / duration)\n this.controlsRef.setCurrentTime(this.currentTime)\n }\n }\n\n this.danmuRef.tick(this.currentTime)\n\n this.onTimeUpdate.emit({\n duration: e.target?.duration,\n currentTime: e.target?.currentTime\n })\n\n if (this.duration) {\n if (this.currentTime >= this.duration) {\n this.seek(0)\n this.handleEnded()\n }\n }\n }, 250)\n\n handleError = e => {\n if (this.hls) {\n switch (e.type) {\n case this.HLS.ErrorTypes.NETWORK_ERROR:\n // try to recover network error\n this.onError.emit({ errMsg: e.response })\n this.hls.startLoad()\n break\n case this.HLS.ErrorTypes.MEDIA_ERROR:\n this.onError.emit({ errMsg: e.reason || '媒体错误,请重试' })\n this.hls.recoverMediaError()\n break\n default:\n break\n }\n } else {\n this.onError.emit({\n errMsg: e.target?.error?.message,\n })\n }\n }\n\n handleDurationChange = () => {\n this._duration = this.videoRef.duration\n }\n\n handleProgress = () => {\n this.onProgress.emit()\n }\n\n handleLoadedMetaData = (e: Event) => {\n const target = e.target as HTMLVideoElement\n this.onLoadedMetaData.emit({\n width: target.videoWidth,\n height: target.videoHeight,\n duration: target.duration\n })\n }\n\n @Method()\n async getHlsObject() {\n // Note: H5 端专属方法,获取 HLS 实例 fix #11894\n return this.hls\n }\n\n /** 播放视频 */\n @Method()\n async play () {\n this._play()\n }\n\n _play = () => this.videoRef.play()\n\n /** 暂停视频 */\n @Method()\n async pause () {\n this._pause()\n }\n\n _pause = () => this.videoRef.pause()\n\n /** 停止视频 */\n @Method()\n async stop () {\n this._stop()\n }\n\n _stop = () => {\n this.videoRef.pause()\n this._seek(0)\n }\n\n /** 跳转到指定位置 */\n @Method()\n async seek (position: number) {\n this._seek(position)\n }\n\n _seek = (position: number) => {\n this.videoRef.currentTime = position\n }\n\n /** 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */\n @Method()\n async requestFullScreen () {\n this.toggleFullScreen(true)\n }\n\n /** 退出全屏 */\n @Method()\n async exitFullScreen () {\n this.toggleFullScreen(false)\n }\n\n onTouchStartContainer = (e: TouchEvent) => {\n this.lastTouchScreenX = e.touches[0].screenX\n this.lastTouchScreenY = e.touches[0].screenY\n }\n\n onClickContainer = () => {\n if (this.enablePlayGesture) {\n const now = Date.now()\n if (now - this.lastClickedTime < 300) {\n // 双击\n this.isPlaying ? this.pause() : this.play()\n }\n this.lastClickedTime = now\n }\n this.controlsRef.toggleVisibility()\n }\n\n onClickFullScreenBtn = (e: MouseEvent) => {\n e.stopPropagation()\n this.toggleFullScreen()\n }\n\n handleFullScreenChange = e => {\n // 全屏后,\"退出\"走的是浏览器事件,在此同步状态\n const timestamp = new Date().getTime()\n if (!e.detail && this.isFullScreen && !document[screenFn.fullscreenElement] && timestamp - this.fullScreenTimestamp > 100) {\n this.toggleFullScreen(false)\n }\n }\n\n toggleFullScreen = (isFullScreen = !this.isFullScreen) => {\n this.isFullScreen = isFullScreen // this.videoRef?.['webkitDisplayingFullscreen']\n this.controlsRef.toggleVisibility(true)\n this.fullScreenTimestamp = new Date().getTime()\n this.onFullScreenChange.emit({\n fullScreen: this.isFullScreen,\n direction: 'vertical'\n })\n if (this.isFullScreen && !document[screenFn.fullscreenElement]) {\n setTimeout(() => {\n this.videoRef[screenFn.requestFullscreen]({ navigationUI: 'auto' })\n }, 0)\n }\n }\n\n toggleMute = (e: MouseEvent) => {\n e.stopPropagation()\n this.videoRef.muted = !this.isMute\n this.controlsRef.toggleVisibility(true)\n this.isMute = !this.isMute\n }\n\n toggleDanmu = (e: MouseEvent) => {\n e.stopPropagation()\n this.controlsRef.toggleVisibility(true)\n this._enableDanmu = !this._enableDanmu\n }\n\n render () {\n const {\n controls,\n autoplay,\n loop,\n muted,\n poster,\n objectFit,\n isFirst,\n isMute,\n isFullScreen,\n showCenterPlayBtn,\n isPlaying,\n _enableDanmu,\n showMuteBtn,\n danmuBtn,\n showFullscreenBtn,\n nativeProps\n } = this\n const duration = this.duration || this._duration\n const durationTime = formatTime(duration)\n\n return (\n <Host\n class={classNames('taro-video-container', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onTouchStart={this.onTouchStartContainer}\n onClick={this.onClickContainer}\n >\n <video\n class='taro-video-video'\n style={{\n 'object-fit': objectFit\n }}\n ref={dom => {\n if (dom) {\n this.videoRef = dom as HTMLVideoElement\n }\n }}\n autoplay={autoplay}\n loop={loop}\n muted={muted}\n poster={controls ? poster : undefined}\n playsinline\n webkit-playsinline\n onPlay={this.handlePlay}\n onPause={this.handlePause}\n onEnded={this.handleEnded}\n onTimeUpdate={this.handleTimeUpdate}\n onError={this.handleError}\n onDurationChange={this.handleDurationChange}\n onProgress={this.handleProgress}\n onLoadedMetaData={this.handleLoadedMetaData}\n {...nativeProps}\n >\n 暂时不支持播放该视频\n </video>\n\n <taro-video-danmu\n ref={dom => {\n if (dom) {\n this.danmuRef = dom as HTMLTaroVideoDanmuElement\n }\n }}\n enable={_enableDanmu}\n />\n\n {isFirst && showCenterPlayBtn && !isPlaying && (\n <div class='taro-video-cover'>\n <div class='taro-video-cover-play-button' onClick={() => this.play()} />\n <p class='taro-video-cover-duration'>{durationTime}</p>\n </div>\n )}\n\n <taro-video-control\n ref={dom => {\n if (dom) {\n this.controlsRef = dom\n }\n }}\n controls={controls}\n currentTime={this.currentTime}\n duration={duration}\n isPlaying={this.isPlaying}\n pauseFunc={this._pause}\n playFunc={this._play}\n seekFunc={this._seek}\n showPlayBtn={this.showPlayBtn}\n showProgress={this.showProgress}\n >\n {showMuteBtn && (\n <div\n class={classNames('taro-video-mute', {\n 'taro-video-type-mute': isMute\n })}\n onClick={this.toggleMute}\n />\n )}\n {danmuBtn && (\n <div\n class={classNames('taro-video-danmu-button', {\n 'taro-video-danmu-button-active': _enableDanmu\n })}\n onClick={this.toggleDanmu}>\n 弹幕\n </div>\n )}\n {showFullscreenBtn && (\n <div\n class={classNames('taro-video-fullscreen', {\n 'taro-video-type-fullscreen': isFullScreen\n })}\n onClick={this.onClickFullScreenBtn}\n />\n )}\n </taro-video-control>\n\n <div class='taro-video-toast taro-video-toast-volume' ref={dom => {\n if (dom) {\n this.toastVolumeRef = dom\n }\n }}>\n <div class='taro-video-toast-title'>音量</div>\n <div class='taro-video-toast-icon' />\n <div class='taro-video-toast-value'>\n <div class='taro-video-toast-value-content' ref={dom => {\n if (dom) {\n this.toastVolumeBarRef = dom\n }\n }}>\n <div class='taro-video-toast-volume-grids'>\n {Array(10).fill(1).map(() => (\n <div class='taro-video-toast-volume-grids-item' />\n ))}\n </div>\n </div>\n </div>\n </div>\n\n <div class='taro-video-toast taro-video-toast-progress' ref={dom => {\n if (dom) {\n this.toastProgressRef = dom\n }\n }}>\n <div class='taro-video-toast-title' ref={dom => {\n if (dom) {\n this.toastProgressTitleRef = dom\n }\n }} />\n </div>\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Prop, State, Host, Method } from '@stencil/core'\n\nexport interface Danmu {\n text: string\n color: string\n time: number,\n key: number,\n bottom: string\n}\n\n@Component({\n tag: 'taro-video-danmu'\n})\nexport class VideoDanmu implements ComponentInterface {\n private list: Danmu[] = []\n private danmuElList: HTMLParagraphElement[] = []\n private currentTime = 0\n\n @Prop() enable = false\n\n @State() danmuList: Danmu[] = []\n\n ensureProperties (danmu: Partial<Danmu>): Danmu {\n const clonedDanmu = { ...danmu } as Danmu\n if (!('time' in danmu)) {\n clonedDanmu.time = this.currentTime\n }\n clonedDanmu.key = Math.random()\n clonedDanmu.bottom = `${Math.random() * 90 + 5}%`\n return clonedDanmu\n }\n\n @Method()\n async sendDanmu (danmuList: Partial<Danmu> | Partial<Danmu>[] = []) {\n if (Array.isArray(danmuList)) {\n this.list = [\n ...this.list,\n ...danmuList.map(danmu => this.ensureProperties(danmu))\n ]\n } else {\n const danmu = danmuList\n this.list = [\n ...this.list,\n { ...this.ensureProperties(danmu) }\n ]\n }\n }\n\n @Method()\n async tick (currentTime: number) {\n this.currentTime = currentTime\n\n if (!this.enable) return\n\n const danmuList = this.list\n\n /**\n * @todo 这个判断对拖拽进度的处理不严谨\n */\n const newDanmuList = danmuList.filter(({ time }) => {\n return currentTime - time < 4 && currentTime > time\n })\n let shouldUpdate = false\n const oldDanmuList = this.danmuList\n\n if (newDanmuList.length !== oldDanmuList.length) {\n shouldUpdate = true\n } else {\n shouldUpdate = newDanmuList.some(({ key }) => {\n return oldDanmuList.every((danmu) => {\n return key !== danmu.key\n })\n })\n }\n if (shouldUpdate) {\n this.danmuList = newDanmuList\n }\n }\n\n componentDidUpdate () {\n requestAnimationFrame(() => {\n setTimeout(() => {\n const danmuElList = this.danmuElList.splice(0)\n danmuElList.forEach(danmu => {\n danmu.style.left = '0'\n danmu.style.webkitTransform = 'translateX(-100%)'\n danmu.style.transform = 'translateX(-100%)'\n })\n })\n })\n }\n\n render () {\n if (!this.enable) return ''\n\n return (\n <Host class='taro-video-danmu'>\n {this.danmuList.map(({ text, color, bottom, key }) => (\n <p\n class='taro-video-danmu-item'\n key={key}\n style={{\n color,\n bottom\n }}\n ref={ref => {\n if (ref) {\n this.danmuElList.push(ref)\n }\n }}\n >\n {text}\n </p>\n ))}\n </Host>\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-c948674f.js";import{c as classnames}from"./index-1d8e8acd.js";var indexCss="body,html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}taro-view-core{display:block}";var View=function(){function t(t){registerInstance(this,t);this.onLongPress=createEvent(this,"longpress",7);this.startTime=0;this.animation=undefined;this.hoverClass=undefined;this.hoverStartTime=50;this.hoverStayTime=400;this.hover=false;this.touch=false}t.prototype.onTouchStart=function(){var t=this;if(this.hoverClass){this.touch=true;setTimeout((function(){if(t.touch){t.hover=true}}),this.hoverStartTime)}this.timeoutEvent=setTimeout((function(){t.onLongPress.emit()}),350);this.startTime=Date.now()};t.prototype.onTouchMove=function(){clearTimeout(this.timeoutEvent)};t.prototype.onTouchEnd=function(){var t=this;var e=Date.now()-this.startTime;if(e<350){clearTimeout(this.timeoutEvent)}if(this.hoverClass){this.touch=false;setTimeout((function(){if(!t.touch){t.hover=false}}),this.hoverStayTime)}};t.prototype.componentDidRender=function(){var t=this.el;t.childNodes.forEach((function(t){if(t.nodeType===document.COMMENT_NODE&&t["s-cn"])t["s-cn"]=false;if(t.nodeType!==document.COMMENT_NODE&&t["s-sr"])t["s-sr"]=false}))};t.prototype.render=function(){var t;var e=classnames((t={},t["".concat(this.hoverClass)]=this.hover,t));var s={};if(!!this.animation){s["animation"]=this.animation;s["data-animation"]=this.animation}return h(Host,Object.assign({class:e},s),h("slot",null))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();View.style=indexCss;export{View as taro_view_core};
|
|
2
2
|
//# sourceMappingURL=taro-view-core.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["indexCss","View","this","startTime","prototype","onTouchStart","_this","hoverClass","touch","setTimeout","hover","hoverStartTime","timeoutEvent","onLongPress","emit","Date","now","onTouchMove","clearTimeout","onTouchEnd","spanTime","hoverStayTime","componentDidRender","el","childNodes","forEach","item","nodeType","document","COMMENT_NODE","render","cls","classNames","_a","concat","attr","animation","h","Host","Object","assign","class"],"sources":["src/components/view/style/index.scss?tag=taro-view-core","src/components/view/view.tsx"],"sourcesContent":["body,\nhtml {\n user-select: none;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\ntaro-view-core {\n display: block;\n}\n","import { Component, Prop, h, ComponentInterface, Host, Listen, State, Event, EventEmitter, Element } from '@stencil/core'\nimport classNames from 'classnames'\n\n@Component({\n tag: 'taro-view-core',\n styleUrl: './style/index.scss'\n})\nexport class View implements ComponentInterface {\n @Element() el: HTMLElement\n\n @Prop() animation: string\n @Prop() hoverClass: string\n @Prop() hoverStartTime = 50\n @Prop() hoverStayTime = 400\n @State() hover = false\n @State() touch = false\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n private timeoutEvent: ReturnType<typeof setTimeout>\n private startTime = 0\n\n @Listen('touchstart')\n onTouchStart () {\n if (this.hoverClass) {\n this.touch = true\n setTimeout(() => {\n if (this.touch) {\n this.hover = true\n }\n }, this.hoverStartTime)\n }\n\n this.timeoutEvent = setTimeout(() => {\n this.onLongPress.emit()\n }, 350)\n this.startTime = Date.now()\n }\n\n @Listen('touchmove')\n onTouchMove () {\n clearTimeout(this.timeoutEvent)\n }\n\n @Listen('touchend')\n onTouchEnd () {\n const spanTime = Date.now() - this.startTime\n if (spanTime < 350) {\n clearTimeout(this.timeoutEvent)\n }\n if (this.hoverClass) {\n this.touch = false\n setTimeout(() => {\n if (!this.touch) {\n this.hover = false\n }\n }, this.hoverStayTime)\n }\n }\n\n componentDidRender () {\n const el = this.el\n el.childNodes.forEach(item => {\n // Note: ['s-cn'] Content Reference Node\n if (item.nodeType === document.COMMENT_NODE && item['s-cn']) item['s-cn'] = false\n // Note: ['s-sr'] Is a slot reference node (渲染完成后禁用 slotRelocation 特性, 避免 Stencil 组件相互调用时内置排序与第三方 UI 框架冲突导致组件顺序混乱)\n if (item.nodeType !== document.COMMENT_NODE && item['s-sr']) item['s-sr'] = false\n })\n }\n\n render() {\n const cls = classNames({\n [`${this.hoverClass}`]: this.hover\n })\n let attr = {}\n if (!!this.animation) {\n attr['animation'] = this.animation\n attr['data-animation'] = this.animation\n }\n return (\n <Host class={cls} {...attr}>\n <slot></slot>\n </Host>\n )\n }\n}\n"],"mappings":"qJAAA,IAAMA,SAAW,4K,ICOJC,KAAI,W,wFAePC,KAAAC,UAAY,E,uEAVK,G,mBACD,I,WACP,M,WACA,K,CAUjBF,EAAAG,UAAAC,aAAA,eAAAC,EAAAJ,KACE,GAAIA,KAAKK,WAAY,CACnBL,KAAKM,MAAQ,KACbC,YAAW,WACT,GAAIH,EAAKE,MAAO,CACdF,EAAKI,MAAQ,I,IAEdR,KAAKS,e,CAGVT,KAAKU,aAAeH,YAAW,WAC7BH,EAAKO,YAAYC,M,GAChB,KACHZ,KAAKC,UAAYY,KAAKC,K,EAIxBf,EAAAG,UAAAa,YAAA,WACEC,aAAahB,KAAKU,a,EAIpBX,EAAAG,UAAAe,WAAA,eAAAb,EAAAJ,KACE,IAAMkB,EAAWL,KAAKC,MAAQd,KAAKC,UACnC,GAAIiB,EAAW,IAAK,CAClBF,aAAahB,KAAKU,a,CAEpB,GAAIV,KAAKK,WAAY,CACnBL,KAAKM,MAAQ,MACbC,YAAW,WACT,IAAKH,EAAKE,MAAO,CACfF,EAAKI,MAAQ,K,IAEdR,KAAKmB,c,GAIZpB,EAAAG,UAAAkB,mBAAA,WACE,IAAMC,EAAKrB,KAAKqB,GAChBA,EAAGC,WAAWC,SAAQ,SAAAC,GAEpB,GAAIA,EAAKC,WAAaC,SAASC,cAAgBH,EAAK,QAASA,EAAK,QAAU,MAE5E,GAAIA,EAAKC,WAAaC,SAASC,cAAgBH,EAAK,QAASA,EAAK,QAAU,K,KAIhFzB,EAAAG,UAAA0B,OAAA,W,MACE,IAAMC,EAAMC,YAAUC,EAAA,GACpBA,EAAC,GAAAC,OAAGhC,KAAKK,aAAeL,KAAKQ,M,IAE/B,IAAIyB,EAAO,GACX,KAAMjC,KAAKkC,UAAW,CACpBD,EAAK,aAAejC,KAAKkC,UACzBD,EAAK,kBAAoBjC,KAAKkC,S,CAEhC,OACEC,EAACC,KAAIC,OAAAC,OAAA,CAACC,MAAOV,GAASI,GACpBE,EAAA,a,gIA5ES,G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host}from"./index-
|
|
1
|
+
import{r as registerInstance,h,H as Host}from"./index-c948674f.js";import{n as notSupport}from"./helper-3d0ecf0f.js";import"@tarojs/taro";var VoipRoom=function(){function o(o){registerInstance(this,o)}o.prototype.componentDidLoad=function(){notSupport("VoipRoom",this)};o.prototype.render=function(){return h(Host,null)};return o}();export{VoipRoom as taro_voip_room_core};
|
|
2
2
|
//# sourceMappingURL=taro-voip-room-core.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["VoipRoom","prototype","componentDidLoad","notSupport","this","render","h","Host"],"sources":["src/components/voip-room/voip-room.tsx"],"sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-voip-room-core'\n})\nexport class VoipRoom implements ComponentInterface {\n componentDidLoad () {\n notSupport('VoipRoom', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"],"mappings":"8IAOaA,SAAQ,W,uCACnBA,EAAAC,UAAAC,iBAAA,WACEC,WAAW,WAAYC,K,EAGzBJ,EAAAC,UAAAI,OAAA,WACE,OACEC,EAACC,KAAI,K,WAPU,U"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h}from"./index-
|
|
1
|
+
import{r as registerInstance,c as createEvent,h}from"./index-c948674f.js";var indexCss="iframe{border:none}.taro-webview{position:fixed;top:0;bottom:0;z-index:999;width:100%;height:100%}";var WebView=function(){function e(e){registerInstance(this,e);this.onLoad=createEvent(this,"load",7);this.onError=createEvent(this,"error",7);this.src=undefined}e.prototype.render=function(){var e=this,r=e.src,t=e.onLoad,o=e.onError;return h("iframe",{class:"taro-webview",onLoad:function(e){e.stopPropagation();t.emit({src:r})},onError:function(e){e.stopPropagation();o.emit({src:r})},src:r})};return e}();WebView.style=indexCss;export{WebView as taro_web_view_core};
|
|
2
2
|
//# sourceMappingURL=taro-web-view-core.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["indexCss","WebView","prototype","render","_a","this","src","onLoad","onError","h","class","e","stopPropagation","emit"],"sources":["src/components/web-view/style/index.scss?tag=taro-web-view-core","src/components/web-view/web-view.tsx"],"sourcesContent":["iframe {\n border: none;\n}\n\n.taro-webview {\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 999;\n width: 100%;\n height: 100%;\n}\n","import { Component, h, ComponentInterface, Prop, Event, EventEmitter } from '@stencil/core'\n\n@Component({\n tag: 'taro-web-view-core',\n styleUrl: './style/index.scss'\n})\nexport class WebView implements ComponentInterface {\n @Prop() src: string\n\n @Event({\n eventName: 'load'\n })\n onLoad: EventEmitter\n\n @Event({\n eventName: 'error'\n })\n onError: EventEmitter\n\n render () {\n const {\n src,\n onLoad,\n onError\n } = this\n return (\n <iframe\n class='taro-webview'\n onLoad={(e: Event) => {\n e.stopPropagation()\n onLoad.emit({ src })\n }}\n onError={(e: Event) => {\n e.stopPropagation()\n onError.emit({ src })\n }}\n src={src}\n />\n )\n }\n}\n"],"mappings":"0EAAA,IAAMA,SAAW,qG,ICMJC,QAAO,W,0IAalBA,EAAAC,UAAAC,OAAA,WACQ,IAAAC,EAIFC,KAHFC,EAAGF,EAAAE,IACHC,EAAMH,EAAAG,OACNC,EAAOJ,EAAAI,QAET,OACEC,EAAA,UACEC,MAAM,eACNH,OAAQ,SAACI,GACPA,EAAEC,kBACFL,EAAOM,KAAK,CAAEP,IAAGA,G,EAEnBE,QAAS,SAACG,GACRA,EAAEC,kBACFJ,EAAQK,KAAK,CAAEP,IAAGA,G,EAEpBA,IAAKA,G,WA9BO,G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as i,H as e,g as s,c as o}from"./p-78e3ebb9.js";import{c as n}from"./p-76724e58.js";import{t as r}from"./p-d3c7f87d.js";const a=t=>{if(!t)return"";const i=Math.round(t%60);const e=Math.round((t-i)/60);return`${e<10?`0${e}`:e}:${i<10?`0${i}`:i}`};const h=(t,i)=>Math.sqrt(Math.pow(t,2)+Math.pow(i,2));const l=t=>Math.max(-1,Math.min(t,1));let d="default";const c=function(){let t;const i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];var e=["webkitEnterFullscreen","webkitExitFullscreen","webkitCurrentFullScreenElement","webkitSupportsFullscreen","fullscreenchange","fullscreenerror"];let s=0;const o=i.length;const n={};for(;s<o;s++){t=i[s];if(t&&t[1]in document){for(s=0;s<t.length;s++){n[i[0][s]]=t[s]}return n}}if(!n[i[0][0]]){d="iOS";for(s=0;s<e.length;s++){n[i[0][s]]=e[s]}}return n}();const A=t=>/\.(m3u8)($|\?)/i.test(t);const u=class{constructor(i){t(this,i);this.visible=false;this.isDraggingProgressBall=false;this.percentage=0;this.progressDimensions={left:0,width:0};this.calcPercentage=t=>{let i=t-this.progressDimensions.left;i=Math.max(i,0);i=Math.min(i,this.progressDimensions.width);return i/this.progressDimensions.width};this.onDragProgressBallStart=()=>{this.isDraggingProgressBall=true;this.hideControlsTimer&&clearTimeout(this.hideControlsTimer)};this.onClickProgress=t=>{t.stopPropagation();const i=this.calcPercentage(t.pageX);this.seekFunc(i*this.duration);this.toggleVisibility(true)};this.controls=undefined;this.currentTime=undefined;this.duration=undefined;this.isPlaying=undefined;this.pauseFunc=undefined;this.playFunc=undefined;this.seekFunc=undefined;this.showPlayBtn=undefined;this.showProgress=undefined}onDocumentTouchMove(t){if(!this.isDraggingProgressBall)return;const i=t.touches[0].pageX;this.percentage=this.calcPercentage(i);this.setProgressBall(this.percentage);this.setCurrentTime(this.percentage*this.duration)}onDocumentTouchEnd(){if(!this.isDraggingProgressBall)return;this.isDraggingProgressBall=false;this.seekFunc(this.percentage*this.duration);this.toggleVisibility(true)}async setProgressBall(t){if(this.progressBallRef){this.progressBallRef.style.left=`${t*100}%`}}async toggleVisibility(t){const i=t===undefined?!this.visible:t;if(i){this.hideControlsTimer&&clearTimeout(this.hideControlsTimer);if(this.isPlaying){this.hideControlsTimer=setTimeout((()=>{this.toggleVisibility(false)}),2e3)}this.el.style.visibility="visible"}else{this.el.style.visibility="hidden"}this.visible=!!i}async getIsDraggingProgressBall(){return this.isDraggingProgressBall}async setCurrentTime(t){this.currentTimeRef.innerHTML=a(t)}render(){const{controls:t,currentTime:s,duration:o,isPlaying:n,pauseFunc:r,playFunc:h,showPlayBtn:l,showProgress:d}=this;const c=a(o);let A;if(!l){A=null}else if(n){A=i("div",{class:"taro-video-control-button taro-video-control-button-pause",onClick:r})}else{A=i("div",{class:"taro-video-control-button taro-video-control-button-play",onClick:h})}return i(e,{class:"taro-video-bar taro-video-bar-full"},t&&i("div",{class:"taro-video-controls"},A,d&&i("div",{class:"taro-video-current-time",ref:t=>this.currentTimeRef=t},a(s)),d&&i("div",{class:"taro-video-progress-container",onClick:this.onClickProgress},i("div",{class:"taro-video-progress",ref:t=>{if(!t)return;const i=t.getBoundingClientRect();this.progressDimensions.left=i.left;this.progressDimensions.width=i.width}},i("div",{class:"taro-video-progress-buffered",style:{width:"100%"}}),i("div",{class:"taro-video-ball",ref:t=>this.progressBallRef=t,onTouchStart:this.onDragProgressBallStart,style:{left:`${c?this.currentTime/o*100:0}%`}},i("div",{class:"taro-video-inner"})))),d&&i("div",{class:"taro-video-duration"},c)),i("slot",null))}get el(){return s(this)}};const g='.taro-video{display:inline-block;overflow:hidden;position:relative;width:100%;height:225px;line-height:0}.taro-video[hidden]{display:none}.taro-video-container{display:inline-block;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;-o-object-position:inherit;object-position:inherit}.taro-video-container.taro-video-type-fullscreen{position:fixed;left:0;right:0;top:0;bottom:0;z-index:999}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left{-webkit-transform:translate(-50%, -50%) rotate(-90deg);transform:translate(-50%, -50%) rotate(-90deg)}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right{-webkit-transform:translate(-50%, -50%) rotate(90deg);transform:translate(-50%, -50%) rotate(90deg)}.taro-video-video{width:100%;height:100%;-o-object-position:inherit;object-position:inherit}.taro-video-cover{display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;z-index:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;background-color:rgba(1, 1, 1, 0.5);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-webkit-box-align:center}.taro-video-cover-play-button{width:40px;height:40px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-cover-duration{margin-top:10px;line-height:1;font-size:16px;color:#fff}.taro-video-bar{display:-ms-flexbox;display:flex;visibility:hidden;overflow:hidden;position:absolute;right:0;bottom:0;z-index:1;-ms-flex-align:center;align-items:center;padding:0 10px;height:44px;background-color:rgba(0, 0, 0, 0.5);-webkit-box-align:center}.taro-video-bar.taro-video-bar-full{left:0}.taro-video-controls{display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 8.5px}.taro-video-control-button{-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-8.5px;padding:14.5px 12.5px;width:13px;height:15px}.taro-video-control-button::after{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;content:""}.taro-video-control-button.taro-video-control-button-play::after,.taro-video-cover-play-button{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==")}.taro-video-control-button.taro-video-control-button-pause::after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC")}.taro-video-current-time,.taro-video-duration{margin-top:15px;margin-bottom:14.5px;height:14.5px;line-height:14.5px;font-size:12px;color:#cbcbcb}.taro-video-progress-container{position:relative;-ms-flex-positive:2;flex-grow:2;-webkit-box-flex:2}.taro-video-progress{position:relative;margin:21px 12px;height:2px;background-color:rgba(255, 255, 255, 0.4)}.taro-video-progress-buffered{position:absolute;left:0;top:0;width:0;height:100%;background-color:rgba(255, 255, 255, 0.8);-webkit-transition:width 0.1s;transition:width 0.1s}.taro-video-ball{position:absolute;left:0;top:-21px;-webkit-box-sizing:content-box;box-sizing:content-box;margin-left:-22px;padding:14px;width:16px;height:16px}.taro-video-inner{border-radius:50%;width:100%;height:100%;background-color:#fff}.taro-video-danmu-button{margin:0 8.5px;padding:2px 10px;border:1px solid #fff;border-radius:5px;line-height:1;font-size:13px;color:#fff;white-space:nowrap}.taro-video-danmu-button.taro-video-danmu-button-active{border-color:#48c23d;color:#48c23d}.taro-video-fullscreen,.taro-video-mute{-webkit-box-sizing:content-box;box-sizing:content-box;padding:8.5px;width:17px;height:17px;background-repeat:no-repeat;background-position:50% 50%;background-size:50%}.taro-video-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==")}.taro-video-fullscreen.taro-video-type-fullscreen{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=")}.taro-video-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==")}.taro-video-mute.taro-video-type-mute{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC")}.taro-video-danmu{overflow:visible;position:absolute;left:0;top:0;bottom:0;margin-top:14px;margin-bottom:44px;width:100%;line-height:14px;font-size:14px}.taro-video-danmu-item{position:absolute;left:100%;line-height:1;color:#fff;white-space:nowrap;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:left, -webkit-transform;transition-property:left, -webkit-transform;transition-property:left, transform;transition-property:left, transform, -webkit-transform;-webkit-transition-duration:3s;transition-duration:3s;-webkit-transition-timing-function:linear;transition-timing-function:linear}.taro-video-toast{display:block;visibility:hidden;position:absolute;left:50%;top:50%;border-radius:5px;background-color:rgba(255, 255, 255, 0.8);pointer-events:none;color:#000;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-video-toast.taro-video-toast-volume{display:block;width:100px;height:100px}.taro-video-toast-volume .taro-video-toast-title{display:block;margin-top:10px;width:100%;line-height:16px;text-align:center;font-size:12px}.taro-video-toast-volume .taro-video-toast-icon{display:block;margin-left:25%;width:50%;height:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50% 50%;background-size:50%;fill:#000}.taro-video-toast-volume .taro-video-toast-value{margin-left:10px;margin-top:5px;width:80px;height:5px}.taro-video-toast-volume .taro-video-toast-value>.taro-video-toast-value-content{overflow:hidden}.taro-video-toast-volume-grids{width:80px;height:5px}.taro-video-toast-volume-grids-item{float:left;width:7.1px;height:5px;background-color:#000}.taro-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.taro-video-toast.taro-video-toast-progress{padding:6px;background-color:rgba(0, 0, 0, 0.8);line-height:18px;font-size:14px;color:#fff}';const b=class{constructor(i){t(this,i);this.onPlay=o(this,"play",7);this.onPause=o(this,"pause",7);this.onEnded=o(this,"ended",7);this.onTimeUpdate=o(this,"timeupdate",7);this.onError=o(this,"error",7);this.onFullScreenChange=o(this,"fullscreenchange",7);this.onProgress=o(this,"progress",7);this.onLoadedMetaData=o(this,"loadedmetadata",7);this.currentTime=0;this.isDraggingProgress=false;this.gestureType="none";this.analyzeGesture=t=>{var i;const e={type:"none"};const s=t.touches[0].screenX;const o=t.touches[0].screenY;const n=s-this.lastTouchScreenX;const r=o-this.lastTouchScreenY;const a=this.isFullScreen?this.vslideGestureInFullscreen:this.vslideGesture;if(this.gestureType==="none"){const t=h(n,r);if(t<10)return e;if(Math.abs(r)>=Math.abs(n)){if(a){this.gestureType="adjustVolume";this.lastVolume=this.videoRef.volume}else{return e}}else if(Math.abs(r)<Math.abs(n)){if(this.enableProgressGesture){this.gestureType="adjustProgress";this.lastPercentage=this.currentTime/((i=this.duration)!==null&&i!==void 0?i:this._duration)}else{return e}}}e.type=this.gestureType;e.dataX=l(n/200);e.dataY=l(r/200);return e};this.loadNativePlayer=()=>{var t,i;if(this.videoRef){this.videoRef.src=this.src;(i=(t=this.videoRef).load)===null||i===void 0?void 0:i.call(t)}};this.init=()=>{const{src:t,videoRef:i}=this;if(A(t)){import("./p-d5234e7e.js").then((function(t){return t.h})).then((e=>{const s=e.default;this.HLS=s;if(s.isSupported()){if(this.hls){this.hls.destroy()}this.hls=new s;this.hls.loadSource(t);this.hls.attachMedia(i);this.hls.on(s.Events.MANIFEST_PARSED,(()=>{this.autoplay&&this.play()}));this.hls.on(s.Events.ERROR,((t,i)=>{this.handleError(i)}))}else if(i.canPlayType("application/vnd.apple.mpegurl")){this.loadNativePlayer()}else{console.error("该浏览器不支持 HLS 播放")}}))}else{this.loadNativePlayer()}};this.handlePlay=()=>{this.isPlaying=true;this.isFirst=false;this.controlsRef.toggleVisibility(true);this.onPlay.emit()};this.handlePause=()=>{this.isPlaying=false;this.controlsRef.toggleVisibility(true);this.onPause.emit()};this.handleEnded=()=>{this.isFirst=true;this.pause();this.controlsRef.toggleVisibility();this.onEnded.emit()};this.handleTimeUpdate=r((async t=>{var i,e;this.currentTime=this.videoRef.currentTime;const s=this.duration||this._duration;const o=await this.controlsRef.getIsDraggingProgressBall();if(this.controls&&this.showProgress){if(!o&&!this.isDraggingProgress){this.controlsRef.setProgressBall(this.currentTime/s);this.controlsRef.setCurrentTime(this.currentTime)}}this.danmuRef.tick(this.currentTime);this.onTimeUpdate.emit({duration:(i=t.target)===null||i===void 0?void 0:i.duration,currentTime:(e=t.target)===null||e===void 0?void 0:e.currentTime});if(this.duration){if(this.currentTime>=this.duration){this.seek(0);this.handleEnded()}}}),250);this.handleError=t=>{var i,e;if(this.hls){switch(t.type){case this.HLS.ErrorTypes.NETWORK_ERROR:this.onError.emit({errMsg:t.response});this.hls.startLoad();break;case this.HLS.ErrorTypes.MEDIA_ERROR:this.onError.emit({errMsg:t.reason||"媒体错误,请重试"});this.hls.recoverMediaError();break}}else{this.onError.emit({errMsg:(e=(i=t.target)===null||i===void 0?void 0:i.error)===null||e===void 0?void 0:e.message})}};this.handleDurationChange=()=>{this._duration=this.videoRef.duration};this.handleProgress=()=>{this.onProgress.emit()};this.handleLoadedMetaData=t=>{const i=t.target;this.onLoadedMetaData.emit({width:i.videoWidth,height:i.videoHeight,duration:i.duration})};this._play=()=>this.videoRef.play();this._pause=()=>this.videoRef.pause();this._stop=()=>{this.videoRef.pause();this._seek(0)};this._seek=t=>{this.videoRef.currentTime=t};this.onTouchStartContainer=t=>{this.lastTouchScreenX=t.touches[0].screenX;this.lastTouchScreenY=t.touches[0].screenY};this.onClickContainer=()=>{if(this.enablePlayGesture){const t=Date.now();if(t-this.lastClickedTime<300){this.isPlaying?this.pause():this.play()}this.lastClickedTime=t}this.controlsRef.toggleVisibility()};this.onClickFullScreenBtn=t=>{t.stopPropagation();this.toggleFullScreen()};this.handleFullScreenChange=t=>{const i=(new Date).getTime();if(!t.detail&&this.isFullScreen&&!document[c.fullscreenElement]&&i-this.fullScreenTimestamp>100){this.toggleFullScreen(false)}};this.toggleFullScreen=(t=!this.isFullScreen)=>{this.isFullScreen=t;this.controlsRef.toggleVisibility(true);this.fullScreenTimestamp=(new Date).getTime();this.onFullScreenChange.emit({fullScreen:this.isFullScreen,direction:"vertical"});if(this.isFullScreen&&!document[c.fullscreenElement]){setTimeout((()=>{this.videoRef[c.requestFullscreen]({navigationUI:"auto"})}),0)}};this.toggleMute=t=>{t.stopPropagation();this.videoRef.muted=!this.isMute;this.controlsRef.toggleVisibility(true);this.isMute=!this.isMute};this.toggleDanmu=t=>{t.stopPropagation();this.controlsRef.toggleVisibility(true);this._enableDanmu=!this._enableDanmu};this.src=undefined;this.duration=undefined;this.controls=true;this.autoplay=false;this.loop=false;this.muted=false;this.initialTime=0;this.poster=undefined;this.objectFit="contain";this.showProgress=true;this.showFullscreenBtn=true;this.showPlayBtn=true;this.showCenterPlayBtn=true;this.showMuteBtn=false;this.danmuList=undefined;this.danmuBtn=false;this.enableDanmu=false;this.enablePlayGesture=false;this.enableProgressGesture=true;this.vslideGesture=false;this.vslideGestureInFullscreen=true;this.nativeProps={};this._duration=undefined;this._enableDanmu=false;this.isPlaying=false;this.isFirst=true;this.isFullScreen=false;this.fullScreenTimestamp=(new Date).getTime();this.isMute=false}componentWillLoad(){this._enableDanmu=this.enableDanmu}componentDidLoad(){var t,i;this.init();if(this.initialTime){this.videoRef.currentTime=this.initialTime}(i=(t=this.danmuRef).sendDanmu)===null||i===void 0?void 0:i.call(t,this.danmuList);if(document.addEventListener){document.addEventListener(c.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&d==="iOS"){this.videoRef.addEventListener("webkitendfullscreen",this.handleFullScreenChange)}}componentDidRender(){}disconnectedCallback(){if(document.removeEventListener){document.removeEventListener(c.fullscreenchange,this.handleFullScreenChange)}if(this.videoRef&&d==="iOS"){this.videoRef.removeEventListener("webkitendfullscreen",this.handleFullScreenChange)}}watchEnableDanmu(t){this._enableDanmu=t}watchSrc(){this.init()}async onDocumentTouchMove(t){if(this.lastTouchScreenX===undefined||this.lastTouchScreenY===undefined)return;if(await this.controlsRef.getIsDraggingProgressBall())return;const i=this.analyzeGesture(t);if(i.type==="adjustVolume"){this.toastVolumeRef.style.visibility="visible";const t=Math.max(Math.min(this.lastVolume-i.dataY,1),0);this.videoRef.volume=t;this.toastVolumeBarRef.style.width=`${t*100}%`}else if(i.type==="adjustProgress"){this.isDraggingProgress=true;this.nextPercentage=Math.max(Math.min(this.lastPercentage+(i.dataX||0),1),0);if(this.controls&&this.showProgress){this.controlsRef.setProgressBall(this.nextPercentage);this.controlsRef.toggleVisibility(true)}const t=this.duration||this._duration;this.toastProgressTitleRef.innerHTML=`${a(this.nextPercentage*t)} / ${a(t)}`;this.toastProgressRef.style.visibility="visible"}}onDocumentTouchEnd(){var t;if(this.gestureType==="adjustVolume"){this.toastVolumeRef.style.visibility="hidden"}else if(this.gestureType==="adjustProgress"){this.toastProgressRef.style.visibility="hidden"}if(this.isDraggingProgress){this.isDraggingProgress=false;this.seek(this.nextPercentage*((t=this.duration)!==null&&t!==void 0?t:this._duration))}this.gestureType="none";this.lastTouchScreenX=undefined;this.lastTouchScreenY=undefined}async getHlsObject(){return this.hls}async play(){this._play()}async pause(){this._pause()}async stop(){this._stop()}async seek(t){this._seek(t)}async requestFullScreen(){this.toggleFullScreen(true)}async exitFullScreen(){this.toggleFullScreen(false)}render(){const{controls:t,autoplay:s,loop:o,muted:r,poster:h,objectFit:l,isFirst:d,isMute:c,isFullScreen:A,showCenterPlayBtn:u,isPlaying:g,_enableDanmu:b,showMuteBtn:p,danmuBtn:v,showFullscreenBtn:m,nativeProps:f}=this;const w=this.duration||this._duration;const E=a(w);return i(e,{class:n("taro-video-container",{"taro-video-type-fullscreen":A}),onTouchStart:this.onTouchStartContainer,onClick:this.onClickContainer},i("video",Object.assign({class:"taro-video-video",style:{"object-fit":l},ref:t=>{if(t){this.videoRef=t}},autoplay:s,loop:o,muted:r,poster:t?h:undefined,playsinline:true,"webkit-playsinline":true,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onTimeUpdate:this.handleTimeUpdate,onError:this.handleError,onDurationChange:this.handleDurationChange,onProgress:this.handleProgress,onLoadedMetaData:this.handleLoadedMetaData},f),"暂时不支持播放该视频"),i("taro-video-danmu",{ref:t=>{if(t){this.danmuRef=t}},enable:b}),d&&u&&!g&&i("div",{class:"taro-video-cover"},i("div",{class:"taro-video-cover-play-button",onClick:()=>this.play()}),i("p",{class:"taro-video-cover-duration"},E)),i("taro-video-control",{ref:t=>{if(t){this.controlsRef=t}},controls:t,currentTime:this.currentTime,duration:w,isPlaying:this.isPlaying,pauseFunc:this._pause,playFunc:this._play,seekFunc:this._seek,showPlayBtn:this.showPlayBtn,showProgress:this.showProgress},p&&i("div",{class:n("taro-video-mute",{"taro-video-type-mute":c}),onClick:this.toggleMute}),v&&i("div",{class:n("taro-video-danmu-button",{"taro-video-danmu-button-active":b}),onClick:this.toggleDanmu},"弹幕"),m&&i("div",{class:n("taro-video-fullscreen",{"taro-video-type-fullscreen":A}),onClick:this.onClickFullScreenBtn})),i("div",{class:"taro-video-toast taro-video-toast-volume",ref:t=>{if(t){this.toastVolumeRef=t}}},i("div",{class:"taro-video-toast-title"},"音量"),i("div",{class:"taro-video-toast-icon"}),i("div",{class:"taro-video-toast-value"},i("div",{class:"taro-video-toast-value-content",ref:t=>{if(t){this.toastVolumeBarRef=t}}},i("div",{class:"taro-video-toast-volume-grids"},Array(10).fill(1).map((()=>i("div",{class:"taro-video-toast-volume-grids-item"}))))))),i("div",{class:"taro-video-toast taro-video-toast-progress",ref:t=>{if(t){this.toastProgressRef=t}}},i("div",{class:"taro-video-toast-title",ref:t=>{if(t){this.toastProgressTitleRef=t}}})))}get el(){return s(this)}static get watchers(){return{enableDanmu:["watchEnableDanmu"],src:["watchSrc"]}}};b.style=g;const p=class{constructor(i){t(this,i);this.list=[];this.danmuElList=[];this.currentTime=0;this.enable=false;this.danmuList=[]}ensureProperties(t){const i=Object.assign({},t);if(!("time"in t)){i.time=this.currentTime}i.key=Math.random();i.bottom=`${Math.random()*90+5}%`;return i}async sendDanmu(t=[]){if(Array.isArray(t)){this.list=[...this.list,...t.map((t=>this.ensureProperties(t)))]}else{const i=t;this.list=[...this.list,Object.assign({},this.ensureProperties(i))]}}async tick(t){this.currentTime=t;if(!this.enable)return;const i=this.list;const e=i.filter((({time:i})=>t-i<4&&t>i));let s=false;const o=this.danmuList;if(e.length!==o.length){s=true}else{s=e.some((({key:t})=>o.every((i=>t!==i.key))))}if(s){this.danmuList=e}}componentDidUpdate(){requestAnimationFrame((()=>{setTimeout((()=>{const t=this.danmuElList.splice(0);t.forEach((t=>{t.style.left="0";t.style.webkitTransform="translateX(-100%)";t.style.transform="translateX(-100%)"}))}))}))}render(){if(!this.enable)return"";return i(e,{class:"taro-video-danmu"},this.danmuList.map((({text:t,color:e,bottom:s,key:o})=>i("p",{class:"taro-video-danmu-item",key:o,style:{color:e,bottom:s},ref:t=>{if(t){this.danmuElList.push(t)}}},t))))}};export{u as taro_video_control,b as taro_video_core,p as taro_video_danmu};
|
|
2
|
+
//# sourceMappingURL=p-020bcd8c.entry.js.map
|