@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.
- package/dist/cjs/{index-eefce54e.js → index-7464647f.js} +156 -101
- package/dist/cjs/{index-cf56824f.js → index-cde74e58.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/taro-audio-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-block-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-button-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-camera-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-canvas-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-checkbox-core_2.cjs.entry.js +6 -5
- package/dist/cjs/taro-components.cjs.js +5 -5
- package/dist/cjs/taro-cover-image-core.cjs.entry.js +19 -5
- package/dist/cjs/taro-cover-view-core.cjs.entry.js +51 -5
- package/dist/cjs/taro-custom-wrapper-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-form-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-icon-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-image-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-input-core.cjs.entry.js +21 -13
- package/dist/cjs/taro-label-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-movable-area-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-movable-view-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-navigator-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-open-data-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-picker-core_2.cjs.entry.js +37 -12
- package/dist/cjs/taro-picker-view-column-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-picker-view-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-progress-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-pull-to-refresh.cjs.entry.js +3 -3
- package/dist/cjs/taro-radio-core_2.cjs.entry.js +3 -3
- package/dist/cjs/taro-rich-text-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-scroll-view-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-slider-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-swiper-core_2.cjs.entry.js +112 -106
- package/dist/cjs/taro-switch-core.cjs.entry.js +2 -2
- package/dist/cjs/taro-tabbar.cjs.entry.js +71 -27
- package/dist/cjs/taro-text-core.cjs.entry.js +3 -3
- package/dist/cjs/taro-textarea-core.cjs.entry.js +65 -5
- package/dist/cjs/taro-video-control_3.cjs.entry.js +5 -5
- package/dist/cjs/taro-view-core.cjs.entry.js +11 -3
- package/dist/cjs/taro-web-view-core.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/checkbox/checkbox.js +21 -2
- package/dist/collection/components/cover-image/cover-image.js +94 -0
- package/dist/collection/components/cover-image/style/index.css +5 -0
- package/dist/collection/components/cover-view/cover-view.js +166 -4
- package/dist/collection/components/cover-view/style/cover-view.css +3 -0
- package/dist/collection/components/input/input.js +19 -11
- package/dist/collection/components/picker/picker-group.js +59 -9
- package/dist/collection/components/swiper/swiper.js +7 -1
- package/dist/collection/components/tabbar/tabbar.js +72 -24
- package/dist/collection/components/textarea/style/index.css +6 -2
- package/dist/collection/components/textarea/textarea.js +98 -3
- package/dist/collection/components/view/view.js +9 -1
- package/dist/esm/{index-310de3d5.js → index-165a6222.js} +156 -101
- package/dist/esm/{index-ff1b322a.js → index-85e10859.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/taro-audio-core.entry.js +2 -2
- package/dist/esm/taro-block-core.entry.js +2 -2
- package/dist/esm/taro-button-core.entry.js +3 -3
- package/dist/esm/taro-camera-core.entry.js +2 -2
- package/dist/esm/taro-canvas-core.entry.js +2 -2
- package/dist/esm/taro-checkbox-core_2.entry.js +6 -5
- package/dist/esm/taro-components.js +5 -5
- package/dist/esm/taro-cover-image-core.entry.js +19 -5
- package/dist/esm/taro-cover-view-core.entry.js +51 -5
- package/dist/esm/taro-custom-wrapper-core.entry.js +2 -2
- package/dist/esm/taro-form-core.entry.js +2 -2
- package/dist/esm/taro-icon-core.entry.js +3 -3
- package/dist/esm/taro-image-core.entry.js +3 -3
- package/dist/esm/taro-input-core.entry.js +21 -13
- package/dist/esm/taro-label-core.entry.js +2 -2
- package/dist/esm/taro-movable-area-core.entry.js +2 -2
- package/dist/esm/taro-movable-view-core.entry.js +2 -2
- package/dist/esm/taro-navigator-core.entry.js +3 -3
- package/dist/esm/taro-open-data-core.entry.js +2 -2
- package/dist/esm/taro-picker-core_2.entry.js +37 -12
- package/dist/esm/taro-picker-view-column-core.entry.js +2 -2
- package/dist/esm/taro-picker-view-core.entry.js +2 -2
- package/dist/esm/taro-progress-core.entry.js +2 -2
- package/dist/esm/taro-pull-to-refresh.entry.js +3 -3
- package/dist/esm/taro-radio-core_2.entry.js +3 -3
- package/dist/esm/taro-rich-text-core.entry.js +2 -2
- package/dist/esm/taro-scroll-view-core.entry.js +3 -3
- package/dist/esm/taro-slider-core.entry.js +2 -2
- package/dist/esm/taro-swiper-core_2.entry.js +112 -106
- package/dist/esm/taro-switch-core.entry.js +2 -2
- package/dist/esm/taro-tabbar.entry.js +71 -27
- package/dist/esm/taro-text-core.entry.js +3 -3
- package/dist/esm/taro-textarea-core.entry.js +65 -5
- package/dist/esm/taro-video-control_3.entry.js +5 -5
- package/dist/esm/taro-view-core.entry.js +11 -3
- package/dist/esm/taro-web-view-core.entry.js +2 -2
- package/dist/esm-es5/index-165a6222.js +1 -0
- package/dist/esm-es5/{index-ff1b322a.js → index-85e10859.js} +0 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/taro-audio-core.entry.js +1 -1
- package/dist/esm-es5/taro-block-core.entry.js +1 -1
- package/dist/esm-es5/taro-button-core.entry.js +1 -1
- package/dist/esm-es5/taro-camera-core.entry.js +1 -1
- package/dist/esm-es5/taro-canvas-core.entry.js +1 -1
- package/dist/esm-es5/taro-checkbox-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-components.js +1 -1
- package/dist/esm-es5/taro-cover-image-core.entry.js +1 -1
- package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-custom-wrapper-core.entry.js +1 -1
- package/dist/esm-es5/taro-form-core.entry.js +1 -1
- package/dist/esm-es5/taro-icon-core.entry.js +1 -1
- package/dist/esm-es5/taro-image-core.entry.js +1 -1
- package/dist/esm-es5/taro-input-core.entry.js +1 -1
- package/dist/esm-es5/taro-label-core.entry.js +1 -1
- package/dist/esm-es5/taro-movable-area-core.entry.js +1 -1
- package/dist/esm-es5/taro-movable-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
- package/dist/esm-es5/taro-open-data-core.entry.js +1 -1
- package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-picker-view-column-core.entry.js +1 -1
- package/dist/esm-es5/taro-picker-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-progress-core.entry.js +1 -1
- package/dist/esm-es5/taro-pull-to-refresh.entry.js +1 -1
- package/dist/esm-es5/taro-radio-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-rich-text-core.entry.js +1 -1
- package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-slider-core.entry.js +1 -1
- package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-switch-core.entry.js +1 -1
- package/dist/esm-es5/taro-tabbar.entry.js +1 -1
- package/dist/esm-es5/taro-text-core.entry.js +1 -1
- package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
- package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
- package/dist/esm-es5/taro-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-web-view-core.entry.js +1 -1
- package/dist/taro-components/{p-8eb84de2.system.entry.js → p-00328ebf.system.entry.js} +1 -1
- package/dist/taro-components/p-016f56cc.system.entry.js +1 -0
- package/dist/taro-components/{p-15121391.system.entry.js → p-098f4931.system.entry.js} +1 -1
- package/dist/taro-components/p-0da88b1b.entry.js +1 -0
- package/dist/taro-components/p-0fb7f599.entry.js +1 -0
- package/dist/taro-components/p-139d4d14.entry.js +1 -0
- package/dist/taro-components/p-1507bcbf.entry.js +1 -0
- package/dist/taro-components/p-17c0731f.entry.js +1 -0
- package/dist/taro-components/{p-9a4123eb.system.entry.js → p-1ed219a6.system.entry.js} +1 -1
- package/dist/taro-components/p-26c08f44.entry.js +1 -0
- package/dist/taro-components/{p-502841e0.system.entry.js → p-26d8c60a.system.entry.js} +1 -1
- package/dist/taro-components/{p-970ed6da.system.entry.js → p-2b6a2449.system.entry.js} +1 -1
- package/dist/taro-components/{p-239bf0ca.system.entry.js → p-2ce9bc65.system.entry.js} +1 -1
- package/dist/taro-components/{p-1f2dfaef.system.entry.js → p-2de1a146.system.entry.js} +1 -1
- package/dist/taro-components/{p-a079321f.system.entry.js → p-2eda9121.system.entry.js} +1 -1
- package/dist/taro-components/p-30bfacb9.system.js +1 -0
- package/dist/taro-components/{p-921a765a.system.entry.js → p-321aeeec.system.entry.js} +1 -1
- package/dist/taro-components/p-33bcdee9.entry.js +1 -0
- package/dist/taro-components/p-3554df41.entry.js +1 -0
- package/dist/taro-components/p-37cfef64.entry.js +1 -0
- package/dist/taro-components/p-39bee235.entry.js +1 -0
- package/dist/taro-components/p-3e2d4793.entry.js +1 -0
- package/dist/taro-components/{p-e15654c4.system.entry.js → p-4168e24d.system.entry.js} +1 -1
- package/dist/taro-components/{p-236774f0.system.entry.js → p-4462dca4.system.entry.js} +1 -1
- package/dist/taro-components/{p-30c0639e.js → p-49ae5efb.js} +1 -1
- package/dist/taro-components/p-4a2ffc1c.entry.js +1 -0
- package/dist/taro-components/p-4ff67760.entry.js +1 -0
- package/dist/taro-components/p-5412a1d2.system.entry.js +1 -0
- package/dist/taro-components/{p-9242dcf7.system.entry.js → p-5a13bd63.system.entry.js} +1 -1
- package/dist/taro-components/{p-aed3d0e9.system.entry.js → p-5c8ba192.system.entry.js} +1 -1
- package/dist/taro-components/p-5d84eaf0.entry.js +1 -0
- package/dist/taro-components/{p-318795b9.system.entry.js → p-5e6feca6.system.entry.js} +1 -1
- package/dist/taro-components/{p-625158f0.js → p-6967e577.js} +0 -0
- package/dist/taro-components/{p-bd00f506.system.js → p-696f0d1c.system.js} +0 -0
- package/dist/taro-components/{p-d402dc94.system.entry.js → p-69be8189.system.entry.js} +1 -1
- package/dist/taro-components/p-6daacf48.entry.js +1 -0
- package/dist/taro-components/p-72f2b6f5.entry.js +1 -0
- package/dist/taro-components/p-76c00960.entry.js +1 -0
- package/dist/taro-components/p-79b3c05a.entry.js +1 -0
- package/dist/taro-components/p-7a5be745.entry.js +1 -0
- package/dist/taro-components/p-7b021c48.entry.js +1 -0
- package/dist/taro-components/p-7f3e5f09.entry.js +1 -0
- package/dist/taro-components/{p-c1d6c0ba.system.entry.js → p-7ffcfb05.system.entry.js} +1 -1
- package/dist/taro-components/p-81588c19.entry.js +1 -0
- package/dist/taro-components/p-8235b7b7.system.entry.js +1 -0
- package/dist/taro-components/{p-89fc30f0.entry.js → p-8cf16235.entry.js} +1 -1
- package/dist/taro-components/{p-4f139925.system.entry.js → p-8d905ff5.system.entry.js} +1 -1
- package/dist/taro-components/p-923c6e08.entry.js +1 -0
- package/dist/taro-components/p-93748645.system.js +1 -0
- package/dist/taro-components/p-9767491b.entry.js +1 -0
- package/dist/taro-components/p-9bd65170.system.entry.js +1 -0
- package/dist/taro-components/{p-3eb31172.system.entry.js → p-9d6a7a70.system.entry.js} +1 -1
- package/dist/taro-components/{p-e3e40b03.system.entry.js → p-9e807bd6.system.entry.js} +1 -1
- package/dist/taro-components/p-9e912454.system.entry.js +1 -0
- package/dist/taro-components/{p-9c9178cd.system.entry.js → p-a34988ff.system.entry.js} +1 -1
- package/dist/taro-components/p-a895db87.entry.js +1 -0
- package/dist/taro-components/{p-0f393c6d.system.entry.js → p-b685a487.system.entry.js} +1 -1
- package/dist/taro-components/{p-129341f2.system.entry.js → p-bd922592.system.entry.js} +1 -1
- package/dist/taro-components/p-be2d1c4a.system.entry.js +1 -0
- package/dist/taro-components/p-ca67c759.entry.js +1 -0
- package/dist/taro-components/p-cb8099dd.entry.js +1 -0
- package/dist/taro-components/p-ce093936.entry.js +1 -0
- package/dist/taro-components/{p-4d11f3ad.system.entry.js → p-ce49e2f4.system.entry.js} +1 -1
- package/dist/taro-components/p-d12592f1.entry.js +1 -0
- package/dist/taro-components/{p-a74d5aa5.system.entry.js → p-d52009d1.system.entry.js} +1 -1
- package/dist/taro-components/{p-2e9e9ca7.system.entry.js → p-d52bf5f5.system.entry.js} +1 -1
- package/dist/taro-components/{p-81f5977d.system.entry.js → p-d6269b5e.system.entry.js} +1 -1
- package/dist/taro-components/p-d6a37b93.entry.js +1 -0
- package/dist/taro-components/p-d8363f59.system.entry.js +1 -0
- package/dist/taro-components/p-d9494012.system.entry.js +1 -0
- package/dist/taro-components/p-de3a4828.entry.js +1 -0
- package/dist/taro-components/p-f4158e42.entry.js +1 -0
- package/dist/taro-components/p-f6c7f07c.system.entry.js +1 -0
- package/dist/taro-components/p-f7b6c1a6.entry.js +1 -0
- package/dist/taro-components/p-f991bc7b.entry.js +1 -0
- package/dist/taro-components/taro-components.esm.js +1 -1
- package/dist/taro-components/taro-components.js +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/cover-image/cover-image.d.ts +11 -0
- package/dist/types/components/cover-view/cover-view.d.ts +14 -2
- package/dist/types/components/picker/picker-group.d.ts +7 -0
- package/dist/types/components/tabbar/tabbar.d.ts +20 -1
- package/dist/types/components/textarea/textarea.d.ts +6 -0
- package/dist/types/components/view/view.d.ts +2 -0
- package/dist/types/components.d.ts +20 -0
- package/dist/types/stencil-public-runtime.d.ts +190 -182
- package/dist-h5/vue/createComponent.js +4 -0
- package/dist-h5/vue/createFormsComponent.js +8 -1
- package/loader/index.d.ts +0 -1
- package/package.json +5 -5
- package/dist/collection/components/cover-view/cover-image.js +0 -11
- package/dist/esm-es5/index-310de3d5.js +0 -1
- package/dist/taro-components/p-153b839d.system.entry.js +0 -1
- package/dist/taro-components/p-180fd001.entry.js +0 -1
- package/dist/taro-components/p-1925bbdb.entry.js +0 -1
- package/dist/taro-components/p-1f44e8ef.system.entry.js +0 -1
- package/dist/taro-components/p-28348261.entry.js +0 -1
- package/dist/taro-components/p-31b89eb3.entry.js +0 -1
- package/dist/taro-components/p-31f0f881.entry.js +0 -1
- package/dist/taro-components/p-3bda72b4.entry.js +0 -1
- package/dist/taro-components/p-4591dff5.entry.js +0 -1
- package/dist/taro-components/p-4afe24d7.entry.js +0 -1
- package/dist/taro-components/p-4b632069.entry.js +0 -1
- package/dist/taro-components/p-4f1d45ff.entry.js +0 -1
- package/dist/taro-components/p-5032d822.entry.js +0 -1
- package/dist/taro-components/p-6287057a.entry.js +0 -1
- package/dist/taro-components/p-66120099.entry.js +0 -1
- package/dist/taro-components/p-6730fa44.entry.js +0 -1
- package/dist/taro-components/p-6f331ed3.entry.js +0 -1
- package/dist/taro-components/p-73c389e7.system.entry.js +0 -1
- package/dist/taro-components/p-7911ccd6.system.entry.js +0 -1
- package/dist/taro-components/p-8031d6b5.system.entry.js +0 -1
- package/dist/taro-components/p-82185d54.system.entry.js +0 -1
- package/dist/taro-components/p-8676c058.entry.js +0 -1
- package/dist/taro-components/p-906c3a0a.entry.js +0 -1
- package/dist/taro-components/p-9205470e.entry.js +0 -1
- package/dist/taro-components/p-945fa1a0.entry.js +0 -1
- package/dist/taro-components/p-95f5261c.entry.js +0 -1
- package/dist/taro-components/p-96771939.entry.js +0 -1
- package/dist/taro-components/p-96f1e9e7.entry.js +0 -1
- package/dist/taro-components/p-9c47f99e.entry.js +0 -1
- package/dist/taro-components/p-9fe2309f.entry.js +0 -1
- package/dist/taro-components/p-9ffb69e5.system.entry.js +0 -1
- package/dist/taro-components/p-a208926a.entry.js +0 -1
- package/dist/taro-components/p-a3e783c3.entry.js +0 -1
- package/dist/taro-components/p-af393b0b.entry.js +0 -1
- package/dist/taro-components/p-b2ed71a7.entry.js +0 -1
- package/dist/taro-components/p-b5d2597b.system.js +0 -1
- package/dist/taro-components/p-b7c29d05.entry.js +0 -1
- package/dist/taro-components/p-c2810ece.entry.js +0 -1
- package/dist/taro-components/p-c37d9a5d.system.entry.js +0 -1
- package/dist/taro-components/p-c9380fa6.entry.js +0 -1
- package/dist/taro-components/p-ca74a018.entry.js +0 -1
- package/dist/taro-components/p-cf496b3b.system.js +0 -1
- package/dist/taro-components/p-e256974b.system.entry.js +0 -1
- package/dist/taro-components/p-e28625a2.entry.js +0 -1
- package/dist/taro-components/p-e302b8d7.entry.js +0 -1
- 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:
|
|
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",
|