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.
Files changed (312) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +85 -0
  3. package/dist/common/utils.d.ts +2 -1
  4. package/dist/common/utils.js +3 -0
  5. package/dist/common/utils.js.map +1 -1
  6. package/dist/components/accordion/index.d.ts +16 -13
  7. package/dist/components/accordion/index.js +77 -97
  8. package/dist/components/accordion/index.js.map +1 -1
  9. package/dist/components/action-sheet/body/index.d.ts +2 -4
  10. package/dist/components/action-sheet/body/index.js +8 -6
  11. package/dist/components/action-sheet/body/index.js.map +1 -1
  12. package/dist/components/action-sheet/body/item/index.d.ts +7 -7
  13. package/dist/components/action-sheet/body/item/index.js +14 -14
  14. package/dist/components/action-sheet/body/item/index.js.map +1 -1
  15. package/dist/components/action-sheet/footer/index.d.ts +7 -7
  16. package/dist/components/action-sheet/footer/index.js +14 -17
  17. package/dist/components/action-sheet/footer/index.js.map +1 -1
  18. package/dist/components/action-sheet/header/index.d.ts +2 -4
  19. package/dist/components/action-sheet/header/index.js +8 -9
  20. package/dist/components/action-sheet/header/index.js.map +1 -1
  21. package/dist/components/action-sheet/index.d.ts +12 -13
  22. package/dist/components/action-sheet/index.js +53 -57
  23. package/dist/components/action-sheet/index.js.map +1 -1
  24. package/dist/components/activity-indicator/index.d.ts +12 -6
  25. package/dist/components/activity-indicator/index.js +19 -22
  26. package/dist/components/activity-indicator/index.js.map +1 -1
  27. package/dist/components/avatar/index.d.ts +14 -8
  28. package/dist/components/avatar/index.js +36 -43
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/badge/index.d.ts +11 -8
  31. package/dist/components/badge/index.js +18 -34
  32. package/dist/components/badge/index.js.map +1 -1
  33. package/dist/components/button/index.d.ts +29 -14
  34. package/dist/components/button/index.js +97 -112
  35. package/dist/components/button/index.js.map +1 -1
  36. package/dist/components/calendar/body/index.d.ts +3 -26
  37. package/dist/components/calendar/body/index.js +215 -235
  38. package/dist/components/calendar/body/index.js.map +1 -1
  39. package/dist/components/calendar/controller/index.d.ts +3 -5
  40. package/dist/components/calendar/controller/index.js +47 -43
  41. package/dist/components/calendar/controller/index.js.map +1 -1
  42. package/dist/components/calendar/index.d.ts +3 -20
  43. package/dist/components/calendar/index.js +219 -201
  44. package/dist/components/calendar/index.js.map +1 -1
  45. package/dist/components/calendar/ui/date-list/index.d.ts +2 -6
  46. package/dist/components/calendar/ui/date-list/index.js +36 -41
  47. package/dist/components/calendar/ui/date-list/index.js.map +1 -1
  48. package/dist/components/calendar/ui/day-list/index.d.ts +2 -4
  49. package/dist/components/calendar/ui/day-list/index.js +6 -5
  50. package/dist/components/calendar/ui/day-list/index.js.map +1 -1
  51. package/dist/components/card/index.d.ts +15 -7
  52. package/dist/components/card/index.js +42 -43
  53. package/dist/components/card/index.js.map +1 -1
  54. package/dist/components/checkbox/index.d.ts +11 -7
  55. package/dist/components/checkbox/index.js +30 -35
  56. package/dist/components/checkbox/index.js.map +1 -1
  57. package/dist/components/config-provider/context.d.ts +6 -0
  58. package/dist/components/config-provider/context.js +13 -0
  59. package/dist/components/config-provider/context.js.map +1 -0
  60. package/dist/components/config-provider/index.d.ts +7 -0
  61. package/dist/components/config-provider/index.js +15 -0
  62. package/dist/components/config-provider/index.js.map +1 -0
  63. package/dist/components/countdown/index.d.ts +19 -19
  64. package/dist/components/countdown/index.js +183 -118
  65. package/dist/components/countdown/index.js.map +1 -1
  66. package/dist/components/countdown/item/index.d.ts +8 -7
  67. package/dist/components/countdown/item/index.js +10 -13
  68. package/dist/components/countdown/item/index.js.map +1 -1
  69. package/dist/components/curtain/index.d.ts +11 -8
  70. package/dist/components/curtain/index.js +36 -45
  71. package/dist/components/curtain/index.js.map +1 -1
  72. package/dist/components/divider/index.d.ts +13 -6
  73. package/dist/components/divider/index.js +29 -38
  74. package/dist/components/divider/index.js.map +1 -1
  75. package/dist/components/drawer/index.d.ts +13 -15
  76. package/dist/components/drawer/index.js +100 -93
  77. package/dist/components/drawer/index.js.map +1 -1
  78. package/dist/components/fab/index.d.ts +8 -7
  79. package/dist/components/fab/index.js +16 -16
  80. package/dist/components/fab/index.js.map +1 -1
  81. package/dist/components/flex/index.d.ts +11 -5
  82. package/dist/components/flex/index.js +17 -18
  83. package/dist/components/flex/index.js.map +1 -1
  84. package/dist/components/flex/item/index.d.ts +11 -5
  85. package/dist/components/flex/item/index.js +17 -18
  86. package/dist/components/flex/item/index.js.map +1 -1
  87. package/dist/components/float-layout/index.d.ts +20 -12
  88. package/dist/components/float-layout/index.js +56 -72
  89. package/dist/components/float-layout/index.js.map +1 -1
  90. package/dist/components/form/index.d.ts +11 -8
  91. package/dist/components/form/index.js +28 -28
  92. package/dist/components/form/index.js.map +1 -1
  93. package/dist/components/grid/index.d.ts +22 -7
  94. package/dist/components/grid/index.js +61 -66
  95. package/dist/components/grid/index.js.map +1 -1
  96. package/dist/components/icon/index.d.ts +13 -7
  97. package/dist/components/icon/index.js +24 -34
  98. package/dist/components/icon/index.js.map +1 -1
  99. package/dist/components/image-picker/index.d.ts +19 -9
  100. package/dist/components/image-picker/index.js +83 -102
  101. package/dist/components/image-picker/index.js.map +1 -1
  102. package/dist/components/indexes/index.d.ts +16 -28
  103. package/dist/components/indexes/index.js +198 -209
  104. package/dist/components/indexes/index.js.map +1 -1
  105. package/dist/components/input/index.d.ts +37 -15
  106. package/dist/components/input/index.js +152 -161
  107. package/dist/components/input/index.js.map +1 -1
  108. package/dist/components/input-number/index.d.ts +20 -11
  109. package/dist/components/input-number/index.js +107 -126
  110. package/dist/components/input-number/index.js.map +1 -1
  111. package/dist/components/list/index.d.ts +7 -6
  112. package/dist/components/list/index.js +15 -15
  113. package/dist/components/list/index.js.map +1 -1
  114. package/dist/components/list/item/index.d.ts +27 -9
  115. package/dist/components/list/item/index.js +89 -117
  116. package/dist/components/list/item/index.js.map +1 -1
  117. package/dist/components/load-more/index.d.ts +15 -7
  118. package/dist/components/load-more/index.js +29 -50
  119. package/dist/components/load-more/index.js.map +1 -1
  120. package/dist/components/loading/index.d.ts +8 -7
  121. package/dist/components/loading/index.js +14 -20
  122. package/dist/components/loading/index.js.map +1 -1
  123. package/dist/components/message/index.d.ts +9 -14
  124. package/dist/components/message/index.js +45 -59
  125. package/dist/components/message/index.js.map +1 -1
  126. package/dist/components/modal/action/index.d.ts +7 -6
  127. package/dist/components/modal/action/index.js +15 -15
  128. package/dist/components/modal/action/index.js.map +1 -1
  129. package/dist/components/modal/content/index.d.ts +2 -4
  130. package/dist/components/modal/content/index.js +8 -6
  131. package/dist/components/modal/content/index.js.map +1 -1
  132. package/dist/components/modal/header/index.d.ts +2 -4
  133. package/dist/components/modal/header/index.js +8 -6
  134. package/dist/components/modal/header/index.js.map +1 -1
  135. package/dist/components/modal/index.d.ts +16 -14
  136. package/dist/components/modal/index.js +63 -77
  137. package/dist/components/modal/index.js.map +1 -1
  138. package/dist/components/nav-bar/index.d.ts +20 -10
  139. package/dist/components/nav-bar/index.js +146 -162
  140. package/dist/components/nav-bar/index.js.map +1 -1
  141. package/dist/components/noticebar/index.d.ts +17 -15
  142. package/dist/components/noticebar/index.js +115 -128
  143. package/dist/components/noticebar/index.js.map +1 -1
  144. package/dist/components/pagination/index.d.ts +13 -11
  145. package/dist/components/pagination/index.js +64 -120
  146. package/dist/components/pagination/index.js.map +1 -1
  147. package/dist/components/progress/index.d.ts +11 -5
  148. package/dist/components/progress/index.js +39 -36
  149. package/dist/components/progress/index.js.map +1 -1
  150. package/dist/components/radio/index.d.ts +11 -7
  151. package/dist/components/radio/index.js +29 -33
  152. package/dist/components/radio/index.js.map +1 -1
  153. package/dist/components/range/index.d.ts +19 -21
  154. package/dist/components/range/index.js +146 -153
  155. package/dist/components/range/index.js.map +1 -1
  156. package/dist/components/rate/index.d.ts +13 -7
  157. package/dist/components/rate/index.js +47 -62
  158. package/dist/components/rate/index.js.map +1 -1
  159. package/dist/components/search-bar/index.d.ts +23 -15
  160. package/dist/components/search-bar/index.js +120 -146
  161. package/dist/components/search-bar/index.js.map +1 -1
  162. package/dist/components/segmented-control/index.d.ts +14 -7
  163. package/dist/components/segmented-control/index.js +52 -66
  164. package/dist/components/segmented-control/index.js.map +1 -1
  165. package/dist/components/slider/index.d.ts +21 -12
  166. package/dist/components/slider/index.js +66 -90
  167. package/dist/components/slider/index.js.map +1 -1
  168. package/dist/components/steps/index.d.ts +11 -7
  169. package/dist/components/steps/index.js +43 -48
  170. package/dist/components/steps/index.js.map +1 -1
  171. package/dist/components/swipe-action/index.d.ts +12 -25
  172. package/dist/components/swipe-action/index.js +118 -115
  173. package/dist/components/swipe-action/index.js.map +1 -1
  174. package/dist/components/swipe-action/options/index.d.ts +2 -4
  175. package/dist/components/swipe-action/options/index.js +18 -17
  176. package/dist/components/swipe-action/options/index.js.map +1 -1
  177. package/dist/components/switch/index.d.ts +14 -7
  178. package/dist/components/switch/index.js +36 -41
  179. package/dist/components/switch/index.js.map +1 -1
  180. package/dist/components/tab-bar/index.d.ts +17 -7
  181. package/dist/components/tab-bar/index.js +108 -135
  182. package/dist/components/tab-bar/index.js.map +1 -1
  183. package/dist/components/tabs/index.d.ts +17 -23
  184. package/dist/components/tabs/index.js +185 -174
  185. package/dist/components/tabs/index.js.map +1 -1
  186. package/dist/components/tabs-pane/index.d.ts +11 -6
  187. package/dist/components/tabs-pane/index.js +26 -28
  188. package/dist/components/tabs-pane/index.js.map +1 -1
  189. package/dist/components/tag/index.d.ts +14 -7
  190. package/dist/components/tag/index.js +31 -40
  191. package/dist/components/tag/index.js.map +1 -1
  192. package/dist/components/textarea/index.d.ts +29 -11
  193. package/dist/components/textarea/index.js +72 -92
  194. package/dist/components/textarea/index.js.map +1 -1
  195. package/dist/components/timeline/index.d.ts +9 -6
  196. package/dist/components/timeline/index.js +50 -56
  197. package/dist/components/timeline/index.js.map +1 -1
  198. package/dist/components/toast/img.json +3 -6
  199. package/dist/components/toast/index.d.ts +16 -15
  200. package/dist/components/toast/index.js +85 -94
  201. package/dist/components/toast/index.js.map +1 -1
  202. package/dist/hooks/useComponentLocale.d.ts +2 -0
  203. package/dist/hooks/useComponentLocale.js +12 -0
  204. package/dist/hooks/useComponentLocale.js.map +1 -0
  205. package/dist/index.d.ts +3 -0
  206. package/dist/index.esm.js +4006 -4404
  207. package/dist/index.esm.js.map +1 -1
  208. package/dist/index.js +4032 -4434
  209. package/dist/index.js.map +1 -1
  210. package/dist/locale/en_US.d.ts +3 -0
  211. package/dist/locale/en_US.js +34 -0
  212. package/dist/locale/en_US.js.map +1 -0
  213. package/dist/locale/index.d.ts +4 -0
  214. package/dist/locale/index.js +10 -0
  215. package/dist/locale/index.js.map +1 -0
  216. package/dist/locale/types.d.ts +34 -0
  217. package/dist/locale/types.js +1 -0
  218. package/dist/locale/types.js.map +1 -0
  219. package/dist/locale/zh_CN.d.ts +3 -0
  220. package/dist/locale/zh_CN.js +34 -0
  221. package/dist/locale/zh_CN.js.map +1 -0
  222. package/dist/style/components/avatar.scss +1 -1
  223. package/dist/style/components/badge.scss +7 -2
  224. package/dist/style/components/calendar.scss +1 -1
  225. package/dist/style/components/countdown.scss +2 -1
  226. package/dist/style/components/flex.scss +1 -1
  227. package/dist/style/components/grid.scss +2 -2
  228. package/dist/style/components/icon.scss +302 -101
  229. package/dist/style/components/input.scss +2 -2
  230. package/dist/style/components/progress.scss +1 -1
  231. package/dist/style/components/search-bar.scss +1 -1
  232. package/dist/style/components/steps.scss +2 -2
  233. package/dist/style/components/tabs.scss +1 -1
  234. package/dist/style/components/tag.scss +1 -1
  235. package/dist/style/components/timeline.scss +1 -1
  236. package/dist/style/components/toast.scss +7 -3
  237. package/dist/style/index.css +176 -176
  238. package/dist/style/index.css.map +1 -1
  239. package/dist/style/mixins/libs/hairline.scss +4 -19
  240. package/dist/style/mixins/libs/shade.scss +3 -6
  241. package/dist/style/mixins/libs/tint.scss +4 -7
  242. package/dist/style/themes/purple.scss +15 -15
  243. package/dist/style/themes/red.scss +16 -13
  244. package/dist/style/variables/default.scss +69 -73
  245. package/package.json +5 -3
  246. package/rn/components/accordion/index.tsx +2 -9
  247. package/rn/components/action-sheet/body/index.tsx +1 -3
  248. package/rn/components/action-sheet/body/item/index.tsx +1 -3
  249. package/rn/components/action-sheet/footer/index.tsx +1 -3
  250. package/rn/components/action-sheet/header/index.tsx +1 -3
  251. package/rn/components/activity-indicator/index.tsx +1 -3
  252. package/rn/components/avatar/index.tsx +5 -5
  253. package/rn/components/calendar/controller/index.tsx +2 -7
  254. package/rn/components/card/index.tsx +4 -4
  255. package/rn/components/countdown/index.scss +5 -4
  256. package/rn/components/countdown/item/index.tsx +1 -3
  257. package/rn/components/curtain/index.tsx +5 -5
  258. package/rn/components/flex/index.scss +2 -2
  259. package/rn/components/flex/item/index.scss +2 -2
  260. package/rn/components/grid/index.tsx +15 -15
  261. package/rn/components/icon/index.tsx +4 -4
  262. package/rn/components/image-picker/index.tsx +7 -7
  263. package/rn/components/pagination/index.tsx +7 -7
  264. package/rn/components/progress/index.tsx +5 -5
  265. package/rn/components/radio/index.tsx +7 -7
  266. package/rn/components/rate/index.tsx +4 -4
  267. package/rn/components/segmented-control/index.tsx +8 -8
  268. package/rn/components/slider/index.tsx +9 -9
  269. package/rn/components/steps/index.tsx +8 -8
  270. package/rn/components/swipe-action/options/index.tsx +1 -3
  271. package/rn/components/switch/index.tsx +2 -9
  272. package/rn/components/toast/img.json +3 -6
  273. package/rn/components/toast/index.tsx +8 -8
  274. package/rn/style/components/accordion.scss +1 -1
  275. package/rn/style/components/action-sheet.scss +1 -1
  276. package/rn/style/components/avatar.scss +1 -1
  277. package/rn/style/components/badge.scss +8 -3
  278. package/rn/style/components/button.scss +1 -1
  279. package/rn/style/components/calendar.scss +1 -1
  280. package/rn/style/components/checkbox.scss +1 -1
  281. package/rn/style/components/curtain.scss +1 -1
  282. package/rn/style/components/fab.scss +1 -4
  283. package/rn/style/components/flex.scss +1 -1
  284. package/rn/style/components/grid.scss +2 -6
  285. package/rn/style/components/icon.scss +302 -101
  286. package/rn/style/components/index.scss +41 -41
  287. package/rn/style/components/input.scss +1 -1
  288. package/rn/style/components/list.scss +2 -4
  289. package/rn/style/components/loading.scss +4 -4
  290. package/rn/style/components/message.scss +1 -1
  291. package/rn/style/components/modal.scss +0 -2
  292. package/rn/style/components/nav-bar.scss +3 -3
  293. package/rn/style/components/noticebar.scss +0 -4
  294. package/rn/style/components/progress.scss +1 -1
  295. package/rn/style/components/radio.scss +2 -2
  296. package/rn/style/components/range.scss +1 -1
  297. package/rn/style/components/search-bar.scss +1 -1
  298. package/rn/style/components/segmented-control.scss +4 -1
  299. package/rn/style/components/slider.scss +0 -1
  300. package/rn/style/components/steps.scss +3 -3
  301. package/rn/style/components/switch.scss +0 -1
  302. package/rn/style/components/tabs.scss +2 -2
  303. package/rn/style/components/tag.scss +1 -1
  304. package/rn/style/components/timeline.scss +0 -2
  305. package/rn/style/components/toast.scss +5 -2
  306. package/rn/style/index.scss +1 -1
  307. package/rn/style/mixins/libs/hairline.scss +4 -22
  308. package/rn/style/mixins/libs/shade.scss +1 -4
  309. package/rn/style/mixins/libs/tint.scss +2 -5
  310. package/rn/style/themes/purple.scss +15 -15
  311. package/rn/style/themes/red.scss +16 -13
  312. package/rn/style/variables/default.scss +69 -73
@@ -9,9 +9,19 @@ const SIZE_CLASS = {
9
9
  const TYPE_CLASS = {
10
10
  primary: "primary"
11
11
  };
12
- class AtTag extends React.Component {
13
- onClick(event) {
14
- const { name = "", active = false, disabled, onClick } = this.props;
12
+ function AtTag({
13
+ size = "normal",
14
+ type = "",
15
+ name = "",
16
+ circle = false,
17
+ disabled = false,
18
+ active = false,
19
+ customStyle = {},
20
+ className,
21
+ children,
22
+ onClick
23
+ }) {
24
+ const handleClick = (event) => {
15
25
  if (!disabled) {
16
26
  typeof onClick === "function" && onClick(
17
27
  {
@@ -21,44 +31,25 @@ class AtTag extends React.Component {
21
31
  event
22
32
  );
23
33
  }
24
- }
25
- render() {
26
- const {
27
- size = "normal",
28
- type = "",
29
- circle = false,
30
- disabled = false,
31
- active = false,
32
- customStyle
33
- } = this.props;
34
- const rootClassName = ["at-tag"];
35
- const classObject = {
36
- [`at-tag--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],
37
- [`at-tag--${type}`]: TYPE_CLASS[type],
38
- "at-tag--disabled": disabled,
39
- "at-tag--active": active,
40
- "at-tag--circle": circle
41
- };
42
- return /* @__PURE__ */ React.createElement(
43
- View,
44
- {
45
- className: classNames(rootClassName, classObject, this.props.className),
46
- style: customStyle,
47
- onClick: this.onClick.bind(this)
48
- },
49
- this.props.children
50
- );
51
- }
34
+ };
35
+ const rootClassName = ["at-tag"];
36
+ const classObject = {
37
+ [`at-tag--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],
38
+ [`at-tag--${type}`]: TYPE_CLASS[type],
39
+ "at-tag--disabled": disabled,
40
+ "at-tag--active": active,
41
+ "at-tag--circle": circle
42
+ };
43
+ return /* @__PURE__ */ React.createElement(
44
+ View,
45
+ {
46
+ className: classNames(rootClassName, classObject, className),
47
+ style: customStyle,
48
+ onClick: handleClick
49
+ },
50
+ children
51
+ );
52
52
  }
53
- AtTag.defaultProps = {
54
- size: "normal",
55
- type: "",
56
- name: "",
57
- circle: false,
58
- active: false,
59
- disabled: false,
60
- customStyle: {}
61
- };
62
53
  AtTag.propTypes = {
63
54
  size: PropTypes.oneOf(["normal", "small"]),
64
55
  type: PropTypes.oneOf(["", "primary"]),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/tag/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtTagProps } from '../../../types/tag'\n\nconst SIZE_CLASS = {\n normal: 'normal',\n small: 'small'\n}\n\nconst TYPE_CLASS = {\n primary: 'primary'\n}\n\nexport default class AtTag extends React.Component<AtTagProps> {\n public static defaultProps: AtTagProps\n public static propTypes: InferProps<AtTagProps>\n\n private onClick(event: CommonEvent): void {\n const { name = '', active = false, disabled, onClick } = this.props\n if (!disabled) {\n typeof onClick === 'function' &&\n onClick(\n {\n name,\n active\n },\n event\n )\n }\n }\n\n public render(): JSX.Element {\n const {\n size = 'normal',\n type = '',\n circle = false,\n disabled = false,\n active = false,\n customStyle\n } = this.props\n const rootClassName = ['at-tag']\n\n const classObject = {\n [`at-tag--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],\n [`at-tag--${type}`]: TYPE_CLASS[type],\n 'at-tag--disabled': disabled,\n 'at-tag--active': active,\n 'at-tag--circle': circle\n }\n\n return (\n <View\n className={classNames(rootClassName, classObject, this.props.className)}\n style={customStyle}\n onClick={this.onClick.bind(this)}\n >\n {this.props.children}\n </View>\n )\n }\n}\n\nAtTag.defaultProps = {\n size: 'normal',\n type: '',\n name: '',\n circle: false,\n active: false,\n disabled: false,\n customStyle: {}\n}\n\nAtTag.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n type: PropTypes.oneOf(['', 'primary']),\n name: PropTypes.string,\n circle: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onClick: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,YAAY;AAIrB,MAAM,aAAa;AAAA,EACjB,QAAQ;AAAA,EACR,OAAO;AACT;AAEA,MAAM,aAAa;AAAA,EACjB,SAAS;AACX;AAEA,MAAO,cAA4B,MAAM,UAAsB;AAAA,EAIrD,QAAQ,OAA0B;AACxC,UAAM,EAAE,OAAO,IAAI,SAAS,OAAO,UAAU,QAAQ,IAAI,KAAK;AAC9D,QAAI,CAAC,UAAU;AACb,aAAO,YAAY,cACjB;AAAA,QACE;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAAA,EAEO,SAAsB;AAC3B,UAAM;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,IACF,IAAI,KAAK;AACT,UAAM,gBAAgB,CAAC,QAAQ;AAE/B,UAAM,cAAc;AAAA,MAClB,CAAC,WAAW,WAAW,IAAI,CAAC,EAAE,GAAG,WAAW,IAAI;AAAA,MAChD,CAAC,WAAW,IAAI,EAAE,GAAG,WAAW,IAAI;AAAA,MACpC,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,IACpB;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,WAAW,eAAe,aAAa,KAAK,MAAM,SAAS;AAAA,QACtE,OAAO;AAAA,QACP,SAAS,KAAK,QAAQ,KAAK,IAAI;AAAA;AAAA,MAE9B,KAAK,MAAM;AAAA,IACd;AAAA,EAEJ;AACF;AAEA,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa,CAAC;AAChB;AAEA,MAAM,YAAY;AAAA,EAChB,MAAM,UAAU,MAAM,CAAC,UAAU,OAAO,CAAC;AAAA,EACzC,MAAM,UAAU,MAAM,CAAC,IAAI,SAAS,CAAC;AAAA,EACrC,MAAM,UAAU;AAAA,EAChB,QAAQ,UAAU;AAAA,EAClB,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AAAA,EACpB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,SAAS,UAAU;AACrB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/tag/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtTagProps } from '../../../types/tag'\n\nconst SIZE_CLASS = {\n normal: 'normal',\n small: 'small'\n}\n\nconst TYPE_CLASS = {\n primary: 'primary'\n}\n\nexport default function AtTag({\n size = 'normal',\n type = '',\n name = '',\n circle = false,\n disabled = false,\n active = false,\n customStyle = {},\n className,\n children,\n onClick\n}: AtTagProps): JSX.Element {\n const handleClick = (event: CommonEvent): void => {\n if (!disabled) {\n typeof onClick === 'function' &&\n onClick(\n {\n name,\n active\n },\n event\n )\n }\n }\n\n const rootClassName = ['at-tag']\n\n const classObject = {\n [`at-tag--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],\n [`at-tag--${type}`]: TYPE_CLASS[type],\n 'at-tag--disabled': disabled,\n 'at-tag--active': active,\n 'at-tag--circle': circle\n }\n\n return (\n <View\n className={classNames(rootClassName, classObject, className)}\n style={customStyle}\n onClick={handleClick}\n >\n {children}\n </View>\n )\n}\n\nAtTag.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n type: PropTypes.oneOf(['', 'primary']),\n name: PropTypes.string,\n circle: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onClick: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,YAAY;AAIrB,MAAM,aAAa;AAAA,EACjB,QAAQ;AAAA,EACR,OAAO;AACT;AAEA,MAAM,aAAa;AAAA,EACjB,SAAS;AACX;AAEe,SAAR,MAAuB;AAAA,EAC5B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,cAAc,CAAC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,cAAc,CAAC,UAA6B;AAChD,QAAI,CAAC,UAAU;AACb,aAAO,YAAY,cACjB;AAAA,QACE;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,gBAAgB,CAAC,QAAQ;AAE/B,QAAM,cAAc;AAAA,IAClB,CAAC,WAAW,WAAW,IAAI,CAAC,EAAE,GAAG,WAAW,IAAI;AAAA,IAChD,CAAC,WAAW,IAAI,EAAE,GAAG,WAAW,IAAI;AAAA,IACpC,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,eAAe,aAAa,SAAS;AAAA,MAC3D,OAAO;AAAA,MACP,SAAS;AAAA;AAAA,IAER;AAAA,EACH;AAEJ;AAEA,MAAM,YAAY;AAAA,EAChB,MAAM,UAAU,MAAM,CAAC,UAAU,OAAO,CAAC;AAAA,EACzC,MAAM,UAAU,MAAM,CAAC,IAAI,SAAS,CAAC;AAAA,EACrC,MAAM,UAAU;AAAA,EAChB,QAAQ,UAAU;AAAA,EAClB,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AAAA,EACpB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,SAAS,UAAU;AACrB;","names":[]}
@@ -1,13 +1,31 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtTextareaProps } from '../../../types/textarea';
4
- export default class AtTextarea extends React.Component<AtTextareaProps> {
5
- static defaultProps: AtTextareaProps;
6
- static propTypes: InferProps<AtTextareaProps>;
7
- private handleInput;
8
- private handleFocus;
9
- private handleBlur;
10
- private handleConfirm;
11
- private handleLinechange;
12
- render(): JSX.Element;
3
+ declare function AtTextarea({ customStyle, className, cursorSpacing, maxLength, placeholder, disabled, autoFocus, focus, showConfirmBar, selectionStart, selectionEnd, count, fixed, height, textOverflowForbidden, value, placeholderStyle, placeholderClass, onChange, onFocus, onBlur, onConfirm, onLinechange }: AtTextareaProps): JSX.Element;
4
+ declare namespace AtTextarea {
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<string>;
9
+ cursorSpacing: PropTypes.Requireable<number>;
10
+ maxLength: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
11
+ placeholderClass: PropTypes.Requireable<string>;
12
+ placeholderStyle: PropTypes.Requireable<string>;
13
+ placeholder: PropTypes.Requireable<string>;
14
+ disabled: PropTypes.Requireable<boolean>;
15
+ autoFocus: PropTypes.Requireable<boolean>;
16
+ focus: PropTypes.Requireable<boolean>;
17
+ showConfirmBar: PropTypes.Requireable<boolean>;
18
+ selectionStart: PropTypes.Requireable<number>;
19
+ selectionEnd: PropTypes.Requireable<number>;
20
+ count: PropTypes.Requireable<boolean>;
21
+ textOverflowForbidden: PropTypes.Requireable<boolean>;
22
+ fixed: PropTypes.Requireable<boolean>;
23
+ height: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
24
+ onLinechange: PropTypes.Requireable<(...args: any[]) => any>;
25
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
26
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
27
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
28
+ onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
29
+ };
13
30
  }
31
+ export default AtTextarea;
@@ -3,44 +3,77 @@ import PropTypes from "prop-types";
3
3
  import React from "react";
4
4
  import { Textarea, View } from "@tarojs/components";
5
5
  import Taro from "@tarojs/taro";
6
- import { pxTransform } from "../../common/utils";
6
+ import { noop, pxTransform } from "../../common/utils";
7
7
  function getMaxLength(maxLength, textOverflowForbidden) {
8
8
  if (!textOverflowForbidden) {
9
9
  return maxLength + 500;
10
10
  }
11
11
  return maxLength;
12
12
  }
13
- const ENV = Taro.getEnv();
14
- class AtTextarea extends React.Component {
15
- constructor() {
16
- super(...arguments);
17
- this.handleInput = (event) => {
18
- this.props.onChange(event.detail.value, event);
19
- };
20
- this.handleFocus = (event) => {
21
- this.props.onFocus && this.props.onFocus(event);
22
- };
23
- this.handleBlur = (event) => {
24
- this.props.onBlur && this.props.onBlur(event);
25
- };
26
- this.handleConfirm = (event) => {
27
- this.props.onConfirm && this.props.onConfirm(event);
28
- };
29
- this.handleLinechange = (event) => {
30
- this.props.onLinechange && this.props.onLinechange(event);
31
- };
32
- }
33
- render() {
34
- const {
35
- customStyle,
36
- className,
37
- value,
13
+ function AtTextarea({
14
+ customStyle = "",
15
+ className = "",
16
+ cursorSpacing = 100,
17
+ maxLength = 200,
18
+ placeholder = "",
19
+ disabled = false,
20
+ autoFocus = false,
21
+ focus = false,
22
+ showConfirmBar = false,
23
+ selectionStart = -1,
24
+ selectionEnd = -1,
25
+ count = true,
26
+ fixed = false,
27
+ height = "",
28
+ textOverflowForbidden = true,
29
+ value,
30
+ placeholderStyle,
31
+ placeholderClass,
32
+ onChange = noop,
33
+ onFocus,
34
+ onBlur,
35
+ onConfirm,
36
+ onLinechange
37
+ }) {
38
+ const ENV = Taro.getEnv();
39
+ const handleInput = (event) => {
40
+ onChange(event.detail.value, event);
41
+ };
42
+ const handleFocus = (event) => {
43
+ onFocus && onFocus(event);
44
+ };
45
+ const handleBlur = (event) => {
46
+ onBlur && onBlur(event);
47
+ };
48
+ const handleConfirm = (event) => {
49
+ onConfirm && onConfirm(event);
50
+ };
51
+ const handleLinechange = (event) => {
52
+ onLinechange && onLinechange(event);
53
+ };
54
+ const _maxLength = parseInt(maxLength.toString());
55
+ const actualMaxLength = getMaxLength(_maxLength, textOverflowForbidden);
56
+ const textareaStyle = height ? `height:${pxTransform(Number(height))}` : "";
57
+ const rootCls = classNames(
58
+ "at-textarea",
59
+ `at-textarea--${ENV}`,
60
+ {
61
+ "at-textarea--error": _maxLength < (value || "").length
62
+ },
63
+ className
64
+ );
65
+ const placeholderCls = classNames("placeholder", placeholderClass);
66
+ return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(
67
+ Textarea,
68
+ {
69
+ className: "at-textarea__textarea",
70
+ style: textareaStyle,
71
+ placeholderStyle,
72
+ placeholderClass: placeholderCls,
38
73
  cursorSpacing,
74
+ value: value || "",
75
+ maxlength: actualMaxLength,
39
76
  placeholder,
40
- placeholderStyle,
41
- placeholderClass,
42
- maxLength = 200,
43
- count,
44
77
  disabled,
45
78
  autoFocus,
46
79
  focus,
@@ -48,68 +81,14 @@ class AtTextarea extends React.Component {
48
81
  selectionStart,
49
82
  selectionEnd,
50
83
  fixed,
51
- textOverflowForbidden = true,
52
- height
53
- } = this.props;
54
- const _maxLength = parseInt(maxLength.toString());
55
- const actualMaxLength = getMaxLength(_maxLength, textOverflowForbidden);
56
- const textareaStyle = height ? `height:${pxTransform(Number(height))}` : "";
57
- const rootCls = classNames(
58
- "at-textarea",
59
- `at-textarea--${ENV}`,
60
- {
61
- "at-textarea--error": _maxLength < (value || "").length
62
- },
63
- className
64
- );
65
- const placeholderCls = classNames("placeholder", placeholderClass);
66
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(
67
- Textarea,
68
- {
69
- className: "at-textarea__textarea",
70
- style: textareaStyle,
71
- placeholderStyle,
72
- placeholderClass: placeholderCls,
73
- cursorSpacing,
74
- value: value || "",
75
- maxlength: actualMaxLength,
76
- placeholder,
77
- disabled,
78
- autoFocus,
79
- focus,
80
- showConfirmBar,
81
- selectionStart,
82
- selectionEnd,
83
- fixed,
84
- onInput: this.handleInput,
85
- onFocus: this.handleFocus,
86
- onBlur: this.handleBlur,
87
- onConfirm: this.handleConfirm,
88
- onLineChange: this.handleLinechange
89
- }
90
- ), count && /* @__PURE__ */ React.createElement(View, { className: "at-textarea__counter" }, (value || "").length, "/", _maxLength));
91
- }
84
+ onInput: handleInput,
85
+ onFocus: handleFocus,
86
+ onBlur: handleBlur,
87
+ onConfirm: handleConfirm,
88
+ onLineChange: handleLinechange
89
+ }
90
+ ), count && /* @__PURE__ */ React.createElement(View, { className: "at-textarea__counter" }, (value || "").length, "/", _maxLength));
92
91
  }
93
- AtTextarea.defaultProps = {
94
- customStyle: "",
95
- className: "",
96
- cursorSpacing: 100,
97
- maxLength: 200,
98
- placeholder: "",
99
- disabled: false,
100
- autoFocus: false,
101
- focus: false,
102
- showConfirmBar: false,
103
- selectionStart: -1,
104
- selectionEnd: -1,
105
- count: true,
106
- fixed: false,
107
- height: "",
108
- textOverflowForbidden: true,
109
- // eslint-disable-next-line @typescript-eslint/no-empty-function
110
- onChange: () => {
111
- }
112
- };
113
92
  AtTextarea.propTypes = {
114
93
  customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
115
94
  className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
@@ -135,7 +114,8 @@ AtTextarea.propTypes = {
135
114
  onBlur: PropTypes.func,
136
115
  onConfirm: PropTypes.func
137
116
  };
117
+ var textarea_default = AtTextarea;
138
118
  export {
139
- AtTextarea as default
119
+ textarea_default as default
140
120
  };
141
121
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/textarea/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Textarea, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtTextareaProps } from '../../../types/textarea'\nimport { pxTransform } from '../../common/utils'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nfunction getMaxLength(\n maxLength: number,\n textOverflowForbidden: boolean\n): number {\n if (!textOverflowForbidden) {\n return maxLength + 500\n }\n return maxLength\n}\n\nconst ENV = Taro.getEnv()\n\nexport default class AtTextarea extends React.Component<AtTextareaProps> {\n public static defaultProps: AtTextareaProps\n public static propTypes: InferProps<AtTextareaProps>\n\n private handleInput = (event: CommonEvent & ExtendEvent): void => {\n this.props.onChange(event.detail.value, event)\n }\n\n private handleFocus = (event: CommonEvent): void => {\n this.props.onFocus && this.props.onFocus(event)\n }\n\n private handleBlur = (event: CommonEvent): void => {\n this.props.onBlur && this.props.onBlur(event)\n }\n\n private handleConfirm = (event: CommonEvent): void => {\n this.props.onConfirm && this.props.onConfirm(event)\n }\n\n private handleLinechange = (event: CommonEvent): void => {\n this.props.onLinechange && this.props.onLinechange(event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n value,\n cursorSpacing,\n placeholder,\n placeholderStyle,\n placeholderClass,\n maxLength = 200,\n count,\n disabled,\n autoFocus,\n focus,\n showConfirmBar,\n selectionStart,\n selectionEnd,\n fixed,\n textOverflowForbidden = true,\n height\n } = this.props\n\n const _maxLength = parseInt(maxLength.toString())\n const actualMaxLength = getMaxLength(_maxLength, textOverflowForbidden)\n const textareaStyle = height ? `height:${pxTransform(Number(height))}` : ''\n const rootCls = classNames(\n 'at-textarea',\n `at-textarea--${ENV}`,\n {\n 'at-textarea--error': _maxLength < (value || '').length\n },\n className\n )\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <Textarea\n className='at-textarea__textarea'\n style={textareaStyle}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n cursorSpacing={cursorSpacing}\n value={value || ''}\n maxlength={actualMaxLength}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n focus={focus}\n showConfirmBar={showConfirmBar}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n fixed={fixed}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n onLineChange={this.handleLinechange}\n />\n {count && (\n <View className='at-textarea__counter'>\n {(value || '').length}/{_maxLength}\n </View>\n )}\n </View>\n )\n }\n}\n\nAtTextarea.defaultProps = {\n customStyle: '',\n className: '',\n cursorSpacing: 100,\n maxLength: 200,\n placeholder: '',\n disabled: false,\n autoFocus: false,\n focus: false,\n showConfirmBar: false,\n selectionStart: -1,\n selectionEnd: -1,\n count: true,\n fixed: false,\n height: '',\n textOverflowForbidden: true,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\n}\n\nAtTextarea.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n value: PropTypes.string,\n cursorSpacing: PropTypes.number,\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholderClass: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n showConfirmBar: PropTypes.bool,\n selectionStart: PropTypes.number,\n selectionEnd: PropTypes.number,\n count: PropTypes.bool,\n textOverflowForbidden: PropTypes.bool,\n fixed: PropTypes.bool,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onLinechange: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,UAAU,YAAY;AAE/B,OAAO,UAAU;AAEjB,SAAS,mBAAmB;AAQ5B,SAAS,aACP,WACA,uBACQ;AACR,MAAI,CAAC,uBAAuB;AAC1B,WAAO,YAAY;AAAA,EACrB;AACA,SAAO;AACT;AAEA,MAAM,MAAM,KAAK,OAAO;AAExB,MAAO,mBAAiC,MAAM,UAA2B;AAAA,EAAzE;AAAA;AAIE,SAAQ,cAAc,CAAC,UAA2C;AAChE,WAAK,MAAM,SAAS,MAAM,OAAO,OAAO,KAAK;AAAA,IAC/C;AAEA,SAAQ,cAAc,CAAC,UAA6B;AAClD,WAAK,MAAM,WAAW,KAAK,MAAM,QAAQ,KAAK;AAAA,IAChD;AAEA,SAAQ,aAAa,CAAC,UAA6B;AACjD,WAAK,MAAM,UAAU,KAAK,MAAM,OAAO,KAAK;AAAA,IAC9C;AAEA,SAAQ,gBAAgB,CAAC,UAA6B;AACpD,WAAK,MAAM,aAAa,KAAK,MAAM,UAAU,KAAK;AAAA,IACpD;AAEA,SAAQ,mBAAmB,CAAC,UAA6B;AACvD,WAAK,MAAM,gBAAgB,KAAK,MAAM,aAAa,KAAK;AAAA,IAC1D;AAAA;AAAA,EAEO,SAAsB;AAC3B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,wBAAwB;AAAA,MACxB;AAAA,IACF,IAAI,KAAK;AAET,UAAM,aAAa,SAAS,UAAU,SAAS,CAAC;AAChD,UAAM,kBAAkB,aAAa,YAAY,qBAAqB;AACtE,UAAM,gBAAgB,SAAS,UAAU,YAAY,OAAO,MAAM,CAAC,CAAC,KAAK;AACzE,UAAM,UAAU;AAAA,MACd;AAAA,MACA,gBAAgB,GAAG;AAAA,MACnB;AAAA,QACE,sBAAsB,cAAc,SAAS,IAAI;AAAA,MACnD;AAAA,MACA;AAAA,IACF;AACA,UAAM,iBAAiB,WAAW,eAAe,gBAAgB;AAEjE,WACE,oCAAC,QAAK,WAAW,SAAS,OAAO,eAC/B;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,QACA,OAAO,SAAS;AAAA,QAChB,WAAW;AAAA,QACX;AAAA,QACA;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,cAAc,KAAK;AAAA;AAAA,IACrB,GACC,SACC,oCAAC,QAAK,WAAU,2BACZ,SAAS,IAAI,QAAO,KAAE,UAC1B,CAEJ;AAAA,EAEJ;AACF;AAEA,WAAW,eAAe;AAAA,EACxB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,aAAa;AAAA,EACb,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,uBAAuB;AAAA;AAAA,EAEvB,UAAU,MAAY;AAAA,EAAC;AACzB;AAEA,WAAW,YAAY;AAAA,EACrB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,WAAW,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC;AAAA,EAClE,OAAO,UAAU;AAAA,EACjB,eAAe,UAAU;AAAA,EACzB,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACnE,kBAAkB,UAAU;AAAA,EAC5B,kBAAkB,UAAU;AAAA,EAC5B,aAAa,UAAU;AAAA,EACvB,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA,EACrB,OAAO,UAAU;AAAA,EACjB,gBAAgB,UAAU;AAAA,EAC1B,gBAAgB,UAAU;AAAA,EAC1B,cAAc,UAAU;AAAA,EACxB,OAAO,UAAU;AAAA,EACjB,uBAAuB,UAAU;AAAA,EACjC,OAAO,UAAU;AAAA,EACjB,QAAQ,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAChE,cAAc,UAAU;AAAA,EACxB,UAAU,UAAU,KAAK;AAAA,EACzB,SAAS,UAAU;AAAA,EACnB,QAAQ,UAAU;AAAA,EAClB,WAAW,UAAU;AACvB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/textarea/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Textarea, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtTextareaProps } from '../../../types/textarea'\nimport { noop, pxTransform } from '../../common/utils'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nfunction getMaxLength(\n maxLength: number,\n textOverflowForbidden: boolean\n): number {\n if (!textOverflowForbidden) {\n return maxLength + 500\n }\n return maxLength\n}\n\nfunction AtTextarea({\n customStyle = '',\n className = '',\n cursorSpacing = 100,\n maxLength = 200,\n placeholder = '',\n disabled = false,\n autoFocus = false,\n focus = false,\n showConfirmBar = false,\n selectionStart = -1,\n selectionEnd = -1,\n count = true,\n fixed = false,\n height = '',\n textOverflowForbidden = true,\n value,\n placeholderStyle,\n placeholderClass,\n onChange = noop,\n onFocus,\n onBlur,\n onConfirm,\n onLinechange\n}: AtTextareaProps): JSX.Element {\n const ENV = Taro.getEnv()\n\n const handleInput = (event: CommonEvent & ExtendEvent): void => {\n onChange(event.detail.value, event)\n }\n\n const handleFocus = (event: CommonEvent): void => {\n onFocus && onFocus(event)\n }\n\n const handleBlur = (event: CommonEvent): void => {\n onBlur && onBlur(event)\n }\n\n const handleConfirm = (event: CommonEvent): void => {\n onConfirm && onConfirm(event)\n }\n\n const handleLinechange = (event: CommonEvent): void => {\n onLinechange && onLinechange(event)\n }\n\n const _maxLength = parseInt(maxLength.toString())\n const actualMaxLength = getMaxLength(_maxLength, textOverflowForbidden)\n const textareaStyle = height ? `height:${pxTransform(Number(height))}` : ''\n const rootCls = classNames(\n 'at-textarea',\n `at-textarea--${ENV}`,\n {\n 'at-textarea--error': _maxLength < (value || '').length\n },\n className\n )\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <Textarea\n className='at-textarea__textarea'\n style={textareaStyle}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n cursorSpacing={cursorSpacing}\n value={value || ''}\n maxlength={actualMaxLength}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n focus={focus}\n showConfirmBar={showConfirmBar}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n fixed={fixed}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n onLineChange={handleLinechange}\n />\n {count && (\n <View className='at-textarea__counter'>\n {(value || '').length}/{_maxLength}\n </View>\n )}\n </View>\n )\n}\n\nAtTextarea.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n value: PropTypes.string,\n cursorSpacing: PropTypes.number,\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholderClass: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n showConfirmBar: PropTypes.bool,\n selectionStart: PropTypes.number,\n selectionEnd: PropTypes.number,\n count: PropTypes.bool,\n textOverflowForbidden: PropTypes.bool,\n fixed: PropTypes.bool,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onLinechange: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func\n}\n\nexport default AtTextarea\n"],"mappings":"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","names":[]}
@@ -1,8 +1,11 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtTimelineProps } from '../../../types/timeline';
4
- export default class AtTimeline extends React.Component<AtTimelineProps> {
5
- static defaultProps: AtTimelineProps;
6
- static propTypes: InferProps<AtTimelineProps>;
7
- render(): JSX.Element;
3
+ declare function AtTimeline({ pending, items, customStyle, className, onClickItem }: AtTimelineProps): JSX.Element;
4
+ declare namespace AtTimeline {
5
+ var propTypes: {
6
+ pending: PropTypes.Requireable<boolean>;
7
+ items: PropTypes.Requireable<(object | null | undefined)[]>;
8
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
9
+ };
8
10
  }
11
+ export default AtTimeline;
@@ -2,69 +2,63 @@ import classNames from "classnames";
2
2
  import PropTypes from "prop-types";
3
3
  import React from "react";
4
4
  import { Text, View } from "@tarojs/components";
5
- class AtTimeline extends React.Component {
6
- render() {
7
- const { pending, items, customStyle, onClickItem } = this.props;
8
- const rootClassName = ["at-timeline"];
9
- if (pending) rootClassName.push("at-timeline--pending");
10
- const rootClassObject = {
11
- "at-timeline--pending": pending
12
- };
13
- const itemElems = items.map((item, index) => {
14
- const { title = "", color, icon, content = [] } = item;
15
- const iconClass = classNames({
16
- "at-icon": true,
17
- [`at-icon-${icon}`]: icon
18
- });
19
- const itemRootClassName = ["at-timeline-item"];
20
- if (color) itemRootClassName.push(`at-timeline-item--${color}`);
21
- const dotClass = [];
22
- if (icon) {
23
- dotClass.push("at-timeline-item__icon");
24
- } else {
25
- dotClass.push("at-timeline-item__dot");
26
- }
27
- const handleItemClick = (index2, e) => {
28
- onClickItem == null ? void 0 : onClickItem(index2, e);
29
- };
30
- return /* @__PURE__ */ React.createElement(
31
- View,
32
- {
33
- className: classNames(itemRootClassName),
34
- key: `at-timeline-item-${index}`,
35
- onClick: (e) => handleItemClick(index, e)
36
- },
37
- /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__tail" }),
38
- /* @__PURE__ */ React.createElement(View, { className: classNames(dotClass) }, icon && /* @__PURE__ */ React.createElement(Text, { className: iconClass })),
39
- /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__content" }, /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__content-item" }, title), content.map((sub, subIndex) => /* @__PURE__ */ React.createElement(
40
- View,
41
- {
42
- className: "at-timeline-item__content-item at-timeline-item__content--sub",
43
- key: subIndex
44
- },
45
- sub
46
- )))
47
- );
5
+ function AtTimeline({
6
+ pending = false,
7
+ items = [],
8
+ customStyle = {},
9
+ className,
10
+ onClickItem
11
+ }) {
12
+ const rootClassName = ["at-timeline"];
13
+ if (pending) rootClassName.push("at-timeline--pending");
14
+ const rootClassObject = {
15
+ "at-timeline--pending": pending
16
+ };
17
+ const itemElems = items.map((item, index) => {
18
+ const { title = "", color, icon, content = [] } = item;
19
+ const iconClass = classNames({
20
+ "at-icon": true,
21
+ [`at-icon-${icon}`]: icon
48
22
  });
23
+ const itemRootClassName = ["at-timeline-item"];
24
+ if (color) itemRootClassName.push(`at-timeline-item--${color}`);
25
+ const dotClass = [];
26
+ if (icon) {
27
+ dotClass.push("at-timeline-item__icon");
28
+ } else {
29
+ dotClass.push("at-timeline-item__dot");
30
+ }
31
+ const handleItemClick = (itemIndex, e) => {
32
+ onClickItem == null ? void 0 : onClickItem(itemIndex, e);
33
+ };
49
34
  return /* @__PURE__ */ React.createElement(
50
35
  View,
51
36
  {
52
- className: classNames(
53
- rootClassName,
54
- rootClassObject,
55
- this.props.className
56
- ),
57
- style: customStyle
37
+ className: classNames(itemRootClassName),
38
+ key: `at-timeline-item-${index}`,
39
+ onClick: (e) => handleItemClick(index, e)
58
40
  },
59
- itemElems
41
+ /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__tail" }),
42
+ /* @__PURE__ */ React.createElement(View, { className: classNames(dotClass) }, icon && /* @__PURE__ */ React.createElement(Text, { className: iconClass })),
43
+ /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__content" }, /* @__PURE__ */ React.createElement(View, { className: "at-timeline-item__content-item" }, title), content.map((sub, subIndex) => /* @__PURE__ */ React.createElement(
44
+ View,
45
+ {
46
+ className: "at-timeline-item__content-item at-timeline-item__content--sub",
47
+ key: subIndex
48
+ },
49
+ sub
50
+ )))
60
51
  );
61
- }
52
+ });
53
+ return /* @__PURE__ */ React.createElement(
54
+ View,
55
+ {
56
+ className: classNames(rootClassName, rootClassObject, className),
57
+ style: customStyle
58
+ },
59
+ itemElems
60
+ );
62
61
  }
63
- AtTimeline.defaultProps = {
64
- pending: false,
65
- items: [],
66
- customStyle: {}
67
- };
68
62
  AtTimeline.propTypes = {
69
63
  pending: PropTypes.bool,
70
64
  items: PropTypes.arrayOf(PropTypes.object),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/timeline/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtTimelineProps } from '../../../types/timeline'\n\nexport default class AtTimeline extends React.Component<AtTimelineProps> {\n public static defaultProps: AtTimelineProps\n public static propTypes: InferProps<AtTimelineProps>\n\n public render(): JSX.Element {\n const { pending, items, customStyle, onClickItem } = this.props\n\n const rootClassName = ['at-timeline']\n if (pending) rootClassName.push('at-timeline--pending')\n\n const rootClassObject = {\n 'at-timeline--pending': pending\n }\n\n const itemElems = items.map((item, index) => {\n const { title = '', color, icon, content = [] } = item\n\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon}`]: icon\n })\n\n const itemRootClassName = ['at-timeline-item']\n if (color) itemRootClassName.push(`at-timeline-item--${color}`)\n\n const dotClass: string[] = []\n if (icon) {\n dotClass.push('at-timeline-item__icon')\n } else {\n dotClass.push('at-timeline-item__dot')\n }\n\n const handleItemClick = (index, e) => {\n onClickItem?.(index, e)\n }\n\n return (\n <View\n className={classNames(itemRootClassName)}\n key={`at-timeline-item-${index}`}\n onClick={e => handleItemClick(index, e)}\n >\n <View className='at-timeline-item__tail'></View>\n <View className={classNames(dotClass)}>\n {icon && <Text className={iconClass}></Text>}\n </View>\n <View className='at-timeline-item__content'>\n <View className='at-timeline-item__content-item'>{title}</View>\n {content.map((sub, subIndex) => (\n <View\n className='at-timeline-item__content-item at-timeline-item__content--sub'\n key={subIndex}\n >\n {sub}\n </View>\n ))}\n </View>\n </View>\n )\n })\n return (\n <View\n className={classNames(\n rootClassName,\n rootClassObject,\n this.props.className\n )}\n style={customStyle}\n >\n {itemElems}\n </View>\n )\n }\n}\n\nAtTimeline.defaultProps = {\n pending: false,\n items: [],\n customStyle: {}\n}\n\nAtTimeline.propTypes = {\n pending: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.object),\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string])\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAG3B,MAAO,mBAAiC,MAAM,UAA2B;AAAA,EAIhE,SAAsB;AAC3B,UAAM,EAAE,SAAS,OAAO,aAAa,YAAY,IAAI,KAAK;AAE1D,UAAM,gBAAgB,CAAC,aAAa;AACpC,QAAI,QAAS,eAAc,KAAK,sBAAsB;AAEtD,UAAM,kBAAkB;AAAA,MACtB,wBAAwB;AAAA,IAC1B;AAEA,UAAM,YAAY,MAAM,IAAI,CAAC,MAAM,UAAU;AAC3C,YAAM,EAAE,QAAQ,IAAI,OAAO,MAAM,UAAU,CAAC,EAAE,IAAI;AAElD,YAAM,YAAY,WAAW;AAAA,QAC3B,WAAW;AAAA,QACX,CAAC,WAAW,IAAI,EAAE,GAAG;AAAA,MACvB,CAAC;AAED,YAAM,oBAAoB,CAAC,kBAAkB;AAC7C,UAAI,MAAO,mBAAkB,KAAK,qBAAqB,KAAK,EAAE;AAE9D,YAAM,WAAqB,CAAC;AAC5B,UAAI,MAAM;AACR,iBAAS,KAAK,wBAAwB;AAAA,MACxC,OAAO;AACL,iBAAS,KAAK,uBAAuB;AAAA,MACvC;AAEA,YAAM,kBAAkB,CAACA,QAAO,MAAM;AACpC,mDAAcA,QAAO;AAAA,MACvB;AAEA,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,WAAW,iBAAiB;AAAA,UACvC,KAAK,oBAAoB,KAAK;AAAA,UAC9B,SAAS,OAAK,gBAAgB,OAAO,CAAC;AAAA;AAAA,QAEtC,oCAAC,QAAK,WAAU,0BAAyB;AAAA,QACzC,oCAAC,QAAK,WAAW,WAAW,QAAQ,KACjC,QAAQ,oCAAC,QAAK,WAAW,WAAW,CACvC;AAAA,QACA,oCAAC,QAAK,WAAU,+BACd,oCAAC,QAAK,WAAU,oCAAkC,KAAM,GACvD,QAAQ,IAAI,CAAC,KAAK,aACjB;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,KAAK;AAAA;AAAA,UAEJ;AAAA,QACH,CACD,CACH;AAAA,MACF;AAAA,IAEJ,CAAC;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA,KAAK,MAAM;AAAA,QACb;AAAA,QACA,OAAO;AAAA;AAAA,MAEN;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,WAAW,eAAe;AAAA,EACxB,SAAS;AAAA,EACT,OAAO,CAAC;AAAA,EACR,aAAa,CAAC;AAChB;AAEA,WAAW,YAAY;AAAA,EACrB,SAAS,UAAU;AAAA,EACnB,OAAO,UAAU,QAAQ,UAAU,MAAM;AAAA,EACzC,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AACvE;","names":["index"]}
1
+ {"version":3,"sources":["../../../src/components/timeline/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtTimelineProps } from '../../../types/timeline'\n\nexport default function AtTimeline({\n pending = false,\n items = [],\n customStyle = {},\n className,\n onClickItem\n}: AtTimelineProps): JSX.Element {\n const rootClassName = ['at-timeline']\n if (pending) rootClassName.push('at-timeline--pending')\n\n const rootClassObject = {\n 'at-timeline--pending': pending\n }\n\n const itemElems = items.map((item, index) => {\n const { title = '', color, icon, content = [] } = item\n\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon}`]: icon\n })\n\n const itemRootClassName = ['at-timeline-item']\n if (color) itemRootClassName.push(`at-timeline-item--${color}`)\n\n const dotClass: string[] = []\n if (icon) {\n dotClass.push('at-timeline-item__icon')\n } else {\n dotClass.push('at-timeline-item__dot')\n }\n\n const handleItemClick = (itemIndex: number, e: any): void => {\n onClickItem?.(itemIndex, e)\n }\n\n return (\n <View\n className={classNames(itemRootClassName)}\n key={`at-timeline-item-${index}`}\n onClick={e => handleItemClick(index, e)}\n >\n <View className='at-timeline-item__tail'></View>\n <View className={classNames(dotClass)}>\n {icon && <Text className={iconClass}></Text>}\n </View>\n <View className='at-timeline-item__content'>\n <View className='at-timeline-item__content-item'>{title}</View>\n {content.map((sub, subIndex) => (\n <View\n className='at-timeline-item__content-item at-timeline-item__content--sub'\n key={subIndex}\n >\n {sub}\n </View>\n ))}\n </View>\n </View>\n )\n })\n return (\n <View\n className={classNames(rootClassName, rootClassObject, className)}\n style={customStyle}\n >\n {itemElems}\n </View>\n )\n}\n\nAtTimeline.propTypes = {\n pending: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.object),\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string])\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAGZ,SAAR,WAA4B;AAAA,EACjC,UAAU;AAAA,EACV,QAAQ,CAAC;AAAA,EACT,cAAc,CAAC;AAAA,EACf;AAAA,EACA;AACF,GAAiC;AAC/B,QAAM,gBAAgB,CAAC,aAAa;AACpC,MAAI,QAAS,eAAc,KAAK,sBAAsB;AAEtD,QAAM,kBAAkB;AAAA,IACtB,wBAAwB;AAAA,EAC1B;AAEA,QAAM,YAAY,MAAM,IAAI,CAAC,MAAM,UAAU;AAC3C,UAAM,EAAE,QAAQ,IAAI,OAAO,MAAM,UAAU,CAAC,EAAE,IAAI;AAElD,UAAM,YAAY,WAAW;AAAA,MAC3B,WAAW;AAAA,MACX,CAAC,WAAW,IAAI,EAAE,GAAG;AAAA,IACvB,CAAC;AAED,UAAM,oBAAoB,CAAC,kBAAkB;AAC7C,QAAI,MAAO,mBAAkB,KAAK,qBAAqB,KAAK,EAAE;AAE9D,UAAM,WAAqB,CAAC;AAC5B,QAAI,MAAM;AACR,eAAS,KAAK,wBAAwB;AAAA,IACxC,OAAO;AACL,eAAS,KAAK,uBAAuB;AAAA,IACvC;AAEA,UAAM,kBAAkB,CAAC,WAAmB,MAAiB;AAC3D,iDAAc,WAAW;AAAA,IAC3B;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,WAAW,iBAAiB;AAAA,QACvC,KAAK,oBAAoB,KAAK;AAAA,QAC9B,SAAS,OAAK,gBAAgB,OAAO,CAAC;AAAA;AAAA,MAEtC,oCAAC,QAAK,WAAU,0BAAyB;AAAA,MACzC,oCAAC,QAAK,WAAW,WAAW,QAAQ,KACjC,QAAQ,oCAAC,QAAK,WAAW,WAAW,CACvC;AAAA,MACA,oCAAC,QAAK,WAAU,+BACd,oCAAC,QAAK,WAAU,oCAAkC,KAAM,GACvD,QAAQ,IAAI,CAAC,KAAK,aACjB;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,KAAK;AAAA;AAAA,QAEJ;AAAA,MACH,CACD,CACH;AAAA,IACF;AAAA,EAEJ,CAAC;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,eAAe,iBAAiB,SAAS;AAAA,MAC/D,OAAO;AAAA;AAAA,IAEN;AAAA,EACH;AAEJ;AAEA,WAAW,YAAY;AAAA,EACrB,SAAS,UAAU;AAAA,EACnB,OAAO,UAAU,QAAQ,UAAU,MAAM;AAAA,EACzC,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AACvE;","names":[]}