taro-ui 3.3.3 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +85 -0
- package/dist/common/utils.d.ts +2 -1
- package/dist/common/utils.js +3 -0
- package/dist/common/utils.js.map +1 -1
- package/dist/components/accordion/index.d.ts +16 -13
- package/dist/components/accordion/index.js +77 -97
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/action-sheet/body/index.d.ts +2 -4
- package/dist/components/action-sheet/body/index.js +8 -6
- package/dist/components/action-sheet/body/index.js.map +1 -1
- package/dist/components/action-sheet/body/item/index.d.ts +7 -7
- package/dist/components/action-sheet/body/item/index.js +14 -14
- package/dist/components/action-sheet/body/item/index.js.map +1 -1
- package/dist/components/action-sheet/footer/index.d.ts +7 -7
- package/dist/components/action-sheet/footer/index.js +14 -17
- package/dist/components/action-sheet/footer/index.js.map +1 -1
- package/dist/components/action-sheet/header/index.d.ts +2 -4
- package/dist/components/action-sheet/header/index.js +8 -9
- package/dist/components/action-sheet/header/index.js.map +1 -1
- package/dist/components/action-sheet/index.d.ts +12 -13
- package/dist/components/action-sheet/index.js +53 -57
- package/dist/components/action-sheet/index.js.map +1 -1
- package/dist/components/activity-indicator/index.d.ts +12 -6
- package/dist/components/activity-indicator/index.js +19 -22
- package/dist/components/activity-indicator/index.js.map +1 -1
- package/dist/components/avatar/index.d.ts +14 -8
- package/dist/components/avatar/index.js +36 -43
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/badge/index.d.ts +11 -8
- package/dist/components/badge/index.js +18 -34
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/button/index.d.ts +29 -14
- package/dist/components/button/index.js +97 -112
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/calendar/body/index.d.ts +3 -26
- package/dist/components/calendar/body/index.js +215 -235
- package/dist/components/calendar/body/index.js.map +1 -1
- package/dist/components/calendar/controller/index.d.ts +3 -5
- package/dist/components/calendar/controller/index.js +47 -43
- package/dist/components/calendar/controller/index.js.map +1 -1
- package/dist/components/calendar/index.d.ts +3 -20
- package/dist/components/calendar/index.js +219 -201
- package/dist/components/calendar/index.js.map +1 -1
- package/dist/components/calendar/ui/date-list/index.d.ts +2 -6
- package/dist/components/calendar/ui/date-list/index.js +36 -41
- package/dist/components/calendar/ui/date-list/index.js.map +1 -1
- package/dist/components/calendar/ui/day-list/index.d.ts +2 -4
- package/dist/components/calendar/ui/day-list/index.js +6 -5
- package/dist/components/calendar/ui/day-list/index.js.map +1 -1
- package/dist/components/card/index.d.ts +15 -7
- package/dist/components/card/index.js +42 -43
- package/dist/components/card/index.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +11 -7
- package/dist/components/checkbox/index.js +30 -35
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/config-provider/context.d.ts +6 -0
- package/dist/components/config-provider/context.js +13 -0
- package/dist/components/config-provider/context.js.map +1 -0
- package/dist/components/config-provider/index.d.ts +7 -0
- package/dist/components/config-provider/index.js +15 -0
- package/dist/components/config-provider/index.js.map +1 -0
- package/dist/components/countdown/index.d.ts +19 -19
- package/dist/components/countdown/index.js +183 -118
- package/dist/components/countdown/index.js.map +1 -1
- package/dist/components/countdown/item/index.d.ts +8 -7
- package/dist/components/countdown/item/index.js +10 -13
- package/dist/components/countdown/item/index.js.map +1 -1
- package/dist/components/curtain/index.d.ts +11 -8
- package/dist/components/curtain/index.js +36 -45
- package/dist/components/curtain/index.js.map +1 -1
- package/dist/components/divider/index.d.ts +13 -6
- package/dist/components/divider/index.js +29 -38
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/drawer/index.d.ts +13 -15
- package/dist/components/drawer/index.js +100 -93
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/fab/index.d.ts +8 -7
- package/dist/components/fab/index.js +16 -16
- package/dist/components/fab/index.js.map +1 -1
- package/dist/components/flex/index.d.ts +11 -5
- package/dist/components/flex/index.js +17 -18
- package/dist/components/flex/index.js.map +1 -1
- package/dist/components/flex/item/index.d.ts +11 -5
- package/dist/components/flex/item/index.js +17 -18
- package/dist/components/flex/item/index.js.map +1 -1
- package/dist/components/float-layout/index.d.ts +20 -12
- package/dist/components/float-layout/index.js +56 -72
- package/dist/components/float-layout/index.js.map +1 -1
- package/dist/components/form/index.d.ts +11 -8
- package/dist/components/form/index.js +28 -28
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/grid/index.d.ts +22 -7
- package/dist/components/grid/index.js +61 -66
- package/dist/components/grid/index.js.map +1 -1
- package/dist/components/icon/index.d.ts +13 -7
- package/dist/components/icon/index.js +24 -34
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image-picker/index.d.ts +19 -9
- package/dist/components/image-picker/index.js +83 -102
- package/dist/components/image-picker/index.js.map +1 -1
- package/dist/components/indexes/index.d.ts +16 -28
- package/dist/components/indexes/index.js +198 -209
- package/dist/components/indexes/index.js.map +1 -1
- package/dist/components/input/index.d.ts +37 -15
- package/dist/components/input/index.js +152 -161
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input-number/index.d.ts +20 -11
- package/dist/components/input-number/index.js +107 -126
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/list/index.d.ts +7 -6
- package/dist/components/list/index.js +15 -15
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/list/item/index.d.ts +27 -9
- package/dist/components/list/item/index.js +89 -117
- package/dist/components/list/item/index.js.map +1 -1
- package/dist/components/load-more/index.d.ts +15 -7
- package/dist/components/load-more/index.js +29 -50
- package/dist/components/load-more/index.js.map +1 -1
- package/dist/components/loading/index.d.ts +8 -7
- package/dist/components/loading/index.js +14 -20
- package/dist/components/loading/index.js.map +1 -1
- package/dist/components/message/index.d.ts +9 -14
- package/dist/components/message/index.js +45 -59
- package/dist/components/message/index.js.map +1 -1
- package/dist/components/modal/action/index.d.ts +7 -6
- package/dist/components/modal/action/index.js +15 -15
- package/dist/components/modal/action/index.js.map +1 -1
- package/dist/components/modal/content/index.d.ts +2 -4
- package/dist/components/modal/content/index.js +8 -6
- package/dist/components/modal/content/index.js.map +1 -1
- package/dist/components/modal/header/index.d.ts +2 -4
- package/dist/components/modal/header/index.js +8 -6
- package/dist/components/modal/header/index.js.map +1 -1
- package/dist/components/modal/index.d.ts +16 -14
- package/dist/components/modal/index.js +63 -77
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/nav-bar/index.d.ts +20 -10
- package/dist/components/nav-bar/index.js +146 -162
- package/dist/components/nav-bar/index.js.map +1 -1
- package/dist/components/noticebar/index.d.ts +17 -15
- package/dist/components/noticebar/index.js +115 -128
- package/dist/components/noticebar/index.js.map +1 -1
- package/dist/components/pagination/index.d.ts +13 -11
- package/dist/components/pagination/index.js +64 -120
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/progress/index.d.ts +11 -5
- package/dist/components/progress/index.js +39 -36
- package/dist/components/progress/index.js.map +1 -1
- package/dist/components/radio/index.d.ts +11 -7
- package/dist/components/radio/index.js +29 -33
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/range/index.d.ts +19 -21
- package/dist/components/range/index.js +146 -153
- package/dist/components/range/index.js.map +1 -1
- package/dist/components/rate/index.d.ts +13 -7
- package/dist/components/rate/index.js +47 -62
- package/dist/components/rate/index.js.map +1 -1
- package/dist/components/search-bar/index.d.ts +23 -15
- package/dist/components/search-bar/index.js +120 -146
- package/dist/components/search-bar/index.js.map +1 -1
- package/dist/components/segmented-control/index.d.ts +14 -7
- package/dist/components/segmented-control/index.js +52 -66
- package/dist/components/segmented-control/index.js.map +1 -1
- package/dist/components/slider/index.d.ts +21 -12
- package/dist/components/slider/index.js +66 -90
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/steps/index.d.ts +11 -7
- package/dist/components/steps/index.js +43 -48
- package/dist/components/steps/index.js.map +1 -1
- package/dist/components/swipe-action/index.d.ts +12 -25
- package/dist/components/swipe-action/index.js +118 -115
- package/dist/components/swipe-action/index.js.map +1 -1
- package/dist/components/swipe-action/options/index.d.ts +2 -4
- package/dist/components/swipe-action/options/index.js +18 -17
- package/dist/components/swipe-action/options/index.js.map +1 -1
- package/dist/components/switch/index.d.ts +14 -7
- package/dist/components/switch/index.js +36 -41
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/tab-bar/index.d.ts +17 -7
- package/dist/components/tab-bar/index.js +108 -135
- package/dist/components/tab-bar/index.js.map +1 -1
- package/dist/components/tabs/index.d.ts +17 -23
- package/dist/components/tabs/index.js +185 -174
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs-pane/index.d.ts +11 -6
- package/dist/components/tabs-pane/index.js +26 -28
- package/dist/components/tabs-pane/index.js.map +1 -1
- package/dist/components/tag/index.d.ts +14 -7
- package/dist/components/tag/index.js +31 -40
- package/dist/components/tag/index.js.map +1 -1
- package/dist/components/textarea/index.d.ts +29 -11
- package/dist/components/textarea/index.js +72 -92
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/timeline/index.d.ts +9 -6
- package/dist/components/timeline/index.js +50 -56
- package/dist/components/timeline/index.js.map +1 -1
- package/dist/components/toast/img.json +3 -6
- package/dist/components/toast/index.d.ts +16 -15
- package/dist/components/toast/index.js +85 -94
- package/dist/components/toast/index.js.map +1 -1
- package/dist/hooks/useComponentLocale.d.ts +2 -0
- package/dist/hooks/useComponentLocale.js +12 -0
- package/dist/hooks/useComponentLocale.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +4006 -4404
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +4032 -4434
- package/dist/index.js.map +1 -1
- package/dist/locale/en_US.d.ts +3 -0
- package/dist/locale/en_US.js +34 -0
- package/dist/locale/en_US.js.map +1 -0
- package/dist/locale/index.d.ts +4 -0
- package/dist/locale/index.js +10 -0
- package/dist/locale/index.js.map +1 -0
- package/dist/locale/types.d.ts +34 -0
- package/dist/locale/types.js +1 -0
- package/dist/locale/types.js.map +1 -0
- package/dist/locale/zh_CN.d.ts +3 -0
- package/dist/locale/zh_CN.js +34 -0
- package/dist/locale/zh_CN.js.map +1 -0
- package/dist/style/components/avatar.scss +1 -1
- package/dist/style/components/badge.scss +7 -2
- package/dist/style/components/calendar.scss +1 -1
- package/dist/style/components/countdown.scss +2 -1
- package/dist/style/components/flex.scss +1 -1
- package/dist/style/components/grid.scss +2 -2
- package/dist/style/components/icon.scss +302 -101
- package/dist/style/components/input.scss +2 -2
- package/dist/style/components/progress.scss +1 -1
- package/dist/style/components/search-bar.scss +1 -1
- package/dist/style/components/steps.scss +2 -2
- package/dist/style/components/tabs.scss +1 -1
- package/dist/style/components/tag.scss +1 -1
- package/dist/style/components/timeline.scss +1 -1
- package/dist/style/components/toast.scss +7 -3
- package/dist/style/index.css +176 -176
- package/dist/style/index.css.map +1 -1
- package/dist/style/mixins/libs/hairline.scss +4 -19
- package/dist/style/mixins/libs/shade.scss +3 -6
- package/dist/style/mixins/libs/tint.scss +4 -7
- package/dist/style/themes/purple.scss +15 -15
- package/dist/style/themes/red.scss +16 -13
- package/dist/style/variables/default.scss +69 -73
- package/package.json +5 -3
- package/rn/components/accordion/index.tsx +2 -9
- package/rn/components/action-sheet/body/index.tsx +1 -3
- package/rn/components/action-sheet/body/item/index.tsx +1 -3
- package/rn/components/action-sheet/footer/index.tsx +1 -3
- package/rn/components/action-sheet/header/index.tsx +1 -3
- package/rn/components/activity-indicator/index.tsx +1 -3
- package/rn/components/avatar/index.tsx +5 -5
- package/rn/components/calendar/controller/index.tsx +2 -7
- package/rn/components/card/index.tsx +4 -4
- package/rn/components/countdown/index.scss +5 -4
- package/rn/components/countdown/item/index.tsx +1 -3
- package/rn/components/curtain/index.tsx +5 -5
- package/rn/components/flex/index.scss +2 -2
- package/rn/components/flex/item/index.scss +2 -2
- package/rn/components/grid/index.tsx +15 -15
- package/rn/components/icon/index.tsx +4 -4
- package/rn/components/image-picker/index.tsx +7 -7
- package/rn/components/pagination/index.tsx +7 -7
- package/rn/components/progress/index.tsx +5 -5
- package/rn/components/radio/index.tsx +7 -7
- package/rn/components/rate/index.tsx +4 -4
- package/rn/components/segmented-control/index.tsx +8 -8
- package/rn/components/slider/index.tsx +9 -9
- package/rn/components/steps/index.tsx +8 -8
- package/rn/components/swipe-action/options/index.tsx +1 -3
- package/rn/components/switch/index.tsx +2 -9
- package/rn/components/toast/img.json +3 -6
- package/rn/components/toast/index.tsx +8 -8
- package/rn/style/components/accordion.scss +1 -1
- package/rn/style/components/action-sheet.scss +1 -1
- package/rn/style/components/avatar.scss +1 -1
- package/rn/style/components/badge.scss +8 -3
- package/rn/style/components/button.scss +1 -1
- package/rn/style/components/calendar.scss +1 -1
- package/rn/style/components/checkbox.scss +1 -1
- package/rn/style/components/curtain.scss +1 -1
- package/rn/style/components/fab.scss +1 -4
- package/rn/style/components/flex.scss +1 -1
- package/rn/style/components/grid.scss +2 -6
- package/rn/style/components/icon.scss +302 -101
- package/rn/style/components/index.scss +41 -41
- package/rn/style/components/input.scss +1 -1
- package/rn/style/components/list.scss +2 -4
- package/rn/style/components/loading.scss +4 -4
- package/rn/style/components/message.scss +1 -1
- package/rn/style/components/modal.scss +0 -2
- package/rn/style/components/nav-bar.scss +3 -3
- package/rn/style/components/noticebar.scss +0 -4
- package/rn/style/components/progress.scss +1 -1
- package/rn/style/components/radio.scss +2 -2
- package/rn/style/components/range.scss +1 -1
- package/rn/style/components/search-bar.scss +1 -1
- package/rn/style/components/segmented-control.scss +4 -1
- package/rn/style/components/slider.scss +0 -1
- package/rn/style/components/steps.scss +3 -3
- package/rn/style/components/switch.scss +0 -1
- package/rn/style/components/tabs.scss +2 -2
- package/rn/style/components/tag.scss +1 -1
- package/rn/style/components/timeline.scss +0 -2
- package/rn/style/components/toast.scss +5 -2
- package/rn/style/index.scss +1 -1
- package/rn/style/mixins/libs/hairline.scss +4 -22
- package/rn/style/mixins/libs/shade.scss +1 -4
- package/rn/style/mixins/libs/tint.scss +2 -5
- package/rn/style/themes/purple.scss +15 -15
- package/rn/style/themes/red.scss +16 -13
- package/rn/style/variables/default.scss +69 -73
|
@@ -1,7 +1,27 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1
20
|
import classNames from "classnames";
|
|
2
21
|
import PropTypes from "prop-types";
|
|
3
|
-
import React from "react";
|
|
22
|
+
import React, { useRef } from "react";
|
|
4
23
|
import { Input, Label, Text, View } from "@tarojs/components";
|
|
24
|
+
import { noop } from "../../common/utils";
|
|
5
25
|
function getInputProps(props) {
|
|
6
26
|
const actualProps = {
|
|
7
27
|
type: props.type,
|
|
@@ -26,173 +46,143 @@ function getInputProps(props) {
|
|
|
26
46
|
}
|
|
27
47
|
return actualProps;
|
|
28
48
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
49
|
+
function AtInput(props) {
|
|
50
|
+
var _a, _b, _c, _d, _e;
|
|
51
|
+
const {
|
|
52
|
+
className = "",
|
|
53
|
+
customStyle = "",
|
|
54
|
+
value = "",
|
|
55
|
+
name = "",
|
|
56
|
+
placeholder = "",
|
|
57
|
+
placeholderStyle = "",
|
|
58
|
+
placeholderClass = "",
|
|
59
|
+
title = "",
|
|
60
|
+
cursorSpacing = 50,
|
|
61
|
+
confirmType = "done",
|
|
62
|
+
selectionStart = -1,
|
|
63
|
+
selectionEnd = -1,
|
|
64
|
+
adjustPosition = true,
|
|
65
|
+
editable = true,
|
|
66
|
+
border = true,
|
|
67
|
+
error = false,
|
|
68
|
+
clear = false,
|
|
69
|
+
autoFocus = false,
|
|
70
|
+
focus = false,
|
|
71
|
+
required = false,
|
|
72
|
+
cursor,
|
|
73
|
+
onChange = noop,
|
|
74
|
+
onFocus,
|
|
75
|
+
onBlur,
|
|
76
|
+
onConfirm,
|
|
77
|
+
onErrorClick,
|
|
78
|
+
onClick,
|
|
79
|
+
onKeyboardHeightChange,
|
|
80
|
+
children
|
|
81
|
+
} = props;
|
|
82
|
+
const inputClearing = useRef(false);
|
|
83
|
+
const handleInput = (event) => onChange == null ? void 0 : onChange(event.detail.value, event);
|
|
84
|
+
const handleFocus = (event) => {
|
|
85
|
+
if (typeof onFocus === "function") {
|
|
86
|
+
onFocus(event.detail.value, event);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const handleBlur = (event) => {
|
|
90
|
+
if (typeof onBlur === "function") {
|
|
91
|
+
onBlur(event.detail.value, event);
|
|
92
|
+
}
|
|
93
|
+
if (event.type === "blur" && !inputClearing.current) {
|
|
94
|
+
onChange == null ? void 0 : onChange(event.detail.value, event);
|
|
95
|
+
}
|
|
96
|
+
inputClearing.current = false;
|
|
97
|
+
};
|
|
98
|
+
const handleConfirm = (event) => {
|
|
99
|
+
if (typeof onConfirm === "function") {
|
|
100
|
+
onConfirm(event.detail.value, event);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const handleClick = (event) => {
|
|
104
|
+
if (!editable && typeof onClick === "function") {
|
|
105
|
+
onClick(event);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
const handleClearValue = (event) => {
|
|
109
|
+
inputClearing.current = true;
|
|
110
|
+
onChange == null ? void 0 : onChange("", event);
|
|
111
|
+
};
|
|
112
|
+
const handleKeyboardHeightChange = (event) => {
|
|
113
|
+
if (typeof onKeyboardHeightChange === "function") {
|
|
114
|
+
onKeyboardHeightChange(event);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const handleErrorClick = (event) => {
|
|
118
|
+
if (typeof onErrorClick === "function") {
|
|
119
|
+
onErrorClick(event);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const {
|
|
123
|
+
type: inputType,
|
|
124
|
+
maxLength: inputMaxLength,
|
|
125
|
+
disabled: inputDisabled,
|
|
126
|
+
password
|
|
127
|
+
} = getInputProps(__spreadProps(__spreadValues({}, props), {
|
|
128
|
+
type: (_a = props.type) != null ? _a : "text",
|
|
129
|
+
maxlength: (_b = props.maxlength) != null ? _b : 140,
|
|
130
|
+
maxLength: (_c = props.maxLength) != null ? _c : 140,
|
|
131
|
+
disabled: (_d = props.disabled) != null ? _d : false,
|
|
132
|
+
editable: (_e = props.editable) != null ? _e : true
|
|
133
|
+
}));
|
|
134
|
+
const rootCls = classNames(
|
|
135
|
+
"at-input",
|
|
136
|
+
{
|
|
137
|
+
"at-input--without-border": !border
|
|
138
|
+
},
|
|
139
|
+
className
|
|
140
|
+
);
|
|
141
|
+
const containerCls = classNames("at-input__container", {
|
|
142
|
+
"at-input--error": error,
|
|
143
|
+
"at-input--disabled": inputDisabled
|
|
144
|
+
});
|
|
145
|
+
const overlayCls = classNames("at-input__overlay", {
|
|
146
|
+
"at-input__overlay--hidden": !inputDisabled
|
|
147
|
+
});
|
|
148
|
+
const placeholderCls = classNames("placeholder", placeholderClass);
|
|
149
|
+
return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: containerCls }, /* @__PURE__ */ React.createElement(View, { className: overlayCls, onClick: handleClick }), title && /* @__PURE__ */ React.createElement(
|
|
150
|
+
Label,
|
|
151
|
+
{
|
|
152
|
+
className: `at-input__title ${required && "at-input__title--required"}`,
|
|
153
|
+
for: name
|
|
154
|
+
},
|
|
155
|
+
title
|
|
156
|
+
), /* @__PURE__ */ React.createElement(
|
|
157
|
+
Input,
|
|
158
|
+
{
|
|
159
|
+
className: "at-input__input",
|
|
160
|
+
id: name,
|
|
87
161
|
name,
|
|
162
|
+
type: inputType,
|
|
163
|
+
disabled: inputDisabled,
|
|
164
|
+
password,
|
|
165
|
+
placeholderStyle,
|
|
166
|
+
placeholderClass: placeholderCls,
|
|
167
|
+
placeholder,
|
|
88
168
|
cursorSpacing,
|
|
169
|
+
maxlength: inputMaxLength,
|
|
170
|
+
autoFocus,
|
|
171
|
+
focus,
|
|
172
|
+
value,
|
|
89
173
|
confirmType,
|
|
90
174
|
cursor,
|
|
91
175
|
selectionStart,
|
|
92
176
|
selectionEnd,
|
|
93
177
|
adjustPosition,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
autoFocus = false,
|
|
102
|
-
focus = false,
|
|
103
|
-
value,
|
|
104
|
-
required
|
|
105
|
-
} = this.props;
|
|
106
|
-
const { type, maxLength, disabled, password } = getInputProps(this.props);
|
|
107
|
-
const rootCls = classNames(
|
|
108
|
-
"at-input",
|
|
109
|
-
{
|
|
110
|
-
"at-input--without-border": !border
|
|
111
|
-
},
|
|
112
|
-
className
|
|
113
|
-
);
|
|
114
|
-
const containerCls = classNames("at-input__container", {
|
|
115
|
-
"at-input--error": error,
|
|
116
|
-
"at-input--disabled": disabled
|
|
117
|
-
});
|
|
118
|
-
const overlayCls = classNames("at-input__overlay", {
|
|
119
|
-
"at-input__overlay--hidden": !disabled
|
|
120
|
-
});
|
|
121
|
-
const placeholderCls = classNames("placeholder", placeholderClass);
|
|
122
|
-
return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: containerCls }, /* @__PURE__ */ React.createElement(View, { className: overlayCls, onClick: this.handleClick }), title && /* @__PURE__ */ React.createElement(
|
|
123
|
-
Label,
|
|
124
|
-
{
|
|
125
|
-
className: `at-input__title ${required && "at-input__title--required"}`,
|
|
126
|
-
for: name
|
|
127
|
-
},
|
|
128
|
-
title
|
|
129
|
-
), /* @__PURE__ */ React.createElement(
|
|
130
|
-
Input,
|
|
131
|
-
{
|
|
132
|
-
className: "at-input__input",
|
|
133
|
-
id: name,
|
|
134
|
-
name,
|
|
135
|
-
type,
|
|
136
|
-
disabled,
|
|
137
|
-
password,
|
|
138
|
-
placeholderStyle,
|
|
139
|
-
placeholderClass: placeholderCls,
|
|
140
|
-
placeholder,
|
|
141
|
-
cursorSpacing,
|
|
142
|
-
maxlength: maxLength,
|
|
143
|
-
autoFocus,
|
|
144
|
-
focus,
|
|
145
|
-
value,
|
|
146
|
-
confirmType,
|
|
147
|
-
cursor,
|
|
148
|
-
selectionStart,
|
|
149
|
-
selectionEnd,
|
|
150
|
-
adjustPosition,
|
|
151
|
-
onInput: this.handleInput,
|
|
152
|
-
onFocus: this.handleFocus,
|
|
153
|
-
onBlur: this.handleBlur,
|
|
154
|
-
onConfirm: this.handleConfirm,
|
|
155
|
-
onKeyboardHeightChange: this.handleKeyboardHeightChange
|
|
156
|
-
}
|
|
157
|
-
), clear && value && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchEnd: this.handleClearValue }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle at-input__icon-close" })), error && /* @__PURE__ */ React.createElement(
|
|
158
|
-
View,
|
|
159
|
-
{
|
|
160
|
-
className: "at-input__icon",
|
|
161
|
-
onTouchStart: this.handleErrorClick
|
|
162
|
-
},
|
|
163
|
-
/* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-alert-circle at-input__icon-alert" })
|
|
164
|
-
), /* @__PURE__ */ React.createElement(View, { className: "at-input__children" }, this.props.children)));
|
|
165
|
-
}
|
|
178
|
+
onInput: handleInput,
|
|
179
|
+
onFocus: handleFocus,
|
|
180
|
+
onBlur: handleBlur,
|
|
181
|
+
onConfirm: handleConfirm,
|
|
182
|
+
onKeyboardHeightChange: handleKeyboardHeightChange
|
|
183
|
+
}
|
|
184
|
+
), clear && value && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchEnd: handleClearValue }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle at-input__icon-close" })), error && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchStart: handleErrorClick }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-alert-circle at-input__icon-alert" })), /* @__PURE__ */ React.createElement(View, { className: "at-input__children" }, children)));
|
|
166
185
|
}
|
|
167
|
-
AtInput.defaultProps = {
|
|
168
|
-
className: "",
|
|
169
|
-
customStyle: "",
|
|
170
|
-
value: "",
|
|
171
|
-
name: "",
|
|
172
|
-
placeholder: "",
|
|
173
|
-
placeholderStyle: "",
|
|
174
|
-
placeholderClass: "",
|
|
175
|
-
title: "",
|
|
176
|
-
cursorSpacing: 50,
|
|
177
|
-
confirmType: "done",
|
|
178
|
-
selectionStart: -1,
|
|
179
|
-
selectionEnd: -1,
|
|
180
|
-
adjustPosition: true,
|
|
181
|
-
maxlength: 140,
|
|
182
|
-
maxLength: 140,
|
|
183
|
-
type: "text",
|
|
184
|
-
disabled: false,
|
|
185
|
-
border: true,
|
|
186
|
-
editable: true,
|
|
187
|
-
error: false,
|
|
188
|
-
clear: false,
|
|
189
|
-
autoFocus: false,
|
|
190
|
-
focus: false,
|
|
191
|
-
required: false,
|
|
192
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
193
|
-
onChange: () => {
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
186
|
AtInput.propTypes = {
|
|
197
187
|
className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
|
|
198
188
|
customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
@@ -226,7 +216,8 @@ AtInput.propTypes = {
|
|
|
226
216
|
onClick: PropTypes.func,
|
|
227
217
|
required: PropTypes.bool
|
|
228
218
|
};
|
|
219
|
+
var input_default = AtInput;
|
|
229
220
|
export {
|
|
230
|
-
|
|
221
|
+
input_default as default
|
|
231
222
|
};
|
|
232
223
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Input, Label, Text, View } from '@tarojs/components'\nimport { BaseEventOrig, ITouchEvent } from '@tarojs/components/types/common'\nimport { InputProps } from '@tarojs/components/types/Input'\nimport {\n AtInputProps,\n BlurEventDetail,\n ConfirmEventDetail,\n FocusEventDetail,\n InputEventDetail,\n KeyboardHeightEventDetail\n} from '../../../types/input'\n\ntype PickAtInputProps = Pick<\n AtInputProps,\n 'maxLength' | 'maxlength' | 'disabled' | 'password'\n>\ntype GetInputPropsReturn = PickAtInputProps & Pick<InputProps, 'type'>\n\nfunction getInputProps(props: AtInputProps): GetInputPropsReturn {\n const actualProps = {\n type: props.type,\n maxLength: props.maxLength || props.maxlength,\n disabled: props.disabled,\n password: false\n }\n\n switch (actualProps.type) {\n case 'phone':\n actualProps.type = 'number'\n actualProps.maxLength = 11\n break\n case 'password':\n actualProps.type = 'text'\n actualProps.password = true\n break\n default:\n break\n }\n if (!props.disabled && !props.editable) {\n actualProps.disabled = true\n }\n return actualProps as GetInputPropsReturn\n}\n\nexport default class AtInput extends React.Component<AtInputProps> {\n public static defaultProps: AtInputProps\n public static propTypes: InferProps<AtInputProps>\n // TODO: 有待考证是否为合理方式处理 #840\n private inputClearing = false\n\n private handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n this.props.onChange?.(event.detail.value, event)\n\n private handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof this.props.onFocus === 'function') {\n this.props.onFocus(event.detail.value, event)\n }\n }\n\n private handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof this.props.onBlur === 'function') {\n this.props.onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !this.inputClearing) {\n // fix # 583 AtInput 不触发 onChange 的问题\n this.props.onChange?.(\n event.detail.value,\n event as BaseEventOrig<InputEventDetail>\n )\n }\n // 还原状态\n this.inputClearing = false\n }\n\n private handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof this.props.onConfirm === 'function') {\n this.props.onConfirm(event.detail.value, event)\n }\n }\n\n private handleClick = (event: ITouchEvent): void => {\n if (!this.props.editable && typeof this.props.onClick === 'function') {\n this.props.onClick(event)\n }\n }\n\n private handleClearValue = (event: ITouchEvent): void => {\n this.inputClearing = true\n this.props.onChange?.('', event)\n }\n\n private handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof this.props.onKeyboardHeightChange === 'function') {\n this.props.onKeyboardHeightChange(event)\n }\n }\n\n private handleErrorClick = (event: ITouchEvent): void => {\n if (typeof this.props.onErrorClick === 'function') {\n this.props.onErrorClick(event)\n }\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n name,\n cursorSpacing,\n confirmType,\n cursor,\n selectionStart,\n selectionEnd,\n adjustPosition,\n border,\n title,\n error,\n clear,\n placeholder,\n placeholderStyle,\n placeholderClass,\n autoFocus = false,\n focus = false,\n value,\n required\n } = this.props\n const { type, maxLength, disabled, password } = getInputProps(this.props)\n\n const rootCls = classNames(\n 'at-input',\n {\n 'at-input--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-input__container', {\n 'at-input--error': error,\n 'at-input--disabled': disabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !disabled\n })\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={containerCls}>\n <View className={overlayCls} onClick={this.handleClick}></View>\n {title && (\n <Label\n className={`at-input__title ${\n required && 'at-input__title--required'\n }`}\n for={name}\n >\n {title}\n </Label>\n )}\n <Input\n className='at-input__input'\n id={name}\n name={name}\n type={type}\n disabled={disabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={maxLength}\n autoFocus={autoFocus}\n // TODO: 临时解决方案,等 Taro 更新后还原到 focus={focus}\n focus={focus}\n value={value}\n confirmType={confirmType}\n cursor={cursor}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n adjustPosition={adjustPosition}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n onKeyboardHeightChange={this.handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={this.handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View\n className='at-input__icon'\n onTouchStart={this.handleErrorClick}\n >\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{this.props.children}</View>\n </View>\n </View>\n )\n }\n}\n\nAtInput.defaultProps = {\n className: '',\n customStyle: '',\n value: '',\n name: '',\n placeholder: '',\n placeholderStyle: '',\n placeholderClass: '',\n title: '',\n cursorSpacing: 50,\n confirmType: 'done',\n selectionStart: -1,\n selectionEnd: -1,\n adjustPosition: true,\n maxlength: 140,\n maxLength: 140,\n type: 'text',\n disabled: false,\n border: true,\n editable: true,\n error: false,\n clear: false,\n autoFocus: false,\n focus: false,\n required: false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\n}\n\nAtInput.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n placeholder: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholderClass: PropTypes.string,\n title: PropTypes.string,\n confirmType: PropTypes.string,\n cursor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionStart: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionEnd: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n adjustPosition: PropTypes.bool,\n cursorSpacing: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxlength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n disabled: PropTypes.bool,\n border: PropTypes.bool,\n editable: PropTypes.bool,\n error: PropTypes.bool,\n clear: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onErrorClick: PropTypes.func,\n onClick: PropTypes.func,\n required: PropTypes.bool\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,OAAO,OAAO,MAAM,YAAY;AAkBzC,SAAS,cAAc,OAA0C;AAC/D,QAAM,cAAc;AAAA,IAClB,MAAM,MAAM;AAAA,IACZ,WAAW,MAAM,aAAa,MAAM;AAAA,IACpC,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,EACZ;AAEA,UAAQ,YAAY,MAAM;AAAA,IACxB,KAAK;AACH,kBAAY,OAAO;AACnB,kBAAY,YAAY;AACxB;AAAA,IACF,KAAK;AACH,kBAAY,OAAO;AACnB,kBAAY,WAAW;AACvB;AAAA,IACF;AACE;AAAA,EACJ;AACA,MAAI,CAAC,MAAM,YAAY,CAAC,MAAM,UAAU;AACtC,gBAAY,WAAW;AAAA,EACzB;AACA,SAAO;AACT;AAEA,MAAO,gBAA8B,MAAM,UAAwB;AAAA,EAAnE;AAAA;AAIE;AAAA,SAAQ,gBAAgB;AAExB,SAAQ,cAAc,CAAC,UAA8C;AArDvE;AAsDI,8BAAK,OAAM,aAAX,4BAAsB,MAAM,OAAO,OAAO;AAAA;AAE5C,SAAQ,cAAc,CAAC,UAAiD;AACtE,UAAI,OAAO,KAAK,MAAM,YAAY,YAAY;AAC5C,aAAK,MAAM,QAAQ,MAAM,OAAO,OAAO,KAAK;AAAA,MAC9C;AAAA,IACF;AAEA,SAAQ,aAAa,CAAC,UAAgD;AA9DxE;AA+DI,UAAI,OAAO,KAAK,MAAM,WAAW,YAAY;AAC3C,aAAK,MAAM,OAAO,MAAM,OAAO,OAAO,KAAK;AAAA,MAC7C;AACA,UAAI,MAAM,SAAS,UAAU,CAAC,KAAK,eAAe;AAEhD,yBAAK,OAAM,aAAX;AAAA;AAAA,UACE,MAAM,OAAO;AAAA,UACb;AAAA;AAAA,MAEJ;AAEA,WAAK,gBAAgB;AAAA,IACvB;AAEA,SAAQ,gBAAgB,CAAC,UAAmD;AAC1E,UAAI,OAAO,KAAK,MAAM,cAAc,YAAY;AAC9C,aAAK,MAAM,UAAU,MAAM,OAAO,OAAO,KAAK;AAAA,MAChD;AAAA,IACF;AAEA,SAAQ,cAAc,CAAC,UAA6B;AAClD,UAAI,CAAC,KAAK,MAAM,YAAY,OAAO,KAAK,MAAM,YAAY,YAAY;AACpE,aAAK,MAAM,QAAQ,KAAK;AAAA,MAC1B;AAAA,IACF;AAEA,SAAQ,mBAAmB,CAAC,UAA6B;AAzF3D;AA0FI,WAAK,gBAAgB;AACrB,uBAAK,OAAM,aAAX,4BAAsB,IAAI;AAAA,IAC5B;AAEA,SAAQ,6BAA6B,CACnC,UACS;AACT,UAAI,OAAO,KAAK,MAAM,2BAA2B,YAAY;AAC3D,aAAK,MAAM,uBAAuB,KAAK;AAAA,MACzC;AAAA,IACF;AAEA,SAAQ,mBAAmB,CAAC,UAA6B;AACvD,UAAI,OAAO,KAAK,MAAM,iBAAiB,YAAY;AACjD,aAAK,MAAM,aAAa,KAAK;AAAA,MAC/B;AAAA,IACF;AAAA;AAAA,EAEO,SAAsB;AAC3B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,IAAI,KAAK;AACT,UAAM,EAAE,MAAM,WAAW,UAAU,SAAS,IAAI,cAAc,KAAK,KAAK;AAExE,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,QACE,4BAA4B,CAAC;AAAA,MAC/B;AAAA,MACA;AAAA,IACF;AACA,UAAM,eAAe,WAAW,uBAAuB;AAAA,MACrD,mBAAmB;AAAA,MACnB,sBAAsB;AAAA,IACxB,CAAC;AAED,UAAM,aAAa,WAAW,qBAAqB;AAAA,MACjD,6BAA6B,CAAC;AAAA,IAChC,CAAC;AACD,UAAM,iBAAiB,WAAW,eAAe,gBAAgB;AAEjE,WACE,oCAAC,QAAK,WAAW,SAAS,OAAO,eAC/B,oCAAC,QAAK,WAAW,gBACf,oCAAC,QAAK,WAAW,YAAY,SAAS,KAAK,aAAa,GACvD,SACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,mBACT,YAAY,2BACd;AAAA,QACA,KAAK;AAAA;AAAA,MAEJ;AAAA,IACH,GAEF;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,wBAAwB,KAAK;AAAA;AAAA,IAC/B,GACC,SAAS,SACR,oCAAC,QAAK,WAAU,kBAAiB,YAAY,KAAK,oBAChD,oCAAC,QAAK,WAAU,qDAAoD,CACtE,GAED,SACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAc,KAAK;AAAA;AAAA,MAEnB,oCAAC,QAAK,WAAU,qDAAoD;AAAA,IACtE,GAEF,oCAAC,QAAK,WAAU,wBAAsB,KAAK,MAAM,QAAS,CAC5D,CACF;AAAA,EAEJ;AACF;AAEA,QAAQ,eAAe;AAAA,EACrB,WAAW;AAAA,EACX,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA;AAAA,EAEV,UAAU,MAAY;AAAA,EAAC;AACzB;AAEA,QAAQ,YAAY;AAAA,EAClB,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,KAAK,CAAC;AAAA,EAClE,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC/D,MAAM,UAAU;AAAA,EAChB,aAAa,UAAU;AAAA,EACvB,kBAAkB,UAAU;AAAA,EAC5B,kBAAkB,UAAU;AAAA,EAC5B,OAAO,UAAU;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,QAAQ,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAChE,gBAAgB,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACxE,cAAc,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACtE,gBAAgB,UAAU;AAAA,EAC1B,eAAe,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACvE,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACnE,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACnE,MAAM,UAAU;AAAA,EAChB,UAAU,UAAU;AAAA,EACpB,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AAAA,EACpB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,OAAO,UAAU;AAAA,EACjB,UAAU,UAAU;AAAA,EACpB,SAAS,UAAU;AAAA,EACnB,QAAQ,UAAU;AAAA,EAClB,WAAW,UAAU;AAAA,EACrB,cAAc,UAAU;AAAA,EACxB,SAAS,UAAU;AAAA,EACnB,UAAU,UAAU;AACtB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useRef } from 'react'\nimport { Input, Label, Text, View } from '@tarojs/components'\nimport { BaseEventOrig, ITouchEvent } from '@tarojs/components/types/common'\nimport { InputProps } from '@tarojs/components/types/Input'\nimport {\n AtInputProps,\n BlurEventDetail,\n ConfirmEventDetail,\n FocusEventDetail,\n InputEventDetail,\n KeyboardHeightEventDetail\n} from '../../../types/input'\nimport { noop } from '../../common/utils'\n\ntype PickAtInputProps = Pick<\n AtInputProps,\n 'maxLength' | 'maxlength' | 'disabled' | 'password'\n>\ntype GetInputPropsReturn = PickAtInputProps & Pick<InputProps, 'type'>\n\nfunction getInputProps(props: AtInputProps): GetInputPropsReturn {\n const actualProps = {\n type: props.type,\n maxLength: props.maxLength || props.maxlength,\n disabled: props.disabled,\n password: false\n }\n\n switch (actualProps.type) {\n case 'phone':\n actualProps.type = 'number'\n actualProps.maxLength = 11\n break\n case 'password':\n actualProps.type = 'text'\n actualProps.password = true\n break\n default:\n break\n }\n if (!props.disabled && !props.editable) {\n actualProps.disabled = true\n }\n return actualProps as GetInputPropsReturn\n}\n\nfunction AtInput(props: AtInputProps): JSX.Element {\n const {\n className = '',\n customStyle = '',\n value = '',\n name = '',\n placeholder = '',\n placeholderStyle = '',\n placeholderClass = '',\n title = '',\n cursorSpacing = 50,\n confirmType = 'done',\n selectionStart = -1,\n selectionEnd = -1,\n adjustPosition = true,\n editable = true,\n border = true,\n error = false,\n clear = false,\n autoFocus = false,\n focus = false,\n required = false,\n cursor,\n onChange = noop,\n onFocus,\n onBlur,\n onConfirm,\n onErrorClick,\n onClick,\n onKeyboardHeightChange,\n children\n } = props\n // TODO: 有待考证是否为合理方式处理 #840\n const inputClearing = useRef(false)\n\n const handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n onChange?.(event.detail.value, event)\n\n const handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof onFocus === 'function') {\n onFocus(event.detail.value, event)\n }\n }\n\n const handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof onBlur === 'function') {\n onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !inputClearing.current) {\n // fix # 583 AtInput 不触发 onChange 的问题\n onChange?.(event.detail.value, event as BaseEventOrig<InputEventDetail>)\n }\n // 还原状态\n inputClearing.current = false\n }\n\n const handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof onConfirm === 'function') {\n onConfirm(event.detail.value, event)\n }\n }\n\n const handleClick = (event: ITouchEvent): void => {\n if (!editable && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n const handleClearValue = (event: ITouchEvent): void => {\n inputClearing.current = true\n onChange?.('', event)\n }\n\n const handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof onKeyboardHeightChange === 'function') {\n onKeyboardHeightChange(event)\n }\n }\n\n const handleErrorClick = (event: ITouchEvent): void => {\n if (typeof onErrorClick === 'function') {\n onErrorClick(event)\n }\n }\n\n const {\n type: inputType,\n maxLength: inputMaxLength,\n disabled: inputDisabled,\n password\n } = getInputProps({\n ...props,\n type: props.type ?? 'text',\n maxlength: props.maxlength ?? 140,\n maxLength: props.maxLength ?? 140,\n disabled: props.disabled ?? false,\n editable: props.editable ?? true\n })\n\n const rootCls = classNames(\n 'at-input',\n {\n 'at-input--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-input__container', {\n 'at-input--error': error,\n 'at-input--disabled': inputDisabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !inputDisabled\n })\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={containerCls}>\n <View className={overlayCls} onClick={handleClick}></View>\n {title && (\n <Label\n className={`at-input__title ${\n required && 'at-input__title--required'\n }`}\n for={name}\n >\n {title}\n </Label>\n )}\n <Input\n className='at-input__input'\n id={name}\n name={name}\n type={inputType}\n disabled={inputDisabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={inputMaxLength}\n autoFocus={autoFocus}\n // TODO: 临时解决方案,等 Taro 更新后还原到 focus={focus}\n focus={focus}\n value={value}\n confirmType={confirmType}\n cursor={cursor}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n adjustPosition={adjustPosition}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n onKeyboardHeightChange={handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View className='at-input__icon' onTouchStart={handleErrorClick}>\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{children}</View>\n </View>\n </View>\n )\n}\n\nAtInput.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n placeholder: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholderClass: PropTypes.string,\n title: PropTypes.string,\n confirmType: PropTypes.string,\n cursor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionStart: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionEnd: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n adjustPosition: PropTypes.bool,\n cursorSpacing: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxlength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n disabled: PropTypes.bool,\n border: PropTypes.bool,\n editable: PropTypes.bool,\n error: PropTypes.bool,\n clear: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onErrorClick: PropTypes.func,\n onClick: PropTypes.func,\n required: PropTypes.bool\n}\n\nexport default AtInput\n"],"mappings":"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","names":[]}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
3
2
|
import { AtInputNumberProps } from '../../../types/input-number';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
declare function AtInputNumber({ customStyle, className, disabled, disabledInput, type, width, min, max, step, size, value, onChange, onBlur, onErrorInput }: AtInputNumberProps): JSX.Element;
|
|
4
|
+
declare namespace AtInputNumber {
|
|
5
|
+
var propTypes: {
|
|
6
|
+
customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
|
|
7
|
+
className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
|
|
8
|
+
value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
9
|
+
type: PropTypes.Requireable<string>;
|
|
10
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
11
|
+
width: PropTypes.Requireable<number>;
|
|
12
|
+
min: PropTypes.Requireable<number>;
|
|
13
|
+
max: PropTypes.Requireable<number>;
|
|
14
|
+
step: PropTypes.Requireable<number>;
|
|
15
|
+
size: PropTypes.Requireable<string>;
|
|
16
|
+
disabledInput: PropTypes.Requireable<boolean>;
|
|
17
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
18
|
+
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
|
+
onErrorInput: PropTypes.Requireable<(...args: any[]) => any>;
|
|
20
|
+
};
|
|
13
21
|
}
|
|
22
|
+
export default AtInputNumber;
|