@tarojs/components 3.3.11 → 3.3.15

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 (268) hide show
  1. package/dist/cjs/{index-eefce54e.js → index-7464647f.js} +156 -101
  2. package/dist/cjs/{index-cf56824f.js → index-cde74e58.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +3 -3
  4. package/dist/cjs/taro-audio-core.cjs.entry.js +2 -2
  5. package/dist/cjs/taro-block-core.cjs.entry.js +2 -2
  6. package/dist/cjs/taro-button-core.cjs.entry.js +3 -3
  7. package/dist/cjs/taro-camera-core.cjs.entry.js +2 -2
  8. package/dist/cjs/taro-canvas-core.cjs.entry.js +2 -2
  9. package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +6 -5
  10. package/dist/cjs/taro-components.cjs.js +5 -5
  11. package/dist/cjs/taro-cover-image-core.cjs.entry.js +19 -5
  12. package/dist/cjs/taro-cover-view-core.cjs.entry.js +51 -5
  13. package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +2 -2
  14. package/dist/cjs/taro-form-core.cjs.entry.js +2 -2
  15. package/dist/cjs/taro-icon-core.cjs.entry.js +3 -3
  16. package/dist/cjs/taro-image-core.cjs.entry.js +3 -3
  17. package/dist/cjs/taro-input-core.cjs.entry.js +21 -13
  18. package/dist/cjs/taro-label-core.cjs.entry.js +2 -2
  19. package/dist/cjs/taro-movable-area-core.cjs.entry.js +2 -2
  20. package/dist/cjs/taro-movable-view-core.cjs.entry.js +2 -2
  21. package/dist/cjs/taro-navigator-core.cjs.entry.js +3 -3
  22. package/dist/cjs/taro-open-data-core.cjs.entry.js +2 -2
  23. package/dist/cjs/taro-picker-core_2.cjs.entry.js +37 -12
  24. package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +2 -2
  25. package/dist/cjs/taro-picker-view-core.cjs.entry.js +2 -2
  26. package/dist/cjs/taro-progress-core.cjs.entry.js +2 -2
  27. package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +3 -3
  28. package/dist/cjs/taro-radio-core_2.cjs.entry.js +3 -3
  29. package/dist/cjs/taro-rich-text-core.cjs.entry.js +2 -2
  30. package/dist/cjs/taro-scroll-view-core.cjs.entry.js +3 -3
  31. package/dist/cjs/taro-slider-core.cjs.entry.js +2 -2
  32. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +112 -106
  33. package/dist/cjs/taro-switch-core.cjs.entry.js +2 -2
  34. package/dist/cjs/taro-tabbar.cjs.entry.js +71 -27
  35. package/dist/cjs/taro-text-core.cjs.entry.js +3 -3
  36. package/dist/cjs/taro-textarea-core.cjs.entry.js +65 -5
  37. package/dist/cjs/taro-video-control_3.cjs.entry.js +5 -5
  38. package/dist/cjs/taro-view-core.cjs.entry.js +11 -3
  39. package/dist/cjs/taro-web-view-core.cjs.entry.js +2 -2
  40. package/dist/collection/collection-manifest.json +3 -3
  41. package/dist/collection/components/checkbox/checkbox.js +21 -2
  42. package/dist/collection/components/cover-image/cover-image.js +94 -0
  43. package/dist/collection/components/cover-image/style/index.css +5 -0
  44. package/dist/collection/components/cover-view/cover-view.js +166 -4
  45. package/dist/collection/components/cover-view/style/cover-view.css +3 -0
  46. package/dist/collection/components/input/input.js +19 -11
  47. package/dist/collection/components/picker/picker-group.js +59 -9
  48. package/dist/collection/components/swiper/swiper.js +7 -1
  49. package/dist/collection/components/tabbar/tabbar.js +72 -24
  50. package/dist/collection/components/textarea/style/index.css +6 -2
  51. package/dist/collection/components/textarea/textarea.js +98 -3
  52. package/dist/collection/components/view/view.js +9 -1
  53. package/dist/esm/{index-310de3d5.js → index-165a6222.js} +156 -101
  54. package/dist/esm/{index-ff1b322a.js → index-85e10859.js} +1 -1
  55. package/dist/esm/loader.js +3 -3
  56. package/dist/esm/taro-audio-core.entry.js +2 -2
  57. package/dist/esm/taro-block-core.entry.js +2 -2
  58. package/dist/esm/taro-button-core.entry.js +3 -3
  59. package/dist/esm/taro-camera-core.entry.js +2 -2
  60. package/dist/esm/taro-canvas-core.entry.js +2 -2
  61. package/dist/esm/taro-checkbox-core_2.entry.js +6 -5
  62. package/dist/esm/taro-components.js +5 -5
  63. package/dist/esm/taro-cover-image-core.entry.js +19 -5
  64. package/dist/esm/taro-cover-view-core.entry.js +51 -5
  65. package/dist/esm/taro-custom-wrapper-core.entry.js +2 -2
  66. package/dist/esm/taro-form-core.entry.js +2 -2
  67. package/dist/esm/taro-icon-core.entry.js +3 -3
  68. package/dist/esm/taro-image-core.entry.js +3 -3
  69. package/dist/esm/taro-input-core.entry.js +21 -13
  70. package/dist/esm/taro-label-core.entry.js +2 -2
  71. package/dist/esm/taro-movable-area-core.entry.js +2 -2
  72. package/dist/esm/taro-movable-view-core.entry.js +2 -2
  73. package/dist/esm/taro-navigator-core.entry.js +3 -3
  74. package/dist/esm/taro-open-data-core.entry.js +2 -2
  75. package/dist/esm/taro-picker-core_2.entry.js +37 -12
  76. package/dist/esm/taro-picker-view-column-core.entry.js +2 -2
  77. package/dist/esm/taro-picker-view-core.entry.js +2 -2
  78. package/dist/esm/taro-progress-core.entry.js +2 -2
  79. package/dist/esm/taro-pull-to-refresh.entry.js +3 -3
  80. package/dist/esm/taro-radio-core_2.entry.js +3 -3
  81. package/dist/esm/taro-rich-text-core.entry.js +2 -2
  82. package/dist/esm/taro-scroll-view-core.entry.js +3 -3
  83. package/dist/esm/taro-slider-core.entry.js +2 -2
  84. package/dist/esm/taro-swiper-core_2.entry.js +112 -106
  85. package/dist/esm/taro-switch-core.entry.js +2 -2
  86. package/dist/esm/taro-tabbar.entry.js +71 -27
  87. package/dist/esm/taro-text-core.entry.js +3 -3
  88. package/dist/esm/taro-textarea-core.entry.js +65 -5
  89. package/dist/esm/taro-video-control_3.entry.js +5 -5
  90. package/dist/esm/taro-view-core.entry.js +11 -3
  91. package/dist/esm/taro-web-view-core.entry.js +2 -2
  92. package/dist/esm-es5/index-165a6222.js +1 -0
  93. package/dist/esm-es5/{index-ff1b322a.js → index-85e10859.js} +0 -0
  94. package/dist/esm-es5/loader.js +1 -1
  95. package/dist/esm-es5/taro-audio-core.entry.js +1 -1
  96. package/dist/esm-es5/taro-block-core.entry.js +1 -1
  97. package/dist/esm-es5/taro-button-core.entry.js +1 -1
  98. package/dist/esm-es5/taro-camera-core.entry.js +1 -1
  99. package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
  100. package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
  101. package/dist/esm-es5/taro-components.js +1 -1
  102. package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
  103. package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
  104. package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
  105. package/dist/esm-es5/taro-form-core.entry.js +1 -1
  106. package/dist/esm-es5/taro-icon-core.entry.js +1 -1
  107. package/dist/esm-es5/taro-image-core.entry.js +1 -1
  108. package/dist/esm-es5/taro-input-core.entry.js +1 -1
  109. package/dist/esm-es5/taro-label-core.entry.js +1 -1
  110. package/dist/esm-es5/taro-movable-area-core.entry.js +1 -1
  111. package/dist/esm-es5/taro-movable-view-core.entry.js +1 -1
  112. package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
  113. package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
  114. package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
  115. package/dist/esm-es5/taro-picker-view-column-core.entry.js +1 -1
  116. package/dist/esm-es5/taro-picker-view-core.entry.js +1 -1
  117. package/dist/esm-es5/taro-progress-core.entry.js +1 -1
  118. package/dist/esm-es5/taro-pull-to-refresh.entry.js +1 -1
  119. package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
  120. package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
  121. package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
  122. package/dist/esm-es5/taro-slider-core.entry.js +1 -1
  123. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  124. package/dist/esm-es5/taro-switch-core.entry.js +1 -1
  125. package/dist/esm-es5/taro-tabbar.entry.js +1 -1
  126. package/dist/esm-es5/taro-text-core.entry.js +1 -1
  127. package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
  128. package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
  129. package/dist/esm-es5/taro-view-core.entry.js +1 -1
  130. package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
  131. package/dist/taro-components/{p-8eb84de2.system.entry.js → p-00328ebf.system.entry.js} +1 -1
  132. package/dist/taro-components/p-016f56cc.system.entry.js +1 -0
  133. package/dist/taro-components/{p-15121391.system.entry.js → p-098f4931.system.entry.js} +1 -1
  134. package/dist/taro-components/p-0da88b1b.entry.js +1 -0
  135. package/dist/taro-components/p-0fb7f599.entry.js +1 -0
  136. package/dist/taro-components/p-139d4d14.entry.js +1 -0
  137. package/dist/taro-components/p-1507bcbf.entry.js +1 -0
  138. package/dist/taro-components/p-17c0731f.entry.js +1 -0
  139. package/dist/taro-components/{p-9a4123eb.system.entry.js → p-1ed219a6.system.entry.js} +1 -1
  140. package/dist/taro-components/p-26c08f44.entry.js +1 -0
  141. package/dist/taro-components/{p-502841e0.system.entry.js → p-26d8c60a.system.entry.js} +1 -1
  142. package/dist/taro-components/{p-970ed6da.system.entry.js → p-2b6a2449.system.entry.js} +1 -1
  143. package/dist/taro-components/{p-239bf0ca.system.entry.js → p-2ce9bc65.system.entry.js} +1 -1
  144. package/dist/taro-components/{p-1f2dfaef.system.entry.js → p-2de1a146.system.entry.js} +1 -1
  145. package/dist/taro-components/{p-a079321f.system.entry.js → p-2eda9121.system.entry.js} +1 -1
  146. package/dist/taro-components/p-30bfacb9.system.js +1 -0
  147. package/dist/taro-components/{p-921a765a.system.entry.js → p-321aeeec.system.entry.js} +1 -1
  148. package/dist/taro-components/p-33bcdee9.entry.js +1 -0
  149. package/dist/taro-components/p-3554df41.entry.js +1 -0
  150. package/dist/taro-components/p-37cfef64.entry.js +1 -0
  151. package/dist/taro-components/p-39bee235.entry.js +1 -0
  152. package/dist/taro-components/p-3e2d4793.entry.js +1 -0
  153. package/dist/taro-components/{p-e15654c4.system.entry.js → p-4168e24d.system.entry.js} +1 -1
  154. package/dist/taro-components/{p-236774f0.system.entry.js → p-4462dca4.system.entry.js} +1 -1
  155. package/dist/taro-components/{p-30c0639e.js → p-49ae5efb.js} +1 -1
  156. package/dist/taro-components/p-4a2ffc1c.entry.js +1 -0
  157. package/dist/taro-components/p-4ff67760.entry.js +1 -0
  158. package/dist/taro-components/p-5412a1d2.system.entry.js +1 -0
  159. package/dist/taro-components/{p-9242dcf7.system.entry.js → p-5a13bd63.system.entry.js} +1 -1
  160. package/dist/taro-components/{p-aed3d0e9.system.entry.js → p-5c8ba192.system.entry.js} +1 -1
  161. package/dist/taro-components/p-5d84eaf0.entry.js +1 -0
  162. package/dist/taro-components/{p-318795b9.system.entry.js → p-5e6feca6.system.entry.js} +1 -1
  163. package/dist/taro-components/{p-625158f0.js → p-6967e577.js} +0 -0
  164. package/dist/taro-components/{p-bd00f506.system.js → p-696f0d1c.system.js} +0 -0
  165. package/dist/taro-components/{p-d402dc94.system.entry.js → p-69be8189.system.entry.js} +1 -1
  166. package/dist/taro-components/p-6daacf48.entry.js +1 -0
  167. package/dist/taro-components/p-72f2b6f5.entry.js +1 -0
  168. package/dist/taro-components/p-76c00960.entry.js +1 -0
  169. package/dist/taro-components/p-79b3c05a.entry.js +1 -0
  170. package/dist/taro-components/p-7a5be745.entry.js +1 -0
  171. package/dist/taro-components/p-7b021c48.entry.js +1 -0
  172. package/dist/taro-components/p-7f3e5f09.entry.js +1 -0
  173. package/dist/taro-components/{p-c1d6c0ba.system.entry.js → p-7ffcfb05.system.entry.js} +1 -1
  174. package/dist/taro-components/p-81588c19.entry.js +1 -0
  175. package/dist/taro-components/p-8235b7b7.system.entry.js +1 -0
  176. package/dist/taro-components/{p-89fc30f0.entry.js → p-8cf16235.entry.js} +1 -1
  177. package/dist/taro-components/{p-4f139925.system.entry.js → p-8d905ff5.system.entry.js} +1 -1
  178. package/dist/taro-components/p-923c6e08.entry.js +1 -0
  179. package/dist/taro-components/p-93748645.system.js +1 -0
  180. package/dist/taro-components/p-9767491b.entry.js +1 -0
  181. package/dist/taro-components/p-9bd65170.system.entry.js +1 -0
  182. package/dist/taro-components/{p-3eb31172.system.entry.js → p-9d6a7a70.system.entry.js} +1 -1
  183. package/dist/taro-components/{p-e3e40b03.system.entry.js → p-9e807bd6.system.entry.js} +1 -1
  184. package/dist/taro-components/p-9e912454.system.entry.js +1 -0
  185. package/dist/taro-components/{p-9c9178cd.system.entry.js → p-a34988ff.system.entry.js} +1 -1
  186. package/dist/taro-components/p-a895db87.entry.js +1 -0
  187. package/dist/taro-components/{p-0f393c6d.system.entry.js → p-b685a487.system.entry.js} +1 -1
  188. package/dist/taro-components/{p-129341f2.system.entry.js → p-bd922592.system.entry.js} +1 -1
  189. package/dist/taro-components/p-be2d1c4a.system.entry.js +1 -0
  190. package/dist/taro-components/p-ca67c759.entry.js +1 -0
  191. package/dist/taro-components/p-cb8099dd.entry.js +1 -0
  192. package/dist/taro-components/p-ce093936.entry.js +1 -0
  193. package/dist/taro-components/{p-4d11f3ad.system.entry.js → p-ce49e2f4.system.entry.js} +1 -1
  194. package/dist/taro-components/p-d12592f1.entry.js +1 -0
  195. package/dist/taro-components/{p-a74d5aa5.system.entry.js → p-d52009d1.system.entry.js} +1 -1
  196. package/dist/taro-components/{p-2e9e9ca7.system.entry.js → p-d52bf5f5.system.entry.js} +1 -1
  197. package/dist/taro-components/{p-81f5977d.system.entry.js → p-d6269b5e.system.entry.js} +1 -1
  198. package/dist/taro-components/p-d6a37b93.entry.js +1 -0
  199. package/dist/taro-components/p-d8363f59.system.entry.js +1 -0
  200. package/dist/taro-components/p-d9494012.system.entry.js +1 -0
  201. package/dist/taro-components/p-de3a4828.entry.js +1 -0
  202. package/dist/taro-components/p-f4158e42.entry.js +1 -0
  203. package/dist/taro-components/p-f6c7f07c.system.entry.js +1 -0
  204. package/dist/taro-components/p-f7b6c1a6.entry.js +1 -0
  205. package/dist/taro-components/p-f991bc7b.entry.js +1 -0
  206. package/dist/taro-components/taro-components.esm.js +1 -1
  207. package/dist/taro-components/taro-components.js +1 -1
  208. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  209. package/dist/types/components/cover-image/cover-image.d.ts +11 -0
  210. package/dist/types/components/cover-view/cover-view.d.ts +14 -2
  211. package/dist/types/components/picker/picker-group.d.ts +7 -0
  212. package/dist/types/components/tabbar/tabbar.d.ts +20 -1
  213. package/dist/types/components/textarea/textarea.d.ts +6 -0
  214. package/dist/types/components/view/view.d.ts +2 -0
  215. package/dist/types/components.d.ts +20 -0
  216. package/dist/types/stencil-public-runtime.d.ts +190 -182
  217. package/dist-h5/vue/createComponent.js +4 -0
  218. package/dist-h5/vue/createFormsComponent.js +8 -1
  219. package/loader/index.d.ts +0 -1
  220. package/package.json +5 -5
  221. package/dist/collection/components/cover-view/cover-image.js +0 -11
  222. package/dist/esm-es5/index-310de3d5.js +0 -1
  223. package/dist/taro-components/p-153b839d.system.entry.js +0 -1
  224. package/dist/taro-components/p-180fd001.entry.js +0 -1
  225. package/dist/taro-components/p-1925bbdb.entry.js +0 -1
  226. package/dist/taro-components/p-1f44e8ef.system.entry.js +0 -1
  227. package/dist/taro-components/p-28348261.entry.js +0 -1
  228. package/dist/taro-components/p-31b89eb3.entry.js +0 -1
  229. package/dist/taro-components/p-31f0f881.entry.js +0 -1
  230. package/dist/taro-components/p-3bda72b4.entry.js +0 -1
  231. package/dist/taro-components/p-4591dff5.entry.js +0 -1
  232. package/dist/taro-components/p-4afe24d7.entry.js +0 -1
  233. package/dist/taro-components/p-4b632069.entry.js +0 -1
  234. package/dist/taro-components/p-4f1d45ff.entry.js +0 -1
  235. package/dist/taro-components/p-5032d822.entry.js +0 -1
  236. package/dist/taro-components/p-6287057a.entry.js +0 -1
  237. package/dist/taro-components/p-66120099.entry.js +0 -1
  238. package/dist/taro-components/p-6730fa44.entry.js +0 -1
  239. package/dist/taro-components/p-6f331ed3.entry.js +0 -1
  240. package/dist/taro-components/p-73c389e7.system.entry.js +0 -1
  241. package/dist/taro-components/p-7911ccd6.system.entry.js +0 -1
  242. package/dist/taro-components/p-8031d6b5.system.entry.js +0 -1
  243. package/dist/taro-components/p-82185d54.system.entry.js +0 -1
  244. package/dist/taro-components/p-8676c058.entry.js +0 -1
  245. package/dist/taro-components/p-906c3a0a.entry.js +0 -1
  246. package/dist/taro-components/p-9205470e.entry.js +0 -1
  247. package/dist/taro-components/p-945fa1a0.entry.js +0 -1
  248. package/dist/taro-components/p-95f5261c.entry.js +0 -1
  249. package/dist/taro-components/p-96771939.entry.js +0 -1
  250. package/dist/taro-components/p-96f1e9e7.entry.js +0 -1
  251. package/dist/taro-components/p-9c47f99e.entry.js +0 -1
  252. package/dist/taro-components/p-9fe2309f.entry.js +0 -1
  253. package/dist/taro-components/p-9ffb69e5.system.entry.js +0 -1
  254. package/dist/taro-components/p-a208926a.entry.js +0 -1
  255. package/dist/taro-components/p-a3e783c3.entry.js +0 -1
  256. package/dist/taro-components/p-af393b0b.entry.js +0 -1
  257. package/dist/taro-components/p-b2ed71a7.entry.js +0 -1
  258. package/dist/taro-components/p-b5d2597b.system.js +0 -1
  259. package/dist/taro-components/p-b7c29d05.entry.js +0 -1
  260. package/dist/taro-components/p-c2810ece.entry.js +0 -1
  261. package/dist/taro-components/p-c37d9a5d.system.entry.js +0 -1
  262. package/dist/taro-components/p-c9380fa6.entry.js +0 -1
  263. package/dist/taro-components/p-ca74a018.entry.js +0 -1
  264. package/dist/taro-components/p-cf496b3b.system.js +0 -1
  265. package/dist/taro-components/p-e256974b.system.entry.js +0 -1
  266. package/dist/taro-components/p-e28625a2.entry.js +0 -1
  267. package/dist/taro-components/p-e302b8d7.entry.js +0 -1
  268. package/dist/types/components/cover-view/cover-image.d.ts +0 -4
@@ -1,5 +1,5 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import { Component, h, Prop, Event, Element } from '@stencil/core';
2
+ import { Component, h, Prop, State, Event, Element } from '@stencil/core';
3
3
  function fixControlledValue(value) {
4
4
  return value !== null && value !== void 0 ? value : '';
5
5
  }
@@ -8,9 +8,12 @@ export class Textarea {
8
8
  this.disabled = false;
9
9
  this.maxlength = 140;
10
10
  this.autoFocus = false;
11
+ this.autoHeight = false;
11
12
  this.nativeProps = {};
13
+ this.line = 1;
12
14
  this.hanldeInput = (e) => {
13
15
  e.stopPropagation();
16
+ this.handleLineChange();
14
17
  this.onInput.emit({
15
18
  value: e.target.value,
16
19
  cursor: e.target.value.length
@@ -32,6 +35,58 @@ export class Textarea {
32
35
  value: e.target.value
33
36
  });
34
37
  };
38
+ this.handleLineChange = () => {
39
+ const line = this.getNumberOfLines();
40
+ if (line !== this.line) {
41
+ this.line = line;
42
+ this.onLineChange.emit({
43
+ height: this.textareaRef.clientHeight,
44
+ lineCount: this.line
45
+ });
46
+ }
47
+ };
48
+ this.calculateContentHeight = (ta, scanAmount) => {
49
+ let origHeight = ta.style.height, height = ta.offsetHeight, scrollHeight = ta.scrollHeight, overflow = ta.style.overflow;
50
+ /// only bother if the ta is bigger than content
51
+ if (height >= scrollHeight) {
52
+ /// check that our browser supports changing dimension
53
+ /// calculations mid-way through a function call...
54
+ ta.style.height = height + scanAmount + 'px';
55
+ /// because the scrollbar can cause calculation problems
56
+ ta.style.overflow = 'hidden';
57
+ /// by checking that scrollHeight has updated
58
+ if (scrollHeight < ta.scrollHeight) {
59
+ /// now try and scan the ta's height downwards
60
+ /// until scrollHeight becomes larger than height
61
+ while (ta.offsetHeight >= ta.scrollHeight) {
62
+ ta.style.height = (height -= scanAmount) + 'px';
63
+ }
64
+ /// be more specific to get the exact height
65
+ while (ta.offsetHeight < ta.scrollHeight) {
66
+ ta.style.height = height++ + 'px';
67
+ }
68
+ /// reset the ta back to it's original height
69
+ ta.style.height = origHeight;
70
+ /// put the overflow back
71
+ ta.style.overflow = overflow;
72
+ return height;
73
+ }
74
+ }
75
+ else {
76
+ return scrollHeight;
77
+ }
78
+ };
79
+ this.getNumberOfLines = () => {
80
+ const ta = this.textareaRef, style = window.getComputedStyle ? window.getComputedStyle(ta) : ta.style,
81
+ // This will get the line-height only if it is set in the css,
82
+ // otherwise it's "normal"
83
+ taLineHeight = parseInt(style.lineHeight, 10),
84
+ // Get the scroll height of the textarea
85
+ taHeight = this.calculateContentHeight(ta, taLineHeight),
86
+ // calculate the number of lines
87
+ numberOfLines = Math.floor(taHeight / taLineHeight);
88
+ return numberOfLines;
89
+ };
35
90
  }
36
91
  componentDidLoad() {
37
92
  Object.defineProperty(this.el, 'value', {
@@ -42,12 +97,16 @@ export class Textarea {
42
97
  this.autoFocus && this.textareaRef.focus();
43
98
  }
44
99
  render() {
45
- const { value, placeholder, disabled, maxlength, autoFocus, name, nativeProps, hanldeInput, handleFocus, handleBlur, handleChange } = this;
100
+ const { value, placeholder, disabled, maxlength, autoFocus, autoHeight, name, nativeProps, hanldeInput, handleFocus, handleBlur, handleChange } = this;
101
+ const otherProps = {};
102
+ if (autoHeight) {
103
+ otherProps.rows = this.line;
104
+ }
46
105
  return (h("textarea", Object.assign({ ref: input => {
47
106
  if (input) {
48
107
  this.textareaRef = input;
49
108
  }
50
- }, class: 'taro-textarea', value: fixControlledValue(value), placeholder: placeholder, name: name, disabled: disabled, maxlength: maxlength, autofocus: autoFocus, onInput: hanldeInput, onFocus: handleFocus, onBlur: handleBlur, onChange: handleChange }, nativeProps)));
109
+ }, class: `taro-textarea ${autoHeight ? 'auto-height' : ''}`, value: fixControlledValue(value), placeholder: placeholder, name: name, disabled: disabled, maxlength: maxlength, autofocus: autoFocus, onInput: hanldeInput, onFocus: handleFocus, onBlur: handleBlur, onChange: handleChange }, nativeProps, otherProps)));
51
110
  }
52
111
  static get is() { return "taro-textarea-core"; }
53
112
  static get originalStyleUrls() { return {
@@ -145,6 +204,24 @@ export class Textarea {
145
204
  "reflect": false,
146
205
  "defaultValue": "false"
147
206
  },
207
+ "autoHeight": {
208
+ "type": "boolean",
209
+ "mutable": false,
210
+ "complexType": {
211
+ "original": "boolean",
212
+ "resolved": "boolean",
213
+ "references": {}
214
+ },
215
+ "required": false,
216
+ "optional": false,
217
+ "docs": {
218
+ "tags": [],
219
+ "text": ""
220
+ },
221
+ "attribute": "auto-height",
222
+ "reflect": false,
223
+ "defaultValue": "false"
224
+ },
148
225
  "name": {
149
226
  "type": "string",
150
227
  "mutable": false,
@@ -179,6 +256,9 @@ export class Textarea {
179
256
  "defaultValue": "{}"
180
257
  }
181
258
  }; }
259
+ static get states() { return {
260
+ "line": {}
261
+ }; }
182
262
  static get events() { return [{
183
263
  "method": "onInput",
184
264
  "name": "input",
@@ -239,6 +319,21 @@ export class Textarea {
239
319
  "resolved": "any",
240
320
  "references": {}
241
321
  }
322
+ }, {
323
+ "method": "onLineChange",
324
+ "name": "linechange",
325
+ "bubbles": true,
326
+ "cancelable": true,
327
+ "composed": true,
328
+ "docs": {
329
+ "tags": [],
330
+ "text": ""
331
+ },
332
+ "complexType": {
333
+ "original": "any",
334
+ "resolved": "any",
335
+ "references": {}
336
+ }
242
337
  }]; }
243
338
  static get elementRef() { return "el"; }
244
339
  }
@@ -1,5 +1,5 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import { Component, Prop, h, Host, Listen, State, Event } from '@stencil/core';
2
+ import { Component, Prop, h, Host, Listen, State, Event, Element } from '@stencil/core';
3
3
  import classNames from 'classnames';
4
4
  export class View {
5
5
  constructor() {
@@ -40,6 +40,13 @@ export class View {
40
40
  }, this.hoverStayTime);
41
41
  }
42
42
  }
43
+ componentDidRender() {
44
+ const el = this.el;
45
+ el.childNodes.forEach(item => {
46
+ if (item.nodeType === document.COMMENT_NODE)
47
+ el.removeChild(item);
48
+ });
49
+ }
43
50
  render() {
44
51
  const cls = classNames({
45
52
  [`${this.hoverClass}`]: this.hover
@@ -151,6 +158,7 @@ export class View {
151
158
  "references": {}
152
159
  }
153
160
  }]; }
161
+ static get elementRef() { return "el"; }
154
162
  static get listeners() { return [{
155
163
  "name": "touchstart",
156
164
  "method": "onTouchStart",