@tarojs/components 4.0.4 → 4.0.5-alpha.1

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.
Files changed (508) hide show
  1. package/dist/cjs/{index-09efe07d.js → index-a7069008.js} +0 -5
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/taro-ad-core.cjs.entry.js +1 -1
  4. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +1 -1
  5. package/dist/cjs/taro-animation-video-core.cjs.entry.js +1 -1
  6. package/dist/cjs/taro-animation-view-core.cjs.entry.js +1 -1
  7. package/dist/cjs/taro-ar-camera-core.cjs.entry.js +1 -1
  8. package/dist/cjs/taro-audio-core.cjs.entry.js +1 -1
  9. package/dist/cjs/taro-aweme-data-core.cjs.entry.js +1 -1
  10. package/dist/cjs/taro-block-core.cjs.entry.js +1 -1
  11. package/dist/cjs/taro-button-core.cjs.entry.js +1 -1
  12. package/dist/cjs/taro-camera-core.cjs.entry.js +1 -1
  13. package/dist/cjs/taro-canvas-core.cjs.entry.js +1 -1
  14. package/dist/cjs/taro-channel-live-core.cjs.entry.js +1 -1
  15. package/dist/cjs/taro-channel-video-core.cjs.entry.js +1 -1
  16. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +1 -1
  17. package/dist/cjs/taro-comment-detail-core.cjs.entry.js +1 -1
  18. package/dist/cjs/taro-comment-list-core.cjs.entry.js +1 -1
  19. package/dist/cjs/taro-components.cjs.js +2 -2
  20. package/dist/cjs/taro-contact-button-core.cjs.entry.js +1 -1
  21. package/dist/cjs/taro-cover-image-core.cjs.entry.js +1 -1
  22. package/dist/cjs/taro-cover-view-core.cjs.entry.js +1 -1
  23. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +1 -1
  24. package/dist/cjs/taro-draggable-sheet-core.cjs.entry.js +1 -1
  25. package/dist/cjs/taro-editor-core.cjs.entry.js +1 -1
  26. package/dist/cjs/taro-follow-swan-core.cjs.entry.js +1 -1
  27. package/dist/cjs/taro-form-core.cjs.entry.js +1 -1
  28. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +1 -1
  29. package/dist/cjs/taro-grid-builder-core.cjs.entry.js +1 -1
  30. package/dist/cjs/taro-grid-view-core.cjs.entry.js +1 -1
  31. package/dist/cjs/taro-icon-core.cjs.entry.js +1 -1
  32. package/dist/cjs/taro-image-core.cjs.entry.js +1 -1
  33. package/dist/cjs/taro-inline-payment-panel-core.cjs.entry.js +1 -1
  34. package/dist/cjs/taro-input-core.cjs.entry.js +1 -1
  35. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +1 -1
  36. package/dist/cjs/taro-label-core.cjs.entry.js +1 -1
  37. package/dist/cjs/taro-lifestyle-core.cjs.entry.js +1 -1
  38. package/dist/cjs/taro-like-core.cjs.entry.js +1 -1
  39. package/dist/cjs/taro-list-builder-core.cjs.entry.js +1 -1
  40. package/dist/cjs/taro-list-view-core.cjs.entry.js +1 -1
  41. package/dist/cjs/taro-live-player-core.cjs.entry.js +1 -1
  42. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +1 -1
  43. package/dist/cjs/taro-login-core.cjs.entry.js +1 -1
  44. package/dist/cjs/taro-lottie-core.cjs.entry.js +1 -1
  45. package/dist/cjs/taro-map-core.cjs.entry.js +1 -1
  46. package/dist/cjs/taro-match-media-core.cjs.entry.js +1 -1
  47. package/dist/cjs/taro-movable-area-core_2.cjs.entry.js +1 -1
  48. package/dist/cjs/taro-native-slot-core.cjs.entry.js +1 -1
  49. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +1 -1
  50. package/dist/cjs/taro-navigator-core.cjs.entry.js +1 -1
  51. package/dist/cjs/taro-nested-scroll-body-core.cjs.entry.js +1 -1
  52. package/dist/cjs/taro-nested-scroll-header-core.cjs.entry.js +1 -1
  53. package/dist/cjs/taro-official-account-core.cjs.entry.js +1 -1
  54. package/dist/cjs/taro-open-container-core.cjs.entry.js +1 -1
  55. package/dist/cjs/taro-open-data-core.cjs.entry.js +1 -1
  56. package/dist/cjs/taro-page-container-core.cjs.entry.js +1 -1
  57. package/dist/cjs/taro-page-meta-core.cjs.entry.js +1 -1
  58. package/dist/cjs/taro-picker-core_2.cjs.entry.js +1 -1
  59. package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js +1 -1
  60. package/dist/cjs/taro-progress-core.cjs.entry.js +1 -1
  61. package/dist/cjs/taro-pull-to-refresh-core.cjs.entry.js +1 -1
  62. package/dist/cjs/taro-radio-core_2.cjs.entry.js +1 -1
  63. package/dist/cjs/taro-rich-text-core.cjs.entry.js +1 -1
  64. package/dist/cjs/taro-root-portal-core.cjs.entry.js +1 -1
  65. package/dist/cjs/taro-rtc-room-core.cjs.entry.js +1 -1
  66. package/dist/cjs/taro-rtc-room-item-core.cjs.entry.js +1 -1
  67. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +1 -1
  68. package/dist/cjs/taro-share-element-core.cjs.entry.js +1 -1
  69. package/dist/cjs/taro-slider-core.cjs.entry.js +1 -1
  70. package/dist/cjs/taro-slot-core.cjs.entry.js +1 -1
  71. package/dist/cjs/taro-snapshot-core.cjs.entry.js +1 -1
  72. package/dist/cjs/taro-span-core.cjs.entry.js +1 -1
  73. package/dist/cjs/taro-sticky-header-core.cjs.entry.js +1 -1
  74. package/dist/cjs/taro-sticky-section-core.cjs.entry.js +1 -1
  75. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +205 -220
  76. package/dist/cjs/taro-switch-core.cjs.entry.js +1 -1
  77. package/dist/cjs/taro-tab-item-core.cjs.entry.js +1 -1
  78. package/dist/cjs/taro-tabbar.cjs.entry.js +1 -1
  79. package/dist/cjs/taro-tabs-core.cjs.entry.js +1 -1
  80. package/dist/cjs/taro-text-core.cjs.entry.js +1 -1
  81. package/dist/cjs/taro-textarea-core.cjs.entry.js +1 -1
  82. package/dist/cjs/taro-video-control_3.cjs.entry.js +1 -1
  83. package/dist/cjs/taro-view-core.cjs.entry.js +1 -1
  84. package/dist/cjs/taro-voip-room-core.cjs.entry.js +1 -1
  85. package/dist/cjs/taro-web-view-core.cjs.entry.js +1 -1
  86. package/dist/collection/components/swiper/style/index.css +4 -16
  87. package/dist/collection/components/swiper/swiper-item.js +7 -84
  88. package/dist/collection/components/swiper/swiper.js +217 -178
  89. package/dist/components/taro-swiper-core.js +199 -179
  90. package/dist/components/taro-swiper-item-core.js +8 -47
  91. package/dist/esm/{index-9924aee9.js → index-5e431bb8.js} +0 -5
  92. package/dist/esm/loader.js +3 -3
  93. package/dist/esm/taro-ad-core.entry.js +1 -1
  94. package/dist/esm/taro-ad-custom-core.entry.js +1 -1
  95. package/dist/esm/taro-animation-video-core.entry.js +1 -1
  96. package/dist/esm/taro-animation-view-core.entry.js +1 -1
  97. package/dist/esm/taro-ar-camera-core.entry.js +1 -1
  98. package/dist/esm/taro-audio-core.entry.js +1 -1
  99. package/dist/esm/taro-aweme-data-core.entry.js +1 -1
  100. package/dist/esm/taro-block-core.entry.js +1 -1
  101. package/dist/esm/taro-button-core.entry.js +1 -1
  102. package/dist/esm/taro-camera-core.entry.js +1 -1
  103. package/dist/esm/taro-canvas-core.entry.js +1 -1
  104. package/dist/esm/taro-channel-live-core.entry.js +1 -1
  105. package/dist/esm/taro-channel-video-core.entry.js +1 -1
  106. package/dist/esm/taro-checkbox-core_2.entry.js +1 -1
  107. package/dist/esm/taro-comment-detail-core.entry.js +1 -1
  108. package/dist/esm/taro-comment-list-core.entry.js +1 -1
  109. package/dist/esm/taro-components.js +3 -3
  110. package/dist/esm/taro-contact-button-core.entry.js +1 -1
  111. package/dist/esm/taro-cover-image-core.entry.js +1 -1
  112. package/dist/esm/taro-cover-view-core.entry.js +1 -1
  113. package/dist/esm/taro-custom-wrapper-core.entry.js +1 -1
  114. package/dist/esm/taro-draggable-sheet-core.entry.js +1 -1
  115. package/dist/esm/taro-editor-core.entry.js +1 -1
  116. package/dist/esm/taro-follow-swan-core.entry.js +1 -1
  117. package/dist/esm/taro-form-core.entry.js +1 -1
  118. package/dist/esm/taro-functional-page-navigator-core.entry.js +1 -1
  119. package/dist/esm/taro-grid-builder-core.entry.js +1 -1
  120. package/dist/esm/taro-grid-view-core.entry.js +1 -1
  121. package/dist/esm/taro-icon-core.entry.js +1 -1
  122. package/dist/esm/taro-image-core.entry.js +1 -1
  123. package/dist/esm/taro-inline-payment-panel-core.entry.js +1 -1
  124. package/dist/esm/taro-input-core.entry.js +1 -1
  125. package/dist/esm/taro-keyboard-accessory-core.entry.js +1 -1
  126. package/dist/esm/taro-label-core.entry.js +1 -1
  127. package/dist/esm/taro-lifestyle-core.entry.js +1 -1
  128. package/dist/esm/taro-like-core.entry.js +1 -1
  129. package/dist/esm/taro-list-builder-core.entry.js +1 -1
  130. package/dist/esm/taro-list-view-core.entry.js +1 -1
  131. package/dist/esm/taro-live-player-core.entry.js +1 -1
  132. package/dist/esm/taro-live-pusher-core.entry.js +1 -1
  133. package/dist/esm/taro-login-core.entry.js +1 -1
  134. package/dist/esm/taro-lottie-core.entry.js +1 -1
  135. package/dist/esm/taro-map-core.entry.js +1 -1
  136. package/dist/esm/taro-match-media-core.entry.js +1 -1
  137. package/dist/esm/taro-movable-area-core_2.entry.js +1 -1
  138. package/dist/esm/taro-native-slot-core.entry.js +1 -1
  139. package/dist/esm/taro-navigation-bar-core.entry.js +1 -1
  140. package/dist/esm/taro-navigator-core.entry.js +1 -1
  141. package/dist/esm/taro-nested-scroll-body-core.entry.js +1 -1
  142. package/dist/esm/taro-nested-scroll-header-core.entry.js +1 -1
  143. package/dist/esm/taro-official-account-core.entry.js +1 -1
  144. package/dist/esm/taro-open-container-core.entry.js +1 -1
  145. package/dist/esm/taro-open-data-core.entry.js +1 -1
  146. package/dist/esm/taro-page-container-core.entry.js +1 -1
  147. package/dist/esm/taro-page-meta-core.entry.js +1 -1
  148. package/dist/esm/taro-picker-core_2.entry.js +1 -1
  149. package/dist/esm/taro-picker-view-column-core_2.entry.js +1 -1
  150. package/dist/esm/taro-progress-core.entry.js +1 -1
  151. package/dist/esm/taro-pull-to-refresh-core.entry.js +1 -1
  152. package/dist/esm/taro-radio-core_2.entry.js +1 -1
  153. package/dist/esm/taro-rich-text-core.entry.js +1 -1
  154. package/dist/esm/taro-root-portal-core.entry.js +1 -1
  155. package/dist/esm/taro-rtc-room-core.entry.js +1 -1
  156. package/dist/esm/taro-rtc-room-item-core.entry.js +1 -1
  157. package/dist/esm/taro-scroll-view-core.entry.js +1 -1
  158. package/dist/esm/taro-share-element-core.entry.js +1 -1
  159. package/dist/esm/taro-slider-core.entry.js +1 -1
  160. package/dist/esm/taro-slot-core.entry.js +1 -1
  161. package/dist/esm/taro-snapshot-core.entry.js +1 -1
  162. package/dist/esm/taro-span-core.entry.js +1 -1
  163. package/dist/esm/taro-sticky-header-core.entry.js +1 -1
  164. package/dist/esm/taro-sticky-section-core.entry.js +1 -1
  165. package/dist/esm/taro-swiper-core_2.entry.js +205 -220
  166. package/dist/esm/taro-switch-core.entry.js +1 -1
  167. package/dist/esm/taro-tab-item-core.entry.js +1 -1
  168. package/dist/esm/taro-tabbar.entry.js +1 -1
  169. package/dist/esm/taro-tabs-core.entry.js +1 -1
  170. package/dist/esm/taro-text-core.entry.js +1 -1
  171. package/dist/esm/taro-textarea-core.entry.js +1 -1
  172. package/dist/esm/taro-video-control_3.entry.js +1 -1
  173. package/dist/esm/taro-view-core.entry.js +1 -1
  174. package/dist/esm/taro-voip-room-core.entry.js +1 -1
  175. package/dist/esm/taro-web-view-core.entry.js +1 -1
  176. package/dist/esm-es5/{index-9924aee9.js → index-5e431bb8.js} +1 -1
  177. package/dist/esm-es5/loader.js +1 -1
  178. package/dist/esm-es5/taro-ad-core.entry.js +1 -1
  179. package/dist/esm-es5/taro-ad-custom-core.entry.js +1 -1
  180. package/dist/esm-es5/taro-animation-video-core.entry.js +1 -1
  181. package/dist/esm-es5/taro-animation-view-core.entry.js +1 -1
  182. package/dist/esm-es5/taro-ar-camera-core.entry.js +1 -1
  183. package/dist/esm-es5/taro-audio-core.entry.js +1 -1
  184. package/dist/esm-es5/taro-aweme-data-core.entry.js +1 -1
  185. package/dist/esm-es5/taro-block-core.entry.js +1 -1
  186. package/dist/esm-es5/taro-button-core.entry.js +1 -1
  187. package/dist/esm-es5/taro-camera-core.entry.js +1 -1
  188. package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
  189. package/dist/esm-es5/taro-channel-live-core.entry.js +1 -1
  190. package/dist/esm-es5/taro-channel-video-core.entry.js +1 -1
  191. package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
  192. package/dist/esm-es5/taro-comment-detail-core.entry.js +1 -1
  193. package/dist/esm-es5/taro-comment-list-core.entry.js +1 -1
  194. package/dist/esm-es5/taro-components.js +1 -1
  195. package/dist/esm-es5/taro-contact-button-core.entry.js +1 -1
  196. package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
  197. package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
  198. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
  199. package/dist/esm-es5/taro-draggable-sheet-core.entry.js +1 -1
  200. package/dist/esm-es5/taro-editor-core.entry.js +1 -1
  201. package/dist/esm-es5/taro-follow-swan-core.entry.js +1 -1
  202. package/dist/esm-es5/taro-form-core.entry.js +1 -1
  203. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +1 -1
  204. package/dist/esm-es5/taro-grid-builder-core.entry.js +1 -1
  205. package/dist/esm-es5/taro-grid-view-core.entry.js +1 -1
  206. package/dist/esm-es5/taro-icon-core.entry.js +1 -1
  207. package/dist/esm-es5/taro-image-core.entry.js +1 -1
  208. package/dist/esm-es5/taro-inline-payment-panel-core.entry.js +1 -1
  209. package/dist/esm-es5/taro-input-core.entry.js +1 -1
  210. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +1 -1
  211. package/dist/esm-es5/taro-label-core.entry.js +1 -1
  212. package/dist/esm-es5/taro-lifestyle-core.entry.js +1 -1
  213. package/dist/esm-es5/taro-like-core.entry.js +1 -1
  214. package/dist/esm-es5/taro-list-builder-core.entry.js +1 -1
  215. package/dist/esm-es5/taro-list-view-core.entry.js +1 -1
  216. package/dist/esm-es5/taro-live-player-core.entry.js +1 -1
  217. package/dist/esm-es5/taro-live-pusher-core.entry.js +1 -1
  218. package/dist/esm-es5/taro-login-core.entry.js +1 -1
  219. package/dist/esm-es5/taro-lottie-core.entry.js +1 -1
  220. package/dist/esm-es5/taro-map-core.entry.js +1 -1
  221. package/dist/esm-es5/taro-match-media-core.entry.js +1 -1
  222. package/dist/esm-es5/taro-movable-area-core_2.entry.js +1 -1
  223. package/dist/esm-es5/taro-native-slot-core.entry.js +1 -1
  224. package/dist/esm-es5/taro-navigation-bar-core.entry.js +1 -1
  225. package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
  226. package/dist/esm-es5/taro-nested-scroll-body-core.entry.js +1 -1
  227. package/dist/esm-es5/taro-nested-scroll-header-core.entry.js +1 -1
  228. package/dist/esm-es5/taro-official-account-core.entry.js +1 -1
  229. package/dist/esm-es5/taro-open-container-core.entry.js +1 -1
  230. package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
  231. package/dist/esm-es5/taro-page-container-core.entry.js +1 -1
  232. package/dist/esm-es5/taro-page-meta-core.entry.js +1 -1
  233. package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
  234. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +1 -1
  235. package/dist/esm-es5/taro-progress-core.entry.js +1 -1
  236. package/dist/esm-es5/taro-pull-to-refresh-core.entry.js +1 -1
  237. package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
  238. package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
  239. package/dist/esm-es5/taro-root-portal-core.entry.js +1 -1
  240. package/dist/esm-es5/taro-rtc-room-core.entry.js +1 -1
  241. package/dist/esm-es5/taro-rtc-room-item-core.entry.js +1 -1
  242. package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
  243. package/dist/esm-es5/taro-share-element-core.entry.js +1 -1
  244. package/dist/esm-es5/taro-slider-core.entry.js +1 -1
  245. package/dist/esm-es5/taro-slot-core.entry.js +1 -1
  246. package/dist/esm-es5/taro-snapshot-core.entry.js +1 -1
  247. package/dist/esm-es5/taro-span-core.entry.js +1 -1
  248. package/dist/esm-es5/taro-sticky-header-core.entry.js +1 -1
  249. package/dist/esm-es5/taro-sticky-section-core.entry.js +1 -1
  250. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  251. package/dist/esm-es5/taro-switch-core.entry.js +1 -1
  252. package/dist/esm-es5/taro-tab-item-core.entry.js +1 -1
  253. package/dist/esm-es5/taro-tabbar.entry.js +1 -1
  254. package/dist/esm-es5/taro-tabs-core.entry.js +1 -1
  255. package/dist/esm-es5/taro-text-core.entry.js +1 -1
  256. package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
  257. package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
  258. package/dist/esm-es5/taro-view-core.entry.js +1 -1
  259. package/dist/esm-es5/taro-voip-room-core.entry.js +1 -1
  260. package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
  261. package/dist/hydrate/index.js +209 -230
  262. package/dist/taro-components/{p-ac2be5f3.entry.js → p-010113d5.entry.js} +1 -1
  263. package/dist/taro-components/p-0711615a.entry.js +1 -0
  264. package/dist/taro-components/{p-65d11e99.system.entry.js → p-08f31efb.system.entry.js} +1 -1
  265. package/dist/taro-components/{p-17b9f865.system.entry.js → p-0b9fa602.system.entry.js} +1 -1
  266. package/dist/taro-components/{p-71c89856.system.entry.js → p-0c3bf536.system.entry.js} +1 -1
  267. package/dist/taro-components/{p-6664a2ca.system.entry.js → p-0cbc06a0.system.entry.js} +1 -1
  268. package/dist/taro-components/p-0d965cb0.entry.js +1 -0
  269. package/dist/taro-components/{p-0fc790c0.system.entry.js → p-0e77f1af.system.entry.js} +1 -1
  270. package/dist/taro-components/{p-b4577a12.system.entry.js → p-0e8c1988.system.entry.js} +1 -1
  271. package/dist/taro-components/p-101c15ac.entry.js +1 -0
  272. package/dist/taro-components/{p-d5603857.entry.js → p-1331d6e6.entry.js} +1 -1
  273. package/dist/taro-components/{p-e1cce2f1.entry.js → p-13773464.entry.js} +1 -1
  274. package/dist/taro-components/{p-79cad66b.entry.js → p-13f9d171.entry.js} +1 -1
  275. package/dist/taro-components/{p-91ee1f8a.system.entry.js → p-14e9f2fd.system.entry.js} +1 -1
  276. package/dist/taro-components/p-1565cc2e.system.entry.js +1 -0
  277. package/dist/taro-components/{p-18c039ef.entry.js → p-177ab579.entry.js} +1 -1
  278. package/dist/taro-components/p-1bb89572.entry.js +1 -0
  279. package/dist/taro-components/{p-c7d8c076.system.entry.js → p-200ba6f2.system.entry.js} +1 -1
  280. package/dist/taro-components/p-2053531e.system.entry.js +1 -0
  281. package/dist/taro-components/{p-75ded8a0.system.entry.js → p-2210c50a.system.entry.js} +1 -1
  282. package/dist/taro-components/p-22140f38.entry.js +1 -0
  283. package/dist/taro-components/{p-dedf50a9.entry.js → p-2338fbc5.entry.js} +1 -1
  284. package/dist/taro-components/p-24a12aac.system.entry.js +1 -0
  285. package/dist/taro-components/p-26792379.entry.js +1 -0
  286. package/dist/taro-components/{p-5f23dc41.system.entry.js → p-274753ad.system.entry.js} +1 -1
  287. package/dist/taro-components/{p-3cf08137.entry.js → p-2ad41ae2.entry.js} +1 -1
  288. package/dist/taro-components/{p-dc25fa81.entry.js → p-2b0158fc.entry.js} +1 -1
  289. package/dist/taro-components/{p-9e359fff.system.entry.js → p-2d2c8354.system.entry.js} +1 -1
  290. package/dist/taro-components/{p-12582166.entry.js → p-310f27ae.entry.js} +1 -1
  291. package/dist/taro-components/p-31f20299.entry.js +1 -0
  292. package/dist/taro-components/{p-7ca2d075.system.entry.js → p-336b5b6c.system.entry.js} +1 -1
  293. package/dist/taro-components/{p-02465454.system.entry.js → p-34aee4d3.system.entry.js} +1 -1
  294. package/dist/taro-components/{p-ac9fb309.system.entry.js → p-34b51434.system.entry.js} +1 -1
  295. package/dist/taro-components/p-3779a716.entry.js +1 -0
  296. package/dist/taro-components/{p-02d4d104.entry.js → p-39dd80dd.entry.js} +1 -1
  297. package/dist/taro-components/p-3d163624.entry.js +1 -0
  298. package/dist/taro-components/{p-1eea2828.entry.js → p-3dc40ce0.entry.js} +1 -1
  299. package/dist/taro-components/{p-e3d825d1.system.entry.js → p-3ee0dda1.system.entry.js} +1 -1
  300. package/dist/taro-components/{p-d73b3a94.system.entry.js → p-4446fe5f.system.entry.js} +1 -1
  301. package/dist/taro-components/p-45ce1c8b.system.entry.js +1 -0
  302. package/dist/taro-components/{p-c677414d.system.entry.js → p-48395cab.system.entry.js} +1 -1
  303. package/dist/taro-components/{p-03dc0283.entry.js → p-48887552.entry.js} +1 -1
  304. package/dist/taro-components/p-493e2c9a.entry.js +1 -0
  305. package/dist/taro-components/{p-57911e2c.system.entry.js → p-498d940e.system.entry.js} +1 -1
  306. package/dist/taro-components/{p-7e054ae7.system.entry.js → p-49bd1791.system.entry.js} +1 -1
  307. package/dist/taro-components/{p-53e62840.system.entry.js → p-4dddb4a4.system.entry.js} +1 -1
  308. package/dist/taro-components/{p-07ae6678.system.entry.js → p-4f62b74a.system.entry.js} +1 -1
  309. package/dist/taro-components/p-5584c307.entry.js +1 -0
  310. package/dist/taro-components/{p-ba5e7ec4.system.entry.js → p-58a44067.system.entry.js} +1 -1
  311. package/dist/taro-components/{p-9f53e26c.system.entry.js → p-5c3d432f.system.entry.js} +1 -1
  312. package/dist/taro-components/{p-ebad862a.system.entry.js → p-60869da5.system.entry.js} +1 -1
  313. package/dist/taro-components/p-60c76b97.entry.js +1 -0
  314. package/dist/taro-components/p-62fcda43.entry.js +1 -0
  315. package/dist/taro-components/{p-9b6b17c4.system.entry.js → p-636c9e22.system.entry.js} +1 -1
  316. package/dist/taro-components/p-646b6bb1.entry.js +1 -0
  317. package/dist/taro-components/{p-f5f3a111.entry.js → p-6a54dc69.entry.js} +1 -1
  318. package/dist/taro-components/p-6c314305.entry.js +1 -0
  319. package/dist/taro-components/{p-d05eb105.system.entry.js → p-6ef0579d.system.entry.js} +1 -1
  320. package/dist/taro-components/{p-4ac48df1.system.entry.js → p-6f25b319.system.entry.js} +1 -1
  321. package/dist/taro-components/{p-55e12654.entry.js → p-6f43d1a1.entry.js} +1 -1
  322. package/dist/taro-components/{p-f168fffc.entry.js → p-70283efb.entry.js} +1 -1
  323. package/dist/taro-components/{p-f43f26cf.entry.js → p-71167112.entry.js} +1 -1
  324. package/dist/taro-components/{p-938f9036.system.entry.js → p-720c96ae.system.entry.js} +1 -1
  325. package/dist/taro-components/p-725381f1.entry.js +1 -0
  326. package/dist/taro-components/{p-dcf5747c.system.entry.js → p-731de0f1.system.entry.js} +1 -1
  327. package/dist/taro-components/{p-3bfe9260.entry.js → p-757c9533.entry.js} +1 -1
  328. package/dist/taro-components/p-7625b781.system.entry.js +1 -0
  329. package/dist/taro-components/{p-4a8b4d58.system.entry.js → p-7677dcb3.system.entry.js} +1 -1
  330. package/dist/taro-components/p-76eedcd8.system.entry.js +1 -0
  331. package/dist/taro-components/{p-204996e7.entry.js → p-77dee229.entry.js} +1 -1
  332. package/dist/taro-components/p-7a860d44.system.entry.js +1 -0
  333. package/dist/taro-components/p-7ba8fbd4.entry.js +1 -0
  334. package/dist/taro-components/{p-b1f80b6b.entry.js → p-7c78d193.entry.js} +1 -1
  335. package/dist/taro-components/p-7d115ac1.entry.js +1 -0
  336. package/dist/taro-components/p-7d469e2e.entry.js +1 -0
  337. package/dist/taro-components/{p-f9935901.system.entry.js → p-7e486065.system.entry.js} +1 -1
  338. package/dist/taro-components/{p-6654374e.system.entry.js → p-7f067654.system.entry.js} +1 -1
  339. package/dist/taro-components/{p-5c98f478.entry.js → p-81f8a153.entry.js} +1 -1
  340. package/dist/taro-components/p-86b09ede.system.entry.js +1 -0
  341. package/dist/taro-components/p-88bcad64.entry.js +1 -0
  342. package/dist/taro-components/{p-75d01c60.system.js → p-88de70df.system.js} +2 -2
  343. package/dist/taro-components/p-88ded2fb.entry.js +1 -0
  344. package/dist/taro-components/p-8f7c9757.system.entry.js +1 -0
  345. package/dist/taro-components/{p-1bd4da3b.system.entry.js → p-920663c3.system.entry.js} +1 -1
  346. package/dist/taro-components/p-920e9e08.system.entry.js +1 -0
  347. package/dist/taro-components/p-92d5f74a.entry.js +1 -0
  348. package/dist/taro-components/p-932b1e72.entry.js +1 -0
  349. package/dist/taro-components/p-93329865.system.entry.js +1 -0
  350. package/dist/taro-components/p-96d58e6b.entry.js +1 -0
  351. package/dist/taro-components/{p-bd57edcd.entry.js → p-9b1be768.entry.js} +1 -1
  352. package/dist/taro-components/{p-6cc0bcb9.entry.js → p-9cf98daf.entry.js} +1 -1
  353. package/dist/taro-components/p-9d2e99b5.entry.js +1 -0
  354. package/dist/taro-components/{p-6b83388c.system.entry.js → p-9d815ff0.system.entry.js} +1 -1
  355. package/dist/taro-components/p-a1368421.entry.js +1 -0
  356. package/dist/taro-components/p-a1e9e6e9.entry.js +1 -0
  357. package/dist/taro-components/{p-d2203687.system.entry.js → p-a263b21b.system.entry.js} +1 -1
  358. package/dist/taro-components/{p-d9884371.entry.js → p-a33c6ab4.entry.js} +1 -1
  359. package/dist/taro-components/{p-2649c7ae.entry.js → p-a34fb684.entry.js} +1 -1
  360. package/dist/taro-components/{p-27041d86.system.entry.js → p-a3948a42.system.entry.js} +1 -1
  361. package/dist/taro-components/p-a39bfe0d.system.entry.js +1 -0
  362. package/dist/taro-components/p-a51c3fc6.entry.js +1 -0
  363. package/dist/taro-components/{p-ab0e0366.system.entry.js → p-a57123fa.system.entry.js} +1 -1
  364. package/dist/taro-components/{p-97b09fb4.system.entry.js → p-a6258172.system.entry.js} +1 -1
  365. package/dist/taro-components/p-a89cb7e0.entry.js +1 -0
  366. package/dist/taro-components/{p-ba11ef7d.entry.js → p-a8a443a5.entry.js} +1 -1
  367. package/dist/taro-components/{p-ded98693.system.entry.js → p-ac808059.system.entry.js} +1 -1
  368. package/dist/taro-components/p-acf20f00.system.entry.js +1 -0
  369. package/dist/taro-components/{p-d87a68f6.entry.js → p-b03b164f.entry.js} +1 -1
  370. package/dist/taro-components/p-b139e0bb.entry.js +1 -0
  371. package/dist/taro-components/{p-56a82bf3.entry.js → p-b197f269.entry.js} +1 -1
  372. package/dist/taro-components/p-b1e74461.entry.js +1 -0
  373. package/dist/taro-components/{p-a9ca8247.system.entry.js → p-b4d3d0bf.system.entry.js} +1 -1
  374. package/dist/taro-components/p-b4e5684a.entry.js +1 -0
  375. package/dist/taro-components/{p-e681d764.entry.js → p-b8916511.entry.js} +1 -1
  376. package/dist/taro-components/p-b8b1e967.entry.js +1 -0
  377. package/dist/taro-components/p-b923d242.entry.js +1 -0
  378. package/dist/taro-components/p-b9e52b27.system.entry.js +1 -0
  379. package/dist/taro-components/{p-df7c6216.system.entry.js → p-baba6d35.system.entry.js} +1 -1
  380. package/dist/taro-components/{p-46a66c43.entry.js → p-bc4dbbfb.entry.js} +1 -1
  381. package/dist/taro-components/{p-8836f70b.entry.js → p-bd7d7771.entry.js} +1 -1
  382. package/dist/taro-components/{p-3b36196b.system.entry.js → p-c089b757.system.entry.js} +1 -1
  383. package/dist/taro-components/{p-078cb65e.entry.js → p-c0c4d551.entry.js} +1 -1
  384. package/dist/taro-components/p-c297faa9.entry.js +1 -0
  385. package/dist/taro-components/p-c575464d.entry.js +1 -0
  386. package/dist/taro-components/p-c6258ca4.system.entry.js +1 -0
  387. package/dist/taro-components/{p-ca6a5916.system.entry.js → p-c6bf856c.system.entry.js} +1 -1
  388. package/dist/taro-components/{p-1c37143a.system.entry.js → p-c7d84f5f.system.entry.js} +1 -1
  389. package/dist/taro-components/{p-443e31ab.system.entry.js → p-c984e3bd.system.entry.js} +1 -1
  390. package/dist/taro-components/{p-fa31b2de.system.entry.js → p-cb55d5a3.system.entry.js} +1 -1
  391. package/dist/taro-components/p-cc02c5b6.system.entry.js +1 -0
  392. package/dist/taro-components/p-ce63e336.system.entry.js +1 -0
  393. package/dist/taro-components/p-d04b19f1.system.entry.js +1 -0
  394. package/dist/taro-components/p-d0cabaaa.js +2 -0
  395. package/dist/taro-components/p-d2023e97.entry.js +1 -0
  396. package/dist/taro-components/{p-fbf13159.system.entry.js → p-d2b08d6c.system.entry.js} +1 -1
  397. package/dist/taro-components/p-d3573732.system.entry.js +1 -0
  398. package/dist/taro-components/{p-e853a2c8.system.entry.js → p-d482a085.system.entry.js} +1 -1
  399. package/dist/taro-components/{p-ddf75d6a.system.entry.js → p-d6bd3fa0.system.entry.js} +1 -1
  400. package/dist/taro-components/{p-4979e93c.system.entry.js → p-d952367b.system.entry.js} +1 -1
  401. package/dist/taro-components/p-d9b9319b.system.js +1 -0
  402. package/dist/taro-components/p-da00c309.entry.js +1 -0
  403. package/dist/taro-components/p-da3ae8b9.entry.js +1 -0
  404. package/dist/taro-components/p-da5ac143.system.entry.js +1 -0
  405. package/dist/taro-components/p-db885f6a.entry.js +1 -0
  406. package/dist/taro-components/{p-b087ad2a.system.entry.js → p-deaafb30.system.entry.js} +1 -1
  407. package/dist/taro-components/{p-5b9aa4b0.system.entry.js → p-df082aca.system.entry.js} +1 -1
  408. package/dist/taro-components/p-e30dbf52.entry.js +1 -0
  409. package/dist/taro-components/p-e4b971a9.entry.js +1 -0
  410. package/dist/taro-components/{p-cae6c5d0.system.entry.js → p-e5f31143.system.entry.js} +1 -1
  411. package/dist/taro-components/p-e6a85481.entry.js +1 -0
  412. package/dist/taro-components/p-ea2ea074.entry.js +1 -0
  413. package/dist/taro-components/p-ea867ded.entry.js +1 -0
  414. package/dist/taro-components/{p-fe5eefdc.system.entry.js → p-eb385fbc.system.entry.js} +1 -1
  415. package/dist/taro-components/{p-43367dd1.entry.js → p-eb7aa8ad.entry.js} +1 -1
  416. package/dist/taro-components/{p-3293c5d9.system.entry.js → p-ede005c7.system.entry.js} +1 -1
  417. package/dist/taro-components/{p-61a325d2.system.entry.js → p-ee2e9a0f.system.entry.js} +1 -1
  418. package/dist/taro-components/{p-cafbb3d9.system.entry.js → p-f0694b9f.system.entry.js} +1 -1
  419. package/dist/taro-components/{p-a96f8f60.system.entry.js → p-f1597269.system.entry.js} +1 -1
  420. package/dist/taro-components/{p-d973d536.entry.js → p-f26ddbc9.entry.js} +1 -1
  421. package/dist/taro-components/{p-0a64f78c.system.entry.js → p-f490ca1e.system.entry.js} +1 -1
  422. package/dist/taro-components/{p-7fdbcf4d.entry.js → p-f5cd77f9.entry.js} +1 -1
  423. package/dist/taro-components/{p-dc08715a.entry.js → p-f6d29525.entry.js} +1 -1
  424. package/dist/taro-components/p-f922c742.entry.js +1 -0
  425. package/dist/taro-components/p-fa01bbca.entry.js +1 -0
  426. package/dist/taro-components/{p-17938fa0.system.entry.js → p-fb23fdb8.system.entry.js} +1 -1
  427. package/dist/taro-components/{p-4fad4beb.system.entry.js → p-fc124d0d.system.entry.js} +1 -1
  428. package/dist/taro-components/{p-6ba08ce0.system.entry.js → p-fe3e2fdb.system.entry.js} +1 -1
  429. package/dist/taro-components/taro-components.esm.js +1 -1
  430. package/dist/taro-components/taro-components.js +1 -1
  431. package/dist/types/components/swiper/swiper-item.d.ts +1 -4
  432. package/dist/types/components/swiper/swiper.d.ts +13 -9
  433. package/dist/types/components.d.ts +8 -4
  434. package/lib/vue3/components.js +2 -4
  435. package/lib/vue3/components.js.map +1 -1
  436. package/package.json +6 -6
  437. package/types/Swiper.d.ts +4 -0
  438. package/types/global.d.ts +4 -0
  439. package/types/index.d.ts +20 -0
  440. package/dist/taro-components/p-047e4bfe.entry.js +0 -1
  441. package/dist/taro-components/p-06adeb65.system.entry.js +0 -1
  442. package/dist/taro-components/p-07f27474.entry.js +0 -1
  443. package/dist/taro-components/p-083c3147.system.entry.js +0 -1
  444. package/dist/taro-components/p-0f2c1ecc.entry.js +0 -1
  445. package/dist/taro-components/p-0f480c38.system.entry.js +0 -1
  446. package/dist/taro-components/p-0ff5a55b.entry.js +0 -1
  447. package/dist/taro-components/p-156e9634.system.entry.js +0 -1
  448. package/dist/taro-components/p-17e72555.entry.js +0 -1
  449. package/dist/taro-components/p-26eb2f3f.entry.js +0 -1
  450. package/dist/taro-components/p-27d372b4.system.entry.js +0 -1
  451. package/dist/taro-components/p-280795f2.entry.js +0 -1
  452. package/dist/taro-components/p-292470e5.entry.js +0 -1
  453. package/dist/taro-components/p-2d537212.entry.js +0 -1
  454. package/dist/taro-components/p-2f177716.entry.js +0 -1
  455. package/dist/taro-components/p-32c0f326.entry.js +0 -1
  456. package/dist/taro-components/p-35dec732.entry.js +0 -1
  457. package/dist/taro-components/p-38b29261.entry.js +0 -1
  458. package/dist/taro-components/p-3a180dc7.entry.js +0 -1
  459. package/dist/taro-components/p-402c7f93.entry.js +0 -1
  460. package/dist/taro-components/p-425d1d69.entry.js +0 -1
  461. package/dist/taro-components/p-4523b1c7.entry.js +0 -1
  462. package/dist/taro-components/p-47790dc0.system.entry.js +0 -1
  463. package/dist/taro-components/p-50849470.system.entry.js +0 -1
  464. package/dist/taro-components/p-56552c9e.entry.js +0 -1
  465. package/dist/taro-components/p-57b77f17.system.entry.js +0 -1
  466. package/dist/taro-components/p-5884c108.system.entry.js +0 -1
  467. package/dist/taro-components/p-5c156db3.system.entry.js +0 -1
  468. package/dist/taro-components/p-6282bdee.system.entry.js +0 -1
  469. package/dist/taro-components/p-68197378.entry.js +0 -1
  470. package/dist/taro-components/p-6989c232.entry.js +0 -1
  471. package/dist/taro-components/p-7163d09e.system.js +0 -1
  472. package/dist/taro-components/p-75b4c1fc.system.entry.js +0 -1
  473. package/dist/taro-components/p-77e82dfa.entry.js +0 -1
  474. package/dist/taro-components/p-7e692c70.entry.js +0 -1
  475. package/dist/taro-components/p-7ebd4310.entry.js +0 -1
  476. package/dist/taro-components/p-8179438b.system.entry.js +0 -1
  477. package/dist/taro-components/p-84998109.entry.js +0 -1
  478. package/dist/taro-components/p-855619b6.system.entry.js +0 -1
  479. package/dist/taro-components/p-8b0c9d3f.entry.js +0 -1
  480. package/dist/taro-components/p-937a6c36.entry.js +0 -1
  481. package/dist/taro-components/p-93a2b2e9.entry.js +0 -1
  482. package/dist/taro-components/p-93b02321.entry.js +0 -1
  483. package/dist/taro-components/p-9571836f.entry.js +0 -1
  484. package/dist/taro-components/p-a25aca16.system.entry.js +0 -1
  485. package/dist/taro-components/p-a50c6736.entry.js +0 -1
  486. package/dist/taro-components/p-aabac550.entry.js +0 -1
  487. package/dist/taro-components/p-ac714300.system.entry.js +0 -1
  488. package/dist/taro-components/p-acb113bd.entry.js +0 -1
  489. package/dist/taro-components/p-b4c7bb48.entry.js +0 -1
  490. package/dist/taro-components/p-bb67318d.entry.js +0 -1
  491. package/dist/taro-components/p-be055537.entry.js +0 -1
  492. package/dist/taro-components/p-be1701b2.entry.js +0 -1
  493. package/dist/taro-components/p-c056d527.system.entry.js +0 -1
  494. package/dist/taro-components/p-c0c567e5.system.entry.js +0 -1
  495. package/dist/taro-components/p-c3dc7072.entry.js +0 -1
  496. package/dist/taro-components/p-c71d5745.system.entry.js +0 -1
  497. package/dist/taro-components/p-c7836e2b.entry.js +0 -1
  498. package/dist/taro-components/p-c8cd6e16.entry.js +0 -1
  499. package/dist/taro-components/p-c95d2b90.entry.js +0 -1
  500. package/dist/taro-components/p-ccbaba23.entry.js +0 -1
  501. package/dist/taro-components/p-e62a1287.js +0 -2
  502. package/dist/taro-components/p-ebb1ae64.entry.js +0 -1
  503. package/dist/taro-components/p-f034a433.entry.js +0 -1
  504. package/dist/taro-components/p-f367a754.entry.js +0 -1
  505. package/dist/taro-components/p-f8f2461f.entry.js +0 -1
  506. package/dist/taro-components/p-fab63183.entry.js +0 -1
  507. package/dist/taro-components/p-feb89474.system.entry.js +0 -1
  508. package/dist/taro-components/p-ff772345.entry.js +0 -1
@@ -14,56 +14,54 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _Swiper_id, _Swiper_source;
17
+ var _Swiper_id, _Swiper_source, _Swiper_swiperResetting, _Swiper_domChangeByOutSide, _Swiper_lastSwiperActiveIndex;
18
18
  import { h, Host } from '@stencil/core';
19
19
  import classNames from 'classnames';
20
- import SwiperJS from 'swiper/swiper-bundle.esm.js';
20
+ import SwiperJS from 'swiper/bundle';
21
21
  import { debounce } from '../../utils';
22
22
  let INSTANCE_ID = 0;
23
+ const ONE_ADDITIONAL_SLIDES_THRESHOLD = 5;
24
+ const TWO_ADDITIONAL_SLIDES_THRESHOLD = 7;
23
25
  export class Swiper {
24
26
  constructor() {
25
27
  _Swiper_id.set(this, INSTANCE_ID++);
26
28
  _Swiper_source.set(this, '');
27
- this.handleSwiperLoopListen = () => {
28
- var _a, _b, _c;
29
- ((_a = this.observerFirst) === null || _a === void 0 ? void 0 : _a.disconnect) && this.observerFirst.disconnect();
30
- ((_b = this.observerLast) === null || _b === void 0 ? void 0 : _b.disconnect) && this.observerLast.disconnect();
31
- this.observerFirst = new MutationObserver(this.handleSwiperLoopDebounce);
32
- this.observerLast = new MutationObserver(this.handleSwiperLoopDebounce);
33
- const wrapper = (_c = this.swiper.$wrapperEl) === null || _c === void 0 ? void 0 : _c[0];
34
- const list = wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)');
35
- if (list.length >= 1) {
36
- this.observerFirst.observe(list[0], {
37
- characterData: true
38
- });
39
- }
40
- else if (list.length >= 2) {
41
- this.observerLast.observe(list[list.length - 1], {
42
- characterData: true
43
- });
44
- }
45
- };
46
- this.handleSwiperLoop = () => {
47
- var _a, _b, _c, _d;
48
- if (!this.swiper || !this.circular)
29
+ _Swiper_swiperResetting.set(this, false);
30
+ _Swiper_domChangeByOutSide.set(this, false);
31
+ _Swiper_lastSwiperActiveIndex.set(this, 0);
32
+ this.handleSwiperSizeDebounce = debounce(() => {
33
+ if (!this.swiper || !this.isWillLoadCalled)
49
34
  return;
50
- const swiper = this.swiper; // Note: loop 相关的方法 swiper 未声明
51
- const duplicates = ((_a = this.swiperWrapper) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.swiper-slide-duplicate')) || [];
52
- if (duplicates.length < 2) {
53
- // Note: 循环模式下,但是前后垫片未注入
54
- (_b = swiper.loopDestroy) === null || _b === void 0 ? void 0 : _b.call(swiper);
55
- (_c = swiper.loopCreate) === null || _c === void 0 ? void 0 : _c.call(swiper);
35
+ if (this.circular) {
36
+ if (__classPrivateFieldGet(this, _Swiper_domChangeByOutSide, "f")) {
37
+ this.reset();
38
+ __classPrivateFieldSet(this, _Swiper_domChangeByOutSide, false, "f");
39
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, false, "f");
40
+ }
56
41
  }
57
42
  else {
58
- (_d = swiper.loopFix) === null || _d === void 0 ? void 0 : _d.call(swiper);
59
- }
60
- };
61
- this.handleSwiperLoopDebounce = debounce(this.handleSwiperLoop, 50);
62
- this.handleSwiperSizeDebounce = debounce(() => {
63
- if (this.swiper && this.swiper.$wrapperEl && !this.circular) {
64
- this.swiper.updateSlides();
43
+ this.swiper.update();
44
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, false, "f");
65
45
  }
66
46
  }, 50);
47
+ this.getSlidersList = () => this.el.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)') || [];
48
+ this.getNeedFixLoop = () => {
49
+ const margins = this.parseMargin();
50
+ const hasMargin = margins.filter(Boolean).length > 0;
51
+ return this.circular && hasMargin;
52
+ };
53
+ this.parseMargin = () => {
54
+ const [, previousMargin] = /^(\d+)px/.exec(this.previousMargin) || [];
55
+ const [, nextMargin] = /^(\d+)px/.exec(this.nextMargin) || [];
56
+ return [parseInt(previousMargin) || 0, parseInt(nextMargin) || 0];
57
+ };
58
+ this.reset = () => {
59
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, true, "f");
60
+ __classPrivateFieldSet(this, _Swiper_lastSwiperActiveIndex, this.swiper.realIndex, "f");
61
+ this.swiper.destroy();
62
+ this.handleInit(true);
63
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, false, "f");
64
+ };
67
65
  this.swiperWrapper = undefined;
68
66
  this.swiper = undefined;
69
67
  this.isWillLoadCalled = false;
@@ -82,39 +80,50 @@ export class Swiper {
82
80
  this.displayMultipleItems = 1;
83
81
  this.full = false;
84
82
  this.zoom = false;
83
+ this.effectsProps = {};
85
84
  this.observer = undefined;
86
- this.observerFirst = undefined;
87
- this.observerLast = undefined;
88
85
  }
89
86
  watchCurrent(newVal) {
90
- if (this.currentItemId || !this.isWillLoadCalled)
87
+ if (this.currentItemId || !this.isWillLoadCalled || !this.swiper)
91
88
  return;
92
89
  const n = parseInt(newVal, 10);
93
- if (isNaN(n))
90
+ if (isNaN(n) || n === this.swiper.realIndex)
94
91
  return;
92
+ __classPrivateFieldSet(this, _Swiper_source, '', "f");
95
93
  if (this.circular) {
96
- if (!this.swiper.isBeginning && !this.swiper.isEnd) {
97
- this.swiper.slideToLoop(n); // 更新下标
98
- }
94
+ this.swiper.slideToLoop(n); // 更新下标
95
+ this.autoplay && this.swiper.autoplay.pause();
96
+ // @ts-ignore
97
+ this.swiper.loopFix();
98
+ this.autoplay && this.swiper.autoplay.start();
99
99
  }
100
100
  else {
101
101
  this.swiper.slideTo(n); // 更新下标
102
102
  }
103
103
  }
104
104
  watchCurrentItemId(newVal) {
105
- var _a;
106
- const wrapper = (_a = this.swiper.$wrapperEl) === null || _a === void 0 ? void 0 : _a[0];
105
+ if (!this.swiperWrapper || !this.isWillLoadCalled)
106
+ return;
107
107
  let itemIdIndex = 0;
108
- wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)').forEach((swiperItem, index) => {
109
- // @ts-ignore
110
- if (swiperItem.itemId && swiperItem.itemId === newVal) {
111
- itemIdIndex = index;
108
+ this.getSlidersList().forEach((swiperItem, index) => {
109
+ const itemId = swiperItem.getAttribute('item-id');
110
+ if (itemId === newVal) {
111
+ if (this.circular) {
112
+ itemIdIndex = Number(swiperItem.getAttribute('data-swiper-slide-index'));
113
+ }
114
+ else {
115
+ itemIdIndex = index;
116
+ }
112
117
  }
113
118
  });
119
+ if (itemIdIndex === this.swiper.realIndex)
120
+ return; // 无需更新
121
+ __classPrivateFieldSet(this, _Swiper_source, '', "f");
114
122
  if (this.circular) {
115
- if (!this.swiper.isBeginning && !this.swiper.isEnd) {
116
- this.swiper.slideToLoop(itemIdIndex); // 更新下标
117
- }
123
+ this.swiper.slideToLoop(itemIdIndex); // 更新下标
124
+ // @ts-ignore
125
+ this.swiper.loopFix();
126
+ this.autoplay && this.swiper.autoplay.start();
118
127
  }
119
128
  else {
120
129
  this.swiper.slideTo(itemIdIndex); // 更新下标
@@ -142,165 +151,150 @@ export class Swiper {
142
151
  }
143
152
  }
144
153
  watchDuration(newVal) {
145
- if (!this.isWillLoadCalled)
154
+ if (!this.swiper || !this.isWillLoadCalled)
146
155
  return;
147
156
  this.swiper.params.speed = newVal;
148
157
  }
149
158
  watchInterval(newVal) {
150
- if (!this.isWillLoadCalled)
159
+ if (!this.swiper || !this.isWillLoadCalled)
151
160
  return;
152
161
  if (typeof this.swiper.params.autoplay === 'object') {
153
162
  this.swiper.params.autoplay.delay = newVal;
154
163
  }
155
164
  }
156
165
  watchSwiperWrapper(newVal) {
157
- if (!this.isWillLoadCalled)
166
+ if (!this.isWillLoadCalled || !this.swiper)
158
167
  return;
159
168
  if (!newVal)
160
169
  return;
161
170
  this.el.appendChild = (newChild) => {
171
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, true, "f");
172
+ if (!__classPrivateFieldGet(this, _Swiper_domChangeByOutSide, "f") && this.circular) {
173
+ __classPrivateFieldSet(this, _Swiper_domChangeByOutSide, true, "f");
174
+ this.swiper.loopDestroy();
175
+ this.swiper.params.loop = false;
176
+ }
162
177
  return newVal.appendChild(newChild);
163
178
  };
164
179
  this.el.insertBefore = (newChild, refChild) => {
180
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, true, "f");
181
+ if (!__classPrivateFieldGet(this, _Swiper_domChangeByOutSide, "f") && this.circular) {
182
+ __classPrivateFieldSet(this, _Swiper_domChangeByOutSide, true, "f");
183
+ this.swiper.loopDestroy();
184
+ this.swiper.params.loop = false;
185
+ }
165
186
  return newVal.insertBefore(newChild, refChild);
166
187
  };
167
188
  this.el.replaceChild = (newChild, oldChild) => {
189
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, true, "f");
190
+ if (!__classPrivateFieldGet(this, _Swiper_domChangeByOutSide, "f") && this.circular) {
191
+ __classPrivateFieldSet(this, _Swiper_domChangeByOutSide, true, "f");
192
+ this.swiper.loopDestroy();
193
+ this.swiper.params.loop = false;
194
+ }
168
195
  return newVal.replaceChild(newChild, oldChild);
169
196
  };
170
197
  this.el.removeChild = (oldChild) => {
198
+ __classPrivateFieldSet(this, _Swiper_swiperResetting, true, "f");
199
+ if (!__classPrivateFieldGet(this, _Swiper_domChangeByOutSide, "f") && this.circular) {
200
+ __classPrivateFieldSet(this, _Swiper_domChangeByOutSide, true, "f");
201
+ this.swiper.loopDestroy();
202
+ this.swiper.params.loop = false;
203
+ }
171
204
  return newVal.removeChild(oldChild);
172
205
  };
173
- this.el.addEventListener('DOMNodeInserted', this.handleSwiperSizeDebounce);
174
- this.el.addEventListener('DOMNodeRemoved', this.handleSwiperSizeDebounce);
175
- this.el.addEventListener('MutationObserver', this.handleSwiperSizeDebounce);
176
206
  }
177
207
  watchCircular() {
178
- if (this.swiper) {
179
- this.swiper.destroy();
180
- this.handleInit();
181
- }
208
+ if (!this.swiper || !this.isWillLoadCalled)
209
+ return;
210
+ this.reset();
182
211
  }
183
212
  watchDisplayMultipleItems() {
184
- if (this.swiper) {
185
- this.swiper.destroy();
186
- this.handleInit();
187
- }
213
+ if (!this.swiper || !this.isWillLoadCalled)
214
+ return;
215
+ this.reset();
188
216
  }
189
217
  componentWillLoad() {
190
218
  this.isWillLoadCalled = true;
191
219
  }
192
220
  componentDidLoad() {
193
- var _a;
194
221
  this.handleInit();
195
- if (!this.swiper || !this.circular)
222
+ if (!this.swiper)
196
223
  return;
197
- const wrapper = (_a = this.swiper.$wrapperEl) === null || _a === void 0 ? void 0 : _a[0];
198
- this.observer = new MutationObserver(this.handleSwiperLoopListen);
199
- this.observer.observe(wrapper, {
224
+ this.observer = new MutationObserver(this.handleSwiperSizeDebounce);
225
+ this.observer.observe(this.swiperWrapper, {
200
226
  childList: true
201
227
  });
202
228
  }
203
- componentWillUpdate() {
204
- var _a, _b;
205
- if (!this.swiper)
206
- return;
207
- if (this.autoplay && !((_a = this.swiper.autoplay) === null || _a === void 0 ? void 0 : _a.running)) {
208
- (_b = this.swiper.autoplay) === null || _b === void 0 ? void 0 : _b.start();
209
- }
210
- if (this.swiper.$el) {
211
- this.swiper.update(); // 更新子元素
212
- }
213
- }
214
- componentDidRender() {
215
- this.handleSwiperLoop();
216
- }
217
229
  disconnectedCallback() {
218
- var _a, _b, _c, _d, _e, _f;
219
- this.el.removeEventListener('DOMNodeInserted', this.handleSwiperSizeDebounce);
220
- this.el.removeEventListener('DOMNodeRemoved', this.handleSwiperSizeDebounce);
221
- this.el.removeEventListener('MutationObserver', this.handleSwiperSizeDebounce);
222
- (_b = (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
223
- (_d = (_c = this.observerFirst) === null || _c === void 0 ? void 0 : _c.disconnect) === null || _d === void 0 ? void 0 : _d.call(_c);
224
- (_f = (_e = this.observerLast) === null || _e === void 0 ? void 0 : _e.disconnect) === null || _f === void 0 ? void 0 : _f.call(_e);
230
+ var _a;
231
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
225
232
  }
226
- handleInit() {
227
- const { autoplay, circular, current, currentItemId, displayMultipleItems, duration, interval, vertical } = this;
228
- let initialSlide = circular ? current + 1 : current;
229
- if (currentItemId) {
230
- let itemIdIndex = 0;
231
- this.el.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)').forEach((swiperItem, index) => {
232
- // @ts-ignore
233
- if (swiperItem.itemId && swiperItem.itemId === currentItemId) {
234
- itemIdIndex = index;
235
- }
236
- });
237
- initialSlide = circular ? itemIdIndex + 1 : itemIdIndex;
233
+ handleInit(reset = false) {
234
+ const { autoplay, circular, current, currentItemId, displayMultipleItems, duration, interval, effectsProps, vertical } = this;
235
+ let initialSlide = current;
236
+ if (reset) {
237
+ initialSlide = __classPrivateFieldGet(this, _Swiper_lastSwiperActiveIndex, "f");
238
238
  }
239
+ else {
240
+ if (currentItemId) {
241
+ let itemIdIndex = 0;
242
+ this.getSlidersList().forEach((swiperItem, index) => {
243
+ // @ts-ignore
244
+ if (swiperItem.itemId && swiperItem.itemId === currentItemId) {
245
+ itemIdIndex = index;
246
+ }
247
+ });
248
+ initialSlide = itemIdIndex;
249
+ }
250
+ }
251
+ const loopAdditionalSlides = this.getLoopAdditionalSlides();
252
+ const centeredSlides = displayMultipleItems === 1;
253
+ const slidesPerView = displayMultipleItems === 1 ? 'auto' : displayMultipleItems;
239
254
  // eslint-disable-next-line @typescript-eslint/no-this-alias
240
255
  const that = this;
241
- const options = {
242
- pagination: { el: `.taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container > .swiper-pagination` },
243
- direction: vertical ? 'vertical' : 'horizontal',
244
- loop: circular,
245
- slidesPerView: displayMultipleItems,
246
- initialSlide: initialSlide,
247
- speed: duration,
248
- observer: true,
249
- observeParents: true,
250
- zoom: this.zoom,
251
- on: {
252
- slideTo() {
253
- that.current = this.realIndex;
254
- },
255
- // Note: slideChange 事件在 swiper.slideTo 改写 current 时不触发,因此用 slideChangeTransitionEnd 事件代替
256
- slideChangeTransitionEnd() {
257
- /** Note: 此处不能使用 slideChangeTransitionStart 事件
258
- * - 因为在它触发时 swiper 各个参数并未准备好,将会导致错误的事件抛出;
259
- * - 同时抛出 change 事件会导致 current 监听被打乱 swiper 的生命周期;
260
- * - 模式与 slideTo 结合时,会导致动画会被中断、slider 展示不完整或衔接模式错误等问题。
261
- */
262
- if (circular) {
263
- if (this.isBeginning || this.isEnd) {
264
- this.slideToLoop(this.realIndex, 0); // 更新下标
265
- return;
266
- }
267
- }
268
- that.onChange.emit({
256
+ const options = Object.assign(Object.assign({ pagination: { el: `.taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container > .swiper-pagination` }, direction: vertical ? 'vertical' : 'horizontal', loop: circular, slidesPerView: slidesPerView, initialSlide: initialSlide, loopAdditionalSlides: loopAdditionalSlides, speed: duration, observeParents: true, observer: true, centeredSlides: centeredSlides, zoom: this.zoom }, effectsProps), { on: {
257
+ slideChangeTransitionEnd(e) {
258
+ if (__classPrivateFieldGet(that, _Swiper_swiperResetting, "f"))
259
+ return;
260
+ that.getNeedFixLoop() && e.loopFix();
261
+ that.autoplay && e.autoplay.start();
262
+ const currentItemId = that.getCurrentItemId(e);
263
+ that.onAnimationFinish.emit({
269
264
  current: this.realIndex,
270
265
  source: __classPrivateFieldGet(that, _Swiper_source, "f"),
266
+ currentItemId,
271
267
  });
272
- },
273
- touchEnd: () => {
274
- __classPrivateFieldSet(that, _Swiper_source, 'touch', "f");
275
- },
276
- autoplay() {
277
268
  __classPrivateFieldSet(that, _Swiper_source, 'autoplay', "f");
278
269
  },
279
- transitionEnd() {
280
- setTimeout(() => {
281
- __classPrivateFieldSet(that, _Swiper_source, '', "f");
282
- });
283
- that.onAnimationFinish.emit({
270
+ slideChange(e) {
271
+ if (__classPrivateFieldGet(that, _Swiper_swiperResetting, "f") || __classPrivateFieldGet(that, _Swiper_lastSwiperActiveIndex, "f") === this.realIndex)
272
+ return;
273
+ __classPrivateFieldSet(that, _Swiper_lastSwiperActiveIndex, this.realIndex, "f");
274
+ const currentItemId = that.getCurrentItemId(e);
275
+ that.onChange.emit({
284
276
  current: this.realIndex,
285
277
  source: __classPrivateFieldGet(that, _Swiper_source, "f"),
278
+ currentItemId,
286
279
  });
287
280
  },
288
- observerUpdate(_swiper, e) {
289
- const target = e.target;
290
- const className = target && typeof target.className === 'string' ? target.className : '';
291
- if (className.includes('taro_page') && target.style.display !== 'none') {
292
- if (that.autoplay && target.contains(_swiper.$el[0])) {
293
- if (that.circular) {
294
- _swiper.slideToLoop(this.realIndex, 0); // 更新下标
295
- }
296
- else {
297
- _swiper.slideTo(this.realIndex);
298
- }
299
- }
300
- }
281
+ init: (e) => {
282
+ that.getNeedFixLoop() && e.loopFix();
283
+ that.autoplay && e.autoplay.start();
284
+ },
285
+ touchEnd: (e) => {
286
+ __classPrivateFieldSet(that, _Swiper_source, 'touch', "f");
287
+ that.autoplay && e.autoplay.start();
288
+ },
289
+ touchStart: (e) => {
290
+ that.autoplay && e.autoplay.pause();
291
+ },
292
+ autoplay(e) {
293
+ // Note: 修复 autoplay 时,切换到其他页面再切回来,autoplay 会停止的问题
294
+ e.animating = false;
295
+ __classPrivateFieldSet(that, _Swiper_source, 'autoplay', "f");
301
296
  }
302
- }
303
- };
297
+ } });
304
298
  // 自动播放
305
299
  if (autoplay) {
306
300
  options.autoplay = {
@@ -309,31 +303,58 @@ export class Swiper {
309
303
  };
310
304
  }
311
305
  this.swiper = new SwiperJS(`.taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container`, options);
312
- this.swiperWrapper = this.el.querySelector(`.taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container > .swiper-wrapper`);
306
+ //Note: 注释
307
+ if (this.getNeedFixLoop()) {
308
+ // @ts-ignore
309
+ const minTranslate = this.swiper.minTranslate.bind(this.swiper);
310
+ //@ts-ignore
311
+ const maxTranslate = this.swiper.maxTranslate.bind(this.swiper);
312
+ if (centeredSlides && this.getSlidersList().length < 4) {
313
+ //@ts-ignore
314
+ this.swiper.minTranslate = () => minTranslate() + this.parseMargin()[1];
315
+ //@ts-ignore
316
+ this.swiper.maxTranslate = () => maxTranslate() - this.parseMargin()[0];
317
+ }
318
+ else {
319
+ //@ts-ignore
320
+ this.swiper.minTranslate = () => minTranslate() - this.parseMargin()[0];
321
+ //@ts-ignore
322
+ this.swiper.maxTranslate = () => maxTranslate() + this.parseMargin()[1];
323
+ }
324
+ }
325
+ this.swiperWrapper = this.swiper.wrapperEl;
326
+ }
327
+ //Note: 注释
328
+ getLoopAdditionalSlides() {
329
+ const slidersLength = (this.getSlidersList()).length;
330
+ if (!this.el || !this.getNeedFixLoop() || slidersLength < ONE_ADDITIONAL_SLIDES_THRESHOLD)
331
+ return 0;
332
+ if (slidersLength <= TWO_ADDITIONAL_SLIDES_THRESHOLD)
333
+ return 1;
334
+ return 2;
335
+ }
336
+ getCurrentItemId(swiper) {
337
+ const slides = swiper.slides;
338
+ const activeIndex = swiper.activeIndex;
339
+ const currentSlide = slides[activeIndex];
340
+ return currentSlide.getAttribute('item-id');
313
341
  }
314
342
  render() {
315
343
  const { vertical, indicatorDots, indicatorColor, indicatorActiveColor } = this;
316
344
  const hostStyle = { overflow: 'hidden' };
317
- const style = { overflow: 'visible' };
318
345
  if (this.full) {
319
346
  hostStyle.height = '100%';
320
- style.height = '100%';
321
- }
322
- const [, previousMargin] = /^(\d+)px/.exec(this.previousMargin) || [];
323
- const [, nextMargin] = /^(\d+)px/.exec(this.nextMargin) || [];
324
- const pM = parseInt(previousMargin) || 0;
325
- const nM = parseInt(nextMargin) || 0;
326
- if (vertical) {
327
- style.marginTop = `${pM}px`;
328
- style.marginBottom = `${nM}px`;
329
- }
330
- else {
331
- style.marginRight = `${nM}px`;
332
- style.marginLeft = `${pM}px`;
333
347
  }
334
- return (h(Host, { class: `taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")}`, style: hostStyle }, h("div", { class: 'swiper-container', style: style }, h("style", { type: 'text/css' }, `
348
+ const [pM, nM] = this.parseMargin();
349
+ const swiperContainerStyleList = [
350
+ 'overflow: visible;',
351
+ vertical ? `margin-top: ${pM}px; margin-bottom: ${nM}px;` : `margin-right: ${nM}px; margin-left: ${pM}px;`,
352
+ this.full ? 'height: 100%;' : ''
353
+ ];
354
+ return (h(Host, { class: `taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")}`, style: hostStyle }, h("div", { class: 'swiper-container' }, h("style", { type: 'text/css' }, `
335
355
  .taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet { background: ${indicatorColor} }
336
356
  .taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet-active { background: ${indicatorActiveColor} }
357
+ .taro-swiper-${__classPrivateFieldGet(this, _Swiper_id, "f")} > .swiper-container { ${swiperContainerStyleList.join('')} }
337
358
  `), h("div", { class: 'swiper-wrapper' }, h("slot", null)), h("div", { class: classNames('swiper-pagination', {
338
359
  'swiper-pagination-hidden': !indicatorDots,
339
360
  'swiper-pagination-bullets': indicatorDots
@@ -621,6 +642,26 @@ export class Swiper {
621
642
  "attribute": "zoom",
622
643
  "reflect": false,
623
644
  "defaultValue": "false"
645
+ },
646
+ "effectsProps": {
647
+ "type": "unknown",
648
+ "mutable": false,
649
+ "complexType": {
650
+ "original": "Record<string, any>",
651
+ "resolved": "{ [x: string]: any; }",
652
+ "references": {
653
+ "Record": {
654
+ "location": "global"
655
+ }
656
+ }
657
+ },
658
+ "required": false,
659
+ "optional": false,
660
+ "docs": {
661
+ "tags": [],
662
+ "text": "swiper11 \u76F8\u5173\u7684\u52A8\u6548\u53C2\u6570\uFF0C\u5177\u4F53\u89C1\u6587\u6863 https://swiperjs.com/swiper-api#parameters"
663
+ },
664
+ "defaultValue": "{}"
624
665
  }
625
666
  };
626
667
  }
@@ -629,9 +670,7 @@ export class Swiper {
629
670
  "swiperWrapper": {},
630
671
  "swiper": {},
631
672
  "isWillLoadCalled": {},
632
- "observer": {},
633
- "observerFirst": {},
634
- "observerLast": {}
673
+ "observer": {}
635
674
  };
636
675
  }
637
676
  static get events() {
@@ -696,4 +735,4 @@ export class Swiper {
696
735
  }];
697
736
  }
698
737
  }
699
- _Swiper_id = new WeakMap(), _Swiper_source = new WeakMap();
738
+ _Swiper_id = new WeakMap(), _Swiper_source = new WeakMap(), _Swiper_swiperResetting = new WeakMap(), _Swiper_domChangeByOutSide = new WeakMap(), _Swiper_lastSwiperActiveIndex = new WeakMap();