@tarojs/components 3.5.7 → 3.6.0-canary.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 (902) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/helper-db78e01a.js +2 -0
  3. package/dist/cjs/helper-db78e01a.js.map +1 -0
  4. package/dist/cjs/hls-67cbc62d.js +27624 -0
  5. package/dist/cjs/hls-67cbc62d.js.map +1 -0
  6. package/dist/cjs/index-47a1959e.js +2 -0
  7. package/dist/cjs/index-47a1959e.js.map +1 -0
  8. package/dist/cjs/{index-7c61bee9.js → index-9174e0b1.js} +477 -234
  9. package/dist/cjs/index-9174e0b1.js.map +1 -0
  10. package/dist/cjs/index-f9d21cc5.js +2 -0
  11. package/dist/cjs/index-f9d21cc5.js.map +1 -0
  12. package/dist/cjs/index.cjs.js +2 -0
  13. package/dist/cjs/index.cjs.js.map +1 -0
  14. package/dist/cjs/intersection-observer-dc4cfcef.js +2 -0
  15. package/dist/cjs/intersection-observer-dc4cfcef.js.map +1 -0
  16. package/dist/cjs/loader.cjs.js +5 -3
  17. package/dist/cjs/loader.cjs.js.map +1 -0
  18. package/dist/cjs/taro-ad-core.cjs.entry.js +4 -2
  19. package/dist/cjs/taro-ad-core.cjs.entry.js.map +1 -0
  20. package/dist/cjs/taro-ad-custom-core.cjs.entry.js +4 -2
  21. package/dist/cjs/taro-ad-custom-core.cjs.entry.js.map +1 -0
  22. package/dist/cjs/taro-audio-core.cjs.entry.js +5 -2
  23. package/dist/cjs/taro-audio-core.cjs.entry.js.map +1 -0
  24. package/dist/cjs/taro-block-core.cjs.entry.js +4 -2
  25. package/dist/cjs/taro-block-core.cjs.entry.js.map +1 -0
  26. package/dist/cjs/taro-button-core.cjs.entry.js +7 -2
  27. package/dist/cjs/taro-button-core.cjs.entry.js.map +1 -0
  28. package/dist/cjs/taro-camera-core.cjs.entry.js +4 -2
  29. package/dist/cjs/taro-camera-core.cjs.entry.js.map +1 -0
  30. package/dist/cjs/taro-canvas-core.cjs.entry.js +6 -3
  31. package/dist/cjs/taro-canvas-core.cjs.entry.js.map +1 -0
  32. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +15 -9
  33. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js.map +1 -0
  34. package/dist/cjs/taro-components.cjs.js +5 -3
  35. package/dist/cjs/taro-components.cjs.js.map +1 -0
  36. package/dist/cjs/taro-cover-image-core.cjs.entry.js +7 -4
  37. package/dist/cjs/taro-cover-image-core.cjs.entry.js.map +1 -0
  38. package/dist/cjs/taro-cover-view-core.cjs.entry.js +7 -3
  39. package/dist/cjs/taro-cover-view-core.cjs.entry.js.map +1 -0
  40. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +4 -2
  41. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js.map +1 -0
  42. package/dist/cjs/taro-editor-core.cjs.entry.js +4 -2
  43. package/dist/cjs/taro-editor-core.cjs.entry.js.map +1 -0
  44. package/dist/cjs/taro-form-core.cjs.entry.js +34 -39
  45. package/dist/cjs/taro-form-core.cjs.entry.js.map +1 -0
  46. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js +4 -2
  47. package/dist/cjs/taro-functional-page-navigator-core.cjs.entry.js.map +1 -0
  48. package/dist/cjs/taro-icon-core.cjs.entry.js +6 -2
  49. package/dist/cjs/taro-icon-core.cjs.entry.js.map +1 -0
  50. package/dist/cjs/taro-image-core.cjs.entry.js +7 -4
  51. package/dist/cjs/taro-image-core.cjs.entry.js.map +1 -0
  52. package/dist/cjs/taro-input-core.cjs.entry.js +29 -14
  53. package/dist/cjs/taro-input-core.cjs.entry.js.map +1 -0
  54. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js +4 -2
  55. package/dist/cjs/taro-keyboard-accessory-core.cjs.entry.js.map +1 -0
  56. package/dist/cjs/taro-label-core.cjs.entry.js +5 -2
  57. package/dist/cjs/taro-label-core.cjs.entry.js.map +1 -0
  58. package/dist/cjs/taro-live-player-core.cjs.entry.js +4 -2
  59. package/dist/cjs/taro-live-player-core.cjs.entry.js.map +1 -0
  60. package/dist/cjs/taro-live-pusher-core.cjs.entry.js +4 -2
  61. package/dist/cjs/taro-live-pusher-core.cjs.entry.js.map +1 -0
  62. package/dist/cjs/taro-map-core.cjs.entry.js +4 -2
  63. package/dist/cjs/taro-map-core.cjs.entry.js.map +1 -0
  64. package/dist/cjs/taro-match-media-core.cjs.entry.js +4 -2
  65. package/dist/cjs/taro-match-media-core.cjs.entry.js.map +1 -0
  66. package/dist/cjs/{taro-movable-view-core.cjs.entry.js → taro-movable-area-core_2.cjs.entry.js} +187 -97
  67. package/dist/cjs/taro-movable-area-core_2.cjs.entry.js.map +1 -0
  68. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js +4 -2
  69. package/dist/cjs/taro-navigation-bar-core.cjs.entry.js.map +1 -0
  70. package/dist/cjs/taro-navigator-core.cjs.entry.js +6 -2
  71. package/dist/cjs/taro-navigator-core.cjs.entry.js.map +1 -0
  72. package/dist/cjs/taro-official-account-core.cjs.entry.js +4 -2
  73. package/dist/cjs/taro-official-account-core.cjs.entry.js.map +1 -0
  74. package/dist/cjs/taro-open-data-core.cjs.entry.js +4 -2
  75. package/dist/cjs/taro-open-data-core.cjs.entry.js.map +1 -0
  76. package/dist/cjs/taro-page-container-core.cjs.entry.js +4 -2
  77. package/dist/cjs/taro-page-container-core.cjs.entry.js.map +1 -0
  78. package/dist/cjs/taro-page-meta-core.cjs.entry.js +4 -2
  79. package/dist/cjs/taro-page-meta-core.cjs.entry.js.map +1 -0
  80. package/dist/cjs/taro-picker-core_2.cjs.entry.js +31 -15
  81. package/dist/cjs/taro-picker-core_2.cjs.entry.js.map +1 -0
  82. package/dist/cjs/{taro-picker-view-core.cjs.entry.js → taro-picker-view-column-core_2.cjs.entry.js} +101 -6
  83. package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js.map +1 -0
  84. package/dist/cjs/taro-progress-core.cjs.entry.js +7 -5
  85. package/dist/cjs/taro-progress-core.cjs.entry.js.map +1 -0
  86. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +10 -8
  87. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js.map +1 -0
  88. package/dist/cjs/taro-radio-core_2.cjs.entry.js +15 -9
  89. package/dist/cjs/taro-radio-core_2.cjs.entry.js.map +1 -0
  90. package/dist/cjs/taro-rich-text-core.cjs.entry.js +5 -2
  91. package/dist/cjs/taro-rich-text-core.cjs.entry.js.map +1 -0
  92. package/dist/cjs/taro-root-portal-core.cjs.entry.js +4 -2
  93. package/dist/cjs/taro-root-portal-core.cjs.entry.js.map +1 -0
  94. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +28 -22
  95. package/dist/cjs/taro-scroll-view-core.cjs.entry.js.map +1 -0
  96. package/dist/cjs/taro-share-element-core.cjs.entry.js +4 -2
  97. package/dist/cjs/taro-share-element-core.cjs.entry.js.map +1 -0
  98. package/dist/cjs/taro-slider-core.cjs.entry.js +37 -40
  99. package/dist/cjs/taro-slider-core.cjs.entry.js.map +1 -0
  100. package/dist/cjs/taro-slot-core.cjs.entry.js +4 -7
  101. package/dist/cjs/taro-slot-core.cjs.entry.js.map +1 -0
  102. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +46 -72
  103. package/dist/cjs/taro-swiper-core_2.cjs.entry.js.map +1 -0
  104. package/dist/cjs/taro-switch-core.cjs.entry.js +12 -8
  105. package/dist/cjs/taro-switch-core.cjs.entry.js.map +1 -0
  106. package/dist/cjs/taro-tabbar.cjs.entry.js +12 -4
  107. package/dist/cjs/taro-tabbar.cjs.entry.js.map +1 -0
  108. package/dist/cjs/taro-text-core.cjs.entry.js +4 -2
  109. package/dist/cjs/taro-text-core.cjs.entry.js.map +1 -0
  110. package/dist/cjs/taro-textarea-core.cjs.entry.js +21 -10
  111. package/dist/cjs/taro-textarea-core.cjs.entry.js.map +1 -0
  112. package/dist/cjs/taro-video-control_3.cjs.entry.js +218 -27943
  113. package/dist/cjs/taro-video-control_3.cjs.entry.js.map +1 -0
  114. package/dist/cjs/taro-view-core.cjs.entry.js +7 -3
  115. package/dist/cjs/taro-view-core.cjs.entry.js.map +1 -0
  116. package/dist/cjs/taro-voip-room-core.cjs.entry.js +4 -2
  117. package/dist/cjs/taro-voip-room-core.cjs.entry.js.map +1 -0
  118. package/dist/cjs/taro-web-view-core.cjs.entry.js +5 -2
  119. package/dist/cjs/taro-web-view-core.cjs.entry.js.map +1 -0
  120. package/dist/collection/collection-manifest.json +16 -4
  121. package/dist/collection/components/ad/ad.js +2 -1
  122. package/dist/collection/components/ad/ad.js.map +1 -0
  123. package/dist/collection/components/ad-custom/ad-custom.js +2 -1
  124. package/dist/collection/components/ad-custom/ad-custom.js.map +1 -0
  125. package/dist/collection/components/audio/audio.js +199 -190
  126. package/dist/collection/components/audio/audio.js.map +1 -0
  127. package/dist/collection/components/block/block.js +2 -2
  128. package/dist/collection/components/block/block.js.map +1 -0
  129. package/dist/collection/components/button/button.js +224 -211
  130. package/dist/collection/components/button/button.js.map +1 -0
  131. package/dist/collection/components/camera/camera.js +2 -1
  132. package/dist/collection/components/camera/camera.js.map +1 -0
  133. package/dist/collection/components/canvas/canvas.js +67 -58
  134. package/dist/collection/components/canvas/canvas.js.map +1 -0
  135. package/dist/collection/components/checkbox/checkbox-group.js +50 -42
  136. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -0
  137. package/dist/collection/components/checkbox/checkbox.js +175 -162
  138. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  139. package/dist/collection/components/cover-image/cover-image.js +83 -74
  140. package/dist/collection/components/cover-image/cover-image.js.map +1 -0
  141. package/dist/collection/components/cover-view/cover-view.js +131 -118
  142. package/dist/collection/components/cover-view/cover-view.js.map +1 -0
  143. package/dist/collection/components/custom-wrapper/custom-wrapper.js +2 -2
  144. package/dist/collection/components/custom-wrapper/custom-wrapper.js.map +1 -0
  145. package/dist/collection/components/editor/editor.js +2 -1
  146. package/dist/collection/components/editor/editor.js.map +1 -0
  147. package/dist/collection/components/form/form.js +66 -74
  148. package/dist/collection/components/form/form.js.map +1 -0
  149. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js +2 -1
  150. package/dist/collection/components/functional-page-navigator/functional-page-navigator.js.map +1 -0
  151. package/dist/collection/components/icon/icon.js +61 -56
  152. package/dist/collection/components/icon/icon.js.map +1 -0
  153. package/dist/collection/components/image/image.js +125 -113
  154. package/dist/collection/components/image/image.js.map +1 -0
  155. package/dist/collection/components/input/input.js +336 -296
  156. package/dist/collection/components/input/input.js.map +1 -0
  157. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js +2 -1
  158. package/dist/collection/components/keyboard-accessory/keyboard-accessory.js.map +1 -0
  159. package/dist/collection/components/label/label.js +27 -22
  160. package/dist/collection/components/label/label.js.map +1 -0
  161. package/dist/collection/components/live-player/live-player.js +2 -1
  162. package/dist/collection/components/live-player/live-player.js.map +1 -0
  163. package/dist/collection/components/live-pusher/live-pusher.js +2 -1
  164. package/dist/collection/components/live-pusher/live-pusher.js.map +1 -0
  165. package/dist/collection/components/map/map.js +2 -1
  166. package/dist/collection/components/map/map.js.map +1 -0
  167. package/dist/collection/components/match-media/match-media.js +2 -1
  168. package/dist/collection/components/match-media/match-media.js.map +1 -0
  169. package/dist/collection/components/movable-area/area.css +2 -2
  170. package/dist/collection/components/movable-area/movable-area.js +34 -26
  171. package/dist/collection/components/movable-area/movable-area.js.map +1 -0
  172. package/dist/collection/components/movable-area/movable-view.js +415 -457
  173. package/dist/collection/components/movable-area/movable-view.js.map +1 -0
  174. package/dist/collection/components/navigation-bar/navigation-bar.js +2 -1
  175. package/dist/collection/components/navigation-bar/navigation-bar.js.map +1 -0
  176. package/dist/collection/components/navigator/navigator.js +158 -145
  177. package/dist/collection/components/navigator/navigator.js.map +1 -0
  178. package/dist/collection/components/official-account/official-account.js +2 -1
  179. package/dist/collection/components/official-account/official-account.js.map +1 -0
  180. package/dist/collection/components/open-data/open-data.js +2 -1
  181. package/dist/collection/components/open-data/open-data.js.map +1 -0
  182. package/dist/collection/components/page-container/page-container.js +2 -1
  183. package/dist/collection/components/page-container/page-container.js.map +1 -0
  184. package/dist/collection/components/page-meta/page-meta.js +2 -1
  185. package/dist/collection/components/page-meta/page-meta.js.map +1 -0
  186. package/dist/collection/components/picker/constant.js +1 -0
  187. package/dist/collection/components/picker/constant.js.map +1 -0
  188. package/dist/collection/components/picker/picker-group.js +240 -176
  189. package/dist/collection/components/picker/picker-group.js.map +1 -0
  190. package/dist/collection/components/picker/picker.js +261 -257
  191. package/dist/collection/components/picker/picker.js.map +1 -0
  192. package/dist/collection/components/picker/utils.js +1 -0
  193. package/dist/collection/components/picker/utils.js.map +1 -0
  194. package/dist/collection/components/picker-view/picker-view-column.js +158 -147
  195. package/dist/collection/components/picker-view/picker-view-column.js.map +1 -0
  196. package/dist/collection/components/picker-view/picker-view.js +171 -159
  197. package/dist/collection/components/picker-view/picker-view.js.map +1 -0
  198. package/dist/collection/components/progress/progress.js +153 -157
  199. package/dist/collection/components/progress/progress.js.map +1 -0
  200. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js +121 -114
  201. package/dist/collection/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
  202. package/dist/collection/components/radio/radio-group.js +50 -43
  203. package/dist/collection/components/radio/radio-group.js.map +1 -0
  204. package/dist/collection/components/radio/radio.js +152 -144
  205. package/dist/collection/components/radio/radio.js.map +1 -0
  206. package/dist/collection/components/rich-text/rich-text.js +27 -23
  207. package/dist/collection/components/rich-text/rich-text.js.map +1 -0
  208. package/dist/collection/components/root-portal/root-portal.js +2 -1
  209. package/dist/collection/components/root-portal/root-portal.js.map +1 -0
  210. package/dist/collection/components/scroll-view/scroll-view.js +242 -220
  211. package/dist/collection/components/scroll-view/scroll-view.js.map +1 -0
  212. package/dist/collection/components/share-element/share-element.js +2 -1
  213. package/dist/collection/components/share-element/share-element.js.map +1 -0
  214. package/dist/collection/components/slider/slider.js +279 -283
  215. package/dist/collection/components/slider/slider.js.map +1 -0
  216. package/dist/collection/components/slot/slot.js +2 -5
  217. package/dist/collection/components/slot/slot.js.map +1 -0
  218. package/dist/collection/components/swiper/swiper-item.js +26 -21
  219. package/dist/collection/components/swiper/swiper-item.js.map +1 -0
  220. package/dist/collection/components/swiper/swiper.js +346 -368
  221. package/dist/collection/components/swiper/swiper.js.map +1 -0
  222. package/dist/collection/components/switch/switch.js +153 -139
  223. package/dist/collection/components/switch/switch.js.map +1 -0
  224. package/dist/collection/components/tabbar/tabbar-item.js +2 -6
  225. package/dist/collection/components/tabbar/tabbar-item.js.map +1 -0
  226. package/dist/collection/components/tabbar/tabbar.js +86 -70
  227. package/dist/collection/components/tabbar/tabbar.js.map +1 -0
  228. package/dist/collection/components/text/text.js +35 -30
  229. package/dist/collection/components/text/text.js.map +1 -0
  230. package/dist/collection/components/textarea/textarea.js +262 -227
  231. package/dist/collection/components/textarea/textarea.js.map +1 -0
  232. package/dist/collection/components/video/utils.js +1 -0
  233. package/dist/collection/components/video/utils.js.map +1 -0
  234. package/dist/collection/components/video/video-control.js +274 -286
  235. package/dist/collection/components/video/video-control.js.map +1 -0
  236. package/dist/collection/components/video/video-danmu.js +111 -118
  237. package/dist/collection/components/video/video-danmu.js.map +1 -0
  238. package/dist/collection/components/video/video.js +769 -834
  239. package/dist/collection/components/video/video.js.map +1 -0
  240. package/dist/collection/components/view/view.js +131 -118
  241. package/dist/collection/components/view/view.js.map +1 -0
  242. package/dist/collection/components/voip-room/voip-room.js +2 -1
  243. package/dist/collection/components/voip-room/voip-room.js.map +1 -0
  244. package/dist/collection/components/web-view/web-view.js +68 -57
  245. package/dist/collection/components/web-view/web-view.js.map +1 -0
  246. package/dist/collection/index.js +1 -0
  247. package/dist/collection/index.js.map +1 -0
  248. package/dist/collection/utils/helper.js +1 -0
  249. package/dist/collection/utils/helper.js.map +1 -0
  250. package/dist/collection/utils/index.js +1 -0
  251. package/dist/collection/utils/index.js.map +1 -0
  252. package/dist/collection/utils/style.js +1 -0
  253. package/dist/collection/utils/style.js.map +1 -0
  254. package/dist/collection/utils/url.js +1 -0
  255. package/dist/collection/utils/url.js.map +1 -0
  256. package/dist/esm/helper-3d0ecf0f.js +2 -0
  257. package/dist/esm/helper-3d0ecf0f.js.map +1 -0
  258. package/dist/esm/hls-221423a1.js +27622 -0
  259. package/dist/esm/hls-221423a1.js.map +1 -0
  260. package/dist/esm/index-1d8e8acd.js +2 -0
  261. package/dist/esm/index-1d8e8acd.js.map +1 -0
  262. package/dist/esm/{index-8809c729.js → index-5d881caf.js} +477 -234
  263. package/dist/esm/index-5d881caf.js.map +1 -0
  264. package/dist/esm/index-cad8203e.js +2 -0
  265. package/dist/esm/index-cad8203e.js.map +1 -0
  266. package/dist/esm/index.js +2 -0
  267. package/dist/esm/index.js.map +1 -0
  268. package/dist/esm/intersection-observer-8e4c7135.js +2 -0
  269. package/dist/esm/intersection-observer-8e4c7135.js.map +1 -0
  270. package/dist/esm/loader.js +5 -3
  271. package/dist/esm/loader.js.map +1 -0
  272. package/dist/esm/polyfills/css-shim.js +1 -1
  273. package/dist/esm/taro-ad-core.entry.js +4 -2
  274. package/dist/esm/taro-ad-core.entry.js.map +1 -0
  275. package/dist/esm/taro-ad-custom-core.entry.js +4 -2
  276. package/dist/esm/taro-ad-custom-core.entry.js.map +1 -0
  277. package/dist/esm/taro-audio-core.entry.js +5 -2
  278. package/dist/esm/taro-audio-core.entry.js.map +1 -0
  279. package/dist/esm/taro-block-core.entry.js +4 -2
  280. package/dist/esm/taro-block-core.entry.js.map +1 -0
  281. package/dist/esm/taro-button-core.entry.js +7 -2
  282. package/dist/esm/taro-button-core.entry.js.map +1 -0
  283. package/dist/esm/taro-camera-core.entry.js +4 -2
  284. package/dist/esm/taro-camera-core.entry.js.map +1 -0
  285. package/dist/esm/taro-canvas-core.entry.js +6 -3
  286. package/dist/esm/taro-canvas-core.entry.js.map +1 -0
  287. package/dist/esm/taro-checkbox-core_2.entry.js +15 -9
  288. package/dist/esm/taro-checkbox-core_2.entry.js.map +1 -0
  289. package/dist/esm/taro-components.js +5 -3
  290. package/dist/esm/taro-components.js.map +1 -0
  291. package/dist/esm/taro-cover-image-core.entry.js +7 -4
  292. package/dist/esm/taro-cover-image-core.entry.js.map +1 -0
  293. package/dist/esm/taro-cover-view-core.entry.js +7 -3
  294. package/dist/esm/taro-cover-view-core.entry.js.map +1 -0
  295. package/dist/esm/taro-custom-wrapper-core.entry.js +4 -2
  296. package/dist/esm/taro-custom-wrapper-core.entry.js.map +1 -0
  297. package/dist/esm/taro-editor-core.entry.js +4 -2
  298. package/dist/esm/taro-editor-core.entry.js.map +1 -0
  299. package/dist/esm/taro-form-core.entry.js +34 -39
  300. package/dist/esm/taro-form-core.entry.js.map +1 -0
  301. package/dist/esm/taro-functional-page-navigator-core.entry.js +4 -2
  302. package/dist/esm/taro-functional-page-navigator-core.entry.js.map +1 -0
  303. package/dist/esm/taro-icon-core.entry.js +6 -2
  304. package/dist/esm/taro-icon-core.entry.js.map +1 -0
  305. package/dist/esm/taro-image-core.entry.js +7 -4
  306. package/dist/esm/taro-image-core.entry.js.map +1 -0
  307. package/dist/esm/taro-input-core.entry.js +29 -14
  308. package/dist/esm/taro-input-core.entry.js.map +1 -0
  309. package/dist/esm/taro-keyboard-accessory-core.entry.js +4 -2
  310. package/dist/esm/taro-keyboard-accessory-core.entry.js.map +1 -0
  311. package/dist/esm/taro-label-core.entry.js +5 -2
  312. package/dist/esm/taro-label-core.entry.js.map +1 -0
  313. package/dist/esm/taro-live-player-core.entry.js +4 -2
  314. package/dist/esm/taro-live-player-core.entry.js.map +1 -0
  315. package/dist/esm/taro-live-pusher-core.entry.js +4 -2
  316. package/dist/esm/taro-live-pusher-core.entry.js.map +1 -0
  317. package/dist/esm/taro-map-core.entry.js +4 -2
  318. package/dist/esm/taro-map-core.entry.js.map +1 -0
  319. package/dist/esm/taro-match-media-core.entry.js +4 -2
  320. package/dist/esm/taro-match-media-core.entry.js.map +1 -0
  321. package/dist/esm/{taro-movable-view-core.entry.js → taro-movable-area-core_2.entry.js} +187 -98
  322. package/dist/esm/taro-movable-area-core_2.entry.js.map +1 -0
  323. package/dist/esm/taro-navigation-bar-core.entry.js +4 -2
  324. package/dist/esm/taro-navigation-bar-core.entry.js.map +1 -0
  325. package/dist/esm/taro-navigator-core.entry.js +6 -2
  326. package/dist/esm/taro-navigator-core.entry.js.map +1 -0
  327. package/dist/esm/taro-official-account-core.entry.js +4 -2
  328. package/dist/esm/taro-official-account-core.entry.js.map +1 -0
  329. package/dist/esm/taro-open-data-core.entry.js +4 -2
  330. package/dist/esm/taro-open-data-core.entry.js.map +1 -0
  331. package/dist/esm/taro-page-container-core.entry.js +4 -2
  332. package/dist/esm/taro-page-container-core.entry.js.map +1 -0
  333. package/dist/esm/taro-page-meta-core.entry.js +4 -2
  334. package/dist/esm/taro-page-meta-core.entry.js.map +1 -0
  335. package/dist/esm/taro-picker-core_2.entry.js +31 -15
  336. package/dist/esm/taro-picker-core_2.entry.js.map +1 -0
  337. package/dist/esm/{taro-picker-view-core.entry.js → taro-picker-view-column-core_2.entry.js} +97 -3
  338. package/dist/esm/taro-picker-view-column-core_2.entry.js.map +1 -0
  339. package/dist/esm/taro-progress-core.entry.js +7 -5
  340. package/dist/esm/taro-progress-core.entry.js.map +1 -0
  341. package/dist/esm/taro-pull-to-refresh.entry.js +10 -8
  342. package/dist/esm/taro-pull-to-refresh.entry.js.map +1 -0
  343. package/dist/esm/taro-radio-core_2.entry.js +15 -9
  344. package/dist/esm/taro-radio-core_2.entry.js.map +1 -0
  345. package/dist/esm/taro-rich-text-core.entry.js +5 -2
  346. package/dist/esm/taro-rich-text-core.entry.js.map +1 -0
  347. package/dist/esm/taro-root-portal-core.entry.js +4 -2
  348. package/dist/esm/taro-root-portal-core.entry.js.map +1 -0
  349. package/dist/esm/taro-scroll-view-core.entry.js +28 -22
  350. package/dist/esm/taro-scroll-view-core.entry.js.map +1 -0
  351. package/dist/esm/taro-share-element-core.entry.js +4 -2
  352. package/dist/esm/taro-share-element-core.entry.js.map +1 -0
  353. package/dist/esm/taro-slider-core.entry.js +37 -40
  354. package/dist/esm/taro-slider-core.entry.js.map +1 -0
  355. package/dist/esm/taro-slot-core.entry.js +4 -7
  356. package/dist/esm/taro-slot-core.entry.js.map +1 -0
  357. package/dist/esm/taro-swiper-core_2.entry.js +46 -72
  358. package/dist/esm/taro-swiper-core_2.entry.js.map +1 -0
  359. package/dist/esm/taro-switch-core.entry.js +12 -8
  360. package/dist/esm/taro-switch-core.entry.js.map +1 -0
  361. package/dist/esm/taro-tabbar.entry.js +12 -4
  362. package/dist/esm/taro-tabbar.entry.js.map +1 -0
  363. package/dist/esm/taro-text-core.entry.js +4 -2
  364. package/dist/esm/taro-text-core.entry.js.map +1 -0
  365. package/dist/esm/taro-textarea-core.entry.js +21 -10
  366. package/dist/esm/taro-textarea-core.entry.js.map +1 -0
  367. package/dist/esm/taro-video-control_3.entry.js +213 -27938
  368. package/dist/esm/taro-video-control_3.entry.js.map +1 -0
  369. package/dist/esm/taro-view-core.entry.js +7 -3
  370. package/dist/esm/taro-view-core.entry.js.map +1 -0
  371. package/dist/esm/taro-voip-room-core.entry.js +4 -2
  372. package/dist/esm/taro-voip-room-core.entry.js.map +1 -0
  373. package/dist/esm/taro-web-view-core.entry.js +5 -2
  374. package/dist/esm/taro-web-view-core.entry.js.map +1 -0
  375. package/dist/esm-es5/helper-3d0ecf0f.js +2 -1
  376. package/dist/esm-es5/helper-3d0ecf0f.js.map +1 -0
  377. package/dist/esm-es5/hls-221423a1.js +366 -0
  378. package/dist/esm-es5/hls-221423a1.js.map +1 -0
  379. package/dist/esm-es5/index-1d8e8acd.js +2 -1
  380. package/dist/esm-es5/index-1d8e8acd.js.map +1 -0
  381. package/dist/esm-es5/index-5d881caf.js +3 -0
  382. package/dist/esm-es5/index-5d881caf.js.map +1 -0
  383. package/dist/esm-es5/index-cad8203e.js +2 -1
  384. package/dist/esm-es5/index-cad8203e.js.map +1 -0
  385. package/dist/esm-es5/index.js +2 -0
  386. package/dist/esm-es5/index.js.map +1 -0
  387. package/dist/esm-es5/intersection-observer-8e4c7135.js +2 -1
  388. package/dist/esm-es5/intersection-observer-8e4c7135.js.map +1 -0
  389. package/dist/esm-es5/loader.js +2 -1
  390. package/dist/esm-es5/loader.js.map +1 -0
  391. package/dist/esm-es5/taro-ad-core.entry.js +2 -1
  392. package/dist/esm-es5/taro-ad-core.entry.js.map +1 -0
  393. package/dist/esm-es5/taro-ad-custom-core.entry.js +2 -1
  394. package/dist/esm-es5/taro-ad-custom-core.entry.js.map +1 -0
  395. package/dist/esm-es5/taro-audio-core.entry.js +2 -1
  396. package/dist/esm-es5/taro-audio-core.entry.js.map +1 -0
  397. package/dist/esm-es5/taro-block-core.entry.js +2 -1
  398. package/dist/esm-es5/taro-block-core.entry.js.map +1 -0
  399. package/dist/esm-es5/taro-button-core.entry.js +2 -1
  400. package/dist/esm-es5/taro-button-core.entry.js.map +1 -0
  401. package/dist/esm-es5/taro-camera-core.entry.js +2 -1
  402. package/dist/esm-es5/taro-camera-core.entry.js.map +1 -0
  403. package/dist/esm-es5/taro-canvas-core.entry.js +2 -1
  404. package/dist/esm-es5/taro-canvas-core.entry.js.map +1 -0
  405. package/dist/esm-es5/taro-checkbox-core_2.entry.js +2 -1
  406. package/dist/esm-es5/taro-checkbox-core_2.entry.js.map +1 -0
  407. package/dist/esm-es5/taro-components.js +2 -1
  408. package/dist/esm-es5/taro-components.js.map +1 -0
  409. package/dist/esm-es5/taro-cover-image-core.entry.js +2 -1
  410. package/dist/esm-es5/taro-cover-image-core.entry.js.map +1 -0
  411. package/dist/esm-es5/taro-cover-view-core.entry.js +2 -1
  412. package/dist/esm-es5/taro-cover-view-core.entry.js.map +1 -0
  413. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +2 -1
  414. package/dist/esm-es5/taro-custom-wrapper-core.entry.js.map +1 -0
  415. package/dist/esm-es5/taro-editor-core.entry.js +2 -1
  416. package/dist/esm-es5/taro-editor-core.entry.js.map +1 -0
  417. package/dist/esm-es5/taro-form-core.entry.js +2 -1
  418. package/dist/esm-es5/taro-form-core.entry.js.map +1 -0
  419. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js +2 -1
  420. package/dist/esm-es5/taro-functional-page-navigator-core.entry.js.map +1 -0
  421. package/dist/esm-es5/taro-icon-core.entry.js +2 -1
  422. package/dist/esm-es5/taro-icon-core.entry.js.map +1 -0
  423. package/dist/esm-es5/taro-image-core.entry.js +2 -1
  424. package/dist/esm-es5/taro-image-core.entry.js.map +1 -0
  425. package/dist/esm-es5/taro-input-core.entry.js +2 -1
  426. package/dist/esm-es5/taro-input-core.entry.js.map +1 -0
  427. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js +2 -1
  428. package/dist/esm-es5/taro-keyboard-accessory-core.entry.js.map +1 -0
  429. package/dist/esm-es5/taro-label-core.entry.js +2 -1
  430. package/dist/esm-es5/taro-label-core.entry.js.map +1 -0
  431. package/dist/esm-es5/taro-live-player-core.entry.js +2 -1
  432. package/dist/esm-es5/taro-live-player-core.entry.js.map +1 -0
  433. package/dist/esm-es5/taro-live-pusher-core.entry.js +2 -1
  434. package/dist/esm-es5/taro-live-pusher-core.entry.js.map +1 -0
  435. package/dist/esm-es5/taro-map-core.entry.js +2 -1
  436. package/dist/esm-es5/taro-map-core.entry.js.map +1 -0
  437. package/dist/esm-es5/taro-match-media-core.entry.js +2 -1
  438. package/dist/esm-es5/taro-match-media-core.entry.js.map +1 -0
  439. package/dist/esm-es5/taro-movable-area-core_2.entry.js +2 -0
  440. package/dist/esm-es5/taro-movable-area-core_2.entry.js.map +1 -0
  441. package/dist/esm-es5/taro-navigation-bar-core.entry.js +2 -1
  442. package/dist/esm-es5/taro-navigation-bar-core.entry.js.map +1 -0
  443. package/dist/esm-es5/taro-navigator-core.entry.js +2 -1
  444. package/dist/esm-es5/taro-navigator-core.entry.js.map +1 -0
  445. package/dist/esm-es5/taro-official-account-core.entry.js +2 -1
  446. package/dist/esm-es5/taro-official-account-core.entry.js.map +1 -0
  447. package/dist/esm-es5/taro-open-data-core.entry.js +2 -1
  448. package/dist/esm-es5/taro-open-data-core.entry.js.map +1 -0
  449. package/dist/esm-es5/taro-page-container-core.entry.js +2 -1
  450. package/dist/esm-es5/taro-page-container-core.entry.js.map +1 -0
  451. package/dist/esm-es5/taro-page-meta-core.entry.js +2 -1
  452. package/dist/esm-es5/taro-page-meta-core.entry.js.map +1 -0
  453. package/dist/esm-es5/taro-picker-core_2.entry.js +2 -1
  454. package/dist/esm-es5/taro-picker-core_2.entry.js.map +1 -0
  455. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +2 -0
  456. package/dist/esm-es5/taro-picker-view-column-core_2.entry.js.map +1 -0
  457. package/dist/esm-es5/taro-progress-core.entry.js +2 -1
  458. package/dist/esm-es5/taro-progress-core.entry.js.map +1 -0
  459. package/dist/esm-es5/taro-pull-to-refresh.entry.js +2 -1
  460. package/dist/esm-es5/taro-pull-to-refresh.entry.js.map +1 -0
  461. package/dist/esm-es5/taro-radio-core_2.entry.js +2 -1
  462. package/dist/esm-es5/taro-radio-core_2.entry.js.map +1 -0
  463. package/dist/esm-es5/taro-rich-text-core.entry.js +2 -1
  464. package/dist/esm-es5/taro-rich-text-core.entry.js.map +1 -0
  465. package/dist/esm-es5/taro-root-portal-core.entry.js +2 -1
  466. package/dist/esm-es5/taro-root-portal-core.entry.js.map +1 -0
  467. package/dist/esm-es5/taro-scroll-view-core.entry.js +2 -1
  468. package/dist/esm-es5/taro-scroll-view-core.entry.js.map +1 -0
  469. package/dist/esm-es5/taro-share-element-core.entry.js +2 -1
  470. package/dist/esm-es5/taro-share-element-core.entry.js.map +1 -0
  471. package/dist/esm-es5/taro-slider-core.entry.js +2 -1
  472. package/dist/esm-es5/taro-slider-core.entry.js.map +1 -0
  473. package/dist/esm-es5/taro-slot-core.entry.js +2 -1
  474. package/dist/esm-es5/taro-slot-core.entry.js.map +1 -0
  475. package/dist/esm-es5/taro-swiper-core_2.entry.js +2 -1
  476. package/dist/esm-es5/taro-swiper-core_2.entry.js.map +1 -0
  477. package/dist/esm-es5/taro-switch-core.entry.js +2 -1
  478. package/dist/esm-es5/taro-switch-core.entry.js.map +1 -0
  479. package/dist/esm-es5/taro-tabbar.entry.js +2 -1
  480. package/dist/esm-es5/taro-tabbar.entry.js.map +1 -0
  481. package/dist/esm-es5/taro-text-core.entry.js +2 -1
  482. package/dist/esm-es5/taro-text-core.entry.js.map +1 -0
  483. package/dist/esm-es5/taro-textarea-core.entry.js +2 -1
  484. package/dist/esm-es5/taro-textarea-core.entry.js.map +1 -0
  485. package/dist/esm-es5/taro-video-control_3.entry.js +2 -365
  486. package/dist/esm-es5/taro-video-control_3.entry.js.map +1 -0
  487. package/dist/esm-es5/taro-view-core.entry.js +2 -1
  488. package/dist/esm-es5/taro-view-core.entry.js.map +1 -0
  489. package/dist/esm-es5/taro-voip-room-core.entry.js +2 -1
  490. package/dist/esm-es5/taro-voip-room-core.entry.js.map +1 -0
  491. package/dist/esm-es5/taro-web-view-core.entry.js +2 -1
  492. package/dist/esm-es5/taro-web-view-core.entry.js.map +1 -0
  493. package/{dist-h5/react/components → dist/react/component-lib}/index.js +1 -1
  494. package/{dist-h5/react/components → dist/react/component-lib}/input.js +5 -5
  495. package/{dist-h5/react/utils → dist/react/component-lib}/reactify-wc.js +10 -20
  496. package/dist/react/components.js +65 -0
  497. package/dist/react/helper.js +13 -0
  498. package/{dist-h5 → dist}/react/index.js +0 -0
  499. package/dist/react/react-component-lib/index.js +2 -0
  500. package/dist/react/react-component-lib/interfaces.js +1 -0
  501. package/dist/react/react-component-lib/utils/attachProps.js +107 -0
  502. package/dist/react/react-component-lib/utils/case.js +10 -0
  503. package/dist/react/react-component-lib/utils/dev.js +12 -0
  504. package/dist/taro-components/index.esm.js +2 -0
  505. package/dist/taro-components/index.esm.js.map +1 -0
  506. package/dist/taro-components/p-001ef419.system.entry.js +2 -0
  507. package/dist/taro-components/p-001ef419.system.entry.js.map +1 -0
  508. package/dist/taro-components/p-01dc54a5.entry.js +2 -0
  509. package/dist/taro-components/p-01dc54a5.entry.js.map +1 -0
  510. package/dist/taro-components/p-0382d7d0.system.entry.js +2 -0
  511. package/dist/taro-components/p-0382d7d0.system.entry.js.map +1 -0
  512. package/dist/taro-components/{p-a94524c9.system.entry.js → p-057159bc.system.entry.js} +2 -1
  513. package/dist/taro-components/p-057159bc.system.entry.js.map +1 -0
  514. package/dist/taro-components/p-0a896bc7.entry.js +2 -0
  515. package/dist/taro-components/p-0a896bc7.entry.js.map +1 -0
  516. package/dist/taro-components/p-0b38e6c7.system.entry.js +2 -0
  517. package/dist/taro-components/p-0b38e6c7.system.entry.js.map +1 -0
  518. package/dist/taro-components/p-0d36ef6b.entry.js +2 -0
  519. package/dist/taro-components/p-0d36ef6b.entry.js.map +1 -0
  520. package/dist/taro-components/p-0ee6a068.entry.js +2 -0
  521. package/dist/taro-components/p-0ee6a068.entry.js.map +1 -0
  522. package/dist/taro-components/p-12e4b019.entry.js +2 -0
  523. package/dist/taro-components/p-12e4b019.entry.js.map +1 -0
  524. package/dist/taro-components/p-15dced71.system.entry.js +2 -0
  525. package/dist/taro-components/p-15dced71.system.entry.js.map +1 -0
  526. package/dist/taro-components/p-15e45ed6.system.js +2 -1
  527. package/dist/taro-components/p-15e45ed6.system.js.map +1 -0
  528. package/dist/taro-components/{p-f81a74bb.system.entry.js → p-1743a04b.system.js} +82 -81
  529. package/dist/taro-components/p-1743a04b.system.js.map +1 -0
  530. package/dist/taro-components/p-17657dca.entry.js +2 -0
  531. package/dist/taro-components/p-17657dca.entry.js.map +1 -0
  532. package/dist/taro-components/p-1b2556e2.system.entry.js +2 -0
  533. package/dist/taro-components/p-1b2556e2.system.entry.js.map +1 -0
  534. package/dist/taro-components/p-1b64d2a2.entry.js +2 -0
  535. package/dist/taro-components/p-1b64d2a2.entry.js.map +1 -0
  536. package/dist/taro-components/p-1bd3d09b.system.entry.js +2 -0
  537. package/dist/taro-components/p-1bd3d09b.system.entry.js.map +1 -0
  538. package/dist/taro-components/p-1cb76199.entry.js +2 -0
  539. package/dist/taro-components/p-1cb76199.entry.js.map +1 -0
  540. package/dist/taro-components/{p-13f0b11f.system.entry.js → p-1cd1c507.system.entry.js} +2 -1
  541. package/dist/taro-components/p-1cd1c507.system.entry.js.map +1 -0
  542. package/dist/taro-components/p-1e436d5b.entry.js +2 -0
  543. package/dist/taro-components/p-1e436d5b.entry.js.map +1 -0
  544. package/dist/taro-components/p-2096bc5f.entry.js +2 -0
  545. package/dist/taro-components/p-2096bc5f.entry.js.map +1 -0
  546. package/dist/taro-components/p-20ec6387.entry.js +2 -0
  547. package/dist/taro-components/p-20ec6387.entry.js.map +1 -0
  548. package/dist/taro-components/{p-c5fd5c7f.system.entry.js → p-21b77a13.system.entry.js} +2 -1
  549. package/dist/taro-components/p-21b77a13.system.entry.js.map +1 -0
  550. package/dist/taro-components/p-2243a376.entry.js +2 -0
  551. package/dist/taro-components/p-2243a376.entry.js.map +1 -0
  552. package/dist/taro-components/p-22f9f9fa.entry.js +2 -0
  553. package/dist/taro-components/p-22f9f9fa.entry.js.map +1 -0
  554. package/dist/taro-components/p-29f04296.entry.js +2 -0
  555. package/dist/taro-components/p-29f04296.entry.js.map +1 -0
  556. package/dist/taro-components/{p-3e11c8cc.system.entry.js → p-301a8b85.system.entry.js} +2 -1
  557. package/dist/taro-components/p-301a8b85.system.entry.js.map +1 -0
  558. package/dist/taro-components/p-3b1d2d37.system.js +2 -1
  559. package/dist/taro-components/p-3b1d2d37.system.js.map +1 -0
  560. package/dist/taro-components/p-3b9a1125.entry.js +2 -0
  561. package/dist/taro-components/p-3b9a1125.entry.js.map +1 -0
  562. package/dist/taro-components/p-3c256e0e.entry.js +2 -0
  563. package/dist/taro-components/p-3c256e0e.entry.js.map +1 -0
  564. package/dist/taro-components/p-3e6b29c6.entry.js +2 -0
  565. package/dist/taro-components/p-3e6b29c6.entry.js.map +1 -0
  566. package/dist/taro-components/{p-a63fbc50.system.entry.js → p-439a3349.system.entry.js} +2 -1
  567. package/dist/taro-components/p-439a3349.system.entry.js.map +1 -0
  568. package/dist/taro-components/p-447386b2.system.entry.js +2 -0
  569. package/dist/taro-components/p-447386b2.system.entry.js.map +1 -0
  570. package/dist/taro-components/{p-d075934f.system.entry.js → p-45b6ea0c.system.entry.js} +2 -1
  571. package/dist/taro-components/p-45b6ea0c.system.entry.js.map +1 -0
  572. package/dist/taro-components/p-49a6cae4.system.entry.js +2 -0
  573. package/dist/taro-components/p-49a6cae4.system.entry.js.map +1 -0
  574. package/dist/taro-components/p-4b05e003.entry.js +2 -0
  575. package/dist/taro-components/p-4b05e003.entry.js.map +1 -0
  576. package/dist/taro-components/{p-692d986d.system.entry.js → p-4b27df71.system.entry.js} +2 -1
  577. package/dist/taro-components/p-4b27df71.system.entry.js.map +1 -0
  578. package/dist/taro-components/p-4b71c926.entry.js +2 -0
  579. package/dist/taro-components/p-4b71c926.entry.js.map +1 -0
  580. package/dist/taro-components/{p-f7c80795.system.entry.js → p-4fbb8b4c.system.entry.js} +2 -1
  581. package/dist/taro-components/p-4fbb8b4c.system.entry.js.map +1 -0
  582. package/dist/taro-components/p-50ea2036.system.js +2 -1
  583. package/dist/taro-components/p-50ea2036.system.js.map +1 -0
  584. package/dist/taro-components/p-55519002.entry.js +2 -0
  585. package/dist/taro-components/p-55519002.entry.js.map +1 -0
  586. package/dist/taro-components/p-570222e2.entry.js +2 -0
  587. package/dist/taro-components/p-570222e2.entry.js.map +1 -0
  588. package/dist/taro-components/p-5746d7ce.js +2 -1
  589. package/dist/taro-components/p-5746d7ce.js.map +1 -0
  590. package/dist/taro-components/{p-6ad59489.system.entry.js → p-580a72d1.system.entry.js} +2 -1
  591. package/dist/taro-components/p-580a72d1.system.entry.js.map +1 -0
  592. package/dist/taro-components/{p-93eed5d7.system.entry.js → p-59418be7.system.entry.js} +2 -1
  593. package/dist/taro-components/p-59418be7.system.entry.js.map +1 -0
  594. package/dist/taro-components/p-59e02aca.system.entry.js +2 -0
  595. package/dist/taro-components/p-59e02aca.system.entry.js.map +1 -0
  596. package/dist/taro-components/p-5b552407.entry.js +2 -0
  597. package/dist/taro-components/p-5b552407.entry.js.map +1 -0
  598. package/dist/taro-components/p-5bfefd19.js +3 -0
  599. package/dist/taro-components/p-5bfefd19.js.map +1 -0
  600. package/dist/taro-components/p-61f225ef.system.js +2 -1
  601. package/dist/taro-components/p-61f225ef.system.js.map +1 -0
  602. package/dist/taro-components/p-663d1bb9.system.js +2 -1
  603. package/dist/taro-components/p-663d1bb9.system.js.map +1 -0
  604. package/dist/taro-components/p-6a96da58.js +2 -1
  605. package/dist/taro-components/p-6a96da58.js.map +1 -0
  606. package/dist/taro-components/p-6af8be19.entry.js +2 -0
  607. package/dist/taro-components/p-6af8be19.entry.js.map +1 -0
  608. package/dist/taro-components/p-6ea2995b.entry.js +2 -0
  609. package/dist/taro-components/p-6ea2995b.entry.js.map +1 -0
  610. package/dist/taro-components/p-6f8af69f.entry.js +2 -0
  611. package/dist/taro-components/p-6f8af69f.entry.js.map +1 -0
  612. package/dist/taro-components/{p-f4ea8a56.system.entry.js → p-701b0286.system.entry.js} +2 -1
  613. package/dist/taro-components/p-701b0286.system.entry.js.map +1 -0
  614. package/dist/taro-components/p-72f327e1.js +2 -1
  615. package/dist/taro-components/p-72f327e1.js.map +1 -0
  616. package/dist/taro-components/p-72f626ab.system.entry.js +2 -0
  617. package/dist/taro-components/p-72f626ab.system.entry.js.map +1 -0
  618. package/dist/taro-components/p-755be847.system.entry.js +2 -0
  619. package/dist/taro-components/p-755be847.system.entry.js.map +1 -0
  620. package/dist/taro-components/p-76724e58.js +3 -2
  621. package/dist/taro-components/p-76724e58.js.map +1 -0
  622. package/dist/taro-components/p-7baff0b4.entry.js +2 -0
  623. package/dist/taro-components/p-7baff0b4.entry.js.map +1 -0
  624. package/dist/taro-components/p-8231e748.entry.js +2 -0
  625. package/dist/taro-components/p-8231e748.entry.js.map +1 -0
  626. package/dist/taro-components/{p-07294134.system.entry.js → p-8a3620a6.system.entry.js} +2 -1
  627. package/dist/taro-components/p-8a3620a6.system.entry.js.map +1 -0
  628. package/dist/taro-components/p-8a8f286f.system.js +3 -0
  629. package/dist/taro-components/p-8a8f286f.system.js.map +1 -0
  630. package/dist/taro-components/{p-7e960ac3.system.entry.js → p-8bec95d4.system.entry.js} +2 -1
  631. package/dist/taro-components/p-8bec95d4.system.entry.js.map +1 -0
  632. package/dist/taro-components/{p-e671c8c5.system.entry.js → p-8c8fe164.system.entry.js} +2 -1
  633. package/dist/taro-components/p-8c8fe164.system.entry.js.map +1 -0
  634. package/dist/taro-components/p-93cc7adc.entry.js +2 -0
  635. package/dist/taro-components/p-93cc7adc.entry.js.map +1 -0
  636. package/dist/taro-components/p-946c0799.system.entry.js +2 -0
  637. package/dist/taro-components/p-946c0799.system.entry.js.map +1 -0
  638. package/dist/taro-components/p-96a784f1.entry.js +2 -0
  639. package/dist/taro-components/p-96a784f1.entry.js.map +1 -0
  640. package/dist/taro-components/p-99bbe34a.system.entry.js +2 -0
  641. package/dist/taro-components/p-99bbe34a.system.entry.js.map +1 -0
  642. package/dist/taro-components/p-9e20c25c.entry.js +2 -0
  643. package/dist/taro-components/p-9e20c25c.entry.js.map +1 -0
  644. package/dist/taro-components/{p-075458e5.system.entry.js → p-9f1ca602.system.entry.js} +2 -1
  645. package/dist/taro-components/p-9f1ca602.system.entry.js.map +1 -0
  646. package/dist/taro-components/p-a1ace8c7.system.entry.js +2 -0
  647. package/dist/taro-components/p-a1ace8c7.system.entry.js.map +1 -0
  648. package/dist/taro-components/p-a29509fa.system.entry.js +2 -0
  649. package/dist/taro-components/p-a29509fa.system.entry.js.map +1 -0
  650. package/dist/taro-components/p-a2aab820.entry.js +2 -0
  651. package/dist/taro-components/p-a2aab820.entry.js.map +1 -0
  652. package/dist/taro-components/{p-d4da725f.system.entry.js → p-a6f2dc54.system.entry.js} +2 -1
  653. package/dist/taro-components/p-a6f2dc54.system.entry.js.map +1 -0
  654. package/dist/taro-components/p-ab105c26.entry.js +2 -0
  655. package/dist/taro-components/p-ab105c26.entry.js.map +1 -0
  656. package/dist/taro-components/{p-c93bb915.system.entry.js → p-b04a56bd.system.entry.js} +2 -1
  657. package/dist/taro-components/p-b04a56bd.system.entry.js.map +1 -0
  658. package/dist/taro-components/p-b10cb428.entry.js +2 -0
  659. package/dist/taro-components/p-b10cb428.entry.js.map +1 -0
  660. package/dist/taro-components/p-b4ec48c3.entry.js +2 -0
  661. package/dist/taro-components/p-b4ec48c3.entry.js.map +1 -0
  662. package/dist/taro-components/{p-d6662ab3.system.entry.js → p-b500c116.system.entry.js} +2 -1
  663. package/dist/taro-components/p-b500c116.system.entry.js.map +1 -0
  664. package/dist/taro-components/p-b832f4e8.entry.js +2 -0
  665. package/dist/taro-components/p-b832f4e8.entry.js.map +1 -0
  666. package/dist/taro-components/p-b88a55b4.system.entry.js +2 -0
  667. package/dist/taro-components/p-b88a55b4.system.entry.js.map +1 -0
  668. package/dist/taro-components/p-b90926cc.entry.js +2 -0
  669. package/dist/taro-components/p-b90926cc.entry.js.map +1 -0
  670. package/dist/taro-components/p-ba743573.entry.js +2 -0
  671. package/dist/taro-components/p-ba743573.entry.js.map +1 -0
  672. package/dist/taro-components/p-be3f5ac0.entry.js +2 -0
  673. package/dist/taro-components/p-be3f5ac0.entry.js.map +1 -0
  674. package/dist/taro-components/p-beea63a7.entry.js +2 -0
  675. package/dist/taro-components/p-beea63a7.entry.js.map +1 -0
  676. package/dist/taro-components/{p-b7681c76.system.entry.js → p-c0e3c822.system.entry.js} +2 -1
  677. package/dist/taro-components/p-c0e3c822.system.entry.js.map +1 -0
  678. package/dist/taro-components/p-c3acf0ea.system.entry.js +2 -0
  679. package/dist/taro-components/p-c3acf0ea.system.entry.js.map +1 -0
  680. package/dist/taro-components/p-c3bb8fa6.entry.js +2 -0
  681. package/dist/taro-components/p-c3bb8fa6.entry.js.map +1 -0
  682. package/dist/taro-components/{p-733cc64a.system.entry.js → p-c4cf58af.system.entry.js} +2 -1
  683. package/dist/taro-components/p-c4cf58af.system.entry.js.map +1 -0
  684. package/dist/taro-components/{p-b11aaf69.system.entry.js → p-c5c331bf.system.entry.js} +2 -1
  685. package/dist/taro-components/p-c5c331bf.system.entry.js.map +1 -0
  686. package/dist/taro-components/p-cb17d8bd.system.js +2 -0
  687. package/dist/taro-components/p-cb17d8bd.system.js.map +1 -0
  688. package/dist/taro-components/{p-fc9f4fd7.system.entry.js → p-cbe2436d.system.entry.js} +2 -1
  689. package/dist/taro-components/p-cbe2436d.system.entry.js.map +1 -0
  690. package/dist/taro-components/p-cd6a7eea.entry.js +2 -0
  691. package/dist/taro-components/p-cd6a7eea.entry.js.map +1 -0
  692. package/dist/taro-components/p-d4b6f19e.system.entry.js +2 -0
  693. package/dist/taro-components/p-d4b6f19e.system.entry.js.map +1 -0
  694. package/dist/taro-components/p-d5234e7e.js +366 -0
  695. package/dist/taro-components/p-d5234e7e.js.map +1 -0
  696. package/dist/taro-components/p-d5579efa.system.entry.js +2 -0
  697. package/dist/taro-components/p-d5579efa.system.entry.js.map +1 -0
  698. package/dist/taro-components/p-d619f198.system.entry.js +2 -0
  699. package/dist/taro-components/p-d619f198.system.entry.js.map +1 -0
  700. package/dist/taro-components/p-d7ab3e23.system.entry.js +2 -0
  701. package/dist/taro-components/p-d7ab3e23.system.entry.js.map +1 -0
  702. package/dist/taro-components/p-d7f4b10f.entry.js +2 -0
  703. package/dist/taro-components/p-d7f4b10f.entry.js.map +1 -0
  704. package/dist/taro-components/p-d85b216d.entry.js +2 -0
  705. package/dist/taro-components/p-d85b216d.entry.js.map +1 -0
  706. package/dist/taro-components/p-dcb48fd9.system.entry.js +2 -0
  707. package/dist/taro-components/p-dcb48fd9.system.entry.js.map +1 -0
  708. package/dist/taro-components/p-de762042.entry.js +2 -0
  709. package/dist/taro-components/p-de762042.entry.js.map +1 -0
  710. package/dist/taro-components/p-df862d0c.entry.js +2 -0
  711. package/dist/taro-components/p-df862d0c.entry.js.map +1 -0
  712. package/dist/taro-components/p-e0d6b00b.entry.js +2 -0
  713. package/dist/taro-components/p-e0d6b00b.entry.js.map +1 -0
  714. package/dist/taro-components/p-e4f1cc50.entry.js +2 -0
  715. package/dist/taro-components/p-e4f1cc50.entry.js.map +1 -0
  716. package/dist/taro-components/p-e59f999e.entry.js +2 -0
  717. package/dist/taro-components/p-e59f999e.entry.js.map +1 -0
  718. package/dist/taro-components/p-e7239faa.system.entry.js +2 -0
  719. package/dist/taro-components/p-e7239faa.system.entry.js.map +1 -0
  720. package/dist/taro-components/p-e98c07c3.system.entry.js +2 -0
  721. package/dist/taro-components/p-e98c07c3.system.entry.js.map +1 -0
  722. package/dist/taro-components/p-e9abe3e2.entry.js +2 -0
  723. package/dist/taro-components/p-e9abe3e2.entry.js.map +1 -0
  724. package/dist/taro-components/p-eddd00e9.system.entry.js +2 -0
  725. package/dist/taro-components/p-eddd00e9.system.entry.js.map +1 -0
  726. package/dist/taro-components/p-ef029c30.system.entry.js +2 -0
  727. package/dist/taro-components/p-ef029c30.system.entry.js.map +1 -0
  728. package/dist/taro-components/{p-8e2b048e.system.entry.js → p-f0d0160d.system.entry.js} +2 -1
  729. package/dist/taro-components/p-f0d0160d.system.entry.js.map +1 -0
  730. package/dist/taro-components/{p-f2803c2e.system.entry.js → p-f2c75971.system.entry.js} +2 -1
  731. package/dist/taro-components/p-f2c75971.system.entry.js.map +1 -0
  732. package/dist/taro-components/p-ffc44634.entry.js +2 -0
  733. package/dist/taro-components/p-ffc44634.entry.js.map +1 -0
  734. package/dist/taro-components/taro-components.esm.js +2 -1
  735. package/dist/taro-components/taro-components.esm.js.map +1 -0
  736. package/dist/taro-components/taro-components.js +2 -1
  737. package/dist/types/components/checkbox/checkbox.d.ts +2 -2
  738. package/dist/types/components/cover-image/cover-image.d.ts +1 -1
  739. package/dist/types/components/form/form.d.ts +4 -7
  740. package/dist/types/components/image/image.d.ts +1 -1
  741. package/dist/types/components/input/input.d.ts +4 -3
  742. package/dist/types/components/movable-area/movable-view.d.ts +3 -3
  743. package/dist/types/components/progress/progress.d.ts +1 -1
  744. package/dist/types/components/radio/radio.d.ts +2 -2
  745. package/dist/types/components/scroll-view/scroll-view.d.ts +1 -1
  746. package/dist/types/components/slider/slider.d.ts +3 -4
  747. package/dist/types/components/slot/slot.d.ts +0 -1
  748. package/dist/types/components/textarea/textarea.d.ts +1 -0
  749. package/dist/types/components/video/utils.d.ts +1 -1
  750. package/dist/types/components.d.ts +183 -70
  751. package/dist/types/stencil-public-runtime.d.ts +20 -4
  752. package/{dist-h5/vue/components/index.js → dist/vue2/component-lib/components.js} +0 -0
  753. package/{dist-h5/vue → dist/vue2/component-lib}/createComponent.js +0 -0
  754. package/{dist-h5/vue → dist/vue2/component-lib}/createFormsComponent.js +0 -0
  755. package/{dist-h5/vue/components → dist/vue2/component-lib}/icon.js +2 -2
  756. package/{dist-h5/vue/components → dist/vue2/component-lib}/image.js +2 -2
  757. package/{dist-h5/vue → dist/vue2/component-lib}/index.js +4 -3
  758. package/{dist-h5/vue → dist/vue2/component-lib}/mixins/listeners.js +0 -0
  759. package/{dist-h5/vue → dist/vue2/component-lib}/mixins/refs.js +0 -0
  760. package/{dist-h5/vue/components → dist/vue2/component-lib}/picker.js +2 -2
  761. package/{dist-h5/vue/components → dist/vue2/component-lib}/scroll-view.js +2 -2
  762. package/{dist-h5/vue/components → dist/vue2/component-lib}/text.js +2 -2
  763. package/dist/vue2/components.js +490 -0
  764. package/dist/vue2/index.js +26 -0
  765. package/dist/vue2/vue-component-lib/utils.js +45 -0
  766. package/{dist-h5/vue3 → dist/vue3/component-lib}/createComponent.js +1 -1
  767. package/{dist-h5/vue3 → dist/vue3/component-lib}/createFormsComponent.js +0 -0
  768. package/{dist-h5/vue3 → dist/vue3/component-lib}/forwardRef.js +0 -0
  769. package/{dist-h5/vue3/components → dist/vue3/component-lib}/icon.js +2 -2
  770. package/{dist-h5/vue3/components → dist/vue3/component-lib}/image.js +2 -2
  771. package/{dist-h5/vue3/components → dist/vue3/component-lib}/index.js +2 -2
  772. package/{dist-h5/vue3/components → dist/vue3/component-lib}/scroll-view.js +2 -2
  773. package/{dist-h5/vue3/components → dist/vue3/component-lib}/text.js +2 -2
  774. package/dist/vue3/components.js +64 -0
  775. package/{dist-h5 → dist}/vue3/index.js +0 -0
  776. package/dist/vue3/vue-component-lib/utils.js +201 -0
  777. package/loader/package.json +1 -0
  778. package/package.json +23 -23
  779. package/types/Ad.d.ts +20 -21
  780. package/types/Audio.d.ts +5 -5
  781. package/types/Button.d.ts +67 -70
  782. package/types/Camera.d.ts +15 -16
  783. package/types/Canvas.d.ts +22 -27
  784. package/types/Checkbox.d.ts +7 -7
  785. package/types/CoverImage.d.ts +15 -15
  786. package/types/CoverView.d.ts +5 -5
  787. package/types/Form.d.ts +10 -10
  788. package/types/Image.d.ts +20 -20
  789. package/types/Input.d.ts +26 -24
  790. package/types/LivePlayer.d.ts +31 -25
  791. package/types/LivePusher.d.ts +5 -5
  792. package/types/Map.d.ts +66 -71
  793. package/types/MovableView.d.ts +5 -14
  794. package/types/Navigator.d.ts +10 -10
  795. package/types/OpenData.d.ts +5 -5
  796. package/types/PageContainer.d.ts +7 -10
  797. package/types/PageMeta.d.ts +14 -14
  798. package/types/Picker.d.ts +1 -5
  799. package/types/PickerView.d.ts +11 -21
  800. package/types/Progress.d.ts +5 -5
  801. package/types/RadioGroup.d.ts +5 -5
  802. package/types/RichText.d.ts +17 -17
  803. package/types/ScrollView.d.ts +46 -30
  804. package/types/Slider.d.ts +10 -10
  805. package/types/Swiper.d.ts +20 -20
  806. package/types/Switch.d.ts +5 -5
  807. package/types/Textarea.d.ts +32 -32
  808. package/types/Video.d.ts +119 -108
  809. package/types/View.d.ts +21 -15
  810. package/types/VoipRoom.d.ts +5 -5
  811. package/types/WebView.d.ts +11 -5
  812. package/dist/cjs/taro-movable-area-core.cjs.entry.js +0 -157
  813. package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +0 -95
  814. package/dist/esm/taro-movable-area-core.entry.js +0 -153
  815. package/dist/esm/taro-picker-view-column-core.entry.js +0 -91
  816. package/dist/esm-es5/index-8809c729.js +0 -1
  817. package/dist/esm-es5/taro-movable-area-core.entry.js +0 -1
  818. package/dist/esm-es5/taro-movable-view-core.entry.js +0 -1
  819. package/dist/esm-es5/taro-picker-view-column-core.entry.js +0 -1
  820. package/dist/esm-es5/taro-picker-view-core.entry.js +0 -1
  821. package/dist/taro-components/p-028e2728.entry.js +0 -1
  822. package/dist/taro-components/p-0380841f.system.js +0 -1
  823. package/dist/taro-components/p-059912fd.js +0 -1
  824. package/dist/taro-components/p-06178a0c.entry.js +0 -1
  825. package/dist/taro-components/p-06e6864b.system.entry.js +0 -1
  826. package/dist/taro-components/p-10c47df8.system.entry.js +0 -1
  827. package/dist/taro-components/p-1c775a11.system.entry.js +0 -1
  828. package/dist/taro-components/p-232ebfae.system.entry.js +0 -1
  829. package/dist/taro-components/p-25df0ce9.entry.js +0 -1
  830. package/dist/taro-components/p-27126803.system.entry.js +0 -1
  831. package/dist/taro-components/p-275d883f.system.entry.js +0 -1
  832. package/dist/taro-components/p-27c80869.system.entry.js +0 -1
  833. package/dist/taro-components/p-2ec47545.entry.js +0 -1
  834. package/dist/taro-components/p-3255f11f.system.entry.js +0 -1
  835. package/dist/taro-components/p-362998cf.entry.js +0 -1
  836. package/dist/taro-components/p-3744e978.entry.js +0 -365
  837. package/dist/taro-components/p-3c6090fd.entry.js +0 -1
  838. package/dist/taro-components/p-44398c17.system.entry.js +0 -1
  839. package/dist/taro-components/p-44cbb351.system.js +0 -1
  840. package/dist/taro-components/p-4ada10aa.entry.js +0 -1
  841. package/dist/taro-components/p-4cf436f9.entry.js +0 -1
  842. package/dist/taro-components/p-4d826fb7.entry.js +0 -1
  843. package/dist/taro-components/p-55266a1f.entry.js +0 -1
  844. package/dist/taro-components/p-56c86512.entry.js +0 -1
  845. package/dist/taro-components/p-5733124c.entry.js +0 -1
  846. package/dist/taro-components/p-57a2a441.entry.js +0 -1
  847. package/dist/taro-components/p-59d93770.entry.js +0 -1
  848. package/dist/taro-components/p-5a2305e7.entry.js +0 -1
  849. package/dist/taro-components/p-5a374cb9.entry.js +0 -1
  850. package/dist/taro-components/p-5c87902f.system.entry.js +0 -1
  851. package/dist/taro-components/p-5e223bab.system.entry.js +0 -1
  852. package/dist/taro-components/p-5f18259d.system.entry.js +0 -1
  853. package/dist/taro-components/p-62fc514e.entry.js +0 -1
  854. package/dist/taro-components/p-63a0c6b0.entry.js +0 -1
  855. package/dist/taro-components/p-64447f5a.system.entry.js +0 -1
  856. package/dist/taro-components/p-67222d90.system.entry.js +0 -1
  857. package/dist/taro-components/p-6800ac6f.entry.js +0 -1
  858. package/dist/taro-components/p-6aa557f0.entry.js +0 -1
  859. package/dist/taro-components/p-72f858e4.entry.js +0 -1
  860. package/dist/taro-components/p-7374537f.entry.js +0 -1
  861. package/dist/taro-components/p-7407013d.entry.js +0 -1
  862. package/dist/taro-components/p-7d329ab0.entry.js +0 -1
  863. package/dist/taro-components/p-7f93fa08.entry.js +0 -1
  864. package/dist/taro-components/p-82661d45.system.entry.js +0 -1
  865. package/dist/taro-components/p-8475421b.system.entry.js +0 -1
  866. package/dist/taro-components/p-8788dc46.system.entry.js +0 -1
  867. package/dist/taro-components/p-886571e5.entry.js +0 -1
  868. package/dist/taro-components/p-888fac99.entry.js +0 -1
  869. package/dist/taro-components/p-8aea3de3.entry.js +0 -1
  870. package/dist/taro-components/p-8c8be53b.entry.js +0 -1
  871. package/dist/taro-components/p-8cf86f31.system.entry.js +0 -1
  872. package/dist/taro-components/p-9234cc1d.entry.js +0 -1
  873. package/dist/taro-components/p-92699438.entry.js +0 -1
  874. package/dist/taro-components/p-9a0e70b1.entry.js +0 -1
  875. package/dist/taro-components/p-9afbb423.system.entry.js +0 -1
  876. package/dist/taro-components/p-9b39a940.entry.js +0 -1
  877. package/dist/taro-components/p-9e1572c5.system.entry.js +0 -1
  878. package/dist/taro-components/p-ab1256fe.entry.js +0 -1
  879. package/dist/taro-components/p-ad6ad7e3.system.entry.js +0 -1
  880. package/dist/taro-components/p-afbcd093.entry.js +0 -1
  881. package/dist/taro-components/p-b1ae9401.entry.js +0 -1
  882. package/dist/taro-components/p-b2800ccd.entry.js +0 -1
  883. package/dist/taro-components/p-b3b677fc.entry.js +0 -1
  884. package/dist/taro-components/p-b3d961f9.system.entry.js +0 -1
  885. package/dist/taro-components/p-b60820b4.entry.js +0 -1
  886. package/dist/taro-components/p-b7639674.entry.js +0 -1
  887. package/dist/taro-components/p-b7ac0b7f.system.entry.js +0 -1
  888. package/dist/taro-components/p-b9903f15.system.entry.js +0 -1
  889. package/dist/taro-components/p-bd706d39.entry.js +0 -1
  890. package/dist/taro-components/p-c92bafb6.system.entry.js +0 -1
  891. package/dist/taro-components/p-cf048af9.entry.js +0 -1
  892. package/dist/taro-components/p-d5f3080c.entry.js +0 -1
  893. package/dist/taro-components/p-df3b544a.system.entry.js +0 -1
  894. package/dist/taro-components/p-dff55efd.entry.js +0 -1
  895. package/dist/taro-components/p-eec00033.entry.js +0 -1
  896. package/dist/taro-components/p-eeed74e3.system.entry.js +0 -1
  897. package/dist/taro-components/p-ef006b23.entry.js +0 -1
  898. package/dist/taro-components/p-f8b9c4b0.entry.js +0 -1
  899. package/dist/taro-components/p-fa2a9bab.entry.js +0 -1
  900. package/dist/taro-components/p-fec6ac36.entry.js +0 -1
  901. package/dist/taro-components/p-ff84986d.entry.js +0 -1
  902. package/dist/taro-components/p-ffefd74f.entry.js +0 -1
@@ -0,0 +1,2 @@
1
+ System.register(["./p-8a8f286f.system.js"],(function(t){"use strict";var r,e,n;return{setters:[function(t){r=t.r;e=t.h;n=t.H}],execute:function(){var u=t("taro_slot_core",function(){function t(t){r(this,t)}t.prototype.render=function(){return e(n,null)};return t}())}}}));
2
+ //# sourceMappingURL=p-d5579efa.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/slot/slot.tsx"],"names":["Slot","exports","class_1","prototype","render","h","Host"],"mappings":"sJAKaA,EAAIC,EAAA,iBAAA,mCACfC,EAAAC,UAAAC,OAAA,WACE,OACEC,EAACC,EAAI,gBAHM","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\n@Component({\n tag: 'taro-slot-core'\n})\nexport class Slot implements ComponentInterface {\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-8a8f286f.system.js","./p-61f225ef.system.js"],(function(t){"use strict";var i,e,o,s,n;return{setters:[function(t){i=t.r;e=t.c;o=t.h;s=t.H},function(t){n=t.c}],execute:function(){var r="taro-cover-view-core{display:block}";var a=t("taro_cover_view_core",function(){function t(t){i(this,t);this.onLongPress=e(this,"longpress",7);this.startTime=0;this.animation=undefined;this.hoverClass=undefined;this.hoverStartTime=50;this.hoverStayTime=400;this.hover=false;this.touch=false}t.prototype.onTouchStart=function(){var t=this;if(this.hoverClass){this.touch=true;setTimeout((function(){if(t.touch){t.hover=true}}),this.hoverStartTime)}this.timeoutEvent=setTimeout((function(){t.onLongPress.emit()}),350);this.startTime=Date.now()};t.prototype.onTouchMove=function(){clearTimeout(this.timeoutEvent)};t.prototype.onTouchEnd=function(){var t=this;var i=Date.now()-this.startTime;if(i<350){clearTimeout(this.timeoutEvent)}if(this.hoverClass){this.touch=false;setTimeout((function(){if(!t.touch){t.hover=false}}),this.hoverStayTime)}};t.prototype.render=function(){var t;var i=n((t={},t["".concat(this.hoverClass)]=this.hover,t));var e={};if(!!this.animation){e["animation"]=this.animation;e["data-animation"]=this.animation}return o(s,Object.assign({class:i},e),o("slot",null))};return t}());a.style=r}}}));
2
+ //# sourceMappingURL=p-d619f198.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/cover-view/style/cover-view.scss?tag=taro-cover-view-core","src/components/cover-view/cover-view.tsx"],"names":["coverViewCss","CoverView","exports","this","startTime","class_1","prototype","onTouchStart","_this","hoverClass","touch","setTimeout","hover","hoverStartTime","timeoutEvent","onLongPress","emit","Date","now","onTouchMove","clearTimeout","onTouchEnd","spanTime","hoverStayTime","render","cls","classNames","_a","concat","attr","animation","h","Host","Object","assign","class"],"mappings":"wMAAA,IAAMA,EAAe,0CCORC,EAASC,EAAA,uBAAA,0EAaZC,KAAAC,UAAY,yEAVK,sBACD,eACP,iBACA,MAUjBC,EAAAC,UAAAC,aAAA,WAAA,IAAAC,EAAAL,KACE,GAAIA,KAAKM,WAAY,CACnBN,KAAKO,MAAQ,KACbC,YAAW,WACT,GAAIH,EAAKE,MAAO,CACdF,EAAKI,MAAQ,QAEdT,KAAKU,gBAGVV,KAAKW,aAAeH,YAAW,WAC7BH,EAAKO,YAAYC,SAChB,KACHb,KAAKC,UAAYa,KAAKC,OAIxBb,EAAAC,UAAAa,YAAA,WACEC,aAAajB,KAAKW,eAIpBT,EAAAC,UAAAe,WAAA,WAAA,IAAAb,EAAAL,KACE,IAAMmB,EAAWL,KAAKC,MAAQf,KAAKC,UACnC,GAAIkB,EAAW,IAAK,CAClBF,aAAajB,KAAKW,cAEpB,GAAIX,KAAKM,WAAY,CACnBN,KAAKO,MAAQ,MACbC,YAAW,WACT,IAAKH,EAAKE,MAAO,CACfF,EAAKI,MAAQ,SAEdT,KAAKoB,iBAIZlB,EAAAC,UAAAkB,OAAA,iBACE,IAAMC,EAAMC,GAAUC,EAAA,GACpBA,EAAC,GAAAC,OAAGzB,KAAKM,aAAeN,KAAKS,UAE/B,IAAIiB,EAAO,GACX,KAAM1B,KAAK2B,UAAW,CACpBD,EAAK,aAAe1B,KAAK2B,UACzBD,EAAK,kBAAoB1B,KAAK2B,UAEhC,OACEC,EAACC,EAAIC,OAAAC,OAAA,CAACC,MAAOV,GAASI,GACpBE,EAAA,OAAA,iBAhEc","sourcesContent":["taro-cover-view-core {\n display: block;\n}\n","import { Component, Prop, h, ComponentInterface, Host, Listen, State, Event, EventEmitter } from '@stencil/core'\nimport classNames from 'classnames'\n\n@Component({\n tag: 'taro-cover-view-core',\n styleUrl: './style/cover-view.scss'\n})\nexport class CoverView implements ComponentInterface {\n @Prop() animation: string\n @Prop() hoverClass: string\n @Prop() hoverStartTime = 50\n @Prop() hoverStayTime = 400\n @State() hover = false\n @State() touch = false\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n private timeoutEvent: ReturnType<typeof setTimeout>\n private startTime = 0\n\n @Listen('touchstart')\n onTouchStart () {\n if (this.hoverClass) {\n this.touch = true\n setTimeout(() => {\n if (this.touch) {\n this.hover = true\n }\n }, this.hoverStartTime)\n }\n\n this.timeoutEvent = setTimeout(() => {\n this.onLongPress.emit()\n }, 350)\n this.startTime = Date.now()\n }\n\n @Listen('touchmove')\n onTouchMove () {\n clearTimeout(this.timeoutEvent)\n }\n\n @Listen('touchend')\n onTouchEnd () {\n const spanTime = Date.now() - this.startTime\n if (spanTime < 350) {\n clearTimeout(this.timeoutEvent)\n }\n if (this.hoverClass) {\n this.touch = false\n setTimeout(() => {\n if (!this.touch) {\n this.hover = false\n }\n }, this.hoverStayTime)\n }\n }\n\n render() {\n const cls = classNames({\n [`${this.hoverClass}`]: this.hover\n })\n let attr = {}\n if (!!this.animation) {\n attr['animation'] = this.animation\n attr['data-animation'] = this.animation\n }\n return (\n <Host class={cls} {...attr}>\n <slot></slot>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ var __spreadArray=this&&this.__spreadArray||function(e,t,i){if(i||arguments.length===2)for(var r=0,n=t.length,a;r<n;r++){if(a||!(r in t)){if(!a)a=Array.prototype.slice.call(t,0,r);a[r]=t[r]}}return e.concat(a||Array.prototype.slice.call(t))};System.register(["./p-8a8f286f.system.js","./p-61f225ef.system.js"],(function(e){"use strict";var t,i,r,n,a,o;return{setters:[function(e){t=e.r;i=e.c;r=e.h;n=e.H;a=e.g},function(e){o=e.c}],execute:function(){function u(e,t){var i=[];for(var r=e;r<=t;r++){i.push("".concat(r<10?"0":"").concat(r))}return i}var s=__spreadArray(__spreadArray(["20","21","22","23"],u(0,23),true),["00","01","02","03"],false);var h=__spreadArray(__spreadArray(["56","57","58","59"],u(0,59),true),["00","01","02","03"],false);function l(e,t){if(!isNaN(+e)&&e>=0&&e<t.length)return true;return false}function d(e){if(!/^\d{1,2}:\d{1,2}$/.test(e))return false;var t=e.split(":").map((function(e){return+e}));if(t[0]<0||t[0]>23)return false;if(t[1]<0||t[1]>59)return false;return true}function c(e,t){var i=e.split(":").map((function(e){return+e}));var r=t.split(":").map((function(e){return+e}));if(i[0]<r[0])return true;if(i[0]===r[0]&&i[1]<=r[1])return true;return false}function f(e){if(!e)return false;var t=new Date(e.replace(/-/g,"/"));return isNaN(t.getMonth())?false:t}function p(e,t){if(t===4||t===6||t===9||t===11)return 30;if(t===2){if(e%4===0&&e%100!==0||e%400===0)return 29;else return 28}return 31}function v(e){var t;if(Array.isArray(e)){t=e.map((function(e){return String(e)}))}else{t=e}return t}function g(e,t){var i=[];for(var r=e;r<=t;r++){i.push(r)}return i}function m(e,t){return g(e,t)}function y(e,t,i){var r=1;var n=12;if(e.getFullYear()===i){r=e.getMonth()+1}if(t.getFullYear()===i){n=t.getMonth()+1}return g(r,n)}function k(e,t,i,r){var n=1;var a=p(i,r);if(e.getFullYear()===i&&e.getMonth()+1===r){n=e.getDate()}if(t.getFullYear()===i&&t.getMonth()+1===r){a=t.getDate()}return g(n,a)}var _=102;var C=34;var w=C*7;var M=".weui-picker,.weui-picker__hd{font-size:12px}";var D=e("taro_picker_core",function(){function e(e){var n=this;t(this,e);this.onChange=i(this,"change",7);this.onColumnChange=i(this,"columnchange",7);this.onCancel=i(this,"cancel",7);this.index=[];this.showPicker=function(){if(n.disabled)return;n.height=n.getHeightByIndex();n.hidden=false};this.getHeightByIndex=function(){var e=n.index.map((function(e){var t=0;if(n.mode==="time"){t=C*4}return _-C*e-t}));return e};this.hidePicker=function(){n.fadeOut=true;setTimeout((function(){n.hidden=true;n.fadeOut=false}),350)};this.handleChange=function(){n.hidePicker();n.index=n.height.map((function(e){return(_-e)/C}));var e=n.index.length&&n.mode!=="selector"?n.index:n.index[0];if(n.mode==="time"){var t=[s.slice(),h.slice()];var i=n.index.map((function(e,i){return t[i][e]}));n.index=i.map((function(e){return parseInt(e)}));e=i.join(":")}if(n.mode==="date"){var r=n.pickerDate,a=r._start,o=r._end,u=r._updateValue;var l=u[0];var d=u[1];var c=m(a.getFullYear(),o.getFullYear());var f=y(a,o,l);var p=k(a,o,l,d);var v=c[n.index[0]];var g=f[n.index[1]];var w=p[n.index[2]];if(n.fields==="year"){e=[v]}else if(n.fields==="month"){e=[v,g]}else{e=[v,g,w]}e=e.map((function(e){return e<10?"0".concat(e):e})).join("-")}n.pickerValue=e;n.onChange.emit({value:e})};this.handleCancel=function(){n.hidePicker();n.onCancel.emit()};this.updateHeight=function(e,t,i){if(i===void 0){i=false}var r=__spreadArray([],n.height,true);r[t]=e;n.height=r;if(i){var a=n,o=a.start,u=a.end;if(!d(o))o="00:00";if(!d(u))u="23:59";if(!c(o,u))return;var l=[s.slice(),h.slice()];var f=n.height.map((function(e){return(_-e)/C}));var p=f.map((function(e,t){return l[t][e]})).join(":");if(!c(o,p)){var v=o.split(":").map((function(e){return _-C*(+e+4)}));requestAnimationFrame((function(){return n.height=v}))}else if(!c(p,u)){var g=u.split(":").map((function(e){return _-C*(+e+4)}));requestAnimationFrame((function(){return n.height=g}))}}};this.handleColumnChange=function(e,t){n.onColumnChange.emit({column:Number(t),value:(_-e)/C})};this.updateDay=function(e,t){var i=n.pickerDate,r=i._start,a=i._end,o=i._updateValue;o[t]=e;var u=o[0];var s=o[1];var h=o[2];if(t===0){var l=y(r,a,u);var d=l[l.length-1];var c=l[0];if(s>d)o[1]=d;if(s<c)o[1]=c;var f=l.indexOf(o[1]);var p=_-C*f;n.updateDay(o[1],1);n.updateHeight(p,"1")}else if(t===1){var v=k(r,a,u,s);var d=v[v.length-1];var c=v[0];if(h>d)o[2]=d;if(h<c)o[2]=c;var f=v.indexOf(o[2]);var p=_-C*f;n.updateDay(o[2],2);n.updateHeight(p,"2")}};this.getSelector=function(){return r("taro-picker-group",{range:n.range,rangeKey:n.rangeKey,height:n.height[0],updateHeight:n.updateHeight,columnId:"0"})};this.getMultiSelector=function(){return n.range.map((function(e,t){return r("taro-picker-group",{range:e,rangeKey:n.rangeKey,height:n.height[t],updateHeight:n.updateHeight,onColumnChange:n.handleColumnChange,columnId:String(t)})}))};this.getTimeSelector=function(){var e=s.slice();var t=h.slice();return[r("taro-picker-group",{mode:"time",range:e,height:n.height[0],updateHeight:n.updateHeight,columnId:"0"}),r("taro-picker-group",{mode:"time",range:t,height:n.height[1],updateHeight:n.updateHeight,columnId:"1"})]};this.getDateSelector=function(){var e=n,t=e.fields,i=e.height;var a=n.pickerDate,o=a._start,u=a._end,s=a._updateValue;var h=s[0];var l=s[1];var d=m(o.getFullYear(),u.getFullYear()).map((function(e){return"".concat(e,"年")}));var c=y(o,u,h).map((function(e){return"".concat(e<10?"0".concat(e):e,"月")}));var f=k(o,u,h,l).map((function(e){return"".concat(e<10?"0".concat(e):e,"日")}));var p=[r("taro-picker-group",{mode:"date",range:d,height:i[0],updateDay:n.updateDay,updateHeight:n.updateHeight,columnId:"0"})];if(t==="month"||t==="day"){p.push(r("taro-picker-group",{mode:"date",range:c,height:i[1],updateDay:n.updateDay,updateHeight:n.updateHeight,columnId:"1"}))}if(t==="day"){p.push(r("taro-picker-group",{mode:"date",range:f,height:i[2],updateDay:n.updateDay,updateHeight:n.updateHeight,columnId:"2"}))}return p};this.mode="selector";this.disabled=false;this.range=[];this.rangeKey=undefined;this.value=undefined;this.start="";this.end="";this.fields="day";this.name="";this.pickerValue=[];this.height=[];this.hidden=true;this.fadeOut=false;this.isWillLoadCalled=false}e.prototype.componentWillLoad=function(){this.isWillLoadCalled=true;this.handleProps()};e.prototype.componentDidLoad=function(){var e=this;Object.defineProperty(this.el,"value",{get:function(){return e.pickerValue},set:function(t){return e.value=t},configurable:true});if(this.overlay){document.body.appendChild(this.overlay)}};e.prototype.disconnectedCallback=function(){var e;if(this.overlay){(e=this.overlay.parentNode)===null||e===void 0?void 0:e.removeChild(this.overlay)}};e.prototype.onPropsChange=function(){if(!this.isWillLoadCalled)return;this.handleProps()};e.prototype.handleProps=function(){var e=this;var t=this,i=t.mode,r=t.start,n=t.end;if(i==="selector"){var a=this.value;this.index=[l(a,this.range)?Math.floor(a):0]}else if(i==="multiSelector"){var o=this.value;this.index=[];this.range.forEach((function(t,i){var r=o===null||o===void 0?void 0:o[i];var n=l(r,t)?Math.floor(r):0;e.index.push(n)}))}else if(i==="time"){var a=this.value;if(!d(a)){console.warn("time picker value illegal");a="0:0"}var u=a.split(":").map((function(e){return+e}));this.index=u}else if(i==="date"){var a=this.value;var s=f(a)||new Date((new Date).setHours(0,0,0,0));var h=f(r)||new Date("1970/01/01");var c=f(n)||new Date("2999/01/01");if(s>=h&&s<=c){var p=s.getFullYear();var v=s.getMonth()+1;var g=s.getDate();var _=m(h.getFullYear(),c.getFullYear());var C=y(h,c,p);var w=k(h,c,p,v);this.index=[_.indexOf(p),C.indexOf(v),w.indexOf(g)];if(!this.pickerDate||this.pickerDate._value.getTime()!==s.getTime()||this.pickerDate._start.getTime()!==h.getTime()||this.pickerDate._end.getTime()!==c.getTime()){this.pickerDate={_value:s,_start:h,_end:c,_updateValue:[p,v,g]}}}else{throw new Error("Date Interval Error")}}this.height=this.getHeightByIndex();this.pickerValue=this.value;if(i==="date"){var M=this.pickerValue;if(this.fields==="month"){this.pickerValue=M.split("-").slice(0,2).join("-")}else if(this.fields==="year"){this.pickerValue=M.split("-")[0]}}};e.prototype.render=function(){var e=this;var t=this,i=t.name,a=t.mode,u=t.fadeOut,s=t.hidden;var h;switch(a){case"multiSelector":h=this.getMultiSelector();break;case"time":h=this.getTimeSelector();break;case"date":h=this.getDateSelector();break;default:h=this.getSelector()}var l=o("weui-mask","weui-animate-fade-in",{"weui-animate-fade-out":u});var d=o("weui-picker","weui-animate-slide-up",{"weui-animate-slide-down":u});var c=s?{display:"none"}:{};return r(n,null,r("div",{onClick:this.showPicker},r("slot",null),r("input",{type:"hidden",name:i,value:v(this.pickerValue)})),r("div",{class:"weui-picker__overlay",style:c,ref:function(t){e.overlay=t}},r("div",{class:l,onClick:this.handleCancel}),r("div",{class:d},r("div",{class:"weui-picker__hd"},r("div",{class:"weui-picker__action",onClick:this.handleCancel},"取消"),r("div",{class:"weui-picker__action",onClick:this.handleChange},"确定")),r("div",{class:"weui-picker__bd"},h),r("input",{type:"hidden",name:i,value:v(this.pickerValue)}))))};Object.defineProperty(e.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{mode:["onPropsChange"],value:["onPropsChange"],range:["onPropsChange"],start:["onPropsChange"],end:["onPropsChange"]}},enumerable:false,configurable:true});return e}());D.style=M;var x=e("taro_picker_group",function(){function e(e){t(this,e);this.mode=undefined;this.range=[];this.rangeKey=undefined;this.height=undefined;this.columnId=undefined;this.updateHeight=undefined;this.onColumnChange=undefined;this.updateDay=undefined;this.startY=undefined;this.preY=undefined;this.hadMove=undefined;this.touchEnd=undefined;this.isMove=undefined}e.prototype.getPosition=function(){var e=this.touchEnd?.3:0;var t="translate3d(0, ".concat(this.height,"px, 0)");var i="transform ".concat(e,"s");return{transform:t,"-webkit-transform":t,transition:i,"-webkit-transition":i}};e.prototype.formulaUnlimitedScroll=function(e,t,i){var r=this;var n=this,a=n.height,o=n.updateHeight,u=n.columnId;var s=i==="up"?1:-1;this.touchEnd=false;o(-e*s*C+a,u);requestAnimationFrame((function(){r.touchEnd=true;var i=Math.round(t/-C)+e*s;var n=_-C*i;o(n,u,true)}))};e.prototype.handleMoveStart=function(e){this.startY=e;this.preY=e;this.hadMove=false};e.prototype.handleMoving=function(e){var t=e;var i=t-this.preY;this.preY=t;this.touchEnd=false;if(Math.abs(t-this.startY)>10)this.hadMove=true;var r=this.height+i;if(this.mode==="time"){if(this.columnId==="0"){if(r>_-C*3){r=_-C*27+i}if(r<_-C*28){r=_-C*4+i}}else if(this.columnId==="1"){if(r>_-C*3){r=_-C*63+i}if(r<_-C*64){r=_-C*4+i}}}this.updateHeight(r,this.columnId)};e.prototype.handleMoveEnd=function(e){var t=this,i=t.mode,r=t.range,n=t.height,a=t.updateHeight,o=t.onColumnChange,u=t.columnId;var s=0;var h=-C*(r.length-1);var l=e;this.touchEnd=true;var d;if(!this.hadMove){var c=window.innerHeight;var f=c-w/2;d=n-_-(l-f);if(i==="time"){if(u==="0"){if(d>-C*2.5){return this.formulaUnlimitedScroll(24,d,"up")}if(d<-C*28.5){return this.formulaUnlimitedScroll(24,d,"down")}}else if(u==="1"){if(d>-C*2.5){return this.formulaUnlimitedScroll(60,d,"up")}if(d<-C*64.5){return this.formulaUnlimitedScroll(60,d,"down")}}}}else{d=n-_}if(d>s)d=0;if(d<h)d=h;var p=Math.round(d/-C);var v=_-C*p;if(this.mode==="date"){if(this.columnId==="0"){this.updateDay(+this.range[p].replace(/[^0-9]/gi,""),0)}if(this.columnId==="1"){this.updateDay(+this.range[p].replace(/[^0-9]/gi,""),1)}if(this.columnId==="2"){this.updateDay(+this.range[p].replace(/[^0-9]/gi,""),2)}}a(v,u,i==="time");o&&o(v,u)};e.prototype.onMouseDown=function(e){this.isMove=true;this.handleMoveStart(e.clientY)};e.prototype.onMouseMove=function(e){e.preventDefault();if(!this.isMove)return;this.handleMoving(e.clientY)};e.prototype.onMouseMoveEnd=function(e){if(!this.isMove)return;this.isMove=false;this.handleMoveEnd(e.clientY)};e.prototype.onTouchStart=function(e){this.handleMoveStart(e.changedTouches[0].clientY)};e.prototype.onTouchMove=function(e){e.preventDefault();this.handleMoving(e.changedTouches[0].clientY)};e.prototype.onTouchEnd=function(e){this.handleMoveEnd(e.changedTouches[0].clientY)};e.prototype.render=function(){var e=this,t=e.range,i=e.rangeKey;var a=t.map((function(e){var t=i?e[i]:e;return r("div",{class:"weui-picker__item"},t)}));return r(n,{class:"weui-picker__group"},r("div",{class:"weui-picker__mask"}),r("div",{class:"weui-picker__indicator"}),r("div",{class:"weui-picker__content",style:this.getPosition()},a))};return e}())}}}));
2
+ //# sourceMappingURL=p-d7ab3e23.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/picker/utils.ts","src/components/picker/constant.ts","src/components/picker/style/index.scss?tag=taro-picker-core","src/components/picker/picker.tsx","src/components/picker/picker-group.tsx"],"names":["getTimeRange","begin","end","range","i","push","concat","hoursRange","__spreadArray","minutesRange","verifyValue","value","isNaN","length","verifyTime","test","time","split","map","num","compareTime","t1","t2","t1List","t2List","verifyDate","dateStr","date","Date","replace","getMonth","getMaxDay","year","month","formatValue","res","Array","isArray","item","String","getDateRange","start","getYearRange","getMonthRange","rangeStart","rangeEnd","getFullYear","getDayRange","getDate","TOP","LINE_HEIGHT","MASK_HEIGHT","indexCss","Picker","exports","this","index","showPicker","_this","disabled","height","getHeightByIndex","hidden","factor","mode","hidePicker","fadeOut","setTimeout","handleChange","h","range_1","slice","timeArr","n","parseInt","join","_b","pickerDate","_start","_end","_updateValue","currentYear","currentMonth","yearRange","monthRange","dayRange","day","fields","pickerValue","onChange","emit","handleCancel","onCancel","updateHeight","columnId","needRevise","temp","range_2","timeList","timeStr","height_1","requestAnimationFrame","height_2","handleColumnChange","onColumnChange","column","Number","updateDay","currentDay","max","min","indexOf","getSelector","rangeKey","getMultiSelector","getTimeSelector","hourRange","minRange","getDateSelector","_c","renderView","class_1","prototype","componentWillLoad","isWillLoadCalled","handleProps","componentDidLoad","Object","defineProperty","el","get","set","val","configurable","overlay","document","body","appendChild","disconnectedCallback","_a","parentNode","removeChild","onPropsChange","Math","floor","value_1","forEach","console","warn","_value","setHours","getTime","Error","render","name","pickerGroup","clsMask","classNames","weui-animate-fade-out","clsSlider","weui-animate-slide-down","shouldDivHidden","display","Host","onClick","type","class","style","ref","TaroPickerGroup","class_2","getPosition","transition","touchEnd","transformValue","transitionValue","transform","-webkit-transform","-webkit-transition","formulaUnlimitedScroll","absoluteHeight","direction","round","relativeHeight","handleMoveStart","clientY","startY","preY","hadMove","handleMoving","y","deltaY","abs","newPos","handleMoveEnd","endY","windowHeight","window","innerHeight","relativeY","onMouseDown","e","isMove","onMouseMove","preventDefault","onMouseMoveEnd","onTouchStart","changedTouches","onTouchMove","onTouchEnd","pickerItem","content"],"mappings":"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","sourcesContent":["function getTimeRange (begin: number, end: number) {\n const range: string[] = []\n for (let i = begin; i <= end; i++) {\n range.push(`${i < 10 ? '0' : ''}${i}`)\n }\n return range\n}\n\nexport const hoursRange = [\n '20',\n '21',\n '22',\n '23',\n ...getTimeRange(0, 23),\n '00',\n '01',\n '02',\n '03'\n]\n\nexport const minutesRange = [\n '56',\n '57',\n '58',\n '59',\n ...getTimeRange(0, 59),\n '00',\n '01',\n '02',\n '03'\n]\n\n/**\n * 校验传入的 value 是否合法\n */\nexport function verifyValue (value: number, range: any[]) {\n if (!isNaN(+value) && value >= 0 && value < range.length) return true\n return false\n}\n\n/**\n * 检验传入的 time value 是否合法\n */\nexport function verifyTime (value: string) {\n if (!/^\\d{1,2}:\\d{1,2}$/.test(value)) return false\n\n const time = value.split(':').map(num => +num)\n\n if (time[0] < 0 || time[0] > 23) return false\n if (time[1] < 0 || time[1] > 59) return false\n\n return true\n}\n\n/**\n * 比较时间\n * return t1 <= t2\n */\nexport function compareTime (t1: string, t2: string) {\n const t1List = t1.split(':').map(i => +i)\n const t2List = t2.split(':').map(i => +i)\n\n if (t1List[0] < t2List[0]) return true\n if (t1List[0] === t2List[0] && t1List[1] <= t2List[1]) return true\n\n return false\n}\n\n/**\n * 校验日期合法性,返回合法性和日期数组\n */\nexport function verifyDate (dateStr: string) {\n if (!dateStr) return false\n const date = new Date(dateStr.replace(/-/g, '/'))\n return isNaN(date.getMonth()) ? false : date\n}\n\n/**\n * 获取当月最大天数\n */\nfunction getMaxDay (year: number, month: number) {\n if (month === 4 || month === 6 || month === 9 || month === 11) return 30\n if (month === 2) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) return 29\n else return 28\n }\n return 31\n}\n\nexport function formatValue (value: number | number[] | string) {\n let res: number | string | string[]\n if (Array.isArray(value)) {\n res = value.map(item => String(item))\n } else {\n res = value\n }\n return res\n}\n\n/**\n * 获取时间数组\n */\nfunction getDateRange (start: number, end: number) {\n const range: number[] = []\n for (let i = start; i <= end; i++) {\n range.push(i)\n }\n return range\n}\n\n/**\n * 获取年份区间数组\n */\nexport function getYearRange (start: number, end: number) {\n return getDateRange(start, end)\n}\n\n/**\n * 获取月份区间数组\n */\nexport function getMonthRange (start: Date, end: Date, year: number) {\n let rangeStart = 1\n let rangeEnd = 12\n\n // 当前年份等于开始年份,由开始对应的月份约束开始值\n if (start.getFullYear() === year) {\n rangeStart = start.getMonth() + 1\n }\n\n // 当前年份等于结束年份,由结束对应的月份约束结束值\n if (end.getFullYear() === year) {\n rangeEnd = end.getMonth() + 1\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n/**\n * 获取日期区间数组\n */\nexport function getDayRange (start: Date, end: Date, year: number, month: number) {\n let rangeStart = 1\n let rangeEnd = getMaxDay(year, month)\n\n if (start.getFullYear() === year && start.getMonth() + 1 === month) {\n rangeStart = start.getDate()\n }\n\n if (end.getFullYear() === year && end.getMonth() + 1 === month) {\n rangeEnd = end.getDate()\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n","export const TOP = 102\nexport const LINE_HEIGHT = 34\nexport const MASK_HEIGHT = LINE_HEIGHT * 7\n",".weui-picker,\n.weui-picker__hd {\n font-size: 12px;\n}\n","import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Host, State, Watch, Element } from '@stencil/core'\nimport classNames from 'classnames'\nimport {\n hoursRange,\n minutesRange,\n compareTime,\n verifyValue,\n verifyTime,\n verifyDate,\n getYearRange,\n getMonthRange,\n getDayRange,\n formatValue\n} from './utils'\nimport {\n TOP,\n LINE_HEIGHT\n} from './constant'\n\nexport type Mode = 'selector' | 'multiSelector' | 'time' | 'date'\nexport type Fields = 'day' | 'month' | 'year'\nexport type PickerValue = number | number[] | string\n\nexport interface PickerDate {\n _value: Date\n _start: Date\n _end: Date\n _updateValue: [number, number, number]\n}\n\n@Component({\n tag: 'taro-picker-core',\n styleUrl: './style/index.scss'\n})\nexport class Picker implements ComponentInterface {\n private index: number[] = []\n private pickerDate: PickerDate\n private overlay?: HTMLElement\n\n @Element() el: HTMLElement\n\n @Prop() mode: Mode = 'selector'\n @Prop() disabled = false\n @Prop() range: any[] = []\n @Prop() rangeKey: string\n @Prop({ mutable: true }) value: number | number[] | string\n @Prop() start = ''\n @Prop() end = ''\n @Prop() fields: Fields = 'day'\n @Prop() name = ''\n\n @State() pickerValue: PickerValue = []\n @State() height: number[] = []\n @State() hidden = true\n @State() fadeOut = false\n @State() isWillLoadCalled = false\n\n @Event({\n eventName: 'change'\n }) onChange: EventEmitter\n\n @Event({\n eventName: 'columnchange'\n }) onColumnChange: EventEmitter\n\n @Event({\n eventName: 'cancel'\n }) onCancel: EventEmitter\n\n componentWillLoad () {\n this.isWillLoadCalled = true\n this.handleProps()\n }\n\n componentDidLoad () {\n Object.defineProperty(this.el, 'value', {\n get: () => this.pickerValue,\n set: val => (this.value = val),\n configurable: true\n })\n\n if (this.overlay) {\n document.body.appendChild(this.overlay)\n }\n }\n\n disconnectedCallback () {\n if (this.overlay) {\n this.overlay.parentNode?.removeChild(this.overlay)\n }\n }\n\n @Watch('mode')\n @Watch('value')\n @Watch('range')\n @Watch('start')\n @Watch('end')\n onPropsChange () {\n if (!this.isWillLoadCalled) return\n this.handleProps()\n }\n\n handleProps () {\n const { mode, start, end } = this\n\n if (mode === 'selector') {\n const value = this.value as number\n this.index = [verifyValue(value, this.range) ? Math.floor(value) : 0]\n } else if (mode === 'multiSelector') {\n const value = this.value as number[]\n this.index = []\n this.range.forEach((range, index) => {\n const val = value?.[index]\n const item = verifyValue(val, range as any[]) ? Math.floor(val) : 0\n this.index.push(item)\n })\n } else if (mode === 'time') {\n let value = this.value as string\n // check value...\n if (!verifyTime(value)) {\n console.warn('time picker value illegal')\n value = '0:0'\n }\n\n const time = value.split(':').map(n => +n)\n this.index = time\n } else if (mode === 'date') {\n const value = this.value as string\n\n const _value = verifyDate(value) || new Date(new Date().setHours(0, 0, 0, 0)) // 没传值或值的合法性错误默认今天时间\n const _start = verifyDate(start) || new Date('1970/01/01')\n const _end = verifyDate(end) || new Date('2999/01/01')\n\n // 时间区间有效性\n if (_value >= _start && _value <= _end) {\n const currentYear = _value.getFullYear()\n const currentMonth = _value.getMonth() + 1\n const currentDay = _value.getDate()\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n const monthRange = getMonthRange(_start, _end, currentYear)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n\n this.index = [\n yearRange.indexOf(currentYear),\n monthRange.indexOf(currentMonth),\n dayRange.indexOf(currentDay)\n ]\n if (\n !this.pickerDate ||\n this.pickerDate._value.getTime() !== _value.getTime() ||\n this.pickerDate._start.getTime() !== _start.getTime() ||\n this.pickerDate._end.getTime() !== _end.getTime()\n ) {\n this.pickerDate = {\n _value,\n _start,\n _end,\n _updateValue: [\n currentYear,\n currentMonth,\n currentDay\n ]\n }\n }\n } else {\n throw new Error('Date Interval Error')\n }\n }\n\n // Prop 变化时,无论是否正在显示弹层,都更新 height 值\n this.height = this.getHeightByIndex()\n\n // 同步表单 value 值,用于 form submit\n this.pickerValue = this.value\n if (mode === 'date') {\n const val = this.pickerValue as string\n if (this.fields === 'month') {\n this.pickerValue = val.split('-').slice(0, 2).join('-')\n } else if (this.fields === 'year') {\n this.pickerValue = val.split('-')[0]\n }\n }\n }\n\n // 展示 Picker\n showPicker = () => {\n if (this.disabled) return\n\n this.height = this.getHeightByIndex()\n this.hidden = false\n }\n\n getHeightByIndex = () => {\n const height = this.index.map(i => {\n let factor = 0\n if (this.mode === 'time') {\n factor = LINE_HEIGHT * 4\n }\n return TOP - LINE_HEIGHT * i - factor\n })\n return height\n }\n\n // 隐藏 picker\n hidePicker = () => {\n this.fadeOut = true\n setTimeout(() => {\n this.hidden = true\n this.fadeOut = false\n }, 350)\n }\n\n // 点击确定按钮\n handleChange = () => {\n this.hidePicker()\n\n this.index = this.height.map(h => (TOP - h) / LINE_HEIGHT)\n\n let value: PickerValue = this.index.length && this.mode !== 'selector'\n ? this.index\n : this.index[0]\n\n if (this.mode === 'time') {\n const range = [hoursRange.slice(), minutesRange.slice()]\n\n const timeArr = this.index.map<string>((n, i) => range[i][n])\n\n this.index = timeArr.map(item => parseInt(item))\n value = timeArr.join(':')\n }\n\n if (this.mode === 'date') {\n const { _start, _end, _updateValue } = this.pickerDate\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n const monthRange = getMonthRange(_start, _end, currentYear)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n\n const year = yearRange[this.index[0]]\n const month = monthRange[this.index[1]]\n const day = dayRange[this.index[2]]\n\n if (this.fields === 'year') {\n value = [year]\n } else if (this.fields === 'month') {\n value = [year, month]\n } else {\n value = [year, month, day]\n }\n value = value\n .map(item => {\n return item < 10 ? `0${item}` : item\n })\n .join('-')\n }\n\n this.pickerValue = value\n\n this.onChange.emit({\n value\n })\n }\n\n // 点击取消按钮或蒙层\n handleCancel = () => {\n this.hidePicker()\n this.onCancel.emit()\n }\n\n updateHeight = (height: number, columnId: string, needRevise = false) => {\n const temp = [...this.height]\n temp[columnId] = height\n this.height = temp\n\n // time picker 必须在规定时间范围内,因此需要在 touchEnd 做修正\n if (needRevise) {\n let { start, end } = this\n\n if (!verifyTime(start)) start = '00:00'\n if (!verifyTime(end)) end = '23:59'\n if (!compareTime(start, end)) return\n\n const range = [hoursRange.slice(), minutesRange.slice()]\n\n const timeList = this.height.map(h => (TOP - h) / LINE_HEIGHT)\n const timeStr = timeList.map((n, i) => range[i][n]).join(':')\n\n if (!compareTime(start, timeStr)) {\n // 修正到 start\n const height = start\n .split(':')\n .map(i => TOP - LINE_HEIGHT * (+i + 4))\n requestAnimationFrame(() => (this.height = height))\n } else if (!compareTime(timeStr, end)) {\n // 修正到 end\n const height = end\n .split(':')\n .map(i => TOP - LINE_HEIGHT * (+i + 4))\n requestAnimationFrame(() => (this.height = height))\n }\n }\n }\n\n handleColumnChange = (height: number, columnId: string) => {\n this.onColumnChange.emit({\n column: Number(columnId),\n value: (TOP - height) / LINE_HEIGHT\n })\n }\n\n updateDay = (value: number, fields: number) => {\n const { _start, _end, _updateValue } = this.pickerDate\n\n _updateValue[fields] = value\n\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n const currentDay = _updateValue[2]\n\n // 滚动年份\n if (fields === 0) {\n const monthRange = getMonthRange(_start, _end, currentYear)\n const max = monthRange[monthRange.length - 1]\n const min = monthRange[0]\n\n if (currentMonth > max) _updateValue[1] = max\n if (currentMonth < min) _updateValue[1] = min\n const index = monthRange.indexOf(_updateValue[1])\n const height = TOP - LINE_HEIGHT * index\n\n this.updateDay(_updateValue[1], 1)\n this.updateHeight(height, '1')\n } else if (fields === 1) {\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n const max = dayRange[dayRange.length - 1]\n const min = dayRange[0]\n\n if (currentDay > max) _updateValue[2] = max\n if (currentDay < min) _updateValue[2] = min\n const index = dayRange.indexOf(_updateValue[2])\n const height = TOP - LINE_HEIGHT * index\n\n this.updateDay(_updateValue[2], 2)\n this.updateHeight(height, '2')\n }\n }\n\n // 单列选择器\n getSelector = () => {\n return (\n <taro-picker-group\n range={this.range}\n rangeKey={this.rangeKey}\n height={this.height[0]}\n updateHeight={this.updateHeight}\n columnId='0'\n />\n )\n }\n\n // 多列选择器\n getMultiSelector = () => {\n return this.range.map((range, index) => {\n return (\n <taro-picker-group\n range={range}\n rangeKey={this.rangeKey}\n height={this.height[index]}\n updateHeight={this.updateHeight}\n onColumnChange={this.handleColumnChange}\n columnId={String(index)}\n />\n )\n })\n }\n\n // 时间选择器\n getTimeSelector = () => {\n const hourRange = hoursRange.slice()\n const minRange = minutesRange.slice()\n return [\n <taro-picker-group\n mode='time'\n range={hourRange}\n height={this.height[0]}\n updateHeight={this.updateHeight}\n columnId='0'\n />,\n <taro-picker-group\n mode='time'\n range={minRange}\n height={this.height[1]}\n updateHeight={this.updateHeight}\n columnId='1'\n />\n ]\n }\n\n // 日期选择器\n getDateSelector = () => {\n const { fields, height } = this\n const { _start, _end, _updateValue } = this.pickerDate\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n .map(item => `${item}年`)\n const monthRange = getMonthRange(_start, _end, currentYear)\n .map(item => `${item < 10 ? `0${item}` : item}月`)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n .map(item => `${item < 10 ? `0${item}` : item}日`)\n\n const renderView = [\n <taro-picker-group\n mode='date'\n range={yearRange}\n height={height[0]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='0'\n />\n ]\n if (fields === 'month' || fields === 'day') {\n renderView.push(\n <taro-picker-group\n mode='date'\n range={monthRange}\n height={height[1]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='1'\n />\n )\n }\n if (fields === 'day') {\n renderView.push(\n <taro-picker-group\n mode='date'\n range={dayRange}\n height={height[2]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='2'\n />\n )\n }\n\n return renderView\n }\n\n render () {\n const {\n name,\n mode,\n fadeOut,\n hidden\n } = this\n\n // 选项条\n let pickerGroup\n switch (mode) {\n case 'multiSelector':\n pickerGroup = this.getMultiSelector()\n break\n case 'time':\n pickerGroup = this.getTimeSelector()\n break\n case 'date':\n pickerGroup = this.getDateSelector()\n break\n default:\n pickerGroup = this.getSelector()\n }\n\n // 动画类名控制逻辑\n const clsMask = classNames('weui-mask', 'weui-animate-fade-in', {\n 'weui-animate-fade-out': fadeOut\n })\n const clsSlider = classNames('weui-picker', 'weui-animate-slide-up', {\n 'weui-animate-slide-down': fadeOut\n })\n const shouldDivHidden = hidden ? { display: 'none' } : {}\n\n return (\n <Host>\n <div onClick={this.showPicker}>\n <slot />\n <input type='hidden' name={name} value={formatValue(this.pickerValue)} />\n </div>\n <div\n class='weui-picker__overlay'\n style={shouldDivHidden}\n ref={el => { this.overlay = el }}\n >\n <div class={clsMask} onClick={this.handleCancel} />\n <div class={clsSlider}>\n <div class='weui-picker__hd'>\n <div class='weui-picker__action' onClick={this.handleCancel}>\n 取消\n </div>\n <div class='weui-picker__action' onClick={this.handleChange}>\n 确定\n </div>\n </div>\n <div class='weui-picker__bd'>{pickerGroup}</div>\n <input type='hidden' name={name} value={formatValue(this.pickerValue)} />\n </div>\n </div>\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Prop, Host, Method, State, Listen } from '@stencil/core'\n\nimport {\n TOP,\n LINE_HEIGHT,\n MASK_HEIGHT\n} from './constant'\n\n@Component({\n tag: 'taro-picker-group'\n})\nexport class TaroPickerGroup implements ComponentInterface {\n @Prop() mode: 'time' | 'date'\n @Prop() range: any[] = []\n @Prop() rangeKey: string\n @Prop() height: number\n @Prop() columnId: string\n @Prop() updateHeight: (height: number, columnId: string, needRevise?: boolean) => void\n @Prop() onColumnChange: (height: number, columnId: string) => void\n @Prop() updateDay: (value: number, fields: number) => void\n\n @State() startY: number\n @State() preY: number\n @State() hadMove: boolean\n @State() touchEnd: boolean\n @State() isMove: boolean\n\n getPosition () {\n const transition = this.touchEnd ? 0.3 : 0\n const transformValue = `translate3d(0, ${this.height}px, 0)`\n const transitionValue = `transform ${transition}s`\n return {\n transform: transformValue,\n '-webkit-transform': transformValue,\n transition: transitionValue,\n '-webkit-transition': transitionValue\n }\n }\n\n formulaUnlimitedScroll (range: number, absoluteHeight: number, direction: 'up' | 'down') {\n const { height, updateHeight, columnId } = this\n const factor = direction === 'up' ? 1 : -1\n\n this.touchEnd = false\n\n // 点击超过范围,点击到补帧时,先跳到另一端的补帧\n updateHeight(-range * factor * LINE_HEIGHT + height, columnId)\n\n // 再做过渡动画\n requestAnimationFrame(() => {\n this.touchEnd = true\n const index = Math.round(absoluteHeight / -LINE_HEIGHT) + range * factor\n const relativeHeight = TOP - LINE_HEIGHT * index\n updateHeight(relativeHeight, columnId, true)\n })\n }\n\n @Method()\n handleMoveStart (clientY: number) {\n // 记录第一次的点击位置\n this.startY = clientY\n this.preY = clientY\n this.hadMove = false\n }\n\n @Method()\n handleMoving (clientY: number) {\n const y = clientY\n const deltaY = y - this.preY\n this.preY = y\n this.touchEnd = false\n\n if (Math.abs(y - this.startY) > 10) this.hadMove = true\n\n let newPos = this.height + deltaY\n\n // 处理时间选择器的无限滚动\n if (this.mode === 'time') {\n if (this.columnId === '0') {\n // 数字 28 来自于 4 格补帧 + 0 ~ 23 的 24 格,共 28 格\n if (newPos > TOP - LINE_HEIGHT * 3) {\n newPos = TOP - LINE_HEIGHT * 27 + deltaY\n }\n if (newPos < TOP - LINE_HEIGHT * 28) {\n newPos = TOP - LINE_HEIGHT * 4 + deltaY\n }\n } else if (this.columnId === '1') {\n if (newPos > TOP - LINE_HEIGHT * 3) {\n newPos = TOP - LINE_HEIGHT * 63 + deltaY\n }\n if (newPos < TOP - LINE_HEIGHT * 64) {\n newPos = TOP - LINE_HEIGHT * 4 + deltaY\n }\n }\n }\n\n this.updateHeight(newPos, this.columnId)\n }\n\n @Method()\n handleMoveEnd (clientY: number) {\n const {\n mode,\n range,\n height,\n updateHeight,\n onColumnChange,\n columnId\n } = this\n const max = 0\n const min = -LINE_HEIGHT * (range.length - 1)\n const endY = clientY\n\n this.touchEnd = true\n\n // touchEnd 时的高度,可能带小数点,需要再处理\n let absoluteHeight: number\n\n if (!this.hadMove) {\n /** 点击 */\n // 屏幕高度\n const windowHeight = window.innerHeight\n // picker__mask 垂直方向距离屏幕顶部的高度\n const relativeY = windowHeight - MASK_HEIGHT / 2\n\n absoluteHeight = height - TOP - (endY - relativeY)\n\n // 处理时间选择器的无限滚动\n if (mode === 'time') {\n if (columnId === '0') {\n // 点击上溢出\n // absoluteHeight 是相对模块中点来算的,所以会算多半行,这时要减去这半行,即2.5行\n if (absoluteHeight > -LINE_HEIGHT * 2.5) {\n return this.formulaUnlimitedScroll(24, absoluteHeight, 'up')\n }\n // 点击下溢出\n if (absoluteHeight < -LINE_HEIGHT * 28.5) {\n return this.formulaUnlimitedScroll(24, absoluteHeight, 'down')\n }\n } else if (columnId === '1') {\n // 点击上溢出\n if (absoluteHeight > -LINE_HEIGHT * 2.5) {\n return this.formulaUnlimitedScroll(60, absoluteHeight, 'up')\n }\n // 点击下溢出\n if (absoluteHeight < -LINE_HEIGHT * 64.5) {\n return this.formulaUnlimitedScroll(60, absoluteHeight, 'down')\n }\n }\n }\n } else {\n /** 滚动 */\n absoluteHeight = height - TOP\n }\n\n // 边界情况处理\n if (absoluteHeight > max) absoluteHeight = 0\n if (absoluteHeight < min) absoluteHeight = min\n\n // 先按公式算出 index, 再用此 index 算出一个整数高度\n const index = Math.round(absoluteHeight / -LINE_HEIGHT)\n const relativeHeight = TOP - LINE_HEIGHT * index\n\n if (this.mode === 'date') {\n if (this.columnId === '0') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 0\n )\n }\n if (this.columnId === '1') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 1\n )\n }\n if (this.columnId === '2') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 2\n )\n }\n }\n\n updateHeight(relativeHeight, columnId, mode === 'time')\n onColumnChange && onColumnChange(relativeHeight, columnId)\n }\n\n @Listen('mousedown')\n onMouseDown (e: MouseEvent) {\n this.isMove = true\n this.handleMoveStart(e.clientY)\n }\n\n @Listen('mousemove')\n onMouseMove (e: MouseEvent) {\n e.preventDefault()\n\n if (!this.isMove) return\n\n this.handleMoving(e.clientY)\n }\n\n @Listen('mouseup')\n @Listen('mouseleave')\n onMouseMoveEnd (e: MouseEvent) {\n if (!this.isMove) return\n\n this.isMove = false\n this.handleMoveEnd(e.clientY)\n }\n\n @Listen('touchstart')\n onTouchStart (e: TouchEvent) {\n this.handleMoveStart(e.changedTouches[0].clientY)\n }\n\n @Listen('touchmove')\n onTouchMove (e: TouchEvent) {\n e.preventDefault()\n\n this.handleMoving(e.changedTouches[0].clientY)\n }\n\n @Listen('touchend')\n onTouchEnd (e: TouchEvent) {\n this.handleMoveEnd(e.changedTouches[0].clientY)\n }\n\n render () {\n const { range, rangeKey } = this\n const pickerItem = range.map(item => {\n const content = rangeKey ? item[rangeKey] : item\n return (\n <div class='weui-picker__item'>{content}</div>\n )\n })\n\n return (\n <Host class='weui-picker__group'>\n <div class='weui-picker__mask' />\n <div class='weui-picker__indicator' />\n <div class='weui-picker__content' style={this.getPosition()}>\n {pickerItem}\n </div>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as n}from"./p-5bfefd19.js";import{c as h}from"./p-76724e58.js";function o(t,i){const s=[];for(let e=t;e<=i;e++){s.push(`${e<10?"0":""}${e}`)}return s}const r=["20","21","22","23",...o(0,23),"00","01","02","03"];const c=["56","57","58","59",...o(0,59),"00","01","02","03"];function a(t,i){if(!isNaN(+t)&&t>=0&&t<i.length)return true;return false}function u(t){if(!/^\d{1,2}:\d{1,2}$/.test(t))return false;const i=t.split(":").map((t=>+t));if(i[0]<0||i[0]>23)return false;if(i[1]<0||i[1]>59)return false;return true}function d(t,i){const s=t.split(":").map((t=>+t));const e=i.split(":").map((t=>+t));if(s[0]<e[0])return true;if(s[0]===e[0]&&s[1]<=e[1])return true;return false}function l(t){if(!t)return false;const i=new Date(t.replace(/-/g,"/"));return isNaN(i.getMonth())?false:i}function f(t,i){if(i===4||i===6||i===9||i===11)return 30;if(i===2){if(t%4===0&&t%100!==0||t%400===0)return 29;else return 28}return 31}function p(t){let i;if(Array.isArray(t)){i=t.map((t=>String(t)))}else{i=t}return i}function m(t,i){const s=[];for(let e=t;e<=i;e++){s.push(e)}return s}function g(t,i){return m(t,i)}function _(t,i,s){let e=1;let n=12;if(t.getFullYear()===s){e=t.getMonth()+1}if(i.getFullYear()===s){n=i.getMonth()+1}return m(e,n)}function k(t,i,s,e){let n=1;let h=f(s,e);if(t.getFullYear()===s&&t.getMonth()+1===e){n=t.getDate()}if(i.getFullYear()===s&&i.getMonth()+1===e){h=i.getDate()}return m(n,h)}const w=102;const v=34;const y=v*7;const C=".weui-picker,.weui-picker__hd{font-size:12px}";const M=class{constructor(e){t(this,e);this.onChange=i(this,"change",7);this.onColumnChange=i(this,"columnchange",7);this.onCancel=i(this,"cancel",7);this.index=[];this.showPicker=()=>{if(this.disabled)return;this.height=this.getHeightByIndex();this.hidden=false};this.getHeightByIndex=()=>{const t=this.index.map((t=>{let i=0;if(this.mode==="time"){i=v*4}return w-v*t-i}));return t};this.hidePicker=()=>{this.fadeOut=true;setTimeout((()=>{this.hidden=true;this.fadeOut=false}),350)};this.handleChange=()=>{this.hidePicker();this.index=this.height.map((t=>(w-t)/v));let t=this.index.length&&this.mode!=="selector"?this.index:this.index[0];if(this.mode==="time"){const i=[r.slice(),c.slice()];const s=this.index.map(((t,s)=>i[s][t]));this.index=s.map((t=>parseInt(t)));t=s.join(":")}if(this.mode==="date"){const{_start:i,_end:s,_updateValue:e}=this.pickerDate;const n=e[0];const h=e[1];const o=g(i.getFullYear(),s.getFullYear());const r=_(i,s,n);const c=k(i,s,n,h);const a=o[this.index[0]];const u=r[this.index[1]];const d=c[this.index[2]];if(this.fields==="year"){t=[a]}else if(this.fields==="month"){t=[a,u]}else{t=[a,u,d]}t=t.map((t=>t<10?`0${t}`:t)).join("-")}this.pickerValue=t;this.onChange.emit({value:t})};this.handleCancel=()=>{this.hidePicker();this.onCancel.emit()};this.updateHeight=(t,i,s=false)=>{const e=[...this.height];e[i]=t;this.height=e;if(s){let{start:t,end:i}=this;if(!u(t))t="00:00";if(!u(i))i="23:59";if(!d(t,i))return;const s=[r.slice(),c.slice()];const e=this.height.map((t=>(w-t)/v));const n=e.map(((t,i)=>s[i][t])).join(":");if(!d(t,n)){const i=t.split(":").map((t=>w-v*(+t+4)));requestAnimationFrame((()=>this.height=i))}else if(!d(n,i)){const t=i.split(":").map((t=>w-v*(+t+4)));requestAnimationFrame((()=>this.height=t))}}};this.handleColumnChange=(t,i)=>{this.onColumnChange.emit({column:Number(i),value:(w-t)/v})};this.updateDay=(t,i)=>{const{_start:s,_end:e,_updateValue:n}=this.pickerDate;n[i]=t;const h=n[0];const o=n[1];const r=n[2];if(i===0){const t=_(s,e,h);const i=t[t.length-1];const r=t[0];if(o>i)n[1]=i;if(o<r)n[1]=r;const c=t.indexOf(n[1]);const a=w-v*c;this.updateDay(n[1],1);this.updateHeight(a,"1")}else if(i===1){const t=k(s,e,h,o);const i=t[t.length-1];const c=t[0];if(r>i)n[2]=i;if(r<c)n[2]=c;const a=t.indexOf(n[2]);const u=w-v*a;this.updateDay(n[2],2);this.updateHeight(u,"2")}};this.getSelector=()=>s("taro-picker-group",{range:this.range,rangeKey:this.rangeKey,height:this.height[0],updateHeight:this.updateHeight,columnId:"0"});this.getMultiSelector=()=>this.range.map(((t,i)=>s("taro-picker-group",{range:t,rangeKey:this.rangeKey,height:this.height[i],updateHeight:this.updateHeight,onColumnChange:this.handleColumnChange,columnId:String(i)})));this.getTimeSelector=()=>{const t=r.slice();const i=c.slice();return[s("taro-picker-group",{mode:"time",range:t,height:this.height[0],updateHeight:this.updateHeight,columnId:"0"}),s("taro-picker-group",{mode:"time",range:i,height:this.height[1],updateHeight:this.updateHeight,columnId:"1"})]};this.getDateSelector=()=>{const{fields:t,height:i}=this;const{_start:e,_end:n,_updateValue:h}=this.pickerDate;const o=h[0];const r=h[1];const c=g(e.getFullYear(),n.getFullYear()).map((t=>`${t}年`));const a=_(e,n,o).map((t=>`${t<10?`0${t}`:t}月`));const u=k(e,n,o,r).map((t=>`${t<10?`0${t}`:t}日`));const d=[s("taro-picker-group",{mode:"date",range:c,height:i[0],updateDay:this.updateDay,updateHeight:this.updateHeight,columnId:"0"})];if(t==="month"||t==="day"){d.push(s("taro-picker-group",{mode:"date",range:a,height:i[1],updateDay:this.updateDay,updateHeight:this.updateHeight,columnId:"1"}))}if(t==="day"){d.push(s("taro-picker-group",{mode:"date",range:u,height:i[2],updateDay:this.updateDay,updateHeight:this.updateHeight,columnId:"2"}))}return d};this.mode="selector";this.disabled=false;this.range=[];this.rangeKey=undefined;this.value=undefined;this.start="";this.end="";this.fields="day";this.name="";this.pickerValue=[];this.height=[];this.hidden=true;this.fadeOut=false;this.isWillLoadCalled=false}componentWillLoad(){this.isWillLoadCalled=true;this.handleProps()}componentDidLoad(){Object.defineProperty(this.el,"value",{get:()=>this.pickerValue,set:t=>this.value=t,configurable:true});if(this.overlay){document.body.appendChild(this.overlay)}}disconnectedCallback(){var t;if(this.overlay){(t=this.overlay.parentNode)===null||t===void 0?void 0:t.removeChild(this.overlay)}}onPropsChange(){if(!this.isWillLoadCalled)return;this.handleProps()}handleProps(){const{mode:t,start:i,end:s}=this;if(t==="selector"){const t=this.value;this.index=[a(t,this.range)?Math.floor(t):0]}else if(t==="multiSelector"){const t=this.value;this.index=[];this.range.forEach(((i,s)=>{const e=t===null||t===void 0?void 0:t[s];const n=a(e,i)?Math.floor(e):0;this.index.push(n)}))}else if(t==="time"){let t=this.value;if(!u(t)){console.warn("time picker value illegal");t="0:0"}const i=t.split(":").map((t=>+t));this.index=i}else if(t==="date"){const t=this.value;const e=l(t)||new Date((new Date).setHours(0,0,0,0));const n=l(i)||new Date("1970/01/01");const h=l(s)||new Date("2999/01/01");if(e>=n&&e<=h){const t=e.getFullYear();const i=e.getMonth()+1;const s=e.getDate();const o=g(n.getFullYear(),h.getFullYear());const r=_(n,h,t);const c=k(n,h,t,i);this.index=[o.indexOf(t),r.indexOf(i),c.indexOf(s)];if(!this.pickerDate||this.pickerDate._value.getTime()!==e.getTime()||this.pickerDate._start.getTime()!==n.getTime()||this.pickerDate._end.getTime()!==h.getTime()){this.pickerDate={_value:e,_start:n,_end:h,_updateValue:[t,i,s]}}}else{throw new Error("Date Interval Error")}}this.height=this.getHeightByIndex();this.pickerValue=this.value;if(t==="date"){const t=this.pickerValue;if(this.fields==="month"){this.pickerValue=t.split("-").slice(0,2).join("-")}else if(this.fields==="year"){this.pickerValue=t.split("-")[0]}}}render(){const{name:t,mode:i,fadeOut:n,hidden:o}=this;let r;switch(i){case"multiSelector":r=this.getMultiSelector();break;case"time":r=this.getTimeSelector();break;case"date":r=this.getDateSelector();break;default:r=this.getSelector()}const c=h("weui-mask","weui-animate-fade-in",{"weui-animate-fade-out":n});const a=h("weui-picker","weui-animate-slide-up",{"weui-animate-slide-down":n});const u=o?{display:"none"}:{};return s(e,null,s("div",{onClick:this.showPicker},s("slot",null),s("input",{type:"hidden",name:t,value:p(this.pickerValue)})),s("div",{class:"weui-picker__overlay",style:u,ref:t=>{this.overlay=t}},s("div",{class:c,onClick:this.handleCancel}),s("div",{class:a},s("div",{class:"weui-picker__hd"},s("div",{class:"weui-picker__action",onClick:this.handleCancel},"取消"),s("div",{class:"weui-picker__action",onClick:this.handleChange},"确定")),s("div",{class:"weui-picker__bd"},r),s("input",{type:"hidden",name:t,value:p(this.pickerValue)}))))}get el(){return n(this)}static get watchers(){return{mode:["onPropsChange"],value:["onPropsChange"],range:["onPropsChange"],start:["onPropsChange"],end:["onPropsChange"]}}};M.style=C;const b=class{constructor(i){t(this,i);this.mode=undefined;this.range=[];this.rangeKey=undefined;this.height=undefined;this.columnId=undefined;this.updateHeight=undefined;this.onColumnChange=undefined;this.updateDay=undefined;this.startY=undefined;this.preY=undefined;this.hadMove=undefined;this.touchEnd=undefined;this.isMove=undefined}getPosition(){const t=this.touchEnd?.3:0;const i=`translate3d(0, ${this.height}px, 0)`;const s=`transform ${t}s`;return{transform:i,"-webkit-transform":i,transition:s,"-webkit-transition":s}}formulaUnlimitedScroll(t,i,s){const{height:e,updateHeight:n,columnId:h}=this;const o=s==="up"?1:-1;this.touchEnd=false;n(-t*o*v+e,h);requestAnimationFrame((()=>{this.touchEnd=true;const s=Math.round(i/-v)+t*o;const e=w-v*s;n(e,h,true)}))}handleMoveStart(t){this.startY=t;this.preY=t;this.hadMove=false}handleMoving(t){const i=t;const s=i-this.preY;this.preY=i;this.touchEnd=false;if(Math.abs(i-this.startY)>10)this.hadMove=true;let e=this.height+s;if(this.mode==="time"){if(this.columnId==="0"){if(e>w-v*3){e=w-v*27+s}if(e<w-v*28){e=w-v*4+s}}else if(this.columnId==="1"){if(e>w-v*3){e=w-v*63+s}if(e<w-v*64){e=w-v*4+s}}}this.updateHeight(e,this.columnId)}handleMoveEnd(t){const{mode:i,range:s,height:e,updateHeight:n,onColumnChange:h,columnId:o}=this;const r=0;const c=-v*(s.length-1);const a=t;this.touchEnd=true;let u;if(!this.hadMove){const t=window.innerHeight;const s=t-y/2;u=e-w-(a-s);if(i==="time"){if(o==="0"){if(u>-v*2.5){return this.formulaUnlimitedScroll(24,u,"up")}if(u<-v*28.5){return this.formulaUnlimitedScroll(24,u,"down")}}else if(o==="1"){if(u>-v*2.5){return this.formulaUnlimitedScroll(60,u,"up")}if(u<-v*64.5){return this.formulaUnlimitedScroll(60,u,"down")}}}}else{u=e-w}if(u>r)u=0;if(u<c)u=c;const d=Math.round(u/-v);const l=w-v*d;if(this.mode==="date"){if(this.columnId==="0"){this.updateDay(+this.range[d].replace(/[^0-9]/gi,""),0)}if(this.columnId==="1"){this.updateDay(+this.range[d].replace(/[^0-9]/gi,""),1)}if(this.columnId==="2"){this.updateDay(+this.range[d].replace(/[^0-9]/gi,""),2)}}n(l,o,i==="time");h&&h(l,o)}onMouseDown(t){this.isMove=true;this.handleMoveStart(t.clientY)}onMouseMove(t){t.preventDefault();if(!this.isMove)return;this.handleMoving(t.clientY)}onMouseMoveEnd(t){if(!this.isMove)return;this.isMove=false;this.handleMoveEnd(t.clientY)}onTouchStart(t){this.handleMoveStart(t.changedTouches[0].clientY)}onTouchMove(t){t.preventDefault();this.handleMoving(t.changedTouches[0].clientY)}onTouchEnd(t){this.handleMoveEnd(t.changedTouches[0].clientY)}render(){const{range:t,rangeKey:i}=this;const n=t.map((t=>{const e=i?t[i]:t;return s("div",{class:"weui-picker__item"},e)}));return s(e,{class:"weui-picker__group"},s("div",{class:"weui-picker__mask"}),s("div",{class:"weui-picker__indicator"}),s("div",{class:"weui-picker__content",style:this.getPosition()},n))}};export{M as taro_picker_core,b as taro_picker_group};
2
+ //# sourceMappingURL=p-d7f4b10f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/picker/utils.ts","src/components/picker/constant.ts","src/components/picker/style/index.scss?tag=taro-picker-core","src/components/picker/picker.tsx","src/components/picker/picker-group.tsx"],"names":["getTimeRange","begin","end","range","i","push","hoursRange","minutesRange","verifyValue","value","isNaN","length","verifyTime","test","time","split","map","num","compareTime","t1","t2","t1List","t2List","verifyDate","dateStr","date","Date","replace","getMonth","getMaxDay","year","month","formatValue","res","Array","isArray","item","String","getDateRange","start","getYearRange","getMonthRange","rangeStart","rangeEnd","getFullYear","getDayRange","getDate","TOP","LINE_HEIGHT","MASK_HEIGHT","indexCss","Picker","this","index","showPicker","disabled","height","getHeightByIndex","hidden","factor","mode","hidePicker","fadeOut","setTimeout","handleChange","h","slice","timeArr","n","parseInt","join","_start","_end","_updateValue","pickerDate","currentYear","currentMonth","yearRange","monthRange","dayRange","day","fields","pickerValue","onChange","emit","handleCancel","onCancel","updateHeight","columnId","needRevise","temp","timeList","timeStr","requestAnimationFrame","handleColumnChange","onColumnChange","column","Number","updateDay","currentDay","max","min","indexOf","getSelector","rangeKey","getMultiSelector","getTimeSelector","hourRange","minRange","getDateSelector","renderView","[object Object]","isWillLoadCalled","handleProps","Object","defineProperty","el","get","set","val","configurable","overlay","document","body","appendChild","_a","parentNode","removeChild","Math","floor","forEach","console","warn","_value","setHours","getTime","Error","name","pickerGroup","clsMask","classNames","weui-animate-fade-out","clsSlider","weui-animate-slide-down","shouldDivHidden","display","Host","onClick","type","class","style","ref","TaroPickerGroup","transition","touchEnd","transformValue","transitionValue","transform","-webkit-transform","-webkit-transition","absoluteHeight","direction","round","relativeHeight","clientY","startY","preY","hadMove","y","deltaY","abs","newPos","endY","windowHeight","window","innerHeight","relativeY","formulaUnlimitedScroll","e","isMove","handleMoveStart","preventDefault","handleMoving","handleMoveEnd","changedTouches","pickerItem","content","getPosition"],"mappings":"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","sourcesContent":["function getTimeRange (begin: number, end: number) {\n const range: string[] = []\n for (let i = begin; i <= end; i++) {\n range.push(`${i < 10 ? '0' : ''}${i}`)\n }\n return range\n}\n\nexport const hoursRange = [\n '20',\n '21',\n '22',\n '23',\n ...getTimeRange(0, 23),\n '00',\n '01',\n '02',\n '03'\n]\n\nexport const minutesRange = [\n '56',\n '57',\n '58',\n '59',\n ...getTimeRange(0, 59),\n '00',\n '01',\n '02',\n '03'\n]\n\n/**\n * 校验传入的 value 是否合法\n */\nexport function verifyValue (value: number, range: any[]) {\n if (!isNaN(+value) && value >= 0 && value < range.length) return true\n return false\n}\n\n/**\n * 检验传入的 time value 是否合法\n */\nexport function verifyTime (value: string) {\n if (!/^\\d{1,2}:\\d{1,2}$/.test(value)) return false\n\n const time = value.split(':').map(num => +num)\n\n if (time[0] < 0 || time[0] > 23) return false\n if (time[1] < 0 || time[1] > 59) return false\n\n return true\n}\n\n/**\n * 比较时间\n * return t1 <= t2\n */\nexport function compareTime (t1: string, t2: string) {\n const t1List = t1.split(':').map(i => +i)\n const t2List = t2.split(':').map(i => +i)\n\n if (t1List[0] < t2List[0]) return true\n if (t1List[0] === t2List[0] && t1List[1] <= t2List[1]) return true\n\n return false\n}\n\n/**\n * 校验日期合法性,返回合法性和日期数组\n */\nexport function verifyDate (dateStr: string) {\n if (!dateStr) return false\n const date = new Date(dateStr.replace(/-/g, '/'))\n return isNaN(date.getMonth()) ? false : date\n}\n\n/**\n * 获取当月最大天数\n */\nfunction getMaxDay (year: number, month: number) {\n if (month === 4 || month === 6 || month === 9 || month === 11) return 30\n if (month === 2) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) return 29\n else return 28\n }\n return 31\n}\n\nexport function formatValue (value: number | number[] | string) {\n let res: number | string | string[]\n if (Array.isArray(value)) {\n res = value.map(item => String(item))\n } else {\n res = value\n }\n return res\n}\n\n/**\n * 获取时间数组\n */\nfunction getDateRange (start: number, end: number) {\n const range: number[] = []\n for (let i = start; i <= end; i++) {\n range.push(i)\n }\n return range\n}\n\n/**\n * 获取年份区间数组\n */\nexport function getYearRange (start: number, end: number) {\n return getDateRange(start, end)\n}\n\n/**\n * 获取月份区间数组\n */\nexport function getMonthRange (start: Date, end: Date, year: number) {\n let rangeStart = 1\n let rangeEnd = 12\n\n // 当前年份等于开始年份,由开始对应的月份约束开始值\n if (start.getFullYear() === year) {\n rangeStart = start.getMonth() + 1\n }\n\n // 当前年份等于结束年份,由结束对应的月份约束结束值\n if (end.getFullYear() === year) {\n rangeEnd = end.getMonth() + 1\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n/**\n * 获取日期区间数组\n */\nexport function getDayRange (start: Date, end: Date, year: number, month: number) {\n let rangeStart = 1\n let rangeEnd = getMaxDay(year, month)\n\n if (start.getFullYear() === year && start.getMonth() + 1 === month) {\n rangeStart = start.getDate()\n }\n\n if (end.getFullYear() === year && end.getMonth() + 1 === month) {\n rangeEnd = end.getDate()\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n","export const TOP = 102\nexport const LINE_HEIGHT = 34\nexport const MASK_HEIGHT = LINE_HEIGHT * 7\n",".weui-picker,\n.weui-picker__hd {\n font-size: 12px;\n}\n","import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Host, State, Watch, Element } from '@stencil/core'\nimport classNames from 'classnames'\nimport {\n hoursRange,\n minutesRange,\n compareTime,\n verifyValue,\n verifyTime,\n verifyDate,\n getYearRange,\n getMonthRange,\n getDayRange,\n formatValue\n} from './utils'\nimport {\n TOP,\n LINE_HEIGHT\n} from './constant'\n\nexport type Mode = 'selector' | 'multiSelector' | 'time' | 'date'\nexport type Fields = 'day' | 'month' | 'year'\nexport type PickerValue = number | number[] | string\n\nexport interface PickerDate {\n _value: Date\n _start: Date\n _end: Date\n _updateValue: [number, number, number]\n}\n\n@Component({\n tag: 'taro-picker-core',\n styleUrl: './style/index.scss'\n})\nexport class Picker implements ComponentInterface {\n private index: number[] = []\n private pickerDate: PickerDate\n private overlay?: HTMLElement\n\n @Element() el: HTMLElement\n\n @Prop() mode: Mode = 'selector'\n @Prop() disabled = false\n @Prop() range: any[] = []\n @Prop() rangeKey: string\n @Prop({ mutable: true }) value: number | number[] | string\n @Prop() start = ''\n @Prop() end = ''\n @Prop() fields: Fields = 'day'\n @Prop() name = ''\n\n @State() pickerValue: PickerValue = []\n @State() height: number[] = []\n @State() hidden = true\n @State() fadeOut = false\n @State() isWillLoadCalled = false\n\n @Event({\n eventName: 'change'\n }) onChange: EventEmitter\n\n @Event({\n eventName: 'columnchange'\n }) onColumnChange: EventEmitter\n\n @Event({\n eventName: 'cancel'\n }) onCancel: EventEmitter\n\n componentWillLoad () {\n this.isWillLoadCalled = true\n this.handleProps()\n }\n\n componentDidLoad () {\n Object.defineProperty(this.el, 'value', {\n get: () => this.pickerValue,\n set: val => (this.value = val),\n configurable: true\n })\n\n if (this.overlay) {\n document.body.appendChild(this.overlay)\n }\n }\n\n disconnectedCallback () {\n if (this.overlay) {\n this.overlay.parentNode?.removeChild(this.overlay)\n }\n }\n\n @Watch('mode')\n @Watch('value')\n @Watch('range')\n @Watch('start')\n @Watch('end')\n onPropsChange () {\n if (!this.isWillLoadCalled) return\n this.handleProps()\n }\n\n handleProps () {\n const { mode, start, end } = this\n\n if (mode === 'selector') {\n const value = this.value as number\n this.index = [verifyValue(value, this.range) ? Math.floor(value) : 0]\n } else if (mode === 'multiSelector') {\n const value = this.value as number[]\n this.index = []\n this.range.forEach((range, index) => {\n const val = value?.[index]\n const item = verifyValue(val, range as any[]) ? Math.floor(val) : 0\n this.index.push(item)\n })\n } else if (mode === 'time') {\n let value = this.value as string\n // check value...\n if (!verifyTime(value)) {\n console.warn('time picker value illegal')\n value = '0:0'\n }\n\n const time = value.split(':').map(n => +n)\n this.index = time\n } else if (mode === 'date') {\n const value = this.value as string\n\n const _value = verifyDate(value) || new Date(new Date().setHours(0, 0, 0, 0)) // 没传值或值的合法性错误默认今天时间\n const _start = verifyDate(start) || new Date('1970/01/01')\n const _end = verifyDate(end) || new Date('2999/01/01')\n\n // 时间区间有效性\n if (_value >= _start && _value <= _end) {\n const currentYear = _value.getFullYear()\n const currentMonth = _value.getMonth() + 1\n const currentDay = _value.getDate()\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n const monthRange = getMonthRange(_start, _end, currentYear)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n\n this.index = [\n yearRange.indexOf(currentYear),\n monthRange.indexOf(currentMonth),\n dayRange.indexOf(currentDay)\n ]\n if (\n !this.pickerDate ||\n this.pickerDate._value.getTime() !== _value.getTime() ||\n this.pickerDate._start.getTime() !== _start.getTime() ||\n this.pickerDate._end.getTime() !== _end.getTime()\n ) {\n this.pickerDate = {\n _value,\n _start,\n _end,\n _updateValue: [\n currentYear,\n currentMonth,\n currentDay\n ]\n }\n }\n } else {\n throw new Error('Date Interval Error')\n }\n }\n\n // Prop 变化时,无论是否正在显示弹层,都更新 height 值\n this.height = this.getHeightByIndex()\n\n // 同步表单 value 值,用于 form submit\n this.pickerValue = this.value\n if (mode === 'date') {\n const val = this.pickerValue as string\n if (this.fields === 'month') {\n this.pickerValue = val.split('-').slice(0, 2).join('-')\n } else if (this.fields === 'year') {\n this.pickerValue = val.split('-')[0]\n }\n }\n }\n\n // 展示 Picker\n showPicker = () => {\n if (this.disabled) return\n\n this.height = this.getHeightByIndex()\n this.hidden = false\n }\n\n getHeightByIndex = () => {\n const height = this.index.map(i => {\n let factor = 0\n if (this.mode === 'time') {\n factor = LINE_HEIGHT * 4\n }\n return TOP - LINE_HEIGHT * i - factor\n })\n return height\n }\n\n // 隐藏 picker\n hidePicker = () => {\n this.fadeOut = true\n setTimeout(() => {\n this.hidden = true\n this.fadeOut = false\n }, 350)\n }\n\n // 点击确定按钮\n handleChange = () => {\n this.hidePicker()\n\n this.index = this.height.map(h => (TOP - h) / LINE_HEIGHT)\n\n let value: PickerValue = this.index.length && this.mode !== 'selector'\n ? this.index\n : this.index[0]\n\n if (this.mode === 'time') {\n const range = [hoursRange.slice(), minutesRange.slice()]\n\n const timeArr = this.index.map<string>((n, i) => range[i][n])\n\n this.index = timeArr.map(item => parseInt(item))\n value = timeArr.join(':')\n }\n\n if (this.mode === 'date') {\n const { _start, _end, _updateValue } = this.pickerDate\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n const monthRange = getMonthRange(_start, _end, currentYear)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n\n const year = yearRange[this.index[0]]\n const month = monthRange[this.index[1]]\n const day = dayRange[this.index[2]]\n\n if (this.fields === 'year') {\n value = [year]\n } else if (this.fields === 'month') {\n value = [year, month]\n } else {\n value = [year, month, day]\n }\n value = value\n .map(item => {\n return item < 10 ? `0${item}` : item\n })\n .join('-')\n }\n\n this.pickerValue = value\n\n this.onChange.emit({\n value\n })\n }\n\n // 点击取消按钮或蒙层\n handleCancel = () => {\n this.hidePicker()\n this.onCancel.emit()\n }\n\n updateHeight = (height: number, columnId: string, needRevise = false) => {\n const temp = [...this.height]\n temp[columnId] = height\n this.height = temp\n\n // time picker 必须在规定时间范围内,因此需要在 touchEnd 做修正\n if (needRevise) {\n let { start, end } = this\n\n if (!verifyTime(start)) start = '00:00'\n if (!verifyTime(end)) end = '23:59'\n if (!compareTime(start, end)) return\n\n const range = [hoursRange.slice(), minutesRange.slice()]\n\n const timeList = this.height.map(h => (TOP - h) / LINE_HEIGHT)\n const timeStr = timeList.map((n, i) => range[i][n]).join(':')\n\n if (!compareTime(start, timeStr)) {\n // 修正到 start\n const height = start\n .split(':')\n .map(i => TOP - LINE_HEIGHT * (+i + 4))\n requestAnimationFrame(() => (this.height = height))\n } else if (!compareTime(timeStr, end)) {\n // 修正到 end\n const height = end\n .split(':')\n .map(i => TOP - LINE_HEIGHT * (+i + 4))\n requestAnimationFrame(() => (this.height = height))\n }\n }\n }\n\n handleColumnChange = (height: number, columnId: string) => {\n this.onColumnChange.emit({\n column: Number(columnId),\n value: (TOP - height) / LINE_HEIGHT\n })\n }\n\n updateDay = (value: number, fields: number) => {\n const { _start, _end, _updateValue } = this.pickerDate\n\n _updateValue[fields] = value\n\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n const currentDay = _updateValue[2]\n\n // 滚动年份\n if (fields === 0) {\n const monthRange = getMonthRange(_start, _end, currentYear)\n const max = monthRange[monthRange.length - 1]\n const min = monthRange[0]\n\n if (currentMonth > max) _updateValue[1] = max\n if (currentMonth < min) _updateValue[1] = min\n const index = monthRange.indexOf(_updateValue[1])\n const height = TOP - LINE_HEIGHT * index\n\n this.updateDay(_updateValue[1], 1)\n this.updateHeight(height, '1')\n } else if (fields === 1) {\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n const max = dayRange[dayRange.length - 1]\n const min = dayRange[0]\n\n if (currentDay > max) _updateValue[2] = max\n if (currentDay < min) _updateValue[2] = min\n const index = dayRange.indexOf(_updateValue[2])\n const height = TOP - LINE_HEIGHT * index\n\n this.updateDay(_updateValue[2], 2)\n this.updateHeight(height, '2')\n }\n }\n\n // 单列选择器\n getSelector = () => {\n return (\n <taro-picker-group\n range={this.range}\n rangeKey={this.rangeKey}\n height={this.height[0]}\n updateHeight={this.updateHeight}\n columnId='0'\n />\n )\n }\n\n // 多列选择器\n getMultiSelector = () => {\n return this.range.map((range, index) => {\n return (\n <taro-picker-group\n range={range}\n rangeKey={this.rangeKey}\n height={this.height[index]}\n updateHeight={this.updateHeight}\n onColumnChange={this.handleColumnChange}\n columnId={String(index)}\n />\n )\n })\n }\n\n // 时间选择器\n getTimeSelector = () => {\n const hourRange = hoursRange.slice()\n const minRange = minutesRange.slice()\n return [\n <taro-picker-group\n mode='time'\n range={hourRange}\n height={this.height[0]}\n updateHeight={this.updateHeight}\n columnId='0'\n />,\n <taro-picker-group\n mode='time'\n range={minRange}\n height={this.height[1]}\n updateHeight={this.updateHeight}\n columnId='1'\n />\n ]\n }\n\n // 日期选择器\n getDateSelector = () => {\n const { fields, height } = this\n const { _start, _end, _updateValue } = this.pickerDate\n const currentYear = _updateValue[0]\n const currentMonth = _updateValue[1]\n\n const yearRange = getYearRange(_start.getFullYear(), _end.getFullYear())\n .map(item => `${item}年`)\n const monthRange = getMonthRange(_start, _end, currentYear)\n .map(item => `${item < 10 ? `0${item}` : item}月`)\n const dayRange = getDayRange(_start, _end, currentYear, currentMonth)\n .map(item => `${item < 10 ? `0${item}` : item}日`)\n\n const renderView = [\n <taro-picker-group\n mode='date'\n range={yearRange}\n height={height[0]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='0'\n />\n ]\n if (fields === 'month' || fields === 'day') {\n renderView.push(\n <taro-picker-group\n mode='date'\n range={monthRange}\n height={height[1]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='1'\n />\n )\n }\n if (fields === 'day') {\n renderView.push(\n <taro-picker-group\n mode='date'\n range={dayRange}\n height={height[2]}\n updateDay={this.updateDay}\n updateHeight={this.updateHeight}\n columnId='2'\n />\n )\n }\n\n return renderView\n }\n\n render () {\n const {\n name,\n mode,\n fadeOut,\n hidden\n } = this\n\n // 选项条\n let pickerGroup\n switch (mode) {\n case 'multiSelector':\n pickerGroup = this.getMultiSelector()\n break\n case 'time':\n pickerGroup = this.getTimeSelector()\n break\n case 'date':\n pickerGroup = this.getDateSelector()\n break\n default:\n pickerGroup = this.getSelector()\n }\n\n // 动画类名控制逻辑\n const clsMask = classNames('weui-mask', 'weui-animate-fade-in', {\n 'weui-animate-fade-out': fadeOut\n })\n const clsSlider = classNames('weui-picker', 'weui-animate-slide-up', {\n 'weui-animate-slide-down': fadeOut\n })\n const shouldDivHidden = hidden ? { display: 'none' } : {}\n\n return (\n <Host>\n <div onClick={this.showPicker}>\n <slot />\n <input type='hidden' name={name} value={formatValue(this.pickerValue)} />\n </div>\n <div\n class='weui-picker__overlay'\n style={shouldDivHidden}\n ref={el => { this.overlay = el }}\n >\n <div class={clsMask} onClick={this.handleCancel} />\n <div class={clsSlider}>\n <div class='weui-picker__hd'>\n <div class='weui-picker__action' onClick={this.handleCancel}>\n 取消\n </div>\n <div class='weui-picker__action' onClick={this.handleChange}>\n 确定\n </div>\n </div>\n <div class='weui-picker__bd'>{pickerGroup}</div>\n <input type='hidden' name={name} value={formatValue(this.pickerValue)} />\n </div>\n </div>\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Prop, Host, Method, State, Listen } from '@stencil/core'\n\nimport {\n TOP,\n LINE_HEIGHT,\n MASK_HEIGHT\n} from './constant'\n\n@Component({\n tag: 'taro-picker-group'\n})\nexport class TaroPickerGroup implements ComponentInterface {\n @Prop() mode: 'time' | 'date'\n @Prop() range: any[] = []\n @Prop() rangeKey: string\n @Prop() height: number\n @Prop() columnId: string\n @Prop() updateHeight: (height: number, columnId: string, needRevise?: boolean) => void\n @Prop() onColumnChange: (height: number, columnId: string) => void\n @Prop() updateDay: (value: number, fields: number) => void\n\n @State() startY: number\n @State() preY: number\n @State() hadMove: boolean\n @State() touchEnd: boolean\n @State() isMove: boolean\n\n getPosition () {\n const transition = this.touchEnd ? 0.3 : 0\n const transformValue = `translate3d(0, ${this.height}px, 0)`\n const transitionValue = `transform ${transition}s`\n return {\n transform: transformValue,\n '-webkit-transform': transformValue,\n transition: transitionValue,\n '-webkit-transition': transitionValue\n }\n }\n\n formulaUnlimitedScroll (range: number, absoluteHeight: number, direction: 'up' | 'down') {\n const { height, updateHeight, columnId } = this\n const factor = direction === 'up' ? 1 : -1\n\n this.touchEnd = false\n\n // 点击超过范围,点击到补帧时,先跳到另一端的补帧\n updateHeight(-range * factor * LINE_HEIGHT + height, columnId)\n\n // 再做过渡动画\n requestAnimationFrame(() => {\n this.touchEnd = true\n const index = Math.round(absoluteHeight / -LINE_HEIGHT) + range * factor\n const relativeHeight = TOP - LINE_HEIGHT * index\n updateHeight(relativeHeight, columnId, true)\n })\n }\n\n @Method()\n handleMoveStart (clientY: number) {\n // 记录第一次的点击位置\n this.startY = clientY\n this.preY = clientY\n this.hadMove = false\n }\n\n @Method()\n handleMoving (clientY: number) {\n const y = clientY\n const deltaY = y - this.preY\n this.preY = y\n this.touchEnd = false\n\n if (Math.abs(y - this.startY) > 10) this.hadMove = true\n\n let newPos = this.height + deltaY\n\n // 处理时间选择器的无限滚动\n if (this.mode === 'time') {\n if (this.columnId === '0') {\n // 数字 28 来自于 4 格补帧 + 0 ~ 23 的 24 格,共 28 格\n if (newPos > TOP - LINE_HEIGHT * 3) {\n newPos = TOP - LINE_HEIGHT * 27 + deltaY\n }\n if (newPos < TOP - LINE_HEIGHT * 28) {\n newPos = TOP - LINE_HEIGHT * 4 + deltaY\n }\n } else if (this.columnId === '1') {\n if (newPos > TOP - LINE_HEIGHT * 3) {\n newPos = TOP - LINE_HEIGHT * 63 + deltaY\n }\n if (newPos < TOP - LINE_HEIGHT * 64) {\n newPos = TOP - LINE_HEIGHT * 4 + deltaY\n }\n }\n }\n\n this.updateHeight(newPos, this.columnId)\n }\n\n @Method()\n handleMoveEnd (clientY: number) {\n const {\n mode,\n range,\n height,\n updateHeight,\n onColumnChange,\n columnId\n } = this\n const max = 0\n const min = -LINE_HEIGHT * (range.length - 1)\n const endY = clientY\n\n this.touchEnd = true\n\n // touchEnd 时的高度,可能带小数点,需要再处理\n let absoluteHeight: number\n\n if (!this.hadMove) {\n /** 点击 */\n // 屏幕高度\n const windowHeight = window.innerHeight\n // picker__mask 垂直方向距离屏幕顶部的高度\n const relativeY = windowHeight - MASK_HEIGHT / 2\n\n absoluteHeight = height - TOP - (endY - relativeY)\n\n // 处理时间选择器的无限滚动\n if (mode === 'time') {\n if (columnId === '0') {\n // 点击上溢出\n // absoluteHeight 是相对模块中点来算的,所以会算多半行,这时要减去这半行,即2.5行\n if (absoluteHeight > -LINE_HEIGHT * 2.5) {\n return this.formulaUnlimitedScroll(24, absoluteHeight, 'up')\n }\n // 点击下溢出\n if (absoluteHeight < -LINE_HEIGHT * 28.5) {\n return this.formulaUnlimitedScroll(24, absoluteHeight, 'down')\n }\n } else if (columnId === '1') {\n // 点击上溢出\n if (absoluteHeight > -LINE_HEIGHT * 2.5) {\n return this.formulaUnlimitedScroll(60, absoluteHeight, 'up')\n }\n // 点击下溢出\n if (absoluteHeight < -LINE_HEIGHT * 64.5) {\n return this.formulaUnlimitedScroll(60, absoluteHeight, 'down')\n }\n }\n }\n } else {\n /** 滚动 */\n absoluteHeight = height - TOP\n }\n\n // 边界情况处理\n if (absoluteHeight > max) absoluteHeight = 0\n if (absoluteHeight < min) absoluteHeight = min\n\n // 先按公式算出 index, 再用此 index 算出一个整数高度\n const index = Math.round(absoluteHeight / -LINE_HEIGHT)\n const relativeHeight = TOP - LINE_HEIGHT * index\n\n if (this.mode === 'date') {\n if (this.columnId === '0') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 0\n )\n }\n if (this.columnId === '1') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 1\n )\n }\n if (this.columnId === '2') {\n this.updateDay(\n +this.range[index].replace(/[^0-9]/gi, ''),\n 2\n )\n }\n }\n\n updateHeight(relativeHeight, columnId, mode === 'time')\n onColumnChange && onColumnChange(relativeHeight, columnId)\n }\n\n @Listen('mousedown')\n onMouseDown (e: MouseEvent) {\n this.isMove = true\n this.handleMoveStart(e.clientY)\n }\n\n @Listen('mousemove')\n onMouseMove (e: MouseEvent) {\n e.preventDefault()\n\n if (!this.isMove) return\n\n this.handleMoving(e.clientY)\n }\n\n @Listen('mouseup')\n @Listen('mouseleave')\n onMouseMoveEnd (e: MouseEvent) {\n if (!this.isMove) return\n\n this.isMove = false\n this.handleMoveEnd(e.clientY)\n }\n\n @Listen('touchstart')\n onTouchStart (e: TouchEvent) {\n this.handleMoveStart(e.changedTouches[0].clientY)\n }\n\n @Listen('touchmove')\n onTouchMove (e: TouchEvent) {\n e.preventDefault()\n\n this.handleMoving(e.changedTouches[0].clientY)\n }\n\n @Listen('touchend')\n onTouchEnd (e: TouchEvent) {\n this.handleMoveEnd(e.changedTouches[0].clientY)\n }\n\n render () {\n const { range, rangeKey } = this\n const pickerItem = range.map(item => {\n const content = rangeKey ? item[rangeKey] : item\n return (\n <div class='weui-picker__item'>{content}</div>\n )\n })\n\n return (\n <Host class='weui-picker__group'>\n <div class='weui-picker__mask' />\n <div class='weui-picker__indicator' />\n <div class='weui-picker__content' style={this.getPosition()}>\n {pickerItem}\n </div>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as r,H as t}from"./p-5bfefd19.js";import{n as a}from"./p-6a96da58.js";import"@tarojs/taro";const s=class{constructor(r){o(this,r)}componentDidLoad(){a("OfficialAccount",this)}render(){return r(t,null)}};export{s as taro_official_account_core};
2
+ //# sourceMappingURL=p-d85b216d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/official-account/official-account.tsx"],"names":["OfficialAccount","[object Object]","notSupport","this","h","Host"],"mappings":"iHAOaA,EAAe,+BAC1BC,mBACEC,EAAW,kBAAmBC,MAGhCF,SACE,OACEG,EAACC,EAAI","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-official-account-core'\n})\nexport class OfficialAccount implements ComponentInterface {\n componentDidLoad () {\n notSupport('OfficialAccount', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-8a8f286f.system.js"],(function(t){"use strict";var e,n,i,o;return{setters:[function(t){e=t.r;n=t.c;i=t.h;o=t.g}],execute:function(){var s="taro-input-core{display:block}input{display:block;overflow:hidden;height:1.4rem;text-overflow:clip;text-align:inherit;white-space:nowrap}";function a(t,e,n){if(e==="search")t="search";if(n)t="password";if(typeof t==="undefined"){return"text"}if(!t){throw new Error("unexpected type")}if(t==="digit")t="number";return t}function u(t){return t!==null&&t!==void 0?t:""}var r=t("taro_input_core",function(){function t(t){var i=this;e(this,t);this.onInput=n(this,"input",7);this.onPaste=n(this,"paste",7);this.onFocus=n(this,"focus",7);this.onBlur=n(this,"blur",7);this.onConfirm=n(this,"confirm",7);this.onChange=n(this,"change",7);this.onKeyDown=n(this,"keydown",7);this.isOnComposition=false;this.isOnPaste=false;this.onInputExcuted=false;this.handleInput=function(t){t.stopPropagation();var e=i,n=e.type,o=e.maxlength,s=e.confirmType,u=e.password;if(!i.isOnComposition&&!i.onInputExcuted){var r=t.target.value;var l=a(n,s,u);i.onInputExcuted=true;if(l==="number"&&r&&o>-1&&o<=r.length){r=r.substring(0,o);t.target.value=r}i.value=r;i.onInput.emit({value:r,cursor:r.length});i.onInputExcuted=false}};this.handlePaste=function(t){t.stopPropagation();i.isOnPaste=true;i.onPaste.emit({value:t.target.value})};this.handleFocus=function(t){t.stopPropagation();i.onInputExcuted=false;i.onFocus.emit({value:t.target.value})};this.handleBlur=function(t){t.stopPropagation();i.onBlur.emit({value:t.target.value})};this.handleChange=function(t){t.stopPropagation();i.onChange.emit({value:t.target.value});if(i.isOnPaste){i.isOnPaste=false;i.value=t.target.value;i.onInput.emit({value:t.target.value,cursor:t.target.value.length})}};this.handleKeyDown=function(t){t.stopPropagation();var e=t.target.value;var n=t.keyCode||t.code;i.onInputExcuted=false;i.onKeyDown.emit({value:e,cursor:e.length,keyCode:n});n===13&&i.onConfirm.emit({value:e})};this.handleComposition=function(t){t.stopPropagation();if(!(t.target instanceof HTMLInputElement))return;if(t.type==="compositionend"){i.isOnComposition=false;i.value=t.target.value;i.onInput.emit({value:t.target.value,cursor:t.target.value.length})}else{i.isOnComposition=true}};this.handleBeforeinput=function(t){if(!t.data)return;var e=t.data&&/[0-9]/.test(t.data);if(i.type==="number"&&!e){t.preventDefault()}if(i.type==="digit"&&!e){if(t.data!=="."||t.data==="."&&t.target.value.indexOf(".")>-1){t.preventDefault()}}};this.value=undefined;this.type=undefined;this.password=false;this.placeholder=undefined;this.disabled=false;this.maxlength=140;this.autoFocus=false;this.confirmType="done";this.name=undefined;this.nativeProps={}}t.prototype.focus=function(){this.inputRef.focus()};t.prototype.watchAutoFocus=function(t,e){var n;if(!e&&t){(n=this.inputRef)===null||n===void 0?void 0:n.focus()}};t.prototype.watchValue=function(t){var e=u(t);if(this.inputRef.value!==e){this.inputRef.value=e}};t.prototype.componentDidLoad=function(){var t=this;var e,n,i,o,s;if(this.type==="file"){this.fileListener=function(){t.onInput.emit()};(e=this.inputRef)===null||e===void 0?void 0:e.addEventListener("change",this.fileListener)}else{(n=this.inputRef)===null||n===void 0?void 0:n.addEventListener("compositionstart",this.handleComposition);(i=this.inputRef)===null||i===void 0?void 0:i.addEventListener("compositionend",this.handleComposition);(o=this.inputRef)===null||o===void 0?void 0:o.addEventListener("beforeinput",this.handleBeforeinput);(s=this.inputRef)===null||s===void 0?void 0:s.addEventListener("textInput",this.handleBeforeinput)}Object.defineProperty(this.el,"value",{get:function(){return t.inputRef.value},set:function(e){return t.value=e},configurable:true})};t.prototype.disconnectedCallback=function(){var t,e,n,i,o;if(this.type==="file"){(t=this.inputRef)===null||t===void 0?void 0:t.removeEventListener("change",this.fileListener)}else{(e=this.inputRef)===null||e===void 0?void 0:e.removeEventListener("compositionstart",this.handleComposition);(n=this.inputRef)===null||n===void 0?void 0:n.removeEventListener("compositionend",this.handleComposition);(i=this.inputRef)===null||i===void 0?void 0:i.removeEventListener("beforeinput",this.handleBeforeinput);(o=this.inputRef)===null||o===void 0?void 0:o.removeEventListener("textInput",this.handleBeforeinput)}};t.prototype.render=function(){var t=this;var e=this,n=e.value,o=e.type,s=e.password,r=e.placeholder,l=e.autoFocus,h=e.disabled,p=e.maxlength,f=e.confirmType,d=e.name,c=e.nativeProps;return i("input",Object.assign({ref:function(e){t.inputRef=e;if(l&&e)e.focus()},class:"weui-input",type:a(o,f,s),placeholder:r,autoFocus:l,disabled:h,maxlength:p,name:d,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:this.handlePaste,onCompositionStart:this.handleComposition,onCompositionEnd:this.handleComposition},c,{value:u(n)}))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{autoFocus:["watchAutoFocus"],value:["watchValue"]}},enumerable:false,configurable:true});return t}());r.style=s}}}));
2
+ //# sourceMappingURL=p-dcb48fd9.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/input/index.scss?tag=taro-input-core","src/components/input/input.tsx"],"names":["indexCss","getTrueType","type","confirmType","password","Error","fixControlledValue","value","Input","exports","this","isOnComposition","isOnPaste","onInputExcuted","handleInput","e","stopPropagation","_f","_this","maxlength","target","inputType","length","substring","onInput","emit","cursor","handlePaste","onPaste","handleFocus","onFocus","handleBlur","onBlur","handleChange","onChange","handleKeyDown","keyCode","code","onKeyDown","onConfirm","handleComposition","HTMLInputElement","handleBeforeinput","data","isNumber","test","preventDefault","indexOf","class_1","prototype","focus","inputRef","watchAutoFocus","newValue","oldValue","_a","watchValue","componentDidLoad","fileListener","addEventListener","_b","_c","_d","_e","Object","defineProperty","el","get","set","configurable","disconnectedCallback","removeEventListener","render","placeholder","autoFocus","disabled","name","nativeProps","h","assign","ref","input","class","onCompositionStart","onCompositionEnd"],"mappings":"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","sourcesContent":["taro-input-core {\n display: block;\n}\n\ninput {\n display: block;\n overflow: hidden;\n height: 1.4rem;\n text-overflow: clip;\n text-align: inherit;\n white-space: nowrap;\n}\n","import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Element, Watch, Method } from '@stencil/core'\nimport { EventHandler, TaroEvent } from '../../../types'\n\nfunction getTrueType (type: string | undefined, confirmType: string, password: boolean) {\n if (confirmType === 'search') type = 'search'\n if (password) type = 'password'\n if (typeof type === 'undefined') {\n return 'text';\n }\n if (!type) {\n throw new Error('unexpected type')\n }\n if (type === 'digit') type = 'number'\n\n return type\n}\n\nfunction fixControlledValue (value?: string) {\n return value ?? ''\n}\n\n@Component({\n tag: 'taro-input-core',\n styleUrl: 'index.scss'\n})\nexport class Input implements ComponentInterface {\n private inputRef: HTMLInputElement\n private isOnComposition = false\n private isOnPaste = false\n private onInputExcuted = false\n private fileListener: EventHandler\n\n @Prop({ mutable: true }) value: string\n @Prop() type: string\n @Prop() password = false\n @Prop() placeholder: string\n @Prop() disabled = false\n @Prop() maxlength = 140\n @Prop({ attribute: 'focus', reflect: true }) autoFocus = false\n @Prop() confirmType = 'done'\n @Prop() name: string\n @Prop() nativeProps = {}\n\n @Element() el: HTMLElement\n\n @Method()\n focus() {\n this.inputRef.focus()\n }\n\n @Watch('autoFocus')\n watchAutoFocus (newValue: boolean, oldValue: boolean) {\n if (!oldValue && newValue) {\n this.inputRef?.focus()\n }\n }\n\n @Watch('value')\n watchValue (newValue: string) {\n const value = fixControlledValue(newValue)\n if (this.inputRef.value !== value) {\n this.inputRef.value = value\n }\n }\n\n @Event({\n eventName: 'input'\n }) onInput: EventEmitter\n\n @Event({\n eventName: 'paste'\n }) onPaste: EventEmitter\n\n @Event({\n eventName: 'focus'\n }) onFocus: EventEmitter\n\n @Event({\n eventName: 'blur'\n }) onBlur: EventEmitter\n\n @Event({\n eventName: 'confirm'\n }) onConfirm: EventEmitter\n\n @Event({\n eventName: 'change'\n }) onChange: EventEmitter\n\n @Event({\n eventName: 'keydown'\n }) onKeyDown: EventEmitter\n\n componentDidLoad () {\n if (this.type === 'file') {\n this.fileListener = () => {\n this.onInput.emit()\n }\n this.inputRef?.addEventListener('change', this.fileListener)\n } else {\n this.inputRef?.addEventListener('compositionstart', this.handleComposition)\n this.inputRef?.addEventListener('compositionend', this.handleComposition)\n this.inputRef?.addEventListener('beforeinput', this.handleBeforeinput)\n this.inputRef?.addEventListener('textInput', this.handleBeforeinput)\n }\n\n Object.defineProperty(this.el, 'value', {\n get: () => this.inputRef.value,\n set: value => (this.value = value),\n configurable: true\n })\n }\n\n disconnectedCallback () {\n if (this.type === 'file') {\n this.inputRef?.removeEventListener('change', this.fileListener)\n } else {\n this.inputRef?.removeEventListener('compositionstart', this.handleComposition)\n this.inputRef?.removeEventListener('compositionend', this.handleComposition)\n this.inputRef?.removeEventListener('beforeinput', this.handleBeforeinput)\n this.inputRef?.removeEventListener('textInput', this.handleBeforeinput)\n }\n }\n\n handleInput = (e: TaroEvent<HTMLInputElement>) => {\n e.stopPropagation()\n const {\n type,\n maxlength,\n confirmType,\n password\n } = this\n if (!this.isOnComposition && !this.onInputExcuted) {\n let value = e.target.value\n const inputType = getTrueType(type, confirmType, password)\n this.onInputExcuted = true\n /* 修复 number 类型 maxlength 无效 */\n if (inputType === 'number' && value && maxlength > -1 && maxlength <= value.length) {\n value = value.substring(0, maxlength)\n e.target.value = value\n }\n\n // 修复 IOS 光标跳转问题\n // if (!(['number', 'file'].indexOf(inputType) >= 0)) {\n // const pos = e.target.selectionEnd\n // setTimeout(\n // () => {\n // e.target.selectionStart = pos\n // e.target.selectionEnd = pos\n // }\n // )\n // }\n\n this.value = value\n this.onInput.emit({\n value,\n cursor: value.length\n })\n this.onInputExcuted = false\n }\n }\n\n handlePaste = (e: TaroEvent<HTMLInputElement> & ClipboardEvent) => {\n e.stopPropagation()\n this.isOnPaste = true\n this.onPaste.emit({\n value: e.target.value\n })\n }\n\n handleFocus = (e: TaroEvent<HTMLInputElement> & FocusEvent) => {\n e.stopPropagation()\n this.onInputExcuted = false\n this.onFocus.emit({\n value: e.target.value\n })\n }\n\n handleBlur = (e: TaroEvent<HTMLInputElement> & FocusEvent) => {\n e.stopPropagation()\n this.onBlur.emit({\n value: e.target.value\n })\n }\n\n handleChange = (e: TaroEvent<HTMLInputElement>) => {\n e.stopPropagation()\n this.onChange.emit({\n value: e.target.value\n })\n\n if (this.isOnPaste) {\n this.isOnPaste = false\n this.value = e.target.value\n this.onInput.emit({\n value: e.target.value,\n cursor: e.target.value.length\n })\n }\n }\n\n handleKeyDown = (e: TaroEvent<HTMLInputElement> & KeyboardEvent) => {\n e.stopPropagation()\n const { value } = e.target\n const keyCode = e.keyCode || e.code\n this.onInputExcuted = false\n\n this.onKeyDown.emit({\n value,\n cursor: value.length,\n keyCode\n })\n\n keyCode === 13 && this.onConfirm.emit({ value })\n }\n\n handleComposition = (e: Event) => {\n e.stopPropagation()\n if (!(e.target instanceof HTMLInputElement)) return\n\n if (e.type === 'compositionend') {\n this.isOnComposition = false\n this.value = e.target.value\n this.onInput.emit({\n value: e.target.value,\n cursor: e.target.value.length\n })\n } else {\n this.isOnComposition = true\n }\n }\n\n handleBeforeinput = (e) => {\n if (!e.data) return\n const isNumber = e.data && /[0-9]/.test(e.data)\n if (this.type === 'number' && !isNumber) {\n e.preventDefault()\n }\n if (this.type === 'digit' && !isNumber) {\n if (e.data !== '.' || (e.data === '.' && e.target.value.indexOf('.') > -1)) {\n e.preventDefault()\n }\n }\n }\n\n render () {\n const {\n value,\n type,\n password,\n placeholder,\n autoFocus,\n disabled,\n maxlength,\n confirmType,\n name,\n nativeProps\n } = this\n\n return (\n <input\n ref={input => {\n this.inputRef = input!\n if (autoFocus && input) input.focus()\n }}\n class='weui-input'\n type={getTrueType(type, confirmType, password)}\n placeholder={placeholder}\n autoFocus={autoFocus}\n disabled={disabled}\n maxlength={maxlength}\n name={name}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onPaste={this.handlePaste}\n onCompositionStart={this.handleComposition}\n onCompositionEnd={this.handleComposition}\n {...nativeProps}\n value={fixControlledValue(value)}\n />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i,H as e}from"./p-5bfefd19.js";import{c as h}from"./p-76724e58.js";const o="taro-cover-view-core{display:block}";const r=class{constructor(i){t(this,i);this.onLongPress=s(this,"longpress",7);this.startTime=0;this.animation=undefined;this.hoverClass=undefined;this.hoverStartTime=50;this.hoverStayTime=400;this.hover=false;this.touch=false}onTouchStart(){if(this.hoverClass){this.touch=true;setTimeout((()=>{if(this.touch){this.hover=true}}),this.hoverStartTime)}this.timeoutEvent=setTimeout((()=>{this.onLongPress.emit()}),350);this.startTime=Date.now()}onTouchMove(){clearTimeout(this.timeoutEvent)}onTouchEnd(){const t=Date.now()-this.startTime;if(t<350){clearTimeout(this.timeoutEvent)}if(this.hoverClass){this.touch=false;setTimeout((()=>{if(!this.touch){this.hover=false}}),this.hoverStayTime)}}render(){const t=h({[`${this.hoverClass}`]:this.hover});let s={};if(!!this.animation){s["animation"]=this.animation;s["data-animation"]=this.animation}return i(e,Object.assign({class:t},s),i("slot",null))}};r.style=o;export{r as taro_cover_view_core};
2
+ //# sourceMappingURL=p-de762042.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/cover-view/style/cover-view.scss?tag=taro-cover-view-core","src/components/cover-view/cover-view.tsx"],"names":["coverViewCss","CoverView","this","startTime","[object Object]","hoverClass","touch","setTimeout","hover","hoverStartTime","timeoutEvent","onLongPress","emit","Date","now","clearTimeout","spanTime","hoverStayTime","cls","classNames","attr","animation","h","Host","Object","assign","class"],"mappings":"6FAAA,MAAMA,EAAe,4CCORC,EAAS,sEAaZC,KAAAC,UAAY,yEAVK,sBACD,eACP,iBACA,MAUjBC,eACE,GAAIF,KAAKG,WAAY,CACnBH,KAAKI,MAAQ,KACbC,YAAW,KACT,GAAIL,KAAKI,MAAO,CACdJ,KAAKM,MAAQ,QAEdN,KAAKO,gBAGVP,KAAKQ,aAAeH,YAAW,KAC7BL,KAAKS,YAAYC,SAChB,KACHV,KAAKC,UAAYU,KAAKC,MAIxBV,cACEW,aAAab,KAAKQ,cAIpBN,aACE,MAAMY,EAAWH,KAAKC,MAAQZ,KAAKC,UACnC,GAAIa,EAAW,IAAK,CAClBD,aAAab,KAAKQ,cAEpB,GAAIR,KAAKG,WAAY,CACnBH,KAAKI,MAAQ,MACbC,YAAW,KACT,IAAKL,KAAKI,MAAO,CACfJ,KAAKM,MAAQ,SAEdN,KAAKe,gBAIZb,SACE,MAAMc,EAAMC,EAAW,CACrBf,CAAC,GAAGF,KAAKG,cAAeH,KAAKM,QAE/B,IAAIY,EAAO,GACX,KAAMlB,KAAKmB,UAAW,CACpBD,EAAK,aAAelB,KAAKmB,UACzBD,EAAK,kBAAoBlB,KAAKmB,UAEhC,OACEC,EAACC,EAAIC,OAAAC,OAAA,CAACC,MAAOR,GAASE,GACpBE,EAAA,OAAA","sourcesContent":["taro-cover-view-core {\n display: block;\n}\n","import { Component, Prop, h, ComponentInterface, Host, Listen, State, Event, EventEmitter } from '@stencil/core'\nimport classNames from 'classnames'\n\n@Component({\n tag: 'taro-cover-view-core',\n styleUrl: './style/cover-view.scss'\n})\nexport class CoverView implements ComponentInterface {\n @Prop() animation: string\n @Prop() hoverClass: string\n @Prop() hoverStartTime = 50\n @Prop() hoverStayTime = 400\n @State() hover = false\n @State() touch = false\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n private timeoutEvent: ReturnType<typeof setTimeout>\n private startTime = 0\n\n @Listen('touchstart')\n onTouchStart () {\n if (this.hoverClass) {\n this.touch = true\n setTimeout(() => {\n if (this.touch) {\n this.hover = true\n }\n }, this.hoverStartTime)\n }\n\n this.timeoutEvent = setTimeout(() => {\n this.onLongPress.emit()\n }, 350)\n this.startTime = Date.now()\n }\n\n @Listen('touchmove')\n onTouchMove () {\n clearTimeout(this.timeoutEvent)\n }\n\n @Listen('touchend')\n onTouchEnd () {\n const spanTime = Date.now() - this.startTime\n if (spanTime < 350) {\n clearTimeout(this.timeoutEvent)\n }\n if (this.hoverClass) {\n this.touch = false\n setTimeout(() => {\n if (!this.touch) {\n this.hover = false\n }\n }, this.hoverStayTime)\n }\n }\n\n render() {\n const cls = classNames({\n [`${this.hoverClass}`]: this.hover\n })\n let attr = {}\n if (!!this.animation) {\n attr['animation'] = this.animation\n attr['data-animation'] = this.animation\n }\n return (\n <Host class={cls} {...attr}>\n <slot></slot>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as r}from"./p-5bfefd19.js";const h=class{constructor(e){t(this,e);this.onChange=i(this,"radiochange",7);this.handleClick=t=>{t.stopPropagation();if(this.disabled)return;if(!this.checked)this.checked=true};this.name=undefined;this.value="";this.id=undefined;this.checked=false;this.disabled=false;this.nativeProps={};this.isWillLoadCalled=false}watchChecked(t){if(!this.isWillLoadCalled)return;t&&this.onChange.emit({value:this.value})}watchId(t){if(!this.isWillLoadCalled)return;if(t)this.inputEl.setAttribute("id",t)}componentDidRender(){this.id&&this.el.removeAttribute("id")}componentWillLoad(){this.isWillLoadCalled=true}render(){const{checked:t,name:i,value:r,disabled:h,nativeProps:c}=this;return e(s,{className:"weui-cells_checkbox",onClick:this.handleClick},e("input",Object.assign({ref:t=>{if(!t)return;this.inputEl=t;if(this.id)t.setAttribute("id",this.id)},type:"radio",name:i,value:r,class:"weui-check",checked:t,disabled:h,onChange:t=>t.stopPropagation()},c)),e("i",{class:"weui-icon-checked"}),e("slot",null))}get el(){return r(this)}static get watchers(){return{checked:["watchChecked"],id:["watchId"]}}};const c=class{constructor(e){t(this,e);this.onChange=i(this,"change",7);this.uniqueName=Date.now().toString(36);this.name=undefined}function(t){t.stopPropagation();if(t.target.tagName!=="TARO-RADIO-CORE")return;const i=t.target;if(i.checked){const e=this.el.querySelectorAll("taro-radio-core");e.forEach((t=>{if(t!==i){t.checked=false}}));this.value=t.detail.value;this.onChange.emit({value:this.value})}}componentDidLoad(){const t=this.el.querySelectorAll("taro-radio-core");t.forEach((t=>{t.setAttribute("name",this.name||this.uniqueName)}));Object.defineProperty(this.el,"value",{get:()=>{if(!this.value){const t=this.el.querySelectorAll("taro-radio-core");this.value=this.getValues(t)}return this.value},configurable:true})}getValues(t){let i="";Array.from(t).forEach((t=>{const e=t.querySelector("input");if(e===null||e===void 0?void 0:e.checked){i=e.value||""}}));return i}render(){return e(s,{class:"weui-cells_radiogroup"})}get el(){return r(this)}};export{h as taro_radio_core,c as taro_radio_group_core};
2
+ //# sourceMappingURL=p-df862d0c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/radio/radio.tsx","src/components/radio/radio-group.tsx"],"names":["Radio","this","handleClick","e","stopPropagation","disabled","checked","[object Object]","newVal","isWillLoadCalled","onChange","emit","value","inputEl","setAttribute","id","el","removeAttribute","name","nativeProps","h","Host","className","onClick","Object","assign","ref","dom","type","class","RadioGroup","uniqueName","Date","now","toString","target","tagName","childList","querySelectorAll","forEach","element","detail","defineProperty","get","getValues","configurable","val","Array","from","checkbox","querySelector"],"mappings":"sEAKaA,EAAK,qEAsChBC,KAAAC,YAAeC,IACbA,EAAEC,kBACF,GAAIH,KAAKI,SAAU,OACnB,IAAKJ,KAAKK,QAASL,KAAKK,QAAU,qCAtCpB,kCAEkC,oBACtB,uBACN,yBAEM,MAK5BC,aAAcC,GACZ,IAAKP,KAAKQ,iBAAkB,OAC5BD,GAAUP,KAAKS,SAASC,KAAK,CAAEC,MAAOX,KAAKW,QAI7CL,QAASC,GACP,IAAKP,KAAKQ,iBAAkB,OAC5B,GAAID,EAAQP,KAAKY,QAAQC,aAAa,KAAMN,GAQ9CD,qBACEN,KAAKc,IAAMd,KAAKe,GAAGC,gBAAgB,MAGrCV,oBACEN,KAAKQ,iBAAmB,KAS1BF,SACE,MAAMD,QAAEA,EAAOY,KAAEA,EAAIN,MAAEA,EAAKP,SAAEA,EAAQc,YAAEA,GAAgBlB,KAExD,OACEmB,EAACC,EAAI,CACHC,UAAU,sBACVC,QAAStB,KAAKC,aAEdkB,EAAA,QAAAI,OAAAC,OAAA,CACEC,IAAKC,IACH,IAAKA,EAAK,OACV1B,KAAKY,QAAUc,EACf,GAAI1B,KAAKc,GAAIY,EAAIb,aAAa,KAAMb,KAAKc,KAE3Ca,KAAK,QACLV,KAAMA,EACNN,MAAOA,EACPiB,MAAM,aACNvB,QAASA,EACTD,SAAUA,EACVK,SAAUP,GAAKA,EAAEC,mBACbe,IAENC,EAAA,IAAA,CAAGS,MAAM,sBACTT,EAAA,OAAA,6GCpEKU,EAAU,gEACb7B,KAAA8B,WAAaC,KAAKC,MAAMC,SAAS,wBAazC3B,SAAUJ,GACRA,EAAEC,kBACF,GAAKD,EAAEgC,OAAmBC,UAAY,kBAAmB,OAEzD,MAAMD,EAAShC,EAAEgC,OACjB,GAAIA,EAAO7B,QAAS,CAClB,MAAM+B,EAAYpC,KAAKe,GAAGsB,iBAAiB,mBAE3CD,EAAUE,SAAQC,IAChB,GAAIA,IAAYL,EAAQ,CACtBK,EAAQlC,QAAU,UAItBL,KAAKW,MAAQT,EAAEsC,OAAO7B,MAEtBX,KAAKS,SAASC,KAAK,CACjBC,MAAOX,KAAKW,SAKlBL,mBACE,MAAM8B,EAAYpC,KAAKe,GAAGsB,iBAAiB,mBAE3CD,EAAUE,SAASC,IACjBA,EAAQ1B,aAAa,OAAQb,KAAKiB,MAAQjB,KAAK8B,eAGjDP,OAAOkB,eAAezC,KAAKe,GAAI,QAAS,CACtC2B,IAAK,KACH,IAAK1C,KAAKW,MAAO,CACf,MAAMyB,EAAYpC,KAAKe,GAAGsB,iBAAiB,mBAC3CrC,KAAKW,MAAQX,KAAK2C,UAAUP,GAE9B,OAAOpC,KAAKW,OAEdiC,aAAc,OAIlBtC,UAAW8B,GACT,IAAIS,EAAM,GACVC,MAAMC,KAAKX,GACRE,SAAQC,IACP,MAAMS,EAAoCT,EAAQU,cAAc,SAChE,GAAID,IAAQ,MAARA,SAAQ,OAAA,EAARA,EAAU3C,QAAS,CACrBwC,EAAMG,EAASrC,OAAS,OAG9B,OAAOkC,EAGTvC,SACE,OACEa,EAACC,EAAI,CAACQ,MAAM","sourcesContent":["import { Component, h, ComponentInterface, Prop, Event, EventEmitter, Host, Watch, Element, State } from '@stencil/core'\n\n@Component({\n tag: 'taro-radio-core'\n})\nexport class Radio implements ComponentInterface {\n private inputEl: HTMLInputElement\n @Prop() name: string\n @Prop() value = ''\n @Prop({ mutable: true }) id: string\n @Prop({ mutable: true, reflect: true }) checked = false\n @Prop() disabled: boolean = false\n @Prop() nativeProps = {}\n\n @State() isWillLoadCalled = false\n\n @Element() el: HTMLElement\n\n @Watch('checked')\n watchChecked (newVal) {\n if (!this.isWillLoadCalled) return\n newVal && this.onChange.emit({ value: this.value })\n }\n\n @Watch('id')\n watchId (newVal) {\n if (!this.isWillLoadCalled) return\n if (newVal) this.inputEl.setAttribute('id', newVal)\n }\n\n @Event({\n eventName: 'radiochange'\n })\n onChange: EventEmitter\n\n componentDidRender () {\n this.id && this.el.removeAttribute('id')\n }\n\n componentWillLoad () {\n this.isWillLoadCalled = true\n }\n\n handleClick = (e: Event) => {\n e.stopPropagation()\n if (this.disabled) return\n if (!this.checked) this.checked = true\n }\n\n render () {\n const { checked, name, value, disabled, nativeProps } = this\n\n return (\n <Host\n className='weui-cells_checkbox'\n onClick={this.handleClick}\n >\n <input\n ref={dom => {\n if (!dom) return\n this.inputEl = dom\n if (this.id) dom.setAttribute('id', this.id)\n }}\n type='radio'\n name={name}\n value={value}\n class='weui-check'\n checked={checked}\n disabled={disabled}\n onChange={e => e.stopPropagation()}\n {...nativeProps}\n />\n <i class='weui-icon-checked' />\n <slot />\n </Host>\n )\n }\n}\n","import { Component, h, ComponentInterface, Host, Prop, Event, EventEmitter, Listen, Element } from '@stencil/core'\n\n@Component({\n tag: 'taro-radio-group-core'\n})\nexport class RadioGroup implements ComponentInterface {\n private uniqueName = Date.now().toString(36)\n private value: string\n\n @Prop() name\n\n @Element() el: HTMLElement\n\n @Event({\n eventName: 'change'\n })\n onChange: EventEmitter\n\n @Listen('radiochange')\n function (e: CustomEvent<{ value: string }>) {\n e.stopPropagation()\n if ((e.target as Element).tagName !== 'TARO-RADIO-CORE') return\n\n const target = e.target as HTMLTaroRadioCoreElement\n if (target.checked) {\n const childList = this.el.querySelectorAll('taro-radio-core')\n\n childList.forEach(element => {\n if (element !== target) {\n element.checked = false\n }\n })\n\n this.value = e.detail.value\n\n this.onChange.emit({\n value: this.value\n })\n }\n }\n\n componentDidLoad () {\n const childList = this.el.querySelectorAll('taro-radio-core')\n\n childList.forEach((element) => {\n element.setAttribute('name', this.name || this.uniqueName)\n })\n\n Object.defineProperty(this.el, 'value', {\n get: () => {\n if (!this.value) {\n const childList = this.el.querySelectorAll('taro-radio-core')\n this.value = this.getValues(childList)\n }\n return this.value\n },\n configurable: true\n })\n }\n\n getValues (childList: NodeListOf<HTMLTaroRadioCoreElement>) {\n let val = ''\n Array.from(childList)\n .forEach(element => {\n const checkbox: HTMLInputElement | null = element.querySelector('input')\n if (checkbox?.checked) {\n val = checkbox.value || ''\n }\n })\n return val\n }\n\n render () {\n return (\n <Host class='weui-cells_radiogroup' />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{h as t,r as e,c as s,H as a,g as r}from"./p-5bfefd19.js";import i from"@tarojs/taro";import{c as o}from"./p-76724e58.js";const n=t=>{let e=t||"";let s;const a={path:null,query:null,fragment:null};s=e.indexOf("#");if(s>-1){a.fragment=e.substring(s+1);e=e.substring(0,s)}s=e.indexOf("?");if(s>-1){a.query=e.substring(s+1);e=e.substring(0,s)}a.path=e;return a};const h=(t="")=>t.charAt(0)==="/"?t:"/"+t;const b=(t="",e="")=>new RegExp("^"+e+"(\\/|\\?|#|$)","i").test(t)||t===e;const l=(t="",e="")=>b(t,e)?t.substring(e.length):t;const c=(t="",e="")=>t.includes(e)?t.substring(0,t.length-e.length):t;function d(t){return t.charAt(0)==="/"}function f(t,e){for(var s=e,a=s+1,r=t.length;a<r;s+=1,a+=1){t[s]=t[a]}t.pop()}function _(t,e){if(e===undefined)e="";var s=t&&t.split("/")||[];var a=e&&e.split("/")||[];var r=t&&d(t);var i=e&&d(e);var o=r||i;if(t&&d(t)){a=s}else if(s.length){a.pop();a=a.concat(s)}if(!a.length)return"/";var n;if(a.length){var h=a[a.length-1];n=h==="."||h===".."||h===""}else{n=false}var b=0;for(var l=a.length;l>=0;l--){var c=a[l];if(c==="."){f(a,l)}else if(c===".."){f(a,l);b++}else if(b){f(a,l);b--}}if(!o)for(;b--;b)a.unshift("..");if(o&&a[0]!==""&&(!a[0]||!d(a[0])))a.unshift("");var _=a.join("/");if(n&&_.substr(-1)!=="/")_+="/";return _}const u=({index:e,isSelected:s=false,textColor:a,iconPath:r,badgeText:i,showRedDot:n=false,text:h,onSelect:b})=>{const l=o("weui-tabbar__item",{"weui-bar__item_on":s});const c={position:"absolute",top:"-2px",right:"-13px"};const d={position:"absolute",top:"0",right:"-6px"};function f(){b(e)}return t("a",{key:e,href:"javascript:;",class:l,onClick:f},t("span",{style:{display:"inline-block",position:"relative"}},t("img",{src:r,alt:"",class:"weui-tabbar__icon"}),!!i&&t("span",{class:"weui-badge taro-tabbar-badge",style:c},i),n&&t("span",{class:"weui-badge weui-badge_dot",style:d})),t("p",{class:"weui-tabbar__label",style:{color:a}},h))};const g="html,body{height:100%}#app{height:100%}.taro-tabbar__border-white::before{border-top-color:#fff !important}.taro-tabbar__container{display:-ms-flexbox;display:flex;overflow:hidden;-ms-flex-direction:column;flex-direction:column;height:100%}.taro-tabbar__panel{overflow:auto;position:relative;-ms-flex:1;flex:1;-webkit-overflow-scrolling:auto}.taro-tabbar__tabbar{position:relative;width:100%;height:50px;-webkit-transition:bottom 0.2s, top 0.2s;transition:bottom 0.2s, top 0.2s}.taro-tabbar__tabbar-top{top:0}.taro-tabbar__tabbar-bottom{bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.taro-tabbar__tabbar-hide{display:none}.taro-tabbar__tabbar-slideout{top:-52px;-ms-flex:0 0;flex:0 0}.taro-tabbar__panel+.taro-tabbar__tabbar-slideout{top:auto;bottom:-52px}";const m=0;const p=1;const B=2;const v="taro-tabbar__tabbar";const T="taro-tabbar__tabbar-hide";const w="taro-tabbar__tabbar-slideout";const x=class{constructor(t){e(this,t);this.onLongPress=s(this,"longpress",7);this.homePage="";this.customRoutes=[];this.tabbarPos="bottom";this.getOriginUrl=t=>{const e=this.customRoutes.filter((([,e])=>{const s=n(e).path;const a=n(t).path;return s===a}));return c(e.length?e[0][0]:t,".html")};this.getSelectedIndex=t=>{let e=-1;this.list.forEach((({pagePath:s},a)=>{const r=n(t).path;const i=n(s).path;if(r===i){e=a}}));return e};this.switchTab=t=>{this.selectedIndex=t;i.switchTab({url:this.list[t].pagePath})};this.switchTabHandler=({url:t,successHandler:e,errorHandler:s})=>{const a=this.getOriginUrl(this.getCurrentUrl()||this.homePage);const r=_(t,a);const i=this.getSelectedIndex(r);if(i>-1){this.switchTab(i);e({errMsg:"switchTab:ok"})}else{s({errMsg:`switchTab:fail page "${r}" is not found`})}};this.routerChangeHandler=t=>{var e;const s=(e=t===null||t===void 0?void 0:t.toLocation)===null||e===void 0?void 0:e.path;let a;if(typeof s==="string"){const t=this.conf.basename||"/";a=l(h(s||this.homePage),t)||"/"}else{a=this.getCurrentUrl()}this.selectedIndex=this.getSelectedIndex(this.getOriginUrl(a))};this.setTabBarBadgeHandler=({index:t,text:e,successHandler:s,errorHandler:a})=>{const r=[...this.list];if(t in r){r[t].showRedDot=false;r[t].badgeText=e;s({errMsg:"setTabBarBadge:ok"})}else{a({errMsg:"setTabBarBadge:fail tabbar item not found"})}this.list=r};this.removeTabBarBadgeHandler=({index:t,successHandler:e,errorHandler:s})=>{const a=[...this.list];if(t in a){a[t].badgeText=null;a[t].badgeText=null;e({errMsg:"removeTabBarBadge:ok"})}else{s({errMsg:"removeTabBarBadge:fail tabbar item not found"})}this.list=a};this.showTabBarRedDotHandler=({index:t,successHandler:e,errorHandler:s})=>{const a=[...this.list];if(t in a){a[t].badgeText=null;a[t].showRedDot=true;e({errMsg:"showTabBarRedDot:ok"})}else{s({errMsg:"showTabBarRedDot:fail tabbar item not found"})}this.list=a};this.hideTabBarRedDotHandler=({index:t,successHandler:e,errorHandler:s})=>{const a=[...this.list];if(t in a){a[t].showRedDot=false;e({errMsg:"hideTabBarRedDot:ok"})}else{s({errMsg:"hideTabBarRedDot:fail tabbar item not found"})}this.list=a};this.showTabBarHandler=({successHandler:t})=>{this.status=m;t({errMsg:"showTabBar:ok"})};this.hideTabBarHandler=({animation:t,successHandler:e})=>{this.status=t?B:p;e({errMsg:"hideTabBar:ok"})};this.setTabBarStyleHandler=({color:t,selectedColor:e,backgroundColor:s,borderStyle:a,successHandler:r})=>{if(s)this.backgroundColor=s;if(a)this.borderStyle=a;if(t)this.color=t;if(e)this.selectedColor=e;r({errMsg:"setTabBarStyle:ok"})};this.setTabBarItemHandler=({index:t,iconPath:e,selectedIconPath:s,text:a,successHandler:r,errorHandler:i})=>{const o=[...this.list];if(t in o){if(e)o[t].iconPath=e;if(s)o[t].selectedIconPath=s;if(a)o[t].text=a;r({errMsg:"setTabBarItem:ok"})}else{i({errMsg:"setTabBarItem:fail tabbar item not found"})}this.list=o};this.conf=undefined;this.list=undefined;this.borderStyle=undefined;this.backgroundColor=undefined;this.color=undefined;this.selectedColor=undefined;this.selectedIndex=-1;this.status=m;const a=this.conf.list;const r=this.conf.customRoutes;if(Object.prototype.toString.call(a)!=="[object Array]"||a.length<2||a.length>5){throw new Error("tabBar 配置错误")}this.homePage=h(this.conf.homePage);for(let t in r){const e=r[t];t=h(t);if(typeof e==="string"){this.customRoutes.push([t,h(e)])}else if((e===null||e===void 0?void 0:e.length)>0){this.customRoutes.push(...e.map((e=>[t,h(e)])))}}a.forEach((t=>{if(t.pagePath.indexOf("/")!==0){t.pagePath="/"+t.pagePath}}));this.list=a;this.borderStyle=this.conf.borderStyle;this.backgroundColor=this.conf.backgroundColor;this.color=this.conf.color;this.selectedColor=this.conf.selectedColor}getCurrentUrl(){const t=this.conf.mode;const e=this.conf.basename||"/";let s;if(t==="hash"){const t=window.location.href;const e=t.indexOf("#");s=e===-1?"":t.substring(e+1)}else{s=location.pathname}const a=h(l(s,e));return decodeURI(a==="/"?this.homePage:a)}bindEvent(){i.eventCenter.on("__taroRouterChange",this.routerChangeHandler);i.eventCenter.on("__taroSwitchTab",this.switchTabHandler);i.eventCenter.on("__taroSetTabBarBadge",this.setTabBarBadgeHandler);i.eventCenter.on("__taroRemoveTabBarBadge",this.removeTabBarBadgeHandler);i.eventCenter.on("__taroShowTabBarRedDotHandler",this.showTabBarRedDotHandler);i.eventCenter.on("__taroHideTabBarRedDotHandler",this.hideTabBarRedDotHandler);i.eventCenter.on("__taroShowTabBar",this.showTabBarHandler);i.eventCenter.on("__taroHideTabBar",this.hideTabBarHandler);i.eventCenter.on("__taroSetTabBarStyle",this.setTabBarStyleHandler);i.eventCenter.on("__taroSetTabBarItem",this.setTabBarItemHandler)}removeEvent(){i.eventCenter.off("__taroRouterChange",this.routerChangeHandler);i.eventCenter.off("__taroSwitchTab",this.switchTabHandler);i.eventCenter.off("__taroSetTabBarBadge",this.setTabBarBadgeHandler);i.eventCenter.off("__taroRemoveTabBarBadge",this.removeTabBarBadgeHandler);i.eventCenter.off("__taroShowTabBarRedDotHandler",this.showTabBarRedDotHandler);i.eventCenter.off("__taroHideTabBarRedDotHandler",this.hideTabBarRedDotHandler);i.eventCenter.off("__taroShowTabBar",this.showTabBarHandler);i.eventCenter.off("__taroHideTabBar",this.hideTabBarHandler);i.eventCenter.off("__taroSetTabBarStyle",this.setTabBarStyleHandler);i.eventCenter.off("__taroSetTabBarItem",this.setTabBarItemHandler)}componentDidLoad(){this.tabbarPos=this.tabbar.nextElementSibling?"top":"bottom";this.bindEvent();this.routerChangeHandler()}disconnectedCallback(){this.removeEvent()}render(){const{tabbarPos:e="bottom"}=this;const s=this.status;const r=o("weui-tabbar",{[`taro-tabbar__border-${this.borderStyle||"black"}`]:true});const i=this.selectedIndex===-1||s===p;const n=s===B;return t(a,{class:o(v,`${v}-${e}`,{[T]:i,[w]:n})},t("div",{class:r,style:{backgroundColor:this.backgroundColor||"",height:"inherit"}},this.list.map(((e,s)=>{const a=this.selectedIndex===s;let r;let i;if(a){r=this.selectedColor||"";i=e.selectedIconPath}else{r=this.color||"";i=e.iconPath}return t(u,{index:s,onSelect:this.switchTab.bind(this),isSelected:a,textColor:r,iconPath:i,text:e.text,badgeText:e.badgeText,showRedDot:e.showRedDot})}))))}get tabbar(){return r(this)}};x.style=g;export{x as taro_tabbar};
2
+ //# sourceMappingURL=p-e0d6b00b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/url.ts","../taro-router/dist/utils/index.js","../../node_modules/.pnpm/registry.npmjs.org+resolve-pathname@3.0.0/node_modules/resolve-pathname/esm/resolve-pathname.js","src/components/tabbar/tabbar-item.tsx","src/components/tabbar/style/index.scss?tag=taro-tabbar","src/components/tabbar/tabbar.tsx"],"names":["splitUrl","_url","url","pos","res","path","query","fragment","indexOf","substring","addLeadingSlash","charAt","hasBasename","prefix","RegExp","test","stripBasename","length","stripSuffix","suffix","includes","isAbsolute","pathname","spliceOne","list","index","i","k","n","pop","resolvePathname","to","from","undefined","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","last","up","part","unshift","result","join","substr","TabbarItem","isSelected","textColor","iconPath","badgeText","showRedDot","text","onSelect","className","classNames","weui-bar__item_on","badgeStyle","position","top","right","dotStyle","onClick","h","key","href","class","style","display","src","alt","color","indexCss","STATUS_SHOW","STATUS_HIDE","STATUS_SLIDEOUT","basicTabBarClassName","hideTabBarClassName","hideTabBarWithAnimationClassName","Tabbar","[object Object]","hostRef","this","homePage","customRoutes","tabbarPos","getOriginUrl","customRoute","filter","customUrl","pathA","pathB","getSelectedIndex","foundIndex","forEach","pagePath","idx","switchTab","selectedIndex","Taro","switchTabHandler","successHandler","errorHandler","currentUrl","getCurrentUrl","nextTab","errMsg","routerChangeHandler","options","_a","toLocation","currentPage","routerBasename","conf","basename","setTabBarBadgeHandler","removeTabBarBadgeHandler","showTabBarRedDotHandler","hideTabBarRedDotHandler","showTabBarHandler","status","hideTabBarHandler","animation","setTabBarStyleHandler","selectedColor","backgroundColor","borderStyle","setTabBarItemHandler","selectedIconPath","Object","prototype","toString","call","Error","push","map","p","item","routerMode","mode","window","location","hashIndex","processedUrl","decodeURI","eventCenter","on","off","tabbar","nextElementSibling","bindEvent","removeEvent","containerCls","shouldHideTabBar","shouldSlideout","Host","height","bind"],"mappings":"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","sourcesContent":["export const normalizePath = url => {\n let _isRelative\n let _leadingParents = ''\n let _parent, _pos\n\n // handle relative paths\n if (url.charAt(0) !== '/') {\n _isRelative = true\n url = '/' + url\n }\n\n // handle relative files (as opposed to directories)\n if (url.substring(-3) === '/..' || url.slice(-2) === '/.') {\n url += '/'\n }\n\n // resolve simples\n url = url.replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/').replace(/\\/{2,}/g, '/')\n\n // remember leading parents\n if (_isRelative) {\n _leadingParents = url.substring(1).match(/^(\\.\\.\\/)+/) || ''\n if (_leadingParents) {\n _leadingParents = _leadingParents[0]\n }\n }\n\n // resolve parents\n while (true) {\n _parent = url.search(/\\/\\.\\.(\\/|$)/)\n if (_parent === -1) {\n // no more ../ to resolve\n break\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n url = url.substring(3)\n continue\n }\n\n _pos = url.substring(0, _parent).lastIndexOf('/')\n if (_pos === -1) {\n _pos = _parent\n }\n url = url.substring(0, _pos) + url.substring(_parent + 3)\n }\n\n // revert to relative\n if (_isRelative) {\n url = _leadingParents + url.substring(1)\n }\n\n return url\n}\n\nexport const splitUrl = _url => {\n let url = _url || ''\n let pos\n const res = {\n path: null,\n query: null,\n fragment: null\n }\n\n pos = url.indexOf('#')\n if (pos > -1) {\n res.fragment = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n pos = url.indexOf('?')\n if (pos > -1) {\n res.query = url.substring(pos + 1)\n url = url.substring(0, pos)\n }\n\n res.path = url\n\n return res\n}\n","// export const removeLeadingSlash = (str = '') => str.replace(/^\\.?\\//, '')\n// export const removeTrailingSearch = (str = '') => str.replace(/\\?[\\s\\S]*$/, '')\nexport const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);\nexport const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix;\nexport const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substring(prefix.length) : path;\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '');\nexport const stripSuffix = (path = '', suffix = '') => path.includes(suffix) ? path.substring(0, path.length - suffix.length) : path;\nclass RoutesAlias {\n constructor() {\n this.conf = [];\n this.getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url);\n });\n return customRoute[0];\n };\n this.getOrigin = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[0]) || url;\n };\n this.getAlias = (url = '') => {\n var _a;\n return ((_a = this.getConfig(url)) === null || _a === void 0 ? void 0 : _a[1]) || url;\n };\n this.getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1]);\n return p;\n }, []);\n };\n }\n set(customRoutes = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key];\n key = addLeadingSlash(key);\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)]);\n }\n else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]));\n }\n }\n }\n}\nexport const routesAlias = new RoutesAlias();\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import classNames from 'classnames'\nimport { FunctionalComponent, h } from '@stencil/core'\n\ntype TabbarItemProps = {\n index: number\n isSelected?: boolean\n textColor?: string\n badgeText?: string\n iconPath: string\n showRedDot?: boolean\n text?: string\n onSelect: (index: number) => void\n}\n\nexport const TabbarItem: FunctionalComponent<TabbarItemProps> = ({\n index,\n isSelected = false,\n textColor,\n iconPath,\n badgeText,\n showRedDot = false,\n text,\n onSelect\n}) => {\n const className = classNames('weui-tabbar__item', {\n 'weui-bar__item_on': isSelected\n })\n const badgeStyle = {\n position: 'absolute',\n top: '-2px',\n right: '-13px'\n }\n const dotStyle = {\n position: 'absolute',\n top: '0',\n right: '-6px'\n }\n\n function onClick () {\n onSelect(index)\n }\n\n return (\n <a key={index} href='javascript:;' class={className} onClick={onClick}>\n <span style={{ display: 'inline-block', position: 'relative' }}>\n <img src={iconPath} alt='' class='weui-tabbar__icon' />\n {!!badgeText && (\n <span\n class='weui-badge taro-tabbar-badge'\n style={badgeStyle}>\n {badgeText}\n </span>\n )}\n {showRedDot && (\n <span\n class='weui-badge weui-badge_dot'\n style={dotStyle}\n />\n )}\n </span>\n <p class='weui-tabbar__label' style={{ color: textColor }}>\n {text}\n </p>\n </a>\n )\n}\n","html,\nbody {\n height: 100%;\n}\n\n#app {\n height: 100%;\n}\n\n.taro-tabbar {\n &__border {\n &-white {\n &::before {\n border-top-color: #fff !important;\n }\n }\n }\n\n &__container {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n }\n\n &__panel {\n overflow: auto;\n position: relative;\n flex: 1;\n -webkit-overflow-scrolling: auto;\n }\n\n &__tabbar {\n position: relative;\n width: 100%;\n height: 50px;\n transition: bottom 0.2s, top 0.2s;\n\n &-top {\n top: 0;\n }\n\n &-bottom {\n bottom: 0;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n }\n\n &-hide {\n display: none;\n }\n\n &-slideout {\n top: -52px;\n flex: 0 0;\n }\n }\n\n &__panel + &__tabbar-slideout {\n top: auto;\n bottom: -52px;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Host, State, Event, EventEmitter, Element } from '@stencil/core'\nimport Taro from '@tarojs/taro'\nimport { addLeadingSlash, stripBasename, stripSuffix } from '@tarojs/router/dist/utils'\nimport { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport classNames from 'classnames'\nimport resolvePathname from 'resolve-pathname'\n\nimport { splitUrl } from '../../utils'\nimport { TabbarItem } from './tabbar-item'\n\nconst STATUS_SHOW = 0\nconst STATUS_HIDE = 1\nconst STATUS_SLIDEOUT = 2\n\nconst basicTabBarClassName = 'taro-tabbar__tabbar'\nconst hideTabBarClassName = 'taro-tabbar__tabbar-hide'\nconst hideTabBarWithAnimationClassName = 'taro-tabbar__tabbar-slideout'\n\ninterface RouterHandler {\n index: string\n text: string\n url: string\n successHandler: Function\n errorHandler: Function\n animation?: boolean\n}\n\nexport interface Conf {\n color: string\n selectedColor: string\n backgroundColor: string\n borderStyle?: 'black' | 'white'\n list: TabbarList[]\n position?: 'bottom' | 'top'\n custom: boolean\n customRoutes: Record<string, string | string[]>\n mode: IH5RouterConfig['mode']\n basename: string\n homePage: string\n currentPagename: string\n}\n\ninterface TabbarList {\n pagePath: string\n text: string\n iconPath?: string\n selectedIconPath?: string\n badgeText?: string\n showRedDot?: boolean\n}\n\n@Component({\n tag: 'taro-tabbar',\n styleUrl: './style/index.scss'\n})\nexport class Tabbar implements ComponentInterface {\n private homePage = ''\n\n private customRoutes: Array<string[]> = []\n\n private tabbarPos: 'top' | 'bottom' = 'bottom'\n\n @Prop() conf: Conf\n\n @State() list: TabbarList[]\n\n @State() borderStyle: Conf['borderStyle']\n\n @State() backgroundColor: Conf['backgroundColor']\n\n @State() color: Conf['color']\n\n @State() selectedColor: Conf['selectedColor']\n\n @State() selectedIndex = -1\n\n @State() status: 0 | 1 | 2 = STATUS_SHOW\n\n @Event({\n eventName: 'longpress'\n }) onLongPress: EventEmitter\n\n @Element() tabbar: HTMLDivElement\n\n constructor () {\n const list = this.conf.list\n const customRoutes = this.conf.customRoutes\n if (\n Object.prototype.toString.call(list) !== '[object Array]' ||\n list.length < 2 ||\n list.length > 5\n ) {\n throw new Error('tabBar 配置错误')\n }\n\n this.homePage = addLeadingSlash(this.conf.homePage)\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.customRoutes.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.customRoutes.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n\n list.forEach(item => {\n if (item.pagePath.indexOf('/') !== 0) {\n item.pagePath = '/' + item.pagePath\n }\n })\n\n this.list = list\n this.borderStyle = this.conf.borderStyle\n this.backgroundColor = this.conf.backgroundColor\n this.color = this.conf.color\n this.selectedColor = this.conf.selectedColor\n }\n\n getCurrentUrl () {\n const routerMode = this.conf.mode\n const routerBasename = this.conf.basename || '/'\n let url\n if (routerMode === 'hash') {\n const href = window.location.href\n const hashIndex = href.indexOf('#')\n url = hashIndex === -1\n ? ''\n : href.substring(hashIndex + 1)\n } else {\n url = location.pathname\n }\n const processedUrl = addLeadingSlash(stripBasename(url, routerBasename))\n return decodeURI(processedUrl === '/' ? this.homePage : processedUrl)\n }\n\n getOriginUrl = (url: string) => {\n const customRoute = this.customRoutes.filter(([, customUrl]) => {\n const pathA = splitUrl(customUrl).path\n const pathB = splitUrl(url).path\n return pathA === pathB\n })\n return stripSuffix(customRoute.length ? customRoute[0][0] : url, '.html')\n }\n\n getSelectedIndex = (url: string) => {\n let foundIndex = -1\n this.list.forEach(({ pagePath }, idx) => {\n const pathA = splitUrl(url).path\n const pathB = splitUrl(pagePath).path\n if (pathA === pathB) {\n foundIndex = idx\n }\n })\n return foundIndex\n }\n\n switchTab = (index: number) => {\n this.selectedIndex = index\n Taro.switchTab({\n url: this.list[index].pagePath\n })\n }\n\n switchTabHandler = ({ url, successHandler, errorHandler }: RouterHandler) => {\n const currentUrl = this.getOriginUrl(this.getCurrentUrl() || this.homePage)\n const nextTab = resolvePathname(url, currentUrl)\n const foundIndex = this.getSelectedIndex(nextTab)\n\n if (foundIndex > -1) {\n this.switchTab(foundIndex)\n successHandler({\n errMsg: 'switchTab:ok'\n })\n } else {\n errorHandler({\n errMsg: `switchTab:fail page \"${nextTab}\" is not found`\n })\n }\n }\n\n routerChangeHandler = (options?) => {\n const to = options?.toLocation?.path\n let currentPage\n\n if (typeof to === 'string') {\n const routerBasename = this.conf.basename || '/'\n currentPage = stripBasename(addLeadingSlash(to || this.homePage), routerBasename) || '/'\n } else {\n currentPage = this.getCurrentUrl()\n }\n\n this.selectedIndex = this.getSelectedIndex(this.getOriginUrl(currentPage))\n }\n\n setTabBarBadgeHandler = ({ index, text, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n list[index].badgeText = text\n successHandler({\n errMsg: 'setTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n removeTabBarBadgeHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].badgeText = null\n successHandler({\n errMsg: 'removeTabBarBadge:ok'\n })\n } else {\n errorHandler({\n errMsg: 'removeTabBarBadge:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].badgeText = null\n list[index].showRedDot = true\n successHandler({\n errMsg: 'showTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'showTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n hideTabBarRedDotHandler = ({ index, successHandler, errorHandler }: RouterHandler) => {\n const list = [...this.list]\n if (index in list) {\n list[index].showRedDot = false\n successHandler({\n errMsg: 'hideTabBarRedDot:ok'\n })\n } else {\n errorHandler({\n errMsg: 'hideTabBarRedDot:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n showTabBarHandler = ({ successHandler }) => {\n this.status = STATUS_SHOW\n successHandler({\n errMsg: 'showTabBar:ok'\n })\n }\n\n hideTabBarHandler = ({ animation, successHandler }) => {\n this.status = animation ? STATUS_SLIDEOUT : STATUS_HIDE\n successHandler({\n errMsg: 'hideTabBar:ok'\n })\n }\n\n setTabBarStyleHandler = ({ color, selectedColor, backgroundColor, borderStyle, successHandler }) => {\n if (backgroundColor) this.backgroundColor = backgroundColor\n if (borderStyle) this.borderStyle = borderStyle\n if (color) this.color = color\n if (selectedColor) this.selectedColor = selectedColor\n successHandler({\n errMsg: 'setTabBarStyle:ok'\n })\n }\n\n setTabBarItemHandler = ({ index, iconPath, selectedIconPath, text, successHandler, errorHandler }) => {\n const list = [...this.list]\n if (index in list) {\n if (iconPath) list[index].iconPath = iconPath\n if (selectedIconPath) list[index].selectedIconPath = selectedIconPath\n if (text) list[index].text = text\n successHandler({\n errMsg: 'setTabBarItem:ok'\n })\n } else {\n errorHandler({\n errMsg: 'setTabBarItem:fail tabbar item not found'\n })\n }\n\n this.list = list\n }\n\n bindEvent () {\n Taro.eventCenter.on('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.on('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.on('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.on('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.on('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.on('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.on('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.on('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.on('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.on('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n removeEvent () {\n Taro.eventCenter.off('__taroRouterChange', this.routerChangeHandler)\n Taro.eventCenter.off('__taroSwitchTab', this.switchTabHandler)\n Taro.eventCenter.off('__taroSetTabBarBadge', this.setTabBarBadgeHandler)\n Taro.eventCenter.off('__taroRemoveTabBarBadge', this.removeTabBarBadgeHandler)\n Taro.eventCenter.off('__taroShowTabBarRedDotHandler', this.showTabBarRedDotHandler)\n Taro.eventCenter.off('__taroHideTabBarRedDotHandler', this.hideTabBarRedDotHandler)\n Taro.eventCenter.off('__taroShowTabBar', this.showTabBarHandler)\n Taro.eventCenter.off('__taroHideTabBar', this.hideTabBarHandler)\n Taro.eventCenter.off('__taroSetTabBarStyle', this.setTabBarStyleHandler)\n Taro.eventCenter.off('__taroSetTabBarItem', this.setTabBarItemHandler)\n }\n\n componentDidLoad () {\n this.tabbarPos = this.tabbar.nextElementSibling ? 'top' : 'bottom'\n this.bindEvent()\n this.routerChangeHandler()\n }\n\n disconnectedCallback () {\n this.removeEvent()\n }\n\n render () {\n const { tabbarPos = 'bottom' } = this\n const status = this.status\n const containerCls = classNames('weui-tabbar', {\n [`taro-tabbar__border-${this.borderStyle || 'black'}`]: true\n })\n const shouldHideTabBar = this.selectedIndex === -1 || status === STATUS_HIDE\n const shouldSlideout = status === STATUS_SLIDEOUT\n\n return (\n <Host\n class={classNames(\n basicTabBarClassName,\n `${basicTabBarClassName}-${tabbarPos}`, {\n [hideTabBarClassName]: shouldHideTabBar,\n [hideTabBarWithAnimationClassName]: shouldSlideout\n })} >\n <div\n class={containerCls}\n style={{\n backgroundColor: this.backgroundColor || '',\n height: 'inherit'\n }}\n >\n {this.list.map((item, index) => {\n const isSelected = this.selectedIndex === index\n let textColor\n let iconPath\n if (isSelected) {\n textColor = this.selectedColor || ''\n iconPath = item.selectedIconPath\n } else {\n textColor = this.color || ''\n iconPath = item.iconPath\n }\n return (\n <TabbarItem\n index={index}\n onSelect={this.switchTab.bind(this)}\n isSelected={isSelected}\n textColor={textColor}\n iconPath={iconPath}\n text={item.text}\n badgeText={item.badgeText}\n showRedDot={item.showRedDot}\n />\n )\n })}\n </div>\n </Host>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i,g as e}from"./p-5bfefd19.js";const h=class{constructor(i){t(this,i);this.onSubmit=s(this,"submit",7);this.value={}}onButtonSubmit(t){t.stopPropagation();this.value=this.getFormValue();this.onSubmit.emit({value:this.value})}onButtonReset(t){t.stopPropagation();this.form.reset()}componentDidLoad(){this.value=this.getFormValue();Object.defineProperty(this.el,"value",{get:()=>this.value,configurable:true})}componentDidRender(){if(!this.originalAppendChild){this.originalAppendChild=this.el.appendChild;this.originalInsertBefore=this.el.insertBefore;this.originalReplaceChild=this.el.replaceChild;this.originalRemoveChild=this.el.removeChild}if(!this.form){this.el.appendChild=this.originalAppendChild;this.el.insertBefore=this.originalInsertBefore;this.el.replaceChild=this.originalReplaceChild;this.el.removeChild=this.originalRemoveChild;return}this.el.appendChild=t=>this.form.appendChild(t);this.el.insertBefore=(t,s)=>this.form.insertBefore(t,s);this.el.replaceChild=(t,s)=>this.form.replaceChild(t,s);this.el.removeChild=t=>this.form.removeChild(t)}getFormValue(){const t=this.el;const s=[];const i=t.getElementsByTagName("input");for(let t=0;t<i.length;t++){s.push(i[t])}const e={};const h={};s.forEach((t=>{if(typeof t.name!=="string")return;if(t.className.indexOf("weui-switch")!==-1){e[t.name]=t.checked;return}if(t.type==="radio"){if(t.checked){h[t.name]=true;e[t.name]=t.value}else{if(!h[t.name]){e[t.name]=""}}return}if(t.type==="checkbox"){if(t.checked){if(h[t.name]){e[t.name].push(t.value)}else{h[t.name]=true;e[t.name]=[t.value]}}else{if(!h[t.name]){e[t.name]=[]}}return}e[t.name]=t.value}));const r=t.getElementsByTagName("textarea");const o=[];for(let t=0;t<r.length;t++){o.push(r[t])}o.forEach((t=>{if(typeof t.name!=="string")return;e[t.name]=t.value}));return e}render(){return i("form",{ref:t=>{this.form=t}},i("slot",null))}get el(){return e(this)}};export{h as taro_form_core};
2
+ //# sourceMappingURL=p-e4f1cc50.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/form/form.tsx"],"names":["Form","[object Object]","hostRef","this","value","e","stopPropagation","getFormValue","onSubmit","emit","form","reset","Object","defineProperty","el","get","configurable","originalAppendChild","appendChild","originalInsertBefore","insertBefore","originalReplaceChild","replaceChild","originalRemoveChild","removeChild","newChild","refChild","oldChild","elements","tagElements","getElementsByTagName","j","length","push","formItem","hash","forEach","item","name","className","indexOf","checked","type","textareaElements","textareaEleArr","i","v","h","ref","dom"],"mappings":"+DAKaA,EAAI,MAHjBC,YAAAC,8CAKUC,KAAAC,MAAmC,GAa3CH,eAAgBI,GACdA,EAAEC,kBAEFH,KAAKC,MAAQD,KAAKI,eAElBJ,KAAKK,SAASC,KAAK,CACjBL,MAAOD,KAAKC,QAKhBH,cAAeI,GACbA,EAAEC,kBACFH,KAAKO,KAAKC,QAGZV,mBACEE,KAAKC,MAAQD,KAAKI,eAElBK,OAAOC,eAAeV,KAAKW,GAAI,QAAS,CACtCC,IAAK,IAAMZ,KAAKC,MAChBY,aAAc,OAIlBf,qBACE,IAAKE,KAAKc,oBAAqB,CAC7Bd,KAAKc,oBAAsBd,KAAKW,GAAGI,YACnCf,KAAKgB,qBAAuBhB,KAAKW,GAAGM,aACpCjB,KAAKkB,qBAAuBlB,KAAKW,GAAGQ,aACpCnB,KAAKoB,oBAAsBpB,KAAKW,GAAGU,YAErC,IAAKrB,KAAKO,KAAM,CACdP,KAAKW,GAAGI,YAAcf,KAAKc,oBAC3Bd,KAAKW,GAAGM,aAAejB,KAAKgB,qBAC5BhB,KAAKW,GAAGQ,aAAenB,KAAKkB,qBAC5BlB,KAAKW,GAAGU,YAAcrB,KAAKoB,oBAC3B,OAEFpB,KAAKW,GAAGI,YAA+BO,GAC9BtB,KAAKO,KAAKQ,YAAYO,GAE/BtB,KAAKW,GAAGM,aAAe,CAAiBK,EAAaC,IAC5CvB,KAAKO,KAAKU,aAAaK,EAAUC,GAE1CvB,KAAKW,GAAGQ,aAAe,CAAiBG,EAAgBE,IAC/CxB,KAAKO,KAAKY,aAAaG,EAAUE,GAE1CxB,KAAKW,GAAGU,YAA+BG,GAC9BxB,KAAKO,KAAKc,YAAYG,GAIjC1B,eACE,MAAMa,EAAKX,KAAKW,GAChB,MAAMc,EAA+B,GACrC,MAAMC,EAAcf,EAAGgB,qBAAqB,SAC5C,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAYG,OAAQD,IAAK,CAC3CH,EAASK,KAAKJ,EAAYE,IAE5B,MAAMG,EAAW,GACjB,MAAMC,EAAO,GACbP,EAASQ,SAAQC,IACf,UAAWA,EAAKC,OAAS,SAAU,OACnC,GAAID,EAAKE,UAAUC,QAAQ,kBAAoB,EAAG,CAChDN,EAASG,EAAKC,MAAQD,EAAKI,QAC3B,OAEF,GAAIJ,EAAKK,OAAS,QAAS,CACzB,GAAIL,EAAKI,QAAS,CAChBN,EAAKE,EAAKC,MAAQ,KAClBJ,EAASG,EAAKC,MAAQD,EAAKjC,UACtB,CACL,IAAK+B,EAAKE,EAAKC,MAAO,CACpBJ,EAASG,EAAKC,MAAQ,IAG1B,OAGF,GAAID,EAAKK,OAAS,WAAY,CAC5B,GAAIL,EAAKI,QAAS,CAChB,GAAIN,EAAKE,EAAKC,MAAO,CACnBJ,EAASG,EAAKC,MAAML,KAAKI,EAAKjC,WACzB,CACL+B,EAAKE,EAAKC,MAAQ,KAClBJ,EAASG,EAAKC,MAAQ,CAACD,EAAKjC,YAEzB,CACL,IAAK+B,EAAKE,EAAKC,MAAO,CACpBJ,EAASG,EAAKC,MAAQ,IAG1B,OAEFJ,EAASG,EAAKC,MAAQD,EAAKjC,SAG7B,MAAMuC,EAAmB7B,EAAGgB,qBAAqB,YACjD,MAAMc,EAAwC,GAE9C,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAiBX,OAAQa,IAAK,CAChDD,EAAeX,KAAKU,EAAiBE,IAEvCD,EAAeR,SAAQU,IACrB,UAAWA,EAAER,OAAS,SAAU,OAChCJ,EAASY,EAAER,MAAQQ,EAAE1C,SAEvB,OAAO8B,EAGTjC,SACE,OACE8C,EAAA,OAAA,CACEC,IAAKC,IACH9C,KAAKO,KAAOuC,IAGdF,EAAA,OAAA","sourcesContent":["import { Component, h, ComponentInterface, Event, EventEmitter, Element, Listen } from '@stencil/core'\n\n@Component({\n tag: 'taro-form-core'\n})\nexport class Form implements ComponentInterface {\n private form: HTMLFormElement\n private value: {[propName: string]: any} = {}\n private originalAppendChild: <T extends Node>(newChild: T) => T\n private originalInsertBefore: <T extends Node>(newChild: T, refChild: Node | null) => T\n private originalReplaceChild: <T extends Node>(newChild: Node, oldChild: T) => T\n private originalRemoveChild: <T extends Node>(oldChild: T) => T\n\n @Element() el: HTMLElement\n\n @Event({\n eventName: 'submit'\n }) onSubmit: EventEmitter\n\n @Listen('tarobuttonsubmit')\n onButtonSubmit (e: Event) {\n e.stopPropagation()\n\n this.value = this.getFormValue()\n\n this.onSubmit.emit({\n value: this.value\n })\n }\n\n @Listen('tarobuttonreset')\n onButtonReset (e: Event) {\n e.stopPropagation()\n this.form.reset()\n }\n\n componentDidLoad () {\n this.value = this.getFormValue()\n\n Object.defineProperty(this.el, 'value', {\n get: () => this.value,\n configurable: true\n })\n }\n\n componentDidRender () {\n if (!this.originalAppendChild) {\n this.originalAppendChild = this.el.appendChild\n this.originalInsertBefore = this.el.insertBefore\n this.originalReplaceChild = this.el.replaceChild\n this.originalRemoveChild = this.el.removeChild\n }\n if (!this.form) {\n this.el.appendChild = this.originalAppendChild\n this.el.insertBefore = this.originalInsertBefore\n this.el.replaceChild = this.originalReplaceChild\n this.el.removeChild = this.originalRemoveChild\n return\n }\n this.el.appendChild = <T extends Node>(newChild: T): T => {\n return this.form.appendChild(newChild)\n }\n this.el.insertBefore = <T extends Node>(newChild: T, refChild: Node | null): T => {\n return this.form.insertBefore(newChild, refChild)\n }\n this.el.replaceChild = <T extends Node>(newChild: Node, oldChild: T): T => {\n return this.form.replaceChild(newChild, oldChild)\n }\n this.el.removeChild = <T extends Node>(oldChild: T): T => {\n return this.form.removeChild(oldChild)\n }\n }\n\n getFormValue () {\n const el = this.el\n const elements: HTMLInputElement[] = []\n const tagElements = el.getElementsByTagName('input')\n for (let j = 0; j < tagElements.length; j++) {\n elements.push(tagElements[j])\n }\n const formItem = {}\n const hash = {}\n elements.forEach(item => {\n if (typeof item.name !== 'string') return\n if (item.className.indexOf('weui-switch') !== -1) {\n formItem[item.name] = item.checked\n return\n }\n if (item.type === 'radio') {\n if (item.checked) {\n hash[item.name] = true\n formItem[item.name] = item.value\n } else {\n if (!hash[item.name]) {\n formItem[item.name] = ''\n }\n }\n return\n }\n\n if (item.type === 'checkbox') {\n if (item.checked) {\n if (hash[item.name]) {\n formItem[item.name].push(item.value)\n } else {\n hash[item.name] = true\n formItem[item.name] = [item.value]\n }\n } else {\n if (!hash[item.name]) {\n formItem[item.name] = []\n }\n }\n return\n }\n formItem[item.name] = item.value\n })\n\n const textareaElements = el.getElementsByTagName('textarea')\n const textareaEleArr: HTMLTextAreaElement[] = []\n\n for (let i = 0; i < textareaElements.length; i++) {\n textareaEleArr.push(textareaElements[i])\n }\n textareaEleArr.forEach(v => {\n if (typeof v.name !== 'string') return\n formItem[v.name] = v.value\n })\n return formItem\n }\n\n render () {\n return (\n <form\n ref={dom => {\n this.form = dom!\n }}\n >\n <slot />\n </form>\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r,h as o,H as t}from"./p-5bfefd19.js";import{n as e}from"./p-6a96da58.js";import"@tarojs/taro";const s=class{constructor(o){r(this,o)}componentDidLoad(){e("ShareElement",this)}render(){return o(t,null)}};export{s as taro_share_element_core};
2
+ //# sourceMappingURL=p-e59f999e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/share-element/share-element.tsx"],"names":["ShareElement","[object Object]","notSupport","this","h","Host"],"mappings":"4GAOaA,EAAY,+BACvBC,mBACEC,EAAW,eAAgBC,MAG7BF,SACE,OACEG,EAACC,EAAI","sourcesContent":["import { Component, ComponentInterface, h, Host } from '@stencil/core'\n\nimport { notSupport } from '../../utils'\n\n@Component({\n tag: 'taro-share-element-core'\n})\nexport class ShareElement implements ComponentInterface {\n componentDidLoad () {\n notSupport('ShareElement', this)\n }\n\n render () {\n return (\n <Host />\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ System.register(["./p-8a8f286f.system.js","./p-61f225ef.system.js"],(function(t){"use strict";var e,n,r,i;return{setters:[function(t){e=t.r;n=t.h;r=t.H},function(t){i=t.c}],execute:function(){var o=t("taro_icon_core",function(){function t(t){e(this,t);this.type=undefined;this.size="23";this.color=undefined}t.prototype.render=function(){var t;var e=this,o=e.type,s=e.size,c=e.color;var u=o===null||o===void 0?void 0:o.replace(/_/g,"-");var f=i((t={},t["weui-icon-".concat(u)]=true,t));var a={"font-size":"".concat(s,"px"),color:c};return n(r,{class:f,style:a})};return t}())}}}));
2
+ //# sourceMappingURL=p-e7239faa.system.entry.js.map