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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/range/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtRangeProps, AtRangeState } from '../../../types/range'\nimport {\n delayQuerySelector,\n getEventDetail,\n mergeStyle\n} from '../../common/utils'\n\nexport default class AtRange extends React.Component<\n AtRangeProps,\n AtRangeState\n> {\n public static defaultProps: AtRangeProps\n public static propTypes: InferProps<AtRangeProps>\n\n private width: number\n private left: number\n private deltaValue: number\n private currentSlider: string\n\n public constructor(props: AtRangeProps) {\n super(props)\n const { min = 0, max = 100 } = props\n // range 宽度\n this.width = 0\n // range 到屏幕左边的距离\n this.left = 0\n this.deltaValue = max - min\n this.currentSlider = ''\n this.state = {\n aX: 0,\n bX: 0\n }\n }\n\n private handleClick = (event: CommonEvent): void => {\n if (this.currentSlider && !this.props.disabled) {\n let sliderValue = 0\n const detail = getEventDetail(event)\n sliderValue = detail.x - this.left\n this.setSliderValue(this.currentSlider, sliderValue, 'onChange')\n }\n }\n\n private handleTouchMove(sliderName: string, event: ITouchEvent): void {\n if (this.props.disabled) return\n event.stopPropagation()\n\n const clientX = event.touches[0].clientX\n this.setSliderValue(sliderName, clientX - this.left, 'onChange')\n }\n\n private handleTouchEnd(sliderName: string): void {\n if (this.props.disabled) return\n\n this.currentSlider = sliderName\n this.triggerEvent('onAfterChange')\n }\n\n private setSliderValue(\n sliderName: string,\n targetValue: number,\n funcName: string\n ): void {\n const distance = Math.min(Math.max(targetValue, 0), this.width)\n const sliderValue = Math.floor((distance / this.width) * 100)\n if (funcName) {\n this.setState(\n {\n [sliderName]: sliderValue\n },\n () => this.triggerEvent(funcName)\n )\n } else {\n this.setState({\n [sliderName]: sliderValue\n })\n }\n }\n\n private setValue(value: number[]): void {\n const { min = 0 } = this.props\n const aX = Math.round(((value[0] - min) / this.deltaValue) * 100) // fix issue #670\n const bX = Math.round(((value[1] - min) / this.deltaValue) * 100) // fix issue #670\n this.setState({ aX, bX })\n }\n\n private triggerEvent(funcName: string): void {\n const { min = 0 } = this.props\n const { aX, bX } = this.state\n const a = Math.round((aX / 100) * this.deltaValue) + min // fix issue #670\n const b = Math.round((bX / 100) * this.deltaValue) + min // fix issue #670\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n\n if (funcName === 'onChange') {\n this.props.onChange && this.props.onChange(result)\n } else if (funcName === 'onAfterChange') {\n this.props.onAfterChange && this.props.onAfterChange(result)\n }\n }\n\n private updatePos(): void {\n delayQuerySelector('.at-range__container', 0).then(rect => {\n this.width = Math.round(rect[0]?.width)\n this.left = Math.round(rect[0]?.left)\n })\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtRangeProps): void {\n const { value = [] } = nextProps\n this.updatePos()\n if (\n this.props.value?.[0] !== value?.[0] ||\n this.props.value?.[1] !== value?.[1]\n ) {\n this.setValue(value)\n }\n }\n\n public componentDidMount(): void {\n const { value = [] } = this.props\n this.updatePos()\n this.setValue(value)\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n sliderStyle = {},\n railStyle = {},\n trackStyle = {},\n blockSize,\n disabled\n } = this.props\n\n const rootCls = classNames(\n 'at-range',\n {\n 'at-range--disabled': disabled\n },\n className\n )\n\n const { aX, bX } = this.state\n const sliderCommonStyle = {\n width: blockSize ? `${blockSize}PX` : '',\n height: blockSize ? `${blockSize}PX` : '',\n marginLeft: blockSize ? `${-blockSize / 2}PX` : ''\n }\n const sliderAStyle = {\n ...sliderCommonStyle,\n left: `${aX}%`\n }\n const sliderBStyle = {\n ...sliderCommonStyle,\n left: `${bX}%`\n }\n const containerStyle = {\n height: blockSize ? `${blockSize}PX` : ''\n }\n const smallerX = Math.min(aX, bX)\n const deltaX = Math.abs(aX - bX)\n const atTrackStyle = {\n left: `${smallerX}%`,\n width: `${deltaX}%`\n }\n\n return (\n <View className={rootCls} style={customStyle} onClick={this.handleClick}>\n <View className='at-range__container' style={containerStyle}>\n <View className='at-range__rail' style={railStyle}></View>\n <View\n className='at-range__track'\n style={mergeStyle(atTrackStyle, trackStyle)}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderAStyle, sliderStyle)}\n onTouchMove={this.handleTouchMove.bind(this, 'aX')}\n onTouchEnd={this.handleTouchEnd.bind(this, 'aX')}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderBStyle, sliderStyle)}\n onTouchMove={this.handleTouchMove.bind(this, 'bX')}\n onTouchEnd={this.handleTouchEnd.bind(this, 'bX')}\n ></View>\n </View>\n </View>\n )\n }\n}\n\nAtRange.defaultProps = {\n customStyle: '',\n className: '',\n sliderStyle: '',\n railStyle: '',\n trackStyle: '',\n value: [0, 0],\n min: 0,\n max: 100,\n disabled: false,\n blockSize: 0\n}\n\nAtRange.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n sliderStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n railStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.array,\n min: PropTypes.number,\n max: PropTypes.number,\n disabled: PropTypes.bool,\n blockSize: PropTypes.number,\n onChange: PropTypes.func,\n onAfterChange: PropTypes.func\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/range/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtRangeProps } from '../../../types/range'\nimport {\n delayQuerySelector,\n getEventDetail,\n mergeStyle\n} from '../../common/utils'\n\nfunction AtRange({\n customStyle = '',\n className = '',\n sliderStyle = {},\n railStyle = {},\n trackStyle = {},\n value = [0, 0],\n min = 0,\n max = 100,\n disabled = false,\n blockSize = 0,\n onChange,\n onAfterChange\n}: AtRangeProps): JSX.Element {\n const widthRef = useRef(0)\n const leftRef = useRef(0)\n const deltaValueRef = useRef(max - min)\n const currentSliderRef = useRef('')\n const [{ aX, bX }, setAxis] = useState({ aX: 0, bX: 0 })\n const stateRef = useRef({ aX: 0, bX: 0 })\n stateRef.current = { aX, bX }\n\n deltaValueRef.current = max - min\n\n const triggerEvent = (funcName: string): void => {\n const { aX: stateAX, bX: stateBX } = stateRef.current\n const a = Math.round((stateAX / 100) * deltaValueRef.current) + min\n const b = Math.round((stateBX / 100) * deltaValueRef.current) + min\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n\n if (funcName === 'onChange') {\n onChange && onChange(result)\n } else if (funcName === 'onAfterChange') {\n onAfterChange && onAfterChange(result)\n }\n }\n\n const setValue = (nextValue: number[]): void => {\n const aXVal = Math.round(\n ((nextValue[0] - min) / deltaValueRef.current) * 100\n )\n const bXVal = Math.round(\n ((nextValue[1] - min) / deltaValueRef.current) * 100\n )\n setAxis({ aX: aXVal, bX: bXVal })\n }\n\n const setSliderValue = (\n sliderName: string,\n targetValue: number,\n funcName: string\n ): void => {\n const distance = Math.min(Math.max(targetValue, 0), widthRef.current)\n const sliderValue = Math.floor((distance / widthRef.current) * 100)\n if (funcName) {\n setAxis(prev => {\n const next = { ...prev, [sliderName]: sliderValue }\n stateRef.current = next\n const a = Math.round((next.aX / 100) * deltaValueRef.current) + min\n const b = Math.round((next.bX / 100) * deltaValueRef.current) + min\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n if (funcName === 'onChange') {\n onChange && onChange(result)\n } else if (funcName === 'onAfterChange') {\n onAfterChange && onAfterChange(result)\n }\n return next\n })\n } else {\n setAxis(prev => ({ ...prev, [sliderName]: sliderValue }))\n }\n }\n\n const updatePos = (): void => {\n delayQuerySelector('.at-range__container', 0).then(rect => {\n widthRef.current = Math.round(rect[0]?.width)\n leftRef.current = Math.round(rect[0]?.left)\n })\n }\n\n const handleClick = (event: CommonEvent): void => {\n if (currentSliderRef.current && !disabled) {\n let sliderValue = 0\n const detail = getEventDetail(event)\n sliderValue = detail.x - leftRef.current\n setSliderValue(currentSliderRef.current, sliderValue, 'onChange')\n }\n }\n\n const handleTouchMove = (sliderName: string, event: ITouchEvent): void => {\n if (disabled) return\n event.stopPropagation()\n\n const clientX = event.touches[0].clientX\n setSliderValue(sliderName, clientX - leftRef.current, 'onChange')\n }\n\n const handleTouchEnd = (sliderName: string): void => {\n if (disabled) return\n\n currentSliderRef.current = sliderName\n triggerEvent('onAfterChange')\n }\n\n useEffect(() => {\n updatePos()\n setValue(value)\n // componentDidMount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const prevValueRef = useRef(value)\n useEffect(() => {\n updatePos()\n if (\n prevValueRef.current?.[0] !== value?.[0] ||\n prevValueRef.current?.[1] !== value?.[1]\n ) {\n setValue(value)\n }\n prevValueRef.current = value\n }, [value, min, max])\n\n const rootCls = classNames(\n 'at-range',\n {\n 'at-range--disabled': disabled\n },\n className\n )\n\n const sliderCommonStyle = {\n width: blockSize ? `${blockSize}PX` : '',\n height: blockSize ? `${blockSize}PX` : '',\n marginLeft: blockSize ? `${-blockSize / 2}PX` : ''\n }\n const sliderAStyle = {\n ...sliderCommonStyle,\n left: `${aX}%`\n }\n const sliderBStyle = {\n ...sliderCommonStyle,\n left: `${bX}%`\n }\n const containerStyle = {\n height: blockSize ? `${blockSize}PX` : ''\n }\n const smallerX = Math.min(aX, bX)\n const deltaX = Math.abs(aX - bX)\n const atTrackStyle = {\n left: `${smallerX}%`,\n width: `${deltaX}%`\n }\n\n return (\n <View className={rootCls} style={customStyle} onClick={handleClick}>\n <View className='at-range__container' style={containerStyle}>\n <View className='at-range__rail' style={railStyle}></View>\n <View\n className='at-range__track'\n style={mergeStyle(atTrackStyle, trackStyle)}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderAStyle, sliderStyle)}\n onTouchMove={(event: ITouchEvent) => handleTouchMove('aX', event)}\n onTouchEnd={() => handleTouchEnd('aX')}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderBStyle, sliderStyle)}\n onTouchMove={(event: ITouchEvent) => handleTouchMove('bX', event)}\n onTouchEnd={() => handleTouchEnd('bX')}\n ></View>\n </View>\n </View>\n )\n}\n\nAtRange.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n sliderStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n railStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.array,\n min: PropTypes.number,\n max: PropTypes.number,\n disabled: PropTypes.bool,\n blockSize: PropTypes.number,\n onChange: PropTypes.func,\n onAfterChange: PropTypes.func\n}\n\nexport default AtRange\n"],"mappings":"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","names":[]}
@@ -1,9 +1,15 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtRateProps } from '../../../types/rate';
4
- export default class AtRate extends React.Component<AtRateProps> {
5
- static defaultProps: AtRateProps;
6
- static propTypes: InferProps<AtRateProps>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtRate({ customStyle, className, value, max, size, margin, onChange }: AtRateProps): JSX.Element;
4
+ declare namespace AtRate {
5
+ var propTypes: {
6
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
7
+ className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
8
+ size: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
9
+ value: PropTypes.Requireable<number>;
10
+ max: PropTypes.Requireable<number>;
11
+ margin: PropTypes.Requireable<number>;
12
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
13
+ };
9
14
  }
15
+ export default AtRate;
@@ -3,70 +3,54 @@ import PropTypes from "prop-types";
3
3
  import React from "react";
4
4
  import { Text, View } from "@tarojs/components";
5
5
  import { pxTransform } from "../../common/utils";
6
- class AtRate extends React.Component {
7
- handleClick(event) {
8
- this.props.onChange && this.props.onChange(event);
9
- }
10
- render() {
11
- const {
12
- customStyle,
13
- className,
14
- value = 0,
15
- max = 5,
16
- size,
17
- margin = 5
18
- } = this.props;
19
- const iconStyle = {
20
- marginRight: pxTransform(margin)
21
- };
22
- const starIconStyle = {
23
- fontSize: size ? `${size}px` : ""
24
- };
25
- const classNameArr = [];
26
- const floorValue = Math.floor(value);
27
- const ceilValue = Math.ceil(value);
28
- for (let i = 0; i < max; i++) {
29
- if (floorValue > i) {
30
- classNameArr.push("at-rate__icon at-rate__icon--on");
31
- } else if (ceilValue - 1 === i) {
32
- classNameArr.push("at-rate__icon at-rate__icon--half");
33
- } else {
34
- classNameArr.push("at-rate__icon at-rate__icon--off");
35
- }
6
+ function AtRate({
7
+ customStyle = "",
8
+ className = "",
9
+ value = 0,
10
+ max = 5,
11
+ size = 0,
12
+ margin = 5,
13
+ onChange
14
+ }) {
15
+ const handleClick = (event) => {
16
+ onChange && onChange(event);
17
+ };
18
+ const iconStyle = {
19
+ marginRight: pxTransform(margin)
20
+ };
21
+ const starIconStyle = {
22
+ fontSize: size ? `${size}px` : ""
23
+ };
24
+ const classNameArr = [];
25
+ const floorValue = Math.floor(value);
26
+ const ceilValue = Math.ceil(value);
27
+ for (let i = 0; i < max; i++) {
28
+ if (floorValue > i) {
29
+ classNameArr.push("at-rate__icon at-rate__icon--on");
30
+ } else if (ceilValue - 1 === i) {
31
+ classNameArr.push("at-rate__icon at-rate__icon--half");
32
+ } else {
33
+ classNameArr.push("at-rate__icon at-rate__icon--off");
36
34
  }
37
- return /* @__PURE__ */ React.createElement(View, { className: classNames("at-rate", className), style: customStyle }, classNameArr.map((cls, i) => /* @__PURE__ */ React.createElement(
38
- View,
39
- {
40
- className: cls,
41
- key: `at-rate-star-${i}`,
42
- style: iconStyle,
43
- onClick: this.handleClick.bind(this, i + 1)
44
- },
45
- /* @__PURE__ */ React.createElement(
46
- Text,
47
- {
48
- className: "at-icon at-icon-star-2",
49
- style: starIconStyle
50
- }
51
- ),
52
- /* @__PURE__ */ React.createElement(View, { className: "at-rate__left" }, /* @__PURE__ */ React.createElement(
53
- Text,
54
- {
55
- className: "at-icon at-icon-star-2",
56
- style: starIconStyle
57
- }
58
- ))
59
- )));
60
35
  }
36
+ return /* @__PURE__ */ React.createElement(View, { className: classNames("at-rate", className), style: customStyle }, classNameArr.map((cls, i) => /* @__PURE__ */ React.createElement(
37
+ View,
38
+ {
39
+ className: cls,
40
+ key: `at-rate-star-${i}`,
41
+ style: iconStyle,
42
+ onClick: handleClick.bind(null, i + 1)
43
+ },
44
+ /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-star-2", style: starIconStyle }),
45
+ /* @__PURE__ */ React.createElement(View, { className: "at-rate__left" }, /* @__PURE__ */ React.createElement(
46
+ Text,
47
+ {
48
+ className: "at-icon at-icon-star-2",
49
+ style: starIconStyle
50
+ }
51
+ ))
52
+ )));
61
53
  }
62
- AtRate.defaultProps = {
63
- customStyle: "",
64
- className: "",
65
- size: 0,
66
- value: 0,
67
- max: 5,
68
- margin: 5
69
- };
70
54
  AtRate.propTypes = {
71
55
  customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
72
56
  className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
@@ -76,7 +60,8 @@ AtRate.propTypes = {
76
60
  margin: PropTypes.number,
77
61
  onChange: PropTypes.func
78
62
  };
63
+ var rate_default = AtRate;
79
64
  export {
80
- AtRate as default
65
+ rate_default as default
81
66
  };
82
67
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/rate/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtRateProps } from '../../../types/rate'\nimport { pxTransform } from '../../common/utils'\n\nexport default class AtRate extends React.Component<AtRateProps> {\n public static defaultProps: AtRateProps\n public static propTypes: InferProps<AtRateProps>\n\n private handleClick(event: CommonEvent): void {\n this.props.onChange && this.props.onChange(event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n value = 0,\n max = 5,\n size,\n margin = 5\n } = this.props\n\n const iconStyle = {\n marginRight: pxTransform(margin)\n }\n const starIconStyle = {\n fontSize: size ? `${size}px` : ''\n }\n\n // 生成星星颜色 className 数组,方便在jsx中直接map\n const classNameArr: string[] = []\n const floorValue = Math.floor(value)\n const ceilValue = Math.ceil(value)\n for (let i = 0; i < max; i++) {\n if (floorValue > i) {\n classNameArr.push('at-rate__icon at-rate__icon--on')\n } else if (ceilValue - 1 === i) {\n classNameArr.push('at-rate__icon at-rate__icon--half')\n } else {\n classNameArr.push('at-rate__icon at-rate__icon--off')\n }\n }\n\n return (\n <View className={classNames('at-rate', className)} style={customStyle}>\n {classNameArr.map((cls, i) => (\n <View\n className={cls}\n key={`at-rate-star-${i}`}\n style={iconStyle}\n onClick={this.handleClick.bind(this, i + 1)}\n >\n <Text\n className='at-icon at-icon-star-2'\n style={starIconStyle}\n ></Text>\n <View className='at-rate__left'>\n <Text\n className='at-icon at-icon-star-2'\n style={starIconStyle}\n ></Text>\n </View>\n </View>\n ))}\n </View>\n )\n }\n}\n\nAtRate.defaultProps = {\n customStyle: '',\n className: '',\n size: 0,\n value: 0,\n max: 5,\n margin: 5\n}\n\nAtRate.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.number,\n max: PropTypes.number,\n margin: PropTypes.number,\n onChange: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAG3B,SAAS,mBAAmB;AAE5B,MAAO,eAA6B,MAAM,UAAuB;AAAA,EAIvD,YAAY,OAA0B;AAC5C,SAAK,MAAM,YAAY,KAAK,MAAM,SAAS,KAAK;AAAA,EAClD;AAAA,EAEO,SAAsB;AAC3B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,MAAM;AAAA,MACN;AAAA,MACA,SAAS;AAAA,IACX,IAAI,KAAK;AAET,UAAM,YAAY;AAAA,MAChB,aAAa,YAAY,MAAM;AAAA,IACjC;AACA,UAAM,gBAAgB;AAAA,MACpB,UAAU,OAAO,GAAG,IAAI,OAAO;AAAA,IACjC;AAGA,UAAM,eAAyB,CAAC;AAChC,UAAM,aAAa,KAAK,MAAM,KAAK;AACnC,UAAM,YAAY,KAAK,KAAK,KAAK;AACjC,aAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAI,aAAa,GAAG;AAClB,qBAAa,KAAK,iCAAiC;AAAA,MACrD,WAAW,YAAY,MAAM,GAAG;AAC9B,qBAAa,KAAK,mCAAmC;AAAA,MACvD,OAAO;AACL,qBAAa,KAAK,kCAAkC;AAAA,MACtD;AAAA,IACF;AAEA,WACE,oCAAC,QAAK,WAAW,WAAW,WAAW,SAAS,GAAG,OAAO,eACvD,aAAa,IAAI,CAAC,KAAK,MACtB;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,KAAK,gBAAgB,CAAC;AAAA,QACtB,OAAO;AAAA,QACP,SAAS,KAAK,YAAY,KAAK,MAAM,IAAI,CAAC;AAAA;AAAA,MAE1C;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA;AAAA,MACR;AAAA,MACD,oCAAC,QAAK,WAAU,mBACd;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA;AAAA,MACR,CACH;AAAA,IACF,CACD,CACH;AAAA,EAEJ;AACF;AAEA,OAAO,eAAe;AAAA,EACpB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AACV;AAEA,OAAO,YAAY;AAAA,EACjB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,WAAW,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC;AAAA,EAClE,MAAM,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC9D,OAAO,UAAU;AAAA,EACjB,KAAK,UAAU;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AACtB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/rate/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtRateProps } from '../../../types/rate'\nimport { pxTransform } from '../../common/utils'\n\nfunction AtRate({\n customStyle = '',\n className = '',\n value = 0,\n max = 5,\n size = 0,\n margin = 5,\n onChange\n}: AtRateProps): JSX.Element {\n const handleClick = (event: CommonEvent): void => {\n onChange && onChange(event)\n }\n\n const iconStyle = {\n marginRight: pxTransform(margin)\n }\n const starIconStyle = {\n fontSize: size ? `${size}px` : ''\n }\n\n // 生成星星颜色 className 数组,方便在jsx中直接map\n const classNameArr: string[] = []\n const floorValue = Math.floor(value)\n const ceilValue = Math.ceil(value)\n for (let i = 0; i < max; i++) {\n if (floorValue > i) {\n classNameArr.push('at-rate__icon at-rate__icon--on')\n } else if (ceilValue - 1 === i) {\n classNameArr.push('at-rate__icon at-rate__icon--half')\n } else {\n classNameArr.push('at-rate__icon at-rate__icon--off')\n }\n }\n\n return (\n <View className={classNames('at-rate', className)} style={customStyle}>\n {classNameArr.map((cls, i) => (\n <View\n className={cls}\n key={`at-rate-star-${i}`}\n style={iconStyle}\n onClick={handleClick.bind(null, i + 1)}\n >\n <Text className='at-icon at-icon-star-2' style={starIconStyle}></Text>\n <View className='at-rate__left'>\n <Text\n className='at-icon at-icon-star-2'\n style={starIconStyle}\n ></Text>\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nAtRate.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.number,\n max: PropTypes.number,\n margin: PropTypes.number,\n onChange: PropTypes.func\n}\n\nexport default AtRate\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAG3B,SAAS,mBAAmB;AAE5B,SAAS,OAAO;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AACF,GAA6B;AAC3B,QAAM,cAAc,CAAC,UAA6B;AAChD,gBAAY,SAAS,KAAK;AAAA,EAC5B;AAEA,QAAM,YAAY;AAAA,IAChB,aAAa,YAAY,MAAM;AAAA,EACjC;AACA,QAAM,gBAAgB;AAAA,IACpB,UAAU,OAAO,GAAG,IAAI,OAAO;AAAA,EACjC;AAGA,QAAM,eAAyB,CAAC;AAChC,QAAM,aAAa,KAAK,MAAM,KAAK;AACnC,QAAM,YAAY,KAAK,KAAK,KAAK;AACjC,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,aAAa,GAAG;AAClB,mBAAa,KAAK,iCAAiC;AAAA,IACrD,WAAW,YAAY,MAAM,GAAG;AAC9B,mBAAa,KAAK,mCAAmC;AAAA,IACvD,OAAO;AACL,mBAAa,KAAK,kCAAkC;AAAA,IACtD;AAAA,EACF;AAEA,SACE,oCAAC,QAAK,WAAW,WAAW,WAAW,SAAS,GAAG,OAAO,eACvD,aAAa,IAAI,CAAC,KAAK,MACtB;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,KAAK,gBAAgB,CAAC;AAAA,MACtB,OAAO;AAAA,MACP,SAAS,YAAY,KAAK,MAAM,IAAI,CAAC;AAAA;AAAA,IAErC,oCAAC,QAAK,WAAU,0BAAyB,OAAO,eAAe;AAAA,IAC/D,oCAAC,QAAK,WAAU,mBACd;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA;AAAA,IACR,CACH;AAAA,EACF,CACD,CACH;AAEJ;AAEA,OAAO,YAAY;AAAA,EACjB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,WAAW,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC;AAAA,EAClE,MAAM,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC9D,OAAO,UAAU;AAAA,EACjB,KAAK,UAAU;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AACtB;AAEA,IAAO,eAAQ;","names":[]}
@@ -1,16 +1,24 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtSearchBarProps, AtSearchBarState } from '../../../types/search-bar';
4
- export default class AtSearchBar extends React.Component<AtSearchBarProps, AtSearchBarState> {
5
- static defaultProps: AtSearchBarProps;
6
- static propTypes: InferProps<AtSearchBarProps>;
7
- constructor(props: AtSearchBarProps);
8
- private handleFocus;
9
- private handleBlur;
10
- private handleChange;
11
- private handleClear;
12
- private handleConfirm;
13
- private handleActionClick;
14
- UNSAFE_componentWillReceiveProps(nextProps: AtSearchBarProps): void;
15
- render(): JSX.Element;
1
+ import PropTypes from 'prop-types';
2
+ import { AtSearchBarProps } from '../../../types/search-bar';
3
+ declare function AtSearchBar({ value, placeholder, maxLength, fixed, focus, disabled, showActionButton, actionName, inputType, className, customStyle, enableNative, onChange, onFocus, onBlur, onConfirm, onActionClick, onClear }: AtSearchBarProps): JSX.Element;
4
+ declare namespace AtSearchBar {
5
+ var propTypes: {
6
+ value: PropTypes.Requireable<string>;
7
+ placeholder: PropTypes.Requireable<string>;
8
+ maxLength: PropTypes.Requireable<number>;
9
+ fixed: PropTypes.Requireable<boolean>;
10
+ focus: PropTypes.Requireable<boolean>;
11
+ disabled: PropTypes.Requireable<boolean>;
12
+ showActionButton: PropTypes.Requireable<boolean>;
13
+ actionName: PropTypes.Requireable<string>;
14
+ inputType: PropTypes.Requireable<string>;
15
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
16
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
17
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
18
+ onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
19
+ onActionClick: PropTypes.Requireable<(...args: any[]) => any>;
20
+ onClear: PropTypes.Requireable<(...args: any[]) => any>;
21
+ enableNative: PropTypes.Requireable<boolean>;
22
+ };
16
23
  }
24
+ export default AtSearchBar;
@@ -1,157 +1,130 @@
1
1
  import classNames from "classnames";
2
2
  import PropTypes from "prop-types";
3
- import React from "react";
3
+ import React, { useEffect, useState } from "react";
4
4
  import { Input, Text, View } from "@tarojs/components";
5
- class AtSearchBar extends React.Component {
6
- constructor(props) {
7
- super(props);
8
- this.handleFocus = (event) => {
9
- this.setState({
10
- isFocus: true
11
- });
12
- this.props.onFocus && this.props.onFocus(event);
13
- };
14
- this.handleBlur = (event) => {
15
- this.setState({
16
- isFocus: false
17
- });
18
- this.props.onBlur && this.props.onBlur(event);
19
- };
20
- this.handleChange = (e) => {
21
- this.props.onChange(e.detail.value, e);
22
- };
23
- this.handleClear = (event) => {
24
- if (this.props.onClear) {
25
- this.props.onClear(event);
26
- } else {
27
- this.props.onChange("", event);
28
- }
29
- };
30
- this.handleConfirm = (event) => {
31
- this.props.onConfirm && this.props.onConfirm(event);
32
- };
33
- this.handleActionClick = (event) => {
34
- this.props.onActionClick && this.props.onActionClick(event);
35
- };
36
- this.state = {
37
- isFocus: !!props.focus
38
- };
39
- }
40
- UNSAFE_componentWillReceiveProps(nextProps) {
41
- if (nextProps.focus !== this.props.focus) {
42
- this.setState({ isFocus: !!nextProps.focus });
5
+ import { useComponentLocale } from "../../hooks/useComponentLocale";
6
+ function AtSearchBar({
7
+ value = "",
8
+ placeholder,
9
+ maxLength = 140,
10
+ fixed = false,
11
+ focus = false,
12
+ disabled = false,
13
+ showActionButton = false,
14
+ actionName,
15
+ inputType = "text",
16
+ className,
17
+ customStyle,
18
+ enableNative = true,
19
+ onChange,
20
+ onFocus,
21
+ onBlur,
22
+ onConfirm,
23
+ onActionClick,
24
+ onClear
25
+ }) {
26
+ const locale = useComponentLocale("SearchBar");
27
+ const resolvedPlaceholder = placeholder != null ? placeholder : locale.placeholder;
28
+ const resolvedActionName = actionName != null ? actionName : locale.actionName;
29
+ const [isFocus, setIsFocus] = useState(!!focus);
30
+ useEffect(() => {
31
+ setIsFocus(!!focus);
32
+ }, [focus]);
33
+ const handleFocus = (event) => {
34
+ setIsFocus(true);
35
+ onFocus && onFocus(event);
36
+ };
37
+ const handleBlur = (event) => {
38
+ setIsFocus(false);
39
+ onBlur && onBlur(event);
40
+ };
41
+ const handleChange = (e) => {
42
+ onChange && onChange(e.detail.value, e);
43
+ };
44
+ const handleClear = (event) => {
45
+ if (onClear) {
46
+ onClear(event);
47
+ } else {
48
+ onChange && onChange("", event);
43
49
  }
50
+ };
51
+ const handleConfirm = (event) => {
52
+ onConfirm && onConfirm(event);
53
+ };
54
+ const handleActionClick = (event) => {
55
+ onActionClick && onActionClick(event);
56
+ };
57
+ const fontSize = 14;
58
+ const rootCls = classNames(
59
+ "at-search-bar",
60
+ {
61
+ "at-search-bar--fixed": fixed
62
+ },
63
+ className
64
+ );
65
+ const placeholderWrapStyle = {};
66
+ const actionStyle = {};
67
+ if (isFocus || !isFocus && value) {
68
+ actionStyle.opacity = 1;
69
+ actionStyle.marginRight = `0`;
70
+ placeholderWrapStyle.flexGrow = 0;
71
+ } else if (!isFocus && !value) {
72
+ placeholderWrapStyle.flexGrow = 1;
73
+ actionStyle.opacity = 0;
74
+ actionStyle.marginRight = `-${(resolvedActionName.length + 1) * fontSize + fontSize / 2 + 10}px`;
75
+ }
76
+ if (showActionButton) {
77
+ actionStyle.opacity = 1;
78
+ actionStyle.marginRight = `0`;
44
79
  }
45
- render() {
46
- const {
80
+ const clearIconStyle = { display: "flex" };
81
+ const placeholderStyle = { visibility: "hidden" };
82
+ if (!value.length) {
83
+ clearIconStyle.display = "none";
84
+ placeholderStyle.visibility = "visible";
85
+ }
86
+ return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: "at-search-bar__input-cnt" }, /* @__PURE__ */ React.createElement(
87
+ View,
88
+ {
89
+ className: "at-search-bar__placeholder-wrap",
90
+ style: placeholderWrapStyle
91
+ },
92
+ /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-search" }),
93
+ /* @__PURE__ */ React.createElement(Text, { className: "at-search-bar__placeholder", style: placeholderStyle }, isFocus ? "" : resolvedPlaceholder)
94
+ ), /* @__PURE__ */ React.createElement(
95
+ Input,
96
+ {
97
+ className: "at-search-bar__input",
98
+ type: inputType,
99
+ confirmType: "search",
47
100
  value,
48
- placeholder,
49
- maxLength,
50
- fixed,
101
+ focus: isFocus,
51
102
  disabled,
52
- showActionButton,
53
- actionName = "\u641C\u7D22",
54
- inputType,
55
- // 处理issue#464
56
- className,
57
- customStyle,
58
- enableNative
59
- } = this.props;
60
- const { isFocus } = this.state;
61
- const fontSize = 14;
62
- const rootCls = classNames(
63
- "at-search-bar",
64
- {
65
- "at-search-bar--fixed": fixed
66
- },
67
- className
68
- );
69
- const placeholderWrapStyle = {};
70
- const actionStyle = {};
71
- if (isFocus || !isFocus && value) {
72
- actionStyle.opacity = 1;
73
- actionStyle.marginRight = `0`;
74
- placeholderWrapStyle.flexGrow = 0;
75
- } else if (!isFocus && !value) {
76
- placeholderWrapStyle.flexGrow = 1;
77
- actionStyle.opacity = 0;
78
- actionStyle.marginRight = `-${(actionName.length + 1) * fontSize + fontSize / 2 + 10}px`;
79
- }
80
- if (showActionButton) {
81
- actionStyle.opacity = 1;
82
- actionStyle.marginRight = `0`;
103
+ maxlength: maxLength,
104
+ enableNative,
105
+ onInput: handleChange,
106
+ onFocus: handleFocus,
107
+ onBlur: handleBlur,
108
+ onConfirm: handleConfirm
83
109
  }
84
- const clearIconStyle = { display: "flex" };
85
- const placeholderStyle = { visibility: "hidden" };
86
- if (!value.length) {
87
- clearIconStyle.display = "none";
88
- placeholderStyle.visibility = "visible";
89
- }
90
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: "at-search-bar__input-cnt" }, /* @__PURE__ */ React.createElement(
91
- View,
92
- {
93
- className: "at-search-bar__placeholder-wrap",
94
- style: placeholderWrapStyle
95
- },
96
- /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-search" }),
97
- /* @__PURE__ */ React.createElement(
98
- Text,
99
- {
100
- className: "at-search-bar__placeholder",
101
- style: placeholderStyle
102
- },
103
- isFocus ? "" : placeholder
104
- )
105
- ), /* @__PURE__ */ React.createElement(
106
- Input,
107
- {
108
- className: "at-search-bar__input",
109
- type: inputType,
110
- confirmType: "search",
111
- value,
112
- focus: isFocus,
113
- disabled,
114
- maxlength: maxLength,
115
- enableNative,
116
- onInput: this.handleChange,
117
- onFocus: this.handleFocus,
118
- onBlur: this.handleBlur,
119
- onConfirm: this.handleConfirm
120
- }
121
- ), /* @__PURE__ */ React.createElement(
122
- View,
123
- {
124
- className: "at-search-bar__clear",
125
- style: clearIconStyle,
126
- onTouchStart: this.handleClear
127
- },
128
- /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle" })
129
- )), /* @__PURE__ */ React.createElement(
130
- View,
131
- {
132
- className: "at-search-bar__action",
133
- style: actionStyle,
134
- onClick: this.handleActionClick
135
- },
136
- actionName
137
- ));
138
- }
110
+ ), /* @__PURE__ */ React.createElement(
111
+ View,
112
+ {
113
+ className: "at-search-bar__clear",
114
+ style: clearIconStyle,
115
+ onTouchStart: handleClear
116
+ },
117
+ /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle" })
118
+ )), /* @__PURE__ */ React.createElement(
119
+ View,
120
+ {
121
+ className: "at-search-bar__action",
122
+ style: actionStyle,
123
+ onClick: handleActionClick
124
+ },
125
+ resolvedActionName
126
+ ));
139
127
  }
140
- AtSearchBar.defaultProps = {
141
- value: "",
142
- placeholder: "\u641C\u7D22",
143
- maxLength: 140,
144
- fixed: false,
145
- focus: false,
146
- disabled: false,
147
- showActionButton: false,
148
- actionName: "\u641C\u7D22",
149
- inputType: "text",
150
- // eslint-disable-next-line @typescript-eslint/no-empty-function
151
- onChange: () => {
152
- },
153
- enableNative: true
154
- };
155
128
  AtSearchBar.propTypes = {
156
129
  value: PropTypes.string,
157
130
  placeholder: PropTypes.string,
@@ -170,7 +143,8 @@ AtSearchBar.propTypes = {
170
143
  onClear: PropTypes.func,
171
144
  enableNative: PropTypes.bool
172
145
  };
146
+ var search_bar_default = AtSearchBar;
173
147
  export {
174
- AtSearchBar as default
148
+ search_bar_default as default
175
149
  };
176
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/search-bar/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Input, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSearchBarProps, AtSearchBarState } from '../../../types/search-bar'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nexport default class AtSearchBar extends React.Component<\n AtSearchBarProps,\n AtSearchBarState\n> {\n public static defaultProps: AtSearchBarProps\n public static propTypes: InferProps<AtSearchBarProps>\n\n public constructor(props: AtSearchBarProps) {\n super(props)\n this.state = {\n isFocus: !!props.focus\n }\n }\n\n private handleFocus = (event: CommonEvent): void => {\n this.setState({\n isFocus: true\n })\n this.props.onFocus && this.props.onFocus(event)\n }\n\n private handleBlur = (event: CommonEvent): void => {\n this.setState({\n isFocus: false\n })\n this.props.onBlur && this.props.onBlur(event)\n }\n\n private handleChange = (e: CommonEvent & ExtendEvent): void => {\n this.props.onChange(e.detail.value, e)\n }\n\n private handleClear = (event: CommonEvent): void => {\n if (this.props.onClear) {\n this.props.onClear(event)\n } else {\n this.props.onChange('', event)\n }\n }\n\n private handleConfirm = (event: CommonEvent): void => {\n this.props.onConfirm && this.props.onConfirm(event)\n }\n\n private handleActionClick = (event: CommonEvent): void => {\n this.props.onActionClick && this.props.onActionClick(event)\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtSearchBarProps): void {\n if (nextProps.focus !== this.props.focus) {\n this.setState({ isFocus: !!nextProps.focus })\n }\n }\n\n public render(): JSX.Element {\n const {\n value,\n placeholder,\n maxLength,\n fixed,\n disabled,\n showActionButton,\n actionName = '搜索',\n inputType, // 处理issue#464\n className,\n customStyle,\n enableNative\n } = this.props\n const { isFocus } = this.state\n const fontSize = 14\n const rootCls = classNames(\n 'at-search-bar',\n {\n 'at-search-bar--fixed': fixed\n },\n className\n )\n const placeholderWrapStyle: React.CSSProperties = {}\n const actionStyle: React.CSSProperties = {}\n if (isFocus || (!isFocus && value)) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n placeholderWrapStyle.flexGrow = 0\n } else if (!isFocus && !value) {\n placeholderWrapStyle.flexGrow = 1\n actionStyle.opacity = 0\n actionStyle.marginRight = `-${\n (actionName.length + 1) * fontSize + fontSize / 2 + 10\n }px`\n }\n if (showActionButton) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n }\n\n const clearIconStyle: React.CSSProperties = { display: 'flex' }\n const placeholderStyle: React.CSSProperties = { visibility: 'hidden' }\n if (!value.length) {\n clearIconStyle.display = 'none'\n placeholderStyle.visibility = 'visible'\n }\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className='at-search-bar__input-cnt'>\n <View\n className='at-search-bar__placeholder-wrap'\n style={placeholderWrapStyle}\n >\n <Text className='at-icon at-icon-search'></Text>\n <Text\n className='at-search-bar__placeholder'\n style={placeholderStyle}\n >\n {isFocus ? '' : placeholder}\n </Text>\n </View>\n <Input\n className='at-search-bar__input'\n type={inputType}\n confirmType='search'\n value={value}\n focus={isFocus}\n disabled={disabled}\n maxlength={maxLength}\n // @ts-ignore ci 上面这个检查不通过, 暂时跳过ts检查\n enableNative={enableNative}\n onInput={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n />\n <View\n className='at-search-bar__clear'\n style={clearIconStyle}\n onTouchStart={this.handleClear}\n >\n <Text className='at-icon at-icon-close-circle'></Text>\n </View>\n </View>\n <View\n className='at-search-bar__action'\n style={actionStyle}\n onClick={this.handleActionClick}\n >\n {actionName}\n </View>\n </View>\n )\n }\n}\n\nAtSearchBar.defaultProps = {\n value: '',\n placeholder: '搜索',\n maxLength: 140,\n fixed: false,\n focus: false,\n disabled: false,\n showActionButton: false,\n actionName: '搜索',\n inputType: 'text',\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {},\n enableNative: true\n}\n\nAtSearchBar.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n fixed: PropTypes.bool,\n focus: PropTypes.bool,\n disabled: PropTypes.bool,\n showActionButton: PropTypes.bool,\n actionName: PropTypes.string,\n inputType: PropTypes.oneOf(['text', 'number', 'idcard', 'digit']),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onActionClick: PropTypes.func,\n onClear: PropTypes.func,\n enableNative: PropTypes.bool\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/search-bar/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { Input, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtSearchBarProps } from '../../../types/search-bar'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nfunction AtSearchBar({\n value = '',\n placeholder,\n maxLength = 140,\n fixed = false,\n focus = false,\n disabled = false,\n showActionButton = false,\n actionName,\n inputType = 'text',\n className,\n customStyle,\n enableNative = true,\n onChange,\n onFocus,\n onBlur,\n onConfirm,\n onActionClick,\n onClear\n}: AtSearchBarProps): JSX.Element {\n const locale = useComponentLocale('SearchBar')\n const resolvedPlaceholder = placeholder ?? locale.placeholder\n const resolvedActionName = actionName ?? locale.actionName\n const [isFocus, setIsFocus] = useState(!!focus)\n\n useEffect(() => {\n setIsFocus(!!focus)\n }, [focus])\n\n const handleFocus = (event: CommonEvent): void => {\n setIsFocus(true)\n onFocus && onFocus(event)\n }\n\n const handleBlur = (event: CommonEvent): void => {\n setIsFocus(false)\n onBlur && onBlur(event)\n }\n\n const handleChange = (e: CommonEvent & ExtendEvent): void => {\n onChange && onChange(e.detail.value, e)\n }\n\n const handleClear = (event: CommonEvent): void => {\n if (onClear) {\n onClear(event)\n } else {\n onChange && onChange('', event)\n }\n }\n\n const handleConfirm = (event: CommonEvent): void => {\n onConfirm && onConfirm(event)\n }\n\n const handleActionClick = (event: CommonEvent): void => {\n onActionClick && onActionClick(event)\n }\n\n const fontSize = 14\n const rootCls = classNames(\n 'at-search-bar',\n {\n 'at-search-bar--fixed': fixed\n },\n className\n )\n const placeholderWrapStyle: React.CSSProperties = {}\n const actionStyle: React.CSSProperties = {}\n if (isFocus || (!isFocus && value)) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n placeholderWrapStyle.flexGrow = 0\n } else if (!isFocus && !value) {\n placeholderWrapStyle.flexGrow = 1\n actionStyle.opacity = 0\n actionStyle.marginRight = `-${\n (resolvedActionName.length + 1) * fontSize + fontSize / 2 + 10\n }px`\n }\n if (showActionButton) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n }\n\n const clearIconStyle: React.CSSProperties = { display: 'flex' }\n const placeholderStyle: React.CSSProperties = { visibility: 'hidden' }\n if (!value.length) {\n clearIconStyle.display = 'none'\n placeholderStyle.visibility = 'visible'\n }\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className='at-search-bar__input-cnt'>\n <View\n className='at-search-bar__placeholder-wrap'\n style={placeholderWrapStyle}\n >\n <Text className='at-icon at-icon-search'></Text>\n <Text className='at-search-bar__placeholder' style={placeholderStyle}>\n {isFocus ? '' : resolvedPlaceholder}\n </Text>\n </View>\n <Input\n className='at-search-bar__input'\n type={inputType}\n confirmType='search'\n value={value}\n focus={isFocus}\n disabled={disabled}\n maxlength={maxLength}\n // @ts-ignore ci 上面这个检查不通过, 暂时跳过ts检查\n enableNative={enableNative}\n onInput={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n />\n <View\n className='at-search-bar__clear'\n style={clearIconStyle}\n onTouchStart={handleClear}\n >\n <Text className='at-icon at-icon-close-circle'></Text>\n </View>\n </View>\n <View\n className='at-search-bar__action'\n style={actionStyle}\n onClick={handleActionClick}\n >\n {resolvedActionName}\n </View>\n </View>\n )\n}\n\nAtSearchBar.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n fixed: PropTypes.bool,\n focus: PropTypes.bool,\n disabled: PropTypes.bool,\n showActionButton: PropTypes.bool,\n actionName: PropTypes.string,\n inputType: PropTypes.oneOf(['text', 'number', 'idcard', 'digit']),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onActionClick: PropTypes.func,\n onClear: PropTypes.func,\n enableNative: PropTypes.bool\n}\n\nexport default AtSearchBar\n"],"mappings":"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","names":[]}
@@ -1,9 +1,16 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtSegmentedControlProps } from '../../../types/segmented-control';
4
- export default class AtSegmentedControl extends React.Component<AtSegmentedControlProps> {
5
- static defaultProps: AtSegmentedControlProps;
6
- static propTypes: InferProps<AtSegmentedControlProps>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtSegmentedControl({ customStyle, className, disabled, values, selectedColor, current, color, fontSize, onClick }: AtSegmentedControlProps): JSX.Element;
4
+ declare namespace AtSegmentedControl {
5
+ var propTypes: {
6
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
7
+ className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
8
+ current: PropTypes.Requireable<number>;
9
+ color: PropTypes.Requireable<string>;
10
+ fontSize: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
11
+ disabled: PropTypes.Requireable<boolean>;
12
+ values: PropTypes.Requireable<any[]>;
13
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
14
+ };
9
15
  }
16
+ export default AtSegmentedControl;