@tarojs/components 3.6.0-canary.8 → 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/virtual-list/index.js +3 -2
- 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
|
-
{"file":"taro-video-control.taro-video-core.taro-video-danmu.entry.cjs.js","mappings":";;;;;;;;AAAO,MAAM,UAAU,GAAG,CAAC,IAAa;EACtC,IAAI,CAAC,IAAI;IAAE,OAAO,EAAE,CAAA;EACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;EACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC,CAAA;EACzC,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;AACtE,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS;EAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAEM,MAAM,eAAe,GAAG,CAAC,MAAc;EAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AAEM,IAAI,KAAK,GAAG,SAAS,CAAA;AAErB,MAAM,QAAQ,GAAG,CAAC;EACvB,IAAI,GAAG,CAAA;EACP,MAAM,KAAK,GAAG;IACZ;MACE,mBAAmB;MACnB,gBAAgB;MAChB,mBAAmB;MACnB,mBAAmB;MACnB,kBAAkB;MAClB,iBAAiB;KAClB;;IAED;MACE,yBAAyB;MACzB,sBAAsB;MACtB,yBAAyB;MACzB,yBAAyB;MACzB,wBAAwB;MACxB,uBAAuB;KACxB;;IAED;MACE,yBAAyB;MACzB,wBAAwB;MACxB,gCAAgC;MAChC,wBAAwB;MACxB,wBAAwB;MACxB,uBAAuB;KACxB;IACD;MACE,sBAAsB;MACtB,qBAAqB;MACrB,sBAAsB;MACtB,sBAAsB;MACtB,qBAAqB;MACrB,oBAAoB;KACrB;IACD;MACE,qBAAqB;MACrB,kBAAkB;MAClB,qBAAqB;MACrB,qBAAqB;MACrB,oBAAoB;MACpB,mBAAmB;KACpB;GACF,CAAA;EACD,IAAI,aAAa,GAAG;IAClB,uBAAuB;IACvB,sBAAsB;IACtB,gCAAgC;IAChC,0BAA0B;IAC1B,kBAAkB;IAClB,iBAAiB;GAClB,CAAA;EACD,IAAI,CAAC,GAAG,CAAC,CAAA;EACT,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;EACtB,MAAM,GAAG,GAAwB,EAAE,CAAA;;EAEnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACd,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;MAC7B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;OAC1B;MACD,OAAO,GAAG,CAAA;KACX;GACF;EACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACrB,KAAK,GAAG,KAAK,CAAA;;;;IAKb,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MACzC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;KACpC;GACF;;;EAGD,OAAO,GAAG,CAAA;AACZ,CAAC,GAAG,CAAA;AAEG,MAAM,KAAK,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;;MC7F1C,YAAY;;;IAGf,YAAO,GAAG,KAAK,CAAA;IACf,2BAAsB,GAAG,KAAK,CAAA;IAE9B,eAAU,GAAG,CAAC,CAAA;IACd,uBAAkB,GAAG;MAC3B,IAAI,EAAE,CAAC;MACP,KAAK,EAAE,CAAC;KACT,CAAA;IAyED,mBAAc,GAAG,CAAC,KAAa;MAC7B,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAA;MAC9C,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;MACtB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;MAClD,OAAO,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAA;KAC3C,CAAA;IAED,4BAAuB,GAAG;MACxB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAA;MAClC,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;KAC/D,CAAA;IAED,oBAAe,GAAG,CAAC,CAAa;MAC9B,CAAC,CAAC,eAAe,EAAE,CAAA;MAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;MAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;MACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;KAC5B,CAAA;;;;;;;;;;;EA1ED,mBAAmB,CAAE,CAAa;IAChC,IAAI,CAAC,IAAI,CAAC,sBAAsB;MAAE,OAAM;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;GACrD;EAQD,kBAAkB;IAChB,IAAI,CAAC,IAAI,CAAC,sBAAsB;MAAE,OAAM;IAExC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;IACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;GAC5B;EAGD,MAAM,eAAe,CAAE,UAAkB;IACvC,IAAI,IAAI,CAAC,eAAe,EAAE;MACxB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,CAAA;KACzD;GACF;EAGD,MAAM,gBAAgB,CAAE,WAAqB;IAC3C,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAA;IACvE,IAAI,OAAO,EAAE;MACX,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;MAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;UAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;SAC7B,EAAE,IAAI,CAAC,CAAA;OACT;MACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAA;KACrC;SAAM;MACL,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAA;KACpC;IACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;GACzB;EAGD,MAAM,yBAAyB;IAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAA;GACnC;EAGD,MAAM,cAAc,CAAE,IAAY;IAChC,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;GACjD;EAsBD,MAAM;IACJ,MAAM,EACJ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACb,GAAG,IAAI,CAAA;IAER,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC9C,IAAI,OAAO,CAAA;IAEX,IAAI,CAAC,WAAW,EAAE;MAChB,OAAO,GAAG,IAAI,CAAA;KACf;SAAM,IAAI,SAAS,EAAE;MACpB,OAAO,GAAGA,iBAAK,KAAK,EAAC,2DAA2D,EAAC,OAAO,EAAE,SAAS,GAAI,CAAA;KACxG;SAAM;MACL,OAAO,GAAGA,iBAAK,KAAK,EAAC,0DAA0D,EAAC,OAAO,EAAE,QAAQ,GAAI,CAAA;KACtG;IAED,QACEA,QAACC,UAAI,IAAC,KAAK,EAAC,oCAAoC,IAC7C,QAAQ,KACPD,iBAAK,KAAK,EAAC,qBAAqB,IAC7B,OAAO,EACP,YAAY,KACXA,iBAAK,KAAK,EAAC,yBAAyB,EAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,cAAc,GAAG,GAAqB,CAAC,IAC3F,UAAU,CAAC,WAAW,CAAC,CACpB,CACP,EACA,YAAY,KACXA,iBAAK,KAAK,EAAC,+BAA+B,EAAC,OAAO,EAAE,IAAI,CAAC,eAAe,IACtEA,iBACE,KAAK,EAAC,qBAAqB,EAC3B,GAAG,EAAE,GAAG;QACN,IAAI,CAAC,GAAG;UAAE,OAAM;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAA;QACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACxC,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;OAC3C,IACDA,iBAAK,KAAK,EAAC,8BAA8B,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,EACtEA,iBACE,KAAK,EAAC,iBAAiB,EACvB,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,eAAe,GAAG,GAAqB,CAAC,EAC1D,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAC1C,KAAK,EAAE;QACL,IAAI,EAAE,GAAG,iBAAiB,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC,GAAG;OACxE,IAEDA,iBAAK,KAAK,EAAC,kBAAkB,GAAG,CAC5B,CACF,CACF,CACP,EACA,YAAY,IAAIA,iBAAK,KAAK,EAAC,qBAAqB,IAAE,iBAAiB,CAAO,CACvE,CACP,EACDA,qBAAQ,CACH,EACR;GACF;;;;AC5KH,MAAM,QAAQ,GAAG,mrdAAmrd;;MCmBvrd,KAAK;;;;;;;;;;;IAQR,gBAAW,GAAG,CAAC,CAAA;IAIf,uBAAkB,GAAG,KAAK,CAAA;IAI1B,gBAAW,GAAG,MAAM,CAAA;IAoM5B,mBAAc,GAAG,CAAC,CAAa;;MAC7B,MAAM,GAAG,GAIL;QACF,IAAI,EAAE,MAAM;OACb,CAAA;MACD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;MACjC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;MACjC,MAAM,KAAK,GAAG,IAAI,GAAI,IAAI,CAAC,gBAA2B,CAAA;MACtD,MAAM,KAAK,GAAG,IAAI,GAAI,IAAI,CAAC,gBAA2B,CAAA;MACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAA;MAEnG,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE;;QAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;;QAGnC,IAAI,IAAI,GAAG,EAAE;UAAE,OAAO,GAAG,CAAA;QAEzB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;UAEtC,IAAI,mBAAmB,EAAE;YACvB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAA;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;WACvC;eAAM;YACL,OAAO,GAAG,CAAA;WACX;SACF;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;UAE5C,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,SAAS,CAAC,CAAA;WAC3E;eAAM;YACL,OAAO,GAAG,CAAA;WACX;SACF;OACF;MACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;MAC3B,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;MACxC,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;MACxC,OAAO,GAAG,CAAA;KACX,CAAA;IAmDD,qBAAgB,GAAG;;MACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAC5B,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,IAAI,kDAAI,CAAA;OACvB;KACF,CAAA;IAED,SAAI,GAAG;MACL,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;MAG9B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QACd,oDAAO,mBAAQ,0CAAC,CAAC,IAAI,CAAC,CAAC;UACrB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAA;UACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;UACd,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,GAAG,EAAE;cACZ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;aACnB;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;YACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACxB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE;cACtC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;aAC7B,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI;cACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;aACvB,CAAC,CAAA;WACH;eAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE;YAChE,IAAI,CAAC,gBAAgB,EAAE,CAAA;WACxB;eAAM;YACL,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;WAChC;SACF,CAAC,CAAA;OACH;WAAM;QACL,IAAI,CAAC,gBAAgB,EAAE,CAAA;OACxB;KACF,CAAA;IAED,eAAU,GAAG;MACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;MACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;MACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;KACnB,CAAA;IAED,gBAAW,GAAG;MACZ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;MACtB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACvC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;KACpB,CAAA;IAED,gBAAW,GAAG;MACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;MACnB,IAAI,CAAC,KAAK,EAAE,CAAA;MACZ,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAA;MACnC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;KACpB,CAAA;IAED,qBAAgB,GAAGE,gBAAQ,CAAC,OAAM,CAAC;;MACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;MAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAA;MAEhD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAA;MAC5E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;QACtC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;UAClD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAA;UAC7D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAClD;OACF;MAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;MAEpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,QAAQ,EAAE,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ;QAC5B,WAAW,EAAE,MAAA,CAAC,CAAC,MAAM,0CAAE,WAAW;OACnC,CAAC,CAAA;MAEF,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;UACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;UACZ,IAAI,CAAC,WAAW,EAAE,CAAA;SACnB;OACF;KACF,EAAE,GAAG,CAAC,CAAA;IAEP,gBAAW,GAAG,CAAC;;MACb,IAAI,IAAI,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,CAAC,IAAI;UACZ,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa;;YAEpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;YACpB,MAAK;UACP,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAC5B,MAAK;SAGR;OACF;WAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;UAChB,MAAM,EAAE,MAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,KAAK,0CAAE,OAAO;SACjC,CAAC,CAAA;OACH;KACF,CAAA;IAED,yBAAoB,GAAG;MACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;KACxC,CAAA;IAED,mBAAc,GAAG;MACf,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;KACvB,CAAA;IAED,yBAAoB,GAAG,CAAC,CAAQ;MAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAA;MAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;OAC1B,CAAC,CAAA;KACH,CAAA;IAQD,UAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAQlC,WAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAQpC,UAAK,GAAG;MACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;MACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACd,CAAA;IAQD,UAAK,GAAG,CAAC,QAAgB;MACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAA;KACrC,CAAA;IAcD,0BAAqB,GAAG,CAAC,CAAa;MACpC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;MAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;KAC7C,CAAA;IAED,qBAAgB,GAAG;MACjB,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE;;UAEpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;SAC5C;QACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAA;OAC3B;MACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAA;KACpC,CAAA;IAED,yBAAoB,GAAG,CAAC,CAAa;MACnC,CAAC,CAAC,eAAe,EAAE,CAAA;MACnB,IAAI,CAAC,gBAAgB,EAAE,CAAA;KACxB,CAAA;IAED,2BAAsB,GAAG,CAAC;;MAExB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;MACtC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE;QACzH,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;OAC7B;KACF,CAAA;IAED,qBAAgB,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY;MACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;MAChC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;MAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,IAAI,CAAC,YAAY;QAC7B,SAAS,EAAE,UAAU;OACtB,CAAC,CAAA;MACF,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAC9D,UAAU,CAAC;UACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;SACpE,EAAE,CAAC,CAAC,CAAA;OACN;KACF,CAAA;IAED,eAAU,GAAG,CAAC,CAAa;MACzB,CAAC,CAAC,eAAe,EAAE,CAAA;MACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;MAClC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACvC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;KAC3B,CAAA;IAED,gBAAW,GAAG,CAAC,CAAa;MAC1B,CAAC,CAAC,eAAe,EAAE,CAAA;MACnB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACvC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAA;KACvC,CAAA;;;oBArfkB,IAAI;oBAKJ,KAAK;gBAKT,KAAK;iBAKJ,KAAK;uBAKC,CAAC;;qBAU2B,SAAS;wBAKpC,IAAI;6BAKC,IAAI;uBAKV,IAAI;6BAKE,IAAI;uBAKV,KAAK;;oBAUR,KAAK;uBAKF,KAAK;6BAKC,KAAK;iCAKD,IAAI;yBAKZ,KAAK;qCAKO,IAAI;uBAElB,EAAE;;wBAGA,KAAK;qBACR,KAAK;mBACP,IAAI;wBACC,KAAK;+BACE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;kBACjC,KAAK;;EAkCvB,iBAAiB;IACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;GACrC;EAED,gBAAgB;;IACd,IAAI,CAAC,IAAI,EAAE,CAAA;IACX,IAAI,IAAI,CAAC,WAAW,EAAE;MACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;KAC7C;;IAED,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,SAAS,mDAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAEzC,IAAI,QAAQ,CAAC,gBAAgB,EAAE;MAC7B,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;KAClF;IACD,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE;;MAEpC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;KACnF;GACF;EAED,kBAAkB;GACjB;EAED,oBAAoB;IAClB,IAAI,QAAQ,CAAC,mBAAmB,EAAE;MAChC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;KACrF;IACD,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE;MACpC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAA;KACtF;GACF;EAGD,gBAAgB,CAAE,MAAM;IACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;GAC3B;EAGD,QAAQ;IACN,IAAI,CAAC,IAAI,EAAE,CAAA;GACZ;EAkDD,MAAM,mBAAmB,CAAE,CAAa;IACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;MAAE,OAAM;IACtF,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE;MAAE,OAAM;IAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IACzC,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE;MACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAA;MAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;MAChF,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAA;MACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,CAAA;KAC5D;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE;MAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;MAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;MAC7F,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;QACtC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACrD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;OACxC;MACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAA;MAChD,IAAI,CAAC,qBAAqB,CAAC,SAAS,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA;MAChH,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAA;KACnD;GACF;EAQD,kBAAkB;;IAChB,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,EAAE;MACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAA;KAChD;SAAM,IAAI,IAAI,CAAC,WAAW,KAAK,gBAAgB,EAAE;MAChD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAA;KAClD;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;MAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;KACnE;IAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;IACjC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;GAClC;;EAiID,MAAM,IAAI;IACR,IAAI,CAAC,KAAK,EAAE,CAAA;GACb;;EAMD,MAAM,KAAK;IACT,IAAI,CAAC,MAAM,EAAE,CAAA;GACd;;EAMD,MAAM,IAAI;IACR,IAAI,CAAC,KAAK,EAAE,CAAA;GACb;;EASD,MAAM,IAAI,CAAE,QAAgB;IAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;GACrB;;EAQD,MAAM,iBAAiB;IACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;GAC5B;;EAID,MAAM,cAAc;IAClB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;GAC7B;EA4DD,MAAM;IACJ,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACZ,GAAG,IAAI,CAAA;IACR,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAA;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzC,QACEF,QAACC,UAAI,IACH,KAAK,EAAEE,kBAAU,CAAC,sBAAsB,EAAE;QACxC,4BAA4B,EAAE,YAAY;OAC3C,CAAC,EACF,YAAY,EAAE,IAAI,CAAC,qBAAqB,EACxC,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAE9BH,iCACE,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE;QACL,YAAY,EAAE,SAAS;OACxB,EACD,GAAG,EAAE,GAAG;QACN,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,QAAQ,GAAG,GAAuB,CAAA;SACxC;OACF,EACD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,EACrC,WAAW,oCAEX,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,EAC3C,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,IACvC,WAAW,kEAGT,EAERA,8BACE,GAAG,EAAE,GAAG;QACN,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,QAAQ,GAAG,GAAgC,CAAA;SACjD;OACF,EACD,MAAM,EAAE,YAAY,GACpB,EAED,OAAO,IAAI,iBAAiB,IAAI,CAAC,SAAS,KACzCA,iBAAK,KAAK,EAAC,kBAAkB,IAC3BA,iBAAK,KAAK,EAAC,8BAA8B,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,GAAI,EACxEA,eAAG,KAAK,EAAC,2BAA2B,IAAE,YAAY,CAAK,CACnD,CACP,EAEDA,gCACE,GAAG,EAAE,GAAG;QACN,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;SACvB;OACF,EACD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,MAAM,EACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,EACpB,QAAQ,EAAE,IAAI,CAAC,KAAK,EACpB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAE9B,WAAW,KACVA,iBACE,KAAK,EAAEG,kBAAU,CAAC,iBAAiB,EAAE;QACnC,sBAAsB,EAAE,MAAM;OAC/B,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,UAAU,GACxB,CACH,EACA,QAAQ,KACPH,iBACE,KAAK,EAAEG,kBAAU,CAAC,yBAAyB,EAAE;QAC3C,gCAAgC,EAAE,YAAY;OAC/C,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,WAAW,mBAErB,CACP,EACA,iBAAiB,KAChBH,iBACE,KAAK,EAAEG,kBAAU,CAAC,uBAAuB,EAAE;QACzC,4BAA4B,EAAE,YAAY;OAC3C,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,oBAAoB,GAClC,CACH,CACkB,EAErBH,iBAAK,KAAK,EAAC,0CAA0C,EAAC,GAAG,EAAE,GAAG;QAC5D,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,cAAc,GAAG,GAAG,CAAA;SAC1B;OACF,IACCA,iBAAK,KAAK,EAAC,wBAAwB,mBAAS,EAC5CA,iBAAK,KAAK,EAAC,uBAAuB,GAAG,EACrCA,iBAAK,KAAK,EAAC,wBAAwB,IACjCA,iBAAK,KAAK,EAAC,gCAAgC,EAAC,GAAG,EAAE,GAAG;QAClD,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAA;SAC7B;OACF,IACCA,iBAAK,KAAK,EAAC,+BAA+B,IACvC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OACrBA,iBAAK,KAAK,EAAC,oCAAoC,GAAG,CACnD,CAAC,CACE,CACF,CACF,CACF,EAENA,iBAAK,KAAK,EAAC,4CAA4C,EAAC,GAAG,EAAE,GAAG;QAC9D,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAA;SAC5B;OACF,IACCA,iBAAK,KAAK,EAAC,wBAAwB,EAAC,GAAG,EAAE,GAAG;QAC1C,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAA;SACjC;OACF,GAAI,CACD,CACD,EACR;GACF;;;;;;;;;MCzrBU,UAAU;;;IACb,SAAI,GAAY,EAAE,CAAA;IAClB,gBAAW,GAA2B,EAAE,CAAA;IACxC,gBAAW,GAAG,CAAC,CAAA;kBAEN,KAAK;qBAEQ,EAAE;;EAEhC,gBAAgB,CAAE,KAAqB;IACrC,MAAM,WAAW,GAAG,kBAAK,KAAK,CAAW,CAAA;IACzC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,EAAE;MACtB,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;KACpC;IACD,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/B,WAAW,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA;IACjD,OAAO,WAAW,CAAA;GACnB;EAGD,MAAM,SAAS,CAAE,YAA+C,EAAE;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG;QACV,GAAG,IAAI,CAAC,IAAI;QACZ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;OACxD,CAAA;KACF;SAAM;MACL,MAAM,KAAK,GAAG,SAAS,CAAA;MACvB,IAAI,CAAC,IAAI,GAAG;QACV,GAAG,IAAI,CAAC,IAAI;0BACP,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;OAClC,CAAA;KACF;GACF;EAGD,MAAM,IAAI,CAAE,WAAmB;IAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAE9B,IAAI,CAAC,IAAI,CAAC,MAAM;MAAE,OAAM;IAExB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAA;;;;IAK3B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;MAC7C,OAAO,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,WAAW,GAAG,IAAI,CAAA;KACpD,CAAC,CAAA;IACF,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAA;IAEnC,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE;MAC/C,YAAY,GAAG,IAAI,CAAA;KACpB;SAAM;MACL,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;QACvC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK;UAC9B,OAAO,GAAG,KAAK,KAAK,CAAC,GAAG,CAAA;SACzB,CAAC,CAAA;OACH,CAAC,CAAA;KACH;IACD,IAAI,YAAY,EAAE;MAChB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAA;KAC9B;GACF;EAED,kBAAkB;IAChB,qBAAqB,CAAC;MACpB,UAAU,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC9C,WAAW,CAAC,OAAO,CAAC,KAAK;UACvB,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAA;UACtB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,mBAAmB,CAAA;UACjD,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAA;SAC5C,CAAC,CAAA;OACH,CAAC,CAAA;KACH,CAAC,CAAA;GACH;EAED,MAAM;IACJ,IAAI,CAAC,IAAI,CAAC,MAAM;MAAE,OAAO,EAAE,CAAA;IAE3B,QACEA,QAACC,UAAI,IAAC,KAAK,EAAC,kBAAkB,IAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAC/CD,eACE,KAAK,EAAC,uBAAuB,EAC7B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;QACL,KAAK;QACL,MAAM;OACP,EACD,GAAG,EAAE,GAAG;QACN,IAAI,GAAG,EAAE;UACP,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC3B;OACF,IAEA,IAAI,CACH,CACL,CAAC,CACG,EACR;GACF;;;;;;;","names":["h","Host","throttle","classNames"],"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\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"],"version":3}
|
|
1
|
+
{"file":"taro-video-control.taro-video-core.taro-video-danmu.entry.cjs.js","mappings":"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","names":["h","Host","throttle","classNames"],"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"],"version":3}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e1b469cd.js');
|
|
6
6
|
const index$1 = require('./index-f9d21cc5.js');
|
|
7
7
|
|
|
8
8
|
const 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}";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e1b469cd.js');
|
|
6
6
|
|
|
7
7
|
const indexCss = "iframe{border:none}.taro-webview{position:fixed;top:0;bottom:0;z-index:999;width:100%;height:100%}";
|
|
8
8
|
|
|
@@ -1,8 +1,43 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Host, h } from '@stencil/core';
|
|
2
|
+
function isEqualTag(a, b) {
|
|
3
|
+
return typeof a.tagName === 'undefined' ? a.nodeType === b.nodeType : a.tagName === b.tagName;
|
|
4
|
+
}
|
|
5
|
+
function parseChildNodes(items, targets) {
|
|
6
|
+
const list = Array.from(targets.values());
|
|
7
|
+
for (let i = 0, j = 0; i < list.length; i++, j++) {
|
|
8
|
+
const target = list[i];
|
|
9
|
+
let item = items.item(j);
|
|
10
|
+
while (item && !isEqualTag(item, target)) {
|
|
11
|
+
item.remove();
|
|
12
|
+
j++;
|
|
13
|
+
item = items.item(j);
|
|
14
|
+
}
|
|
15
|
+
if (item && !item.isEqualNode(target)) {
|
|
16
|
+
parseChildNodes(item.childNodes, target.childNodes);
|
|
17
|
+
}
|
|
18
|
+
while (i === list.length - 1 && j < items.length) {
|
|
19
|
+
j++;
|
|
20
|
+
item = items.item(j);
|
|
21
|
+
item === null || item === void 0 ? void 0 : item.remove();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
2
25
|
export class SwiperItem {
|
|
3
26
|
constructor() {
|
|
4
27
|
this.itemId = undefined;
|
|
5
28
|
}
|
|
29
|
+
componentDidRender() {
|
|
30
|
+
var _a, _b, _c;
|
|
31
|
+
const el = this.el;
|
|
32
|
+
if (el.classList.contains('swiper-slide-duplicate')) {
|
|
33
|
+
const list = Array
|
|
34
|
+
.from(((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.childNodes) === null || _b === void 0 ? void 0 : _b.values()) || [])
|
|
35
|
+
.filter((e) => e.tagName === 'TARO-SWIPER-ITEM-CORE');
|
|
36
|
+
if (list.length > 0) {
|
|
37
|
+
parseChildNodes(el.childNodes, (_c = list[list.indexOf(el) === 0 ? list.length - 2 : 1]) === null || _c === void 0 ? void 0 : _c.childNodes);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
6
41
|
render() {
|
|
7
42
|
return (h(Host, { class: 'swiper-slide', "item-id": this.itemId }));
|
|
8
43
|
}
|
|
@@ -28,5 +63,6 @@ export class SwiperItem {
|
|
|
28
63
|
}
|
|
29
64
|
};
|
|
30
65
|
}
|
|
66
|
+
static get elementRef() { return "el"; }
|
|
31
67
|
}
|
|
32
68
|
//# sourceMappingURL=swiper-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swiper-item.js","sourceRoot":"","sources":["../../../src/components/swiper/swiper-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"swiper-item.js","sourceRoot":"","sources":["../../../src/components/swiper/swiper-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAErF,SAAS,UAAU,CAAE,CAAU,EAAE,CAAU;EACzC,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;AAC/F,CAAC;AAED,SAAS,eAAe,CAAE,KAA4B,EAAE,OAA8B;EACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;EACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAY,CAAA;IACjC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;IACnC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;MACxC,IAAI,CAAC,MAAM,EAAE,CAAA;MACb,CAAC,EAAE,CAAA;MACH,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;KAChC;IACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;MACrC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;KACpD;IACD,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;MAChD,CAAC,EAAE,CAAA;MACH,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAA;MAC/B,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAA;KACf;GACF;AACH,CAAC;AAKD,MAAM,OAAO,UAAU;;;;EAKrB,kBAAkB;;IAChB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;IAElB,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;MACnD,MAAM,IAAI,GAAG,KAAK;SACf,IAAI,CAAC,CAAA,MAAA,MAAA,EAAE,CAAC,aAAa,0CAAE,UAAU,0CAAE,MAAM,EAAE,KAAI,EAAE,CAAC;SAClD,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,uBAAuB,CAAC,CAAA;MAChE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,eAAe,CACb,EAAE,CAAC,UAAU,EACb,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAAE,UAAU,CAC/D,CAAA;OACF;KACF;EACH,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,cAAc,aAAU,IAAI,CAAC,MAAM,GAAG,CACnD,CAAA;EACH,CAAC;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, ComponentInterface, Element, Host, h, Prop } from '@stencil/core'\n\nfunction isEqualTag (a: Element, b: Element) {\n return typeof a.tagName === 'undefined' ? a.nodeType === b.nodeType : a.tagName === b.tagName\n}\n\nfunction parseChildNodes (items: NodeListOf<ChildNode>, targets: NodeListOf<ChildNode>) {\n const list = Array.from(targets.values())\n for (let i = 0, j = 0; i < list.length; i++, j++) {\n const target = list[i] as Element\n let item = items.item(j) as Element\n while (item && !isEqualTag(item, target)) {\n item.remove()\n j++\n item = items.item(j) as Element\n }\n if (item && !item.isEqualNode(target)) {\n parseChildNodes(item.childNodes, target.childNodes)\n }\n while (i === list.length - 1 && j < items.length) {\n j++\n item = items.item(j) as Element\n item?.remove()\n }\n }\n}\n\n@Component({\n tag: 'taro-swiper-item-core'\n})\nexport class SwiperItem implements ComponentInterface {\n @Element() el: HTMLElement\n\n @Prop() itemId: string\n\n componentDidRender () {\n const el = this.el\n\n if (el.classList.contains('swiper-slide-duplicate')) {\n const list = Array\n .from(el.parentElement?.childNodes?.values() || [])\n .filter((e: Element) => e.tagName === 'TARO-SWIPER-ITEM-CORE')\n if (list.length > 0) {\n parseChildNodes(\n el.childNodes,\n list[list.indexOf(el) === 0 ? list.length - 2 : 1]?.childNodes\n )\n }\n }\n }\n\n render () {\n return (\n <Host class='swiper-slide' item-id={this.itemId}/>\n )\n }\n}\n"]}
|
|
@@ -28,11 +28,9 @@ export class Swiper {
|
|
|
28
28
|
this.handleSwiperLoop = debounce(() => {
|
|
29
29
|
if (this.swiper && this.circular) {
|
|
30
30
|
// @ts-ignore
|
|
31
|
-
this.swiper.
|
|
32
|
-
// @ts-ignore
|
|
33
|
-
this.swiper.loopCreate();
|
|
31
|
+
this.swiper.loopFix();
|
|
34
32
|
}
|
|
35
|
-
},
|
|
33
|
+
}, 50);
|
|
36
34
|
this.handleSwiperSize = debounce(() => {
|
|
37
35
|
if (this.swiper && !this.circular) {
|
|
38
36
|
this.swiper.updateSlides();
|
|
@@ -133,6 +131,12 @@ export class Swiper {
|
|
|
133
131
|
this.handleInit();
|
|
134
132
|
}
|
|
135
133
|
}
|
|
134
|
+
watchDisplayMultipleItems() {
|
|
135
|
+
if (this.swiper) {
|
|
136
|
+
this.swiper.destroy();
|
|
137
|
+
this.handleInit();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
136
140
|
componentWillLoad() {
|
|
137
141
|
this.isWillLoadCalled = true;
|
|
138
142
|
}
|
|
@@ -189,7 +193,7 @@ export class Swiper {
|
|
|
189
193
|
slideChangeTransitionStart(_swiper) {
|
|
190
194
|
if (that.circular) {
|
|
191
195
|
if (_swiper.isBeginning || _swiper.isEnd) {
|
|
192
|
-
_swiper.slideToLoop(this.realIndex, 0)
|
|
196
|
+
// _swiper.slideToLoop(this.realIndex, 0, false) // 更新下标
|
|
193
197
|
return;
|
|
194
198
|
}
|
|
195
199
|
}
|
|
@@ -588,6 +592,9 @@ export class Swiper {
|
|
|
588
592
|
}, {
|
|
589
593
|
"propName": "circular",
|
|
590
594
|
"methodName": "watchCircular"
|
|
595
|
+
}, {
|
|
596
|
+
"propName": "displayMultipleItems",
|
|
597
|
+
"methodName": "watchDisplayMultipleItems"
|
|
591
598
|
}];
|
|
592
599
|
}
|
|
593
600
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swiper.js","sourceRoot":"","sources":["../../../src/components/swiper/swiper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Watch, Host, Element, State } from '@stencil/core'\nimport classNames from 'classnames'\nimport type ISwiper from 'swiper'\nimport SwiperJS from 'swiper/swiper-bundle.esm.js'\n\nimport { debounce } from '../../utils'\n\nlet INSTANCE_ID = 0\n\n@Component({\n tag: 'taro-swiper-core',\n styleUrls: [\n './style/index.scss'\n ]\n})\nexport class Swiper implements ComponentInterface {\n private _id = INSTANCE_ID++\n\n @Element() el: HTMLElement\n @State() swiperWrapper: HTMLElement | null\n @State() private swiper: ISwiper\n @State() isWillLoadCalled = false\n /**\n * 是否显示面板指示点\n */\n @Prop() indicatorDots = false\n\n /**\n * 指示点颜色\n */\n @Prop() indicatorColor = 'rgba(0, 0, 0, .3)'\n\n /**\n * 当前选中的指示点颜色\n */\n @Prop() indicatorActiveColor = '#000000'\n\n /**\n * 是否自动切换\n */\n @Prop() autoplay = false\n\n /**\n * 当前所在滑块的 index\n */\n @Prop() current = 0\n\n /**\n * 自动切换时间间隔\n */\n @Prop() interval = 5000\n\n /**\n * 滑动动画时长\n */\n @Prop() duration = 500\n\n /**\n * 是否采用衔接滑动\n */\n @Prop() circular = false\n\n /**\n * 滑动方向是否为纵向\n */\n @Prop() vertical = false\n\n /**\n * 前边距,可用于露出前一项的一小部分,接受 px 值\n */\n @Prop() previousMargin = '0px'\n\n /**\n * 后边距,可用于露出后一项的一小部分,接受 px 值\n */\n @Prop() nextMargin = '0px'\n\n /**\n * 同时显示的滑块数量\n */\n @Prop() displayMultipleItems = 1\n\n /**\n * 给 previewImage API 使用,全屏显示 swiper\n */\n @Prop() full = false\n\n /**\n * 给 previewImage API 使用,缩放支持\n */\n @Prop() zoom = false\n\n @Event({\n eventName: 'change'\n }) onChange: EventEmitter\n\n @Event({\n eventName: 'animationfinish'\n }) onAnimationFinish: EventEmitter\n\n @Watch('current')\n watchCurrent (newVal) {\n if (!this.isWillLoadCalled) return\n\n const n = parseInt(newVal, 10)\n if (isNaN(n)) return\n\n if (this.circular) {\n if (!this.swiper.isBeginning && !this.swiper.isEnd) {\n this.swiper.slideToLoop(n) // 更新下标\n }\n } else {\n this.swiper.slideTo(n) // 更新下标\n }\n }\n\n @Watch('autoplay')\n watchAutoplay (newVal) {\n if (!this.isWillLoadCalled || !this.swiper) return\n\n const swiperAutoplay = this.swiper.autoplay\n if (swiperAutoplay) {\n if (swiperAutoplay.running === newVal) return\n \n if (newVal) {\n if (this.swiper.params && typeof this.swiper.params.autoplay === 'object') {\n if (this.swiper.params.autoplay.disableOnInteraction === true) {\n this.swiper.params.autoplay.disableOnInteraction = false\n }\n this.swiper.params.autoplay.delay = this.interval\n }\n swiperAutoplay.start()\n } else {\n swiperAutoplay.stop()\n }\n }\n }\n\n @Watch('duration')\n watchDuration (newVal) {\n if (!this.isWillLoadCalled) return\n this.swiper.params.speed = newVal\n }\n\n @Watch('interval')\n watchInterval (newVal) {\n if (!this.isWillLoadCalled) return\n\n if (typeof this.swiper.params.autoplay === 'object') {\n this.swiper.params.autoplay.delay = newVal\n }\n }\n\n @Watch('swiperWrapper')\n watchSwiperWrapper (newVal?: HTMLElement) {\n if (!this.isWillLoadCalled) return\n if (!newVal) return\n this.el.appendChild = <T extends Node>(newChild: T): T => {\n return newVal.appendChild(newChild)\n }\n this.el.insertBefore = <T extends Node>(newChild: T, refChild: Node | null): T => {\n return newVal.insertBefore(newChild, refChild)\n }\n this.el.replaceChild = <T extends Node>(newChild: Node, oldChild: T): T => {\n return newVal.replaceChild(newChild, oldChild)\n }\n this.el.removeChild = <T extends Node>(oldChild: T): T => {\n return newVal.removeChild(oldChild)\n }\n this.el.addEventListener('DOMNodeInserted', this.handleSwiperSize)\n this.el.addEventListener('DOMNodeRemoved', this.handleSwiperSize)\n }\n\n @Watch(\"circular\")\n watchCircular () {\n if (this.swiper) {\n this.swiper.destroy()\n this.handleInit()\n }\n }\n\n @State() observer: MutationObserver\n @State() observerFirst: MutationObserver\n @State() observerLast: MutationObserver\n\n componentWillLoad () {\n this.isWillLoadCalled = true\n }\n\n componentDidLoad () {\n this.handleInit()\n if (!this.swiper || !this.circular) return\n\n const wrapper = this.swiper.$wrapperEl?.[0]\n this.observer = new MutationObserver(this.handleSwiperLoopListen)\n\n this.observer.observe(wrapper, {\n childList: true\n })\n }\n\n componentWillUpdate () {\n if (!this.swiper) return\n if (this.autoplay && !this.swiper.autoplay?.running) {\n this.swiper.autoplay?.start()\n }\n this.swiper.update() // 更新子元素\n }\n\n componentDidRender () {\n this.handleSwiperLoop()\n }\n\n disconnectedCallback () {\n this.el.removeEventListener('DOMNodeInserted', this.handleSwiperSize)\n this.el.removeEventListener('DOMNodeRemoved', this.handleSwiperSize)\n this.observer?.disconnect?.()\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n }\n\n handleSwiperLoopListen = () => {\n this.observerFirst?.disconnect && this.observerFirst.disconnect()\n this.observerLast?.disconnect && this.observerLast.disconnect()\n this.observerFirst = new MutationObserver(this.handleSwiperLoop)\n this.observerLast = new MutationObserver(this.handleSwiperLoop)\n const wrapper = this.swiper.$wrapperEl?.[0]\n const list = wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)')\n if (list.length >= 1) {\n this.observerFirst.observe(list[0], {\n characterData: true\n })\n } else if (list.length >= 2) {\n this.observerLast.observe(list[list.length - 1], {\n characterData: true\n })\n }\n }\n\n handleSwiperLoop = debounce(() => {\n if (this.swiper && this.circular) {\n // @ts-ignore\n this.swiper.loopDestroy()\n // @ts-ignore\n this.swiper.loopCreate()\n }\n }, 500)\n\n handleSwiperSize = debounce(() => {\n if (this.swiper && !this.circular) {\n this.swiper.updateSlides()\n }\n }, 50)\n\n handleInit () {\n const {\n autoplay,\n circular,\n current,\n displayMultipleItems,\n duration,\n interval,\n vertical\n } = this\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this\n\n const options: any = {\n pagination: { el: `.taro-swiper-${this._id} > .swiper-container > .swiper-pagination` },\n direction: vertical ? 'vertical' : 'horizontal',\n loop: circular,\n slidesPerView: displayMultipleItems,\n initialSlide: current,\n speed: duration,\n observer: true,\n observeParents: true,\n zoom: this.zoom,\n on: {\n slideTo () {\n that.current = this.realIndex\n },\n // slideChange 事件在 swiper.slideTo 改写 current 时不触发,因此用 slideChangeTransitionStart 事件代替\n slideChangeTransitionStart (_swiper: ISwiper) {\n if (that.circular) {\n if (_swiper.isBeginning || _swiper.isEnd) {\n _swiper.slideToLoop(this.realIndex, 0) // 更新下标\n return\n }\n }\n that.onChange.emit({\n current: this.realIndex,\n source: ''\n })\n },\n transitionEnd () {\n that.onAnimationFinish.emit({\n current: this.realIndex,\n source: ''\n })\n },\n observerUpdate (_swiper: ISwiper, e) {\n const target = e.target\n const className = target && typeof target.className === 'string' ? target.className : ''\n if (className.includes('taro_page') && target.style.display !== 'none') {\n if (that.autoplay && target.contains(_swiper.$el[0])) {\n if (that.circular) {\n _swiper.slideToLoop(this.realIndex, 0) // 更新下标\n } else {\n _swiper.slideTo(this.realIndex)\n }\n }\n }\n }\n }\n }\n\n // 自动播放\n if (autoplay) {\n options.autoplay = {\n delay: interval,\n disableOnInteraction: false\n }\n }\n\n this.swiper = new SwiperJS(`.taro-swiper-${this._id} > .swiper-container`, options)\n this.swiperWrapper = this.el.querySelector(`.taro-swiper-${this._id} > .swiper-container > .swiper-wrapper`)\n }\n\n render () {\n const {\n vertical,\n indicatorDots,\n indicatorColor,\n indicatorActiveColor\n } = this\n\n const hostStyle: Record<string, string> = { overflow: 'hidden' }\n const style: Record<string, string> = { overflow: 'visible' }\n if (this.full) {\n hostStyle.height = '100%'\n style.height = '100%'\n }\n\n const [, previousMargin] = /^(\\d+)px/.exec(this.previousMargin) || []\n const [, nextMargin] = /^(\\d+)px/.exec(this.nextMargin) || []\n const pM = parseInt(previousMargin) || 0\n const nM = parseInt(nextMargin) || 0\n if (vertical) {\n style.marginTop = `${pM}px`\n style.marginBottom = `${nM}px`\n } else {\n style.marginRight = `${nM}px`\n style.marginLeft = `${pM}px`\n }\n\n return (\n <Host class={`taro-swiper-${this._id}`} style={hostStyle}>\n <div class='swiper-container' style={style}>\n <style type='text/css'>\n {`\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet { background: ${indicatorColor} }\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet-active { background: ${indicatorActiveColor} }\n `}\n </style>\n <div class='swiper-wrapper'>\n <slot />\n </div>\n <div class={classNames('swiper-pagination',\n {\n 'swiper-pagination-hidden': !indicatorDots,\n 'swiper-pagination-bullets': indicatorDots\n }\n )} />\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"swiper.js","sourceRoot":"","sources":["../../../src/components/swiper/swiper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Watch, Host, Element, State } from '@stencil/core'\nimport classNames from 'classnames'\nimport type ISwiper from 'swiper'\nimport SwiperJS from 'swiper/swiper-bundle.esm.js'\n\nimport { debounce } from '../../utils'\n\nlet INSTANCE_ID = 0\n\n@Component({\n tag: 'taro-swiper-core',\n styleUrls: [\n './style/index.scss'\n ]\n})\nexport class Swiper implements ComponentInterface {\n private _id = INSTANCE_ID++\n\n @Element() el: HTMLElement\n @State() swiperWrapper: HTMLElement | null\n @State() private swiper: ISwiper\n @State() isWillLoadCalled = false\n /**\n * 是否显示面板指示点\n */\n @Prop() indicatorDots = false\n\n /**\n * 指示点颜色\n */\n @Prop() indicatorColor = 'rgba(0, 0, 0, .3)'\n\n /**\n * 当前选中的指示点颜色\n */\n @Prop() indicatorActiveColor = '#000000'\n\n /**\n * 是否自动切换\n */\n @Prop() autoplay = false\n\n /**\n * 当前所在滑块的 index\n */\n @Prop() current = 0\n\n /**\n * 自动切换时间间隔\n */\n @Prop() interval = 5000\n\n /**\n * 滑动动画时长\n */\n @Prop() duration = 500\n\n /**\n * 是否采用衔接滑动\n */\n @Prop() circular = false\n\n /**\n * 滑动方向是否为纵向\n */\n @Prop() vertical = false\n\n /**\n * 前边距,可用于露出前一项的一小部分,接受 px 值\n */\n @Prop() previousMargin = '0px'\n\n /**\n * 后边距,可用于露出后一项的一小部分,接受 px 值\n */\n @Prop() nextMargin = '0px'\n\n /**\n * 同时显示的滑块数量\n */\n @Prop() displayMultipleItems = 1\n\n /**\n * 给 previewImage API 使用,全屏显示 swiper\n */\n @Prop() full = false\n\n /**\n * 给 previewImage API 使用,缩放支持\n */\n @Prop() zoom = false\n\n @Event({\n eventName: 'change'\n }) onChange: EventEmitter\n\n @Event({\n eventName: 'animationfinish'\n }) onAnimationFinish: EventEmitter\n\n @Watch('current')\n watchCurrent (newVal) {\n if (!this.isWillLoadCalled) return\n\n const n = parseInt(newVal, 10)\n if (isNaN(n)) return\n\n if (this.circular) {\n if (!this.swiper.isBeginning && !this.swiper.isEnd) {\n this.swiper.slideToLoop(n) // 更新下标\n }\n } else {\n this.swiper.slideTo(n) // 更新下标\n }\n }\n\n @Watch('autoplay')\n watchAutoplay (newVal) {\n if (!this.isWillLoadCalled || !this.swiper) return\n\n const swiperAutoplay = this.swiper.autoplay\n if (swiperAutoplay) {\n if (swiperAutoplay.running === newVal) return\n\n if (newVal) {\n if (this.swiper.params && typeof this.swiper.params.autoplay === 'object') {\n if (this.swiper.params.autoplay.disableOnInteraction === true) {\n this.swiper.params.autoplay.disableOnInteraction = false\n }\n this.swiper.params.autoplay.delay = this.interval\n }\n swiperAutoplay.start()\n } else {\n swiperAutoplay.stop()\n }\n }\n }\n\n @Watch('duration')\n watchDuration (newVal) {\n if (!this.isWillLoadCalled) return\n this.swiper.params.speed = newVal\n }\n\n @Watch('interval')\n watchInterval (newVal) {\n if (!this.isWillLoadCalled) return\n\n if (typeof this.swiper.params.autoplay === 'object') {\n this.swiper.params.autoplay.delay = newVal\n }\n }\n\n @Watch('swiperWrapper')\n watchSwiperWrapper (newVal?: HTMLElement) {\n if (!this.isWillLoadCalled) return\n if (!newVal) return\n this.el.appendChild = <T extends Node>(newChild: T): T => {\n return newVal.appendChild(newChild)\n }\n this.el.insertBefore = <T extends Node>(newChild: T, refChild: Node | null): T => {\n return newVal.insertBefore(newChild, refChild)\n }\n this.el.replaceChild = <T extends Node>(newChild: Node, oldChild: T): T => {\n return newVal.replaceChild(newChild, oldChild)\n }\n this.el.removeChild = <T extends Node>(oldChild: T): T => {\n return newVal.removeChild(oldChild)\n }\n this.el.addEventListener('DOMNodeInserted', this.handleSwiperSize)\n this.el.addEventListener('DOMNodeRemoved', this.handleSwiperSize)\n }\n\n @Watch(\"circular\")\n watchCircular () {\n if (this.swiper) {\n this.swiper.destroy()\n this.handleInit()\n }\n }\n\n @Watch(\"displayMultipleItems\")\n watchDisplayMultipleItems () {\n if (this.swiper) {\n this.swiper.destroy()\n this.handleInit()\n }\n }\n\n @State() observer: MutationObserver\n @State() observerFirst: MutationObserver\n @State() observerLast: MutationObserver\n\n componentWillLoad () {\n this.isWillLoadCalled = true\n }\n\n componentDidLoad () {\n this.handleInit()\n if (!this.swiper || !this.circular) return\n\n const wrapper = this.swiper.$wrapperEl?.[0]\n this.observer = new MutationObserver(this.handleSwiperLoopListen)\n\n this.observer.observe(wrapper, {\n childList: true\n })\n }\n\n componentWillUpdate () {\n if (!this.swiper) return\n if (this.autoplay && !this.swiper.autoplay?.running) {\n this.swiper.autoplay?.start()\n }\n this.swiper.update() // 更新子元素\n }\n\n componentDidRender () {\n this.handleSwiperLoop()\n }\n\n disconnectedCallback () {\n this.el.removeEventListener('DOMNodeInserted', this.handleSwiperSize)\n this.el.removeEventListener('DOMNodeRemoved', this.handleSwiperSize)\n this.observer?.disconnect?.()\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n }\n\n handleSwiperLoopListen = () => {\n this.observerFirst?.disconnect && this.observerFirst.disconnect()\n this.observerLast?.disconnect && this.observerLast.disconnect()\n this.observerFirst = new MutationObserver(this.handleSwiperLoop)\n this.observerLast = new MutationObserver(this.handleSwiperLoop)\n const wrapper = this.swiper.$wrapperEl?.[0]\n const list = wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)')\n if (list.length >= 1) {\n this.observerFirst.observe(list[0], {\n characterData: true\n })\n } else if (list.length >= 2) {\n this.observerLast.observe(list[list.length - 1], {\n characterData: true\n })\n }\n }\n\n handleSwiperLoop = debounce(() => {\n if (this.swiper && this.circular) {\n // @ts-ignore\n this.swiper.loopFix()\n }\n }, 50)\n\n handleSwiperSize = debounce(() => {\n if (this.swiper && !this.circular) {\n this.swiper.updateSlides()\n }\n }, 50)\n\n handleInit () {\n const {\n autoplay,\n circular,\n current,\n displayMultipleItems,\n duration,\n interval,\n vertical\n } = this\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this\n\n const options: any = {\n pagination: { el: `.taro-swiper-${this._id} > .swiper-container > .swiper-pagination` },\n direction: vertical ? 'vertical' : 'horizontal',\n loop: circular,\n slidesPerView: displayMultipleItems,\n initialSlide: current,\n speed: duration,\n observer: true,\n observeParents: true,\n zoom: this.zoom,\n on: {\n slideTo () {\n that.current = this.realIndex\n },\n // slideChange 事件在 swiper.slideTo 改写 current 时不触发,因此用 slideChangeTransitionStart 事件代替\n slideChangeTransitionStart (_swiper: ISwiper) {\n if (that.circular) {\n if (_swiper.isBeginning || _swiper.isEnd) {\n // _swiper.slideToLoop(this.realIndex, 0, false) // 更新下标\n return\n }\n }\n that.onChange.emit({\n current: this.realIndex,\n source: ''\n })\n },\n transitionEnd () {\n that.onAnimationFinish.emit({\n current: this.realIndex,\n source: ''\n })\n },\n observerUpdate (_swiper: ISwiper, e) {\n const target = e.target\n const className = target && typeof target.className === 'string' ? target.className : ''\n if (className.includes('taro_page') && target.style.display !== 'none') {\n if (that.autoplay && target.contains(_swiper.$el[0])) {\n if (that.circular) {\n _swiper.slideToLoop(this.realIndex, 0) // 更新下标\n } else {\n _swiper.slideTo(this.realIndex)\n }\n }\n }\n }\n }\n }\n\n // 自动播放\n if (autoplay) {\n options.autoplay = {\n delay: interval,\n disableOnInteraction: false\n }\n }\n\n this.swiper = new SwiperJS(`.taro-swiper-${this._id} > .swiper-container`, options)\n this.swiperWrapper = this.el.querySelector(`.taro-swiper-${this._id} > .swiper-container > .swiper-wrapper`)\n }\n\n render () {\n const {\n vertical,\n indicatorDots,\n indicatorColor,\n indicatorActiveColor\n } = this\n\n const hostStyle: Record<string, string> = { overflow: 'hidden' }\n const style: Record<string, string> = { overflow: 'visible' }\n if (this.full) {\n hostStyle.height = '100%'\n style.height = '100%'\n }\n\n const [, previousMargin] = /^(\\d+)px/.exec(this.previousMargin) || []\n const [, nextMargin] = /^(\\d+)px/.exec(this.nextMargin) || []\n const pM = parseInt(previousMargin) || 0\n const nM = parseInt(nextMargin) || 0\n if (vertical) {\n style.marginTop = `${pM}px`\n style.marginBottom = `${nM}px`\n } else {\n style.marginRight = `${nM}px`\n style.marginLeft = `${pM}px`\n }\n\n return (\n <Host class={`taro-swiper-${this._id}`} style={hostStyle}>\n <div class='swiper-container' style={style}>\n <style type='text/css'>\n {`\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet { background: ${indicatorColor} }\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet-active { background: ${indicatorActiveColor} }\n `}\n </style>\n <div class='swiper-wrapper'>\n <slot />\n </div>\n <div class={classNames('swiper-pagination',\n {\n 'swiper-pagination-hidden': !indicatorDots,\n 'swiper-pagination-bullets': indicatorDots\n }\n )} />\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import { h } from '@stencil/core';
|
|
3
|
-
|
|
3
|
+
import Taro from '@tarojs/taro';
|
|
4
|
+
import { isVisible } from '../../utils';
|
|
5
|
+
export const TabbarItem = ({ index, isSelected = false, textColor, iconPath, badgeText, showRedDot = false, pagePath, text, onSelect }) => {
|
|
4
6
|
const className = classNames('weui-tabbar__item', {
|
|
5
7
|
'weui-bar__item_on': isSelected
|
|
6
8
|
});
|
|
@@ -15,6 +17,10 @@ export const TabbarItem = ({ index, isSelected = false, textColor, iconPath, bad
|
|
|
15
17
|
right: '-6px'
|
|
16
18
|
};
|
|
17
19
|
function onClick() {
|
|
20
|
+
const page = Taro.getCurrentPages().shift();
|
|
21
|
+
if (typeof (page === null || page === void 0 ? void 0 : page.onTabItemTap) === 'function' && isVisible(this)) {
|
|
22
|
+
page.onTabItemTap({ index, pagePath, text });
|
|
23
|
+
}
|
|
18
24
|
onSelect(index);
|
|
19
25
|
}
|
|
20
26
|
return (h("a", { key: index, href: 'javascript:;', class: className, onClick: onClick }, h("span", { style: { display: 'inline-block', position: 'relative' } }, h("img", { src: iconPath, alt: '', class: 'weui-tabbar__icon' }), !!badgeText && (h("span", { class: 'weui-badge taro-tabbar-badge', style: badgeStyle }, badgeText)), showRedDot && (h("span", { class: 'weui-badge weui-badge_dot', style: dotStyle }))), h("p", { class: 'weui-tabbar__label', style: { color: textColor } }, text)));
|