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/calendar/index.tsx"],"sourcesContent":["import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { BaseEventOrig } from '@tarojs/components/types/common'\nimport {\n AtCalendarDefaultProps,\n AtCalendarProps,\n AtCalendarPropsWithDefaults,\n AtCalendarState,\n Calendar\n} from '../../../types/calendar'\nimport AtCalendarBody from './body/index'\nimport AtCalendarController from './controller/index'\n\nconst defaultProps: AtCalendarDefaultProps = {\n validDates: [],\n marks: [],\n isSwiper: true,\n hideArrow: false,\n isVertical: false,\n selectedDates: [],\n isMultiSelect: false,\n format: 'YYYY-MM-DD',\n currentDate: Date.now(),\n monthFormat: 'YYYY年MM月'\n}\n\nexport default class AtCalendar extends React.Component<\n AtCalendarProps,\n Readonly<AtCalendarState>\n> {\n static defaultProps: AtCalendarDefaultProps = defaultProps\n\n public constructor(props: AtCalendarProps) {\n super(props)\n\n const { currentDate, isMultiSelect } = props as AtCalendarPropsWithDefaults\n\n this.state = this.getInitializeState(currentDate, isMultiSelect)\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtCalendarProps): void {\n const { currentDate, isMultiSelect } = nextProps\n if (!currentDate || currentDate === this.props.currentDate) return\n\n if (isMultiSelect && this.props.isMultiSelect) {\n const { start, end } = currentDate as Calendar.SelectedDate\n const { start: preStart, end: preEnd } = this.props\n .currentDate as Calendar.SelectedDate\n\n if (start === preStart && preEnd === end) {\n return\n }\n }\n\n const stateValue: AtCalendarState = this.getInitializeState(\n currentDate,\n isMultiSelect\n )\n\n this.setState(stateValue)\n }\n\n private getSingleSelectdState = (value: Dayjs): Partial<AtCalendarState> => {\n const { generateDate } = this.state\n\n const stateValue: Partial<AtCalendarState> = {\n selectedDate: this.getSelectedDate(value.valueOf())\n }\n\n const dayjsGenerateDate: Dayjs = value.startOf('month')\n const generateDateValue: number = dayjsGenerateDate.valueOf()\n\n if (generateDateValue !== generateDate) {\n this.triggerChangeDate(dayjsGenerateDate)\n stateValue.generateDate = generateDateValue\n }\n\n return stateValue\n }\n\n private getMultiSelectedState = (\n value: Dayjs\n ): Pick<AtCalendarState, 'selectedDate'> => {\n const { selectedDate } = this.state\n const { end, start } = selectedDate\n\n const valueUnix: number = value.valueOf()\n const state: Pick<AtCalendarState, 'selectedDate'> = {\n selectedDate\n }\n\n if (end) {\n state.selectedDate = this.getSelectedDate(valueUnix, 0)\n } else {\n state.selectedDate.end = Math.max(valueUnix, +start)\n state.selectedDate.start = Math.min(valueUnix, +start)\n }\n\n return state\n }\n\n private getSelectedDate = (\n start: number,\n end?: number\n ): Calendar.SelectedDate => {\n const stateValue: Calendar.SelectedDate = {\n start,\n end: start\n }\n\n if (typeof end !== 'undefined') {\n stateValue.end = end\n }\n\n return stateValue\n }\n\n private getInitializeState(\n currentDate: Calendar.DateArg | Calendar.SelectedDate,\n isMultiSelect?: boolean\n ): AtCalendarState {\n let end: number\n let start: number\n let generateDateValue: number\n\n if (!currentDate) {\n const dayjsStart = dayjs()\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n return {\n generateDate: generateDateValue,\n selectedDate: {\n start: ''\n }\n }\n }\n\n if (isMultiSelect) {\n const { start: cStart, end: cEnd } = currentDate as Calendar.SelectedDate\n\n const dayjsStart = dayjs(cStart)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = cEnd ? dayjs(cEnd).startOf('day').valueOf() : start\n } else {\n const dayjsStart = dayjs(currentDate as Calendar.DateArg)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = start\n }\n\n return {\n generateDate: generateDateValue,\n selectedDate: this.getSelectedDate(start, end)\n }\n }\n\n private triggerChangeDate = (value: Dayjs): void => {\n const { format } = this.props\n\n if (typeof this.props.onMonthChange !== 'function') return\n\n this.props.onMonthChange(value.format(format))\n }\n\n private setMonth = (vectorCount: number): void => {\n const { format } = this.props\n const { generateDate } = this.state\n\n const _generateDate: Dayjs = dayjs(generateDate).add(vectorCount, 'month')\n this.setState({\n generateDate: _generateDate.valueOf()\n })\n\n if (vectorCount && typeof this.props.onMonthChange === 'function') {\n this.props.onMonthChange(_generateDate.format(format))\n }\n }\n\n private handleClickPreMonth = (isMinMonth?: boolean): void => {\n if (isMinMonth === true) {\n return\n }\n\n this.setMonth(-1)\n\n if (typeof this.props.onClickPreMonth === 'function') {\n this.props.onClickPreMonth()\n }\n }\n\n private handleClickNextMonth = (isMaxMonth?: boolean): void => {\n if (isMaxMonth === true) {\n return\n }\n\n this.setMonth(1)\n\n if (typeof this.props.onClickNextMonth === 'function') {\n this.props.onClickNextMonth()\n }\n }\n\n // picker 选择时间改变时触发\n private handleSelectDate = (e: BaseEventOrig<{ value: string }>): void => {\n const { value } = e.detail\n\n const _generateDate: Dayjs = dayjs(value)\n const _generateDateValue: number = _generateDate.valueOf()\n\n if (this.state.generateDate === _generateDateValue) return\n\n this.triggerChangeDate(_generateDate)\n this.setState({\n generateDate: _generateDateValue\n })\n }\n\n private handleDayClick = (item: Calendar.Item): void => {\n const { isMultiSelect } = this.props\n const { isDisabled, value } = item\n\n if (isDisabled) return\n\n const dayjsDate: Dayjs = dayjs(value)\n\n let stateValue: Partial<AtCalendarState> = {}\n\n if (isMultiSelect) {\n stateValue = this.getMultiSelectedState(dayjsDate)\n } else {\n stateValue = this.getSingleSelectdState(dayjsDate)\n }\n\n this.setState(stateValue as AtCalendarState, () => {\n this.handleSelectedDate()\n })\n\n if (typeof this.props.onDayClick === 'function') {\n this.props.onDayClick({ value: item.value })\n }\n }\n\n private handleSelectedDate = (): void => {\n const selectDate = this.state.selectedDate\n if (typeof this.props.onSelectDate === 'function') {\n const info: Calendar.SelectedDate = {\n start: dayjs(selectDate.start).format(this.props.format)\n }\n\n if (selectDate.end) {\n info.end = dayjs(selectDate.end).format(this.props.format)\n }\n\n this.props.onSelectDate({\n value: info\n })\n }\n }\n\n private handleDayLongClick = (item: Calendar.Item): void => {\n if (typeof this.props.onDayLongClick === 'function') {\n this.props.onDayLongClick({ value: item.value })\n }\n }\n\n public render(): JSX.Element {\n const { generateDate, selectedDate } = this.state\n const {\n validDates,\n marks,\n format,\n minDate,\n maxDate,\n isSwiper,\n className,\n hideArrow,\n isVertical,\n monthFormat,\n selectedDates\n } = this.props as AtCalendarPropsWithDefaults\n\n return (\n <View className={classnames('at-calendar', className)}>\n <AtCalendarController\n minDate={minDate}\n maxDate={maxDate}\n hideArrow={hideArrow}\n monthFormat={monthFormat}\n generateDate={generateDate}\n onPreMonth={this.handleClickPreMonth}\n onNextMonth={this.handleClickNextMonth}\n onSelectDate={this.handleSelectDate}\n />\n <AtCalendarBody\n validDates={validDates}\n marks={marks}\n format={format}\n minDate={minDate}\n maxDate={maxDate}\n isSwiper={isSwiper}\n isVertical={isVertical}\n selectedDate={selectedDate}\n selectedDates={selectedDates}\n generateDate={generateDate}\n onDayClick={this.handleDayClick}\n onSwipeMonth={this.setMonth}\n onLongClick={this.handleDayLongClick}\n />\n </View>\n )\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/calendar/index.tsx"],"sourcesContent":["import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { BaseEventOrig } from '@tarojs/components/types/common'\nimport {\n AtCalendarProps,\n AtCalendarPropsWithDefaults,\n AtCalendarState,\n Calendar\n} from '../../../types/calendar'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport AtCalendarBody from './body/index'\nimport AtCalendarController from './controller/index'\n\nfunction AtCalendar(props: AtCalendarProps): JSX.Element {\n const calendarLocale = useComponentLocale('Calendar')\n const {\n validDates = [],\n marks = [],\n isSwiper = true,\n hideArrow = false,\n isVertical = false,\n selectedDates = [],\n isMultiSelect = false,\n format = 'YYYY-MM-DD',\n currentDate = Date.now(),\n monthFormat,\n minDate,\n maxDate,\n className,\n onMonthChange,\n onClickPreMonth,\n onClickNextMonth,\n onDayClick,\n onSelectDate,\n onDayLongClick\n } = props as AtCalendarPropsWithDefaults\n const resolvedMonthFormat = monthFormat ?? calendarLocale.monthFormat\n const getSelectedDate = (\n start: number,\n end?: number\n ): Calendar.SelectedDate => {\n const stateValue: Calendar.SelectedDate = {\n start,\n end: start\n }\n\n if (typeof end !== 'undefined') {\n stateValue.end = end\n }\n\n return stateValue\n }\n\n const getInitializeState = (\n date: Calendar.DateArg | Calendar.SelectedDate,\n multiSelect?: boolean\n ): AtCalendarState => {\n let end: number\n let start: number\n let generateDateValue: number\n\n if (!date) {\n const dayjsStart = dayjs()\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n return {\n generateDate: generateDateValue,\n selectedDate: {\n start: ''\n }\n }\n }\n\n if (multiSelect) {\n const { start: cStart, end: cEnd } = date as Calendar.SelectedDate\n\n const dayjsStart = dayjs(cStart)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = cEnd ? dayjs(cEnd).startOf('day').valueOf() : start\n } else {\n const dayjsStart = dayjs(date as Calendar.DateArg)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = start\n }\n\n return {\n generateDate: generateDateValue,\n selectedDate: getSelectedDate(start, end)\n }\n }\n\n const [generateDate, setGenerateDate] = useState<number>(\n () => getInitializeState(currentDate, isMultiSelect).generateDate\n )\n const [selectedDate, setSelectedDate] = useState<Calendar.SelectedDate>(\n () => getInitializeState(currentDate, isMultiSelect).selectedDate\n )\n\n const prevCurrentDateRef = useRef(currentDate)\n const prevIsMultiSelectRef = useRef(isMultiSelect)\n\n useEffect(() => {\n if (!currentDate || currentDate === prevCurrentDateRef.current) {\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n return\n }\n\n if (isMultiSelect && prevIsMultiSelectRef.current) {\n const { start, end } = currentDate as Calendar.SelectedDate\n const { start: preStart, end: preEnd } =\n prevCurrentDateRef.current as Calendar.SelectedDate\n\n if (start === preStart && preEnd === end) {\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n return\n }\n }\n\n const stateValue = getInitializeState(currentDate, isMultiSelect)\n\n setGenerateDate(stateValue.generateDate)\n setSelectedDate(stateValue.selectedDate)\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n }, [currentDate, isMultiSelect])\n\n const triggerChangeDate = (value: Dayjs): void => {\n if (typeof onMonthChange !== 'function') return\n\n onMonthChange(value.format(format))\n }\n\n const setMonth = (vectorCount: number): void => {\n const _generateDate: Dayjs = dayjs(generateDate).add(vectorCount, 'month')\n const nextGenerateDate = _generateDate.valueOf()\n\n setGenerateDate(nextGenerateDate)\n\n if (vectorCount && typeof onMonthChange === 'function') {\n onMonthChange(_generateDate.format(format))\n }\n }\n\n const handleClickPreMonth = (isMinMonth?: boolean): void => {\n if (isMinMonth === true) {\n return\n }\n\n setMonth(-1)\n\n if (typeof onClickPreMonth === 'function') {\n onClickPreMonth()\n }\n }\n\n const handleClickNextMonth = (isMaxMonth?: boolean): void => {\n if (isMaxMonth === true) {\n return\n }\n\n setMonth(1)\n\n if (typeof onClickNextMonth === 'function') {\n onClickNextMonth()\n }\n }\n\n const handleSelectDate = (e: BaseEventOrig<{ value: string }>): void => {\n const { value } = e.detail\n\n const _generateDate: Dayjs = dayjs(value)\n const _generateDateValue: number = _generateDate.valueOf()\n\n if (generateDate === _generateDateValue) return\n\n triggerChangeDate(_generateDate)\n setGenerateDate(_generateDateValue)\n }\n\n const notifySelectedDate = (selectDate: Calendar.SelectedDate): void => {\n if (typeof onSelectDate === 'function') {\n const info: Calendar.SelectedDate = {\n start: dayjs(selectDate.start).format(format)\n }\n\n if (selectDate.end) {\n info.end = dayjs(selectDate.end).format(format)\n }\n\n onSelectDate({\n value: info\n })\n }\n }\n\n const getSingleSelectdState = (\n value: Dayjs,\n currentGenerateDate: number\n ): Partial<AtCalendarState> => {\n const stateValue: Partial<AtCalendarState> = {\n selectedDate: getSelectedDate(value.valueOf())\n }\n\n const dayjsGenerateDate: Dayjs = value.startOf('month')\n const generateDateValue: number = dayjsGenerateDate.valueOf()\n\n if (generateDateValue !== currentGenerateDate) {\n triggerChangeDate(dayjsGenerateDate)\n stateValue.generateDate = generateDateValue\n }\n\n return stateValue\n }\n\n const getMultiSelectedState = (\n value: Dayjs,\n currentSelectedDate: Calendar.SelectedDate\n ): Pick<AtCalendarState, 'selectedDate'> => {\n const { end, start } = currentSelectedDate\n\n const valueUnix: number = value.valueOf()\n const state: Pick<AtCalendarState, 'selectedDate'> = {\n selectedDate: currentSelectedDate\n }\n\n if (end) {\n state.selectedDate = getSelectedDate(valueUnix, 0)\n } else {\n state.selectedDate = {\n ...currentSelectedDate,\n end: Math.max(valueUnix, +start),\n start: Math.min(valueUnix, +start)\n }\n }\n\n return state\n }\n\n const handleDayClick = (item: Calendar.Item): void => {\n const { isDisabled, value } = item\n\n if (isDisabled) return\n\n const dayjsDate: Dayjs = dayjs(value)\n\n let stateValue: Partial<AtCalendarState> = {}\n\n if (isMultiSelect) {\n stateValue = getMultiSelectedState(dayjsDate, selectedDate)\n } else {\n stateValue = getSingleSelectdState(dayjsDate, generateDate)\n }\n\n if (stateValue.generateDate != null) {\n setGenerateDate(stateValue.generateDate)\n }\n if (stateValue.selectedDate != null) {\n setSelectedDate(stateValue.selectedDate)\n notifySelectedDate(stateValue.selectedDate)\n }\n\n if (typeof onDayClick === 'function') {\n onDayClick({ value: item.value })\n }\n }\n\n const handleDayLongClick = (item: Calendar.Item): void => {\n if (typeof onDayLongClick === 'function') {\n onDayLongClick({ value: item.value })\n }\n }\n\n return (\n <View className={classnames('at-calendar', className)}>\n <AtCalendarController\n minDate={minDate}\n maxDate={maxDate}\n hideArrow={hideArrow}\n monthFormat={resolvedMonthFormat}\n generateDate={generateDate}\n onPreMonth={handleClickPreMonth}\n onNextMonth={handleClickNextMonth}\n onSelectDate={handleSelectDate}\n />\n <AtCalendarBody\n validDates={validDates}\n marks={marks}\n format={format}\n minDate={minDate}\n maxDate={maxDate}\n isSwiper={isSwiper}\n isVertical={isVertical}\n selectedDate={selectedDate}\n selectedDates={selectedDates}\n generateDate={generateDate}\n onDayClick={handleDayClick}\n onSwipeMonth={setMonth}\n onLongClick={handleDayLongClick}\n />\n </View>\n )\n}\n\nexport default AtCalendar\n"],"mappings":"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","names":[]}
@@ -1,12 +1,8 @@
1
- import React from 'react';
2
1
  import { Calendar } from '../../../../../types/calendar';
3
2
  export interface Props {
4
3
  list: Calendar.List<Calendar.Item>;
5
4
  onClick?: (item: Calendar.Item) => void;
6
5
  onLongClick?: (item: Calendar.Item) => void;
7
6
  }
8
- export default class AtCalendarList extends React.Component<Props> {
9
- private handleClick;
10
- private handleLongClick;
11
- render(): JSX.Element | null;
12
- }
7
+ declare function AtCalendarList({ list, onClick, onLongClick }: Props): JSX.Element | null;
8
+ export default AtCalendarList;
@@ -7,48 +7,43 @@ const MAP = {
7
7
  [constant.TYPE_NOW_MONTH]: "now",
8
8
  [constant.TYPE_NEXT_MONTH]: "next"
9
9
  };
10
- class AtCalendarList extends React.Component {
11
- constructor() {
12
- super(...arguments);
13
- this.handleClick = (item) => {
14
- if (typeof this.props.onClick === "function") {
15
- this.props.onClick(item);
16
- }
17
- };
18
- this.handleLongClick = (item) => {
19
- if (typeof this.props.onLongClick === "function") {
20
- this.props.onLongClick(item);
21
- }
22
- };
23
- }
24
- render() {
25
- const { list } = this.props;
26
- if (!list || list.length === 0) return null;
27
- return /* @__PURE__ */ React.createElement(View, { className: "at-calendar__list flex" }, list.map((item) => /* @__PURE__ */ React.createElement(
28
- View,
29
- {
30
- key: `list-item-${item.value}`,
31
- onClick: this.handleClick.bind(this, item),
32
- onLongPress: this.handleLongClick.bind(this, item),
33
- className: classnames(
34
- "flex__item",
35
- `flex__item--${MAP[item.type]}`,
36
- {
37
- "flex__item--today": item.isToday,
38
- "flex__item--active": item.isActive,
39
- "flex__item--selected": item.isSelected,
40
- "flex__item--selected-head": item.isSelectedHead,
41
- "flex__item--selected-tail": item.isSelectedTail,
42
- "flex__item--blur": item.isDisabled || item.type === constant.TYPE_PRE_MONTH || item.type === constant.TYPE_NEXT_MONTH
43
- }
44
- )
45
- },
46
- /* @__PURE__ */ React.createElement(View, { className: "flex__item-container" }, /* @__PURE__ */ React.createElement(View, { className: "container-text" }, item.text)),
47
- /* @__PURE__ */ React.createElement(View, { className: "flex__item-extra extra" }, item.marks && item.marks.length > 0 ? /* @__PURE__ */ React.createElement(View, { className: "extra-marks" }, item.marks.map((mark, key) => /* @__PURE__ */ React.createElement(Text, { key, className: "mark" }, mark.value))) : null)
48
- )));
49
- }
10
+ function AtCalendarList({
11
+ list,
12
+ onClick,
13
+ onLongClick
14
+ }) {
15
+ const handleClick = (item) => {
16
+ if (typeof onClick === "function") {
17
+ onClick(item);
18
+ }
19
+ };
20
+ const handleLongClick = (item) => {
21
+ if (typeof onLongClick === "function") {
22
+ onLongClick(item);
23
+ }
24
+ };
25
+ if (!list || list.length === 0) return null;
26
+ return /* @__PURE__ */ React.createElement(View, { className: "at-calendar__list flex" }, list.map((item) => /* @__PURE__ */ React.createElement(
27
+ View,
28
+ {
29
+ key: `list-item-${item.value}`,
30
+ onClick: () => handleClick(item),
31
+ onLongPress: () => handleLongClick(item),
32
+ className: classnames("flex__item", `flex__item--${MAP[item.type]}`, {
33
+ "flex__item--today": item.isToday,
34
+ "flex__item--active": item.isActive,
35
+ "flex__item--selected": item.isSelected,
36
+ "flex__item--selected-head": item.isSelectedHead,
37
+ "flex__item--selected-tail": item.isSelectedTail,
38
+ "flex__item--blur": item.isDisabled || item.type === constant.TYPE_PRE_MONTH || item.type === constant.TYPE_NEXT_MONTH
39
+ })
40
+ },
41
+ /* @__PURE__ */ React.createElement(View, { className: "flex__item-container" }, /* @__PURE__ */ React.createElement(View, { className: "container-text" }, item.text)),
42
+ /* @__PURE__ */ React.createElement(View, { className: "flex__item-extra extra" }, item.marks && item.marks.length > 0 ? /* @__PURE__ */ React.createElement(View, { className: "extra-marks" }, item.marks.map((mark, key) => /* @__PURE__ */ React.createElement(Text, { key, className: "mark" }, mark.value))) : null)
43
+ )));
50
44
  }
45
+ var date_list_default = AtCalendarList;
51
46
  export {
52
- AtCalendarList as default
47
+ date_list_default as default
53
48
  };
54
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/calendar/ui/date-list/index.tsx"],"sourcesContent":["import classnames from 'classnames'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { Calendar } from '../../../../../types/calendar'\nimport * as constant from '../../common/constant'\n\nconst MAP: { [key: number]: string } = {\n [constant.TYPE_PRE_MONTH]: 'pre',\n [constant.TYPE_NOW_MONTH]: 'now',\n [constant.TYPE_NEXT_MONTH]: 'next'\n}\n\nexport interface Props {\n list: Calendar.List<Calendar.Item>\n\n onClick?: (item: Calendar.Item) => void\n\n onLongClick?: (item: Calendar.Item) => void\n}\n\nexport default class AtCalendarList extends React.Component<Props> {\n private handleClick = (item: Calendar.Item): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(item)\n }\n }\n\n private handleLongClick = (item: Calendar.Item): void => {\n if (typeof this.props.onLongClick === 'function') {\n this.props.onLongClick(item)\n }\n }\n\n public render(): JSX.Element | null {\n const { list } = this.props\n if (!list || list.length === 0) return null\n\n return (\n <View className='at-calendar__list flex'>\n {list.map((item: Calendar.Item) => (\n <View\n key={`list-item-${item.value}`}\n onClick={this.handleClick.bind(this, item)}\n onLongPress={this.handleLongClick.bind(this, item)}\n className={classnames(\n 'flex__item',\n `flex__item--${MAP[item.type]}`,\n {\n 'flex__item--today': item.isToday,\n 'flex__item--active': item.isActive,\n 'flex__item--selected': item.isSelected,\n 'flex__item--selected-head': item.isSelectedHead,\n 'flex__item--selected-tail': item.isSelectedTail,\n 'flex__item--blur':\n item.isDisabled ||\n item.type === constant.TYPE_PRE_MONTH ||\n item.type === constant.TYPE_NEXT_MONTH\n }\n )}\n >\n <View className='flex__item-container'>\n <View className='container-text'>{item.text}</View>\n </View>\n <View className='flex__item-extra extra'>\n {item.marks && item.marks.length > 0 ? (\n <View className='extra-marks'>\n {item.marks.map((mark, key) => (\n <Text key={key} className='mark'>\n {mark.value}\n </Text>\n ))}\n </View>\n ) : null}\n </View>\n </View>\n ))}\n </View>\n )\n }\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAE3B,YAAY,cAAc;AAE1B,MAAM,MAAiC;AAAA,EACrC,CAAC,SAAS,cAAc,GAAG;AAAA,EAC3B,CAAC,SAAS,cAAc,GAAG;AAAA,EAC3B,CAAC,SAAS,eAAe,GAAG;AAC9B;AAUA,MAAO,uBAAqC,MAAM,UAAiB;AAAA,EAAnE;AAAA;AACE,SAAQ,cAAc,CAAC,SAA8B;AACnD,UAAI,OAAO,KAAK,MAAM,YAAY,YAAY;AAC5C,aAAK,MAAM,QAAQ,IAAI;AAAA,MACzB;AAAA,IACF;AAEA,SAAQ,kBAAkB,CAAC,SAA8B;AACvD,UAAI,OAAO,KAAK,MAAM,gBAAgB,YAAY;AAChD,aAAK,MAAM,YAAY,IAAI;AAAA,MAC7B;AAAA,IACF;AAAA;AAAA,EAEO,SAA6B;AAClC,UAAM,EAAE,KAAK,IAAI,KAAK;AACtB,QAAI,CAAC,QAAQ,KAAK,WAAW,EAAG,QAAO;AAEvC,WACE,oCAAC,QAAK,WAAU,4BACb,KAAK,IAAI,CAAC,SACT;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,aAAa,KAAK,KAAK;AAAA,QAC5B,SAAS,KAAK,YAAY,KAAK,MAAM,IAAI;AAAA,QACzC,aAAa,KAAK,gBAAgB,KAAK,MAAM,IAAI;AAAA,QACjD,WAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI,KAAK,IAAI,CAAC;AAAA,UAC7B;AAAA,YACE,qBAAqB,KAAK;AAAA,YAC1B,sBAAsB,KAAK;AAAA,YAC3B,wBAAwB,KAAK;AAAA,YAC7B,6BAA6B,KAAK;AAAA,YAClC,6BAA6B,KAAK;AAAA,YAClC,oBACE,KAAK,cACL,KAAK,SAAS,SAAS,kBACvB,KAAK,SAAS,SAAS;AAAA,UAC3B;AAAA,QACF;AAAA;AAAA,MAEA,oCAAC,QAAK,WAAU,0BACd,oCAAC,QAAK,WAAU,oBAAkB,KAAK,IAAK,CAC9C;AAAA,MACA,oCAAC,QAAK,WAAU,4BACb,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,oCAAC,QAAK,WAAU,iBACb,KAAK,MAAM,IAAI,CAAC,MAAM,QACrB,oCAAC,QAAK,KAAU,WAAU,UACvB,KAAK,KACR,CACD,CACH,IACE,IACN;AAAA,IACF,CACD,CACH;AAAA,EAEJ;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/calendar/ui/date-list/index.tsx"],"sourcesContent":["import classnames from 'classnames'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { Calendar } from '../../../../../types/calendar'\nimport * as constant from '../../common/constant'\n\nconst MAP: { [key: number]: string } = {\n [constant.TYPE_PRE_MONTH]: 'pre',\n [constant.TYPE_NOW_MONTH]: 'now',\n [constant.TYPE_NEXT_MONTH]: 'next'\n}\n\nexport interface Props {\n list: Calendar.List<Calendar.Item>\n\n onClick?: (item: Calendar.Item) => void\n\n onLongClick?: (item: Calendar.Item) => void\n}\n\nfunction AtCalendarList({\n list,\n onClick,\n onLongClick\n}: Props): JSX.Element | null {\n const handleClick = (item: Calendar.Item): void => {\n if (typeof onClick === 'function') {\n onClick(item)\n }\n }\n\n const handleLongClick = (item: Calendar.Item): void => {\n if (typeof onLongClick === 'function') {\n onLongClick(item)\n }\n }\n\n if (!list || list.length === 0) return null\n\n return (\n <View className='at-calendar__list flex'>\n {list.map((item: Calendar.Item) => (\n <View\n key={`list-item-${item.value}`}\n onClick={() => handleClick(item)}\n onLongPress={() => handleLongClick(item)}\n className={classnames('flex__item', `flex__item--${MAP[item.type]}`, {\n 'flex__item--today': item.isToday,\n 'flex__item--active': item.isActive,\n 'flex__item--selected': item.isSelected,\n 'flex__item--selected-head': item.isSelectedHead,\n 'flex__item--selected-tail': item.isSelectedTail,\n 'flex__item--blur':\n item.isDisabled ||\n item.type === constant.TYPE_PRE_MONTH ||\n item.type === constant.TYPE_NEXT_MONTH\n })}\n >\n <View className='flex__item-container'>\n <View className='container-text'>{item.text}</View>\n </View>\n <View className='flex__item-extra extra'>\n {item.marks && item.marks.length > 0 ? (\n <View className='extra-marks'>\n {item.marks.map((mark, key) => (\n <Text key={key} className='mark'>\n {mark.value}\n </Text>\n ))}\n </View>\n ) : null}\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nexport default AtCalendarList\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAE3B,YAAY,cAAc;AAE1B,MAAM,MAAiC;AAAA,EACrC,CAAC,SAAS,cAAc,GAAG;AAAA,EAC3B,CAAC,SAAS,cAAc,GAAG;AAAA,EAC3B,CAAC,SAAS,eAAe,GAAG;AAC9B;AAUA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF,GAA8B;AAC5B,QAAM,cAAc,CAAC,SAA8B;AACjD,QAAI,OAAO,YAAY,YAAY;AACjC,cAAQ,IAAI;AAAA,IACd;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,SAA8B;AACrD,QAAI,OAAO,gBAAgB,YAAY;AACrC,kBAAY,IAAI;AAAA,IAClB;AAAA,EACF;AAEA,MAAI,CAAC,QAAQ,KAAK,WAAW,EAAG,QAAO;AAEvC,SACE,oCAAC,QAAK,WAAU,4BACb,KAAK,IAAI,CAAC,SACT;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,aAAa,KAAK,KAAK;AAAA,MAC5B,SAAS,MAAM,YAAY,IAAI;AAAA,MAC/B,aAAa,MAAM,gBAAgB,IAAI;AAAA,MACvC,WAAW,WAAW,cAAc,eAAe,IAAI,KAAK,IAAI,CAAC,IAAI;AAAA,QACnE,qBAAqB,KAAK;AAAA,QAC1B,sBAAsB,KAAK;AAAA,QAC3B,wBAAwB,KAAK;AAAA,QAC7B,6BAA6B,KAAK;AAAA,QAClC,6BAA6B,KAAK;AAAA,QAClC,oBACE,KAAK,cACL,KAAK,SAAS,SAAS,kBACvB,KAAK,SAAS,SAAS;AAAA,MAC3B,CAAC;AAAA;AAAA,IAED,oCAAC,QAAK,WAAU,0BACd,oCAAC,QAAK,WAAU,oBAAkB,KAAK,IAAK,CAC9C;AAAA,IACA,oCAAC,QAAK,WAAU,4BACb,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,oCAAC,QAAK,WAAU,iBACb,KAAK,MAAM,IAAI,CAAC,MAAM,QACrB,oCAAC,QAAK,KAAU,WAAU,UACvB,KAAK,KACR,CACD,CACH,IACE,IACN;AAAA,EACF,CACD,CACH;AAEJ;AAEA,IAAO,oBAAQ;","names":[]}
@@ -1,4 +1,2 @@
1
- import React from 'react';
2
- export default class AtCalendarHeader extends React.Component {
3
- render(): JSX.Element;
4
- }
1
+ declare function AtCalendarHeader(): JSX.Element;
2
+ export default AtCalendarHeader;
@@ -1,11 +1,12 @@
1
1
  import React from "react";
2
2
  import { View } from "@tarojs/components";
3
- class AtCalendarHeader extends React.Component {
4
- render() {
5
- return /* @__PURE__ */ React.createElement(View, { className: "at-calendar__header header" }, /* @__PURE__ */ React.createElement(View, { className: "header__flex" }, /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u65E5"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u4E00"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u4E8C"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u4E09"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u56DB"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u4E94"), /* @__PURE__ */ React.createElement(View, { className: "header__flex-item" }, "\u516D")));
6
- }
3
+ import { useComponentLocale } from "../../../../hooks/useComponentLocale";
4
+ function AtCalendarHeader() {
5
+ const { weekdays } = useComponentLocale("Calendar");
6
+ return /* @__PURE__ */ React.createElement(View, { className: "at-calendar__header header" }, /* @__PURE__ */ React.createElement(View, { className: "header__flex" }, weekdays.map((weekday) => /* @__PURE__ */ React.createElement(View, { key: weekday, className: "header__flex-item" }, weekday))));
7
7
  }
8
+ var day_list_default = AtCalendarHeader;
8
9
  export {
9
- AtCalendarHeader as default
10
+ day_list_default as default
10
11
  };
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/calendar/ui/day-list/index.tsx"],"sourcesContent":["import React from 'react'\nimport { View } from '@tarojs/components'\n\nexport default class AtCalendarHeader extends React.Component {\n public render(): JSX.Element {\n return (\n <View className='at-calendar__header header'>\n <View className='header__flex'>\n <View className='header__flex-item'>日</View>\n <View className='header__flex-item'>一</View>\n <View className='header__flex-item'>二</View>\n <View className='header__flex-item'>三</View>\n <View className='header__flex-item'>四</View>\n <View className='header__flex-item'>五</View>\n <View className='header__flex-item'>六</View>\n </View>\n </View>\n )\n }\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,SAAS,YAAY;AAErB,MAAO,yBAAuC,MAAM,UAAU;AAAA,EACrD,SAAsB;AAC3B,WACE,oCAAC,QAAK,WAAU,gCACd,oCAAC,QAAK,WAAU,kBACd,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,GACrC,oCAAC,QAAK,WAAU,uBAAoB,QAAC,CACvC,CACF;AAAA,EAEJ;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/calendar/ui/day-list/index.tsx"],"sourcesContent":["import React from 'react'\nimport { View } from '@tarojs/components'\nimport { useComponentLocale } from '../../../../hooks/useComponentLocale'\n\nfunction AtCalendarHeader(): JSX.Element {\n const { weekdays } = useComponentLocale('Calendar')\n\n return (\n <View className='at-calendar__header header'>\n <View className='header__flex'>\n {weekdays.map(weekday => (\n <View key={weekday} className='header__flex-item'>\n {weekday}\n </View>\n ))}\n </View>\n </View>\n )\n}\n\nexport default AtCalendarHeader\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,SAAS,YAAY;AACrB,SAAS,0BAA0B;AAEnC,SAAS,mBAAgC;AACvC,QAAM,EAAE,SAAS,IAAI,mBAAmB,UAAU;AAElD,SACE,oCAAC,QAAK,WAAU,gCACd,oCAAC,QAAK,WAAU,kBACb,SAAS,IAAI,aACZ,oCAAC,QAAK,KAAK,SAAS,WAAU,uBAC3B,OACH,CACD,CACH,CACF;AAEJ;AAEA,IAAO,mBAAQ;","names":[]}
@@ -1,9 +1,17 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtCardProps } from '../../../types/card';
4
- export default class AtCard extends React.Component<AtCardProps> {
5
- static defaultProps: AtCardProps;
6
- static propTypes: InferProps<AtCardProps>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtCard({ title, note, extra, extraStyle, thumb, isFull, icon, renderIcon, className, children, onClick }: AtCardProps): JSX.Element;
4
+ declare namespace AtCard {
5
+ var propTypes: {
6
+ note: PropTypes.Requireable<string>;
7
+ isFull: PropTypes.Requireable<boolean>;
8
+ thumb: PropTypes.Requireable<string>;
9
+ title: PropTypes.Requireable<string>;
10
+ extra: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
11
+ icon: PropTypes.Requireable<object>;
12
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
13
+ renderIcon: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
14
+ extraStyle: PropTypes.Requireable<object>;
15
+ };
9
16
  }
17
+ export default AtCard;
@@ -18,50 +18,49 @@ import classNames from "classnames";
18
18
  import PropTypes from "prop-types";
19
19
  import React from "react";
20
20
  import { Image, Text, View } from "@tarojs/components";
21
- class AtCard extends React.Component {
22
- constructor() {
23
- super(...arguments);
24
- this.handleClick = (args) => {
25
- if (typeof this.props.onClick === "function") {
26
- this.props.onClick(args);
27
- }
28
- };
29
- }
30
- render() {
31
- const { title, note, extra, extraStyle, thumb, isFull, icon, renderIcon } = this.props;
32
- const rootClass = classNames(
33
- "at-card",
34
- {
35
- "at-card--full": isFull
36
- },
37
- this.props.className
38
- );
39
- const iconClass = classNames({
40
- "at-icon": true,
41
- [`at-icon-${icon && icon.value}`]: icon && icon.value,
42
- "at-card__header-icon": true
43
- });
44
- const iconStyle = {
45
- color: icon && icon.color || "",
46
- fontSize: icon && `${icon.size}px` || ""
47
- };
48
- return /* @__PURE__ */ React.createElement(View, { onClick: this.handleClick, className: rootClass }, /* @__PURE__ */ React.createElement(View, { className: "at-card__header" }, thumb && /* @__PURE__ */ React.createElement(View, { className: "at-card__header-thumb" }, /* @__PURE__ */ React.createElement(
49
- Image,
50
- {
51
- className: "at-card__header-thumb-info",
52
- mode: "scaleToFill",
53
- src: thumb
54
- }
55
- )), renderIcon || "", !thumb && icon && icon.value && /* @__PURE__ */ React.createElement(Text, { className: iconClass, style: iconStyle }), /* @__PURE__ */ React.createElement(Text, { className: "at-card__header-title" }, title), extra && /* @__PURE__ */ React.createElement(View, { style: __spreadValues({}, extraStyle), className: "at-card__header-extra" }, extra)), /* @__PURE__ */ React.createElement(View, { className: "at-card__content" }, /* @__PURE__ */ React.createElement(View, { className: "at-card__content-info" }, this.props.children), note && /* @__PURE__ */ React.createElement(View, { className: "at-card__content-note" }, note)));
56
- }
21
+ function AtCard({
22
+ title = "",
23
+ note = "",
24
+ extra,
25
+ extraStyle = {},
26
+ thumb = "",
27
+ isFull = false,
28
+ icon,
29
+ renderIcon,
30
+ className,
31
+ children,
32
+ onClick
33
+ }) {
34
+ const handleClick = (args) => {
35
+ if (typeof onClick === "function") {
36
+ onClick(args);
37
+ }
38
+ };
39
+ const rootClass = classNames(
40
+ "at-card",
41
+ {
42
+ "at-card--full": isFull
43
+ },
44
+ className
45
+ );
46
+ const iconClass = classNames({
47
+ "at-icon": true,
48
+ [`at-icon-${icon && icon.value}`]: icon && icon.value,
49
+ "at-card__header-icon": true
50
+ });
51
+ const iconStyle = {
52
+ color: icon && icon.color || "",
53
+ fontSize: icon && `${icon.size}px` || ""
54
+ };
55
+ return /* @__PURE__ */ React.createElement(View, { onClick: handleClick, className: rootClass }, /* @__PURE__ */ React.createElement(View, { className: "at-card__header" }, thumb && /* @__PURE__ */ React.createElement(View, { className: "at-card__header-thumb" }, /* @__PURE__ */ React.createElement(
56
+ Image,
57
+ {
58
+ className: "at-card__header-thumb-info",
59
+ mode: "scaleToFill",
60
+ src: thumb
61
+ }
62
+ )), renderIcon || "", !thumb && icon && icon.value && /* @__PURE__ */ React.createElement(Text, { className: iconClass, style: iconStyle }), /* @__PURE__ */ React.createElement(Text, { className: "at-card__header-title" }, title), extra && /* @__PURE__ */ React.createElement(View, { style: __spreadValues({}, extraStyle), className: "at-card__header-extra" }, extra)), /* @__PURE__ */ React.createElement(View, { className: "at-card__content" }, /* @__PURE__ */ React.createElement(View, { className: "at-card__content-info" }, children), note && /* @__PURE__ */ React.createElement(View, { className: "at-card__content-note" }, note)));
57
63
  }
58
- AtCard.defaultProps = {
59
- note: "",
60
- isFull: false,
61
- thumb: "",
62
- title: "",
63
- extraStyle: {}
64
- };
65
64
  AtCard.propTypes = {
66
65
  note: PropTypes.string,
67
66
  isFull: PropTypes.bool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/card/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { AtCardProps } from '../../../types/card'\n\nexport default class AtCard extends React.Component<AtCardProps> {\n public static defaultProps: AtCardProps\n public static propTypes: InferProps<AtCardProps>\n\n private handleClick = (args: any): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(args)\n }\n }\n\n public render(): JSX.Element {\n const { title, note, extra, extraStyle, thumb, isFull, icon, renderIcon } =\n this.props\n\n const rootClass = classNames(\n 'at-card',\n {\n 'at-card--full': isFull\n },\n this.props.className\n )\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon && icon.value}`]: icon && icon.value,\n 'at-card__header-icon': true\n })\n\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n\n return (\n <View onClick={this.handleClick} className={rootClass}>\n <View className='at-card__header'>\n {thumb && (\n <View className='at-card__header-thumb'>\n <Image\n className='at-card__header-thumb-info'\n mode='scaleToFill'\n src={thumb}\n />\n </View>\n )}\n {renderIcon || ''}\n {!thumb && icon && icon.value && (\n <Text className={iconClass} style={iconStyle}></Text>\n )}\n\n <Text className='at-card__header-title'>{title}</Text>\n {extra && (\n <View style={{ ...extraStyle }} className='at-card__header-extra'>\n {extra}\n </View>\n )}\n </View>\n <View className='at-card__content'>\n <View className='at-card__content-info'>{this.props.children}</View>\n {note && <View className='at-card__content-note'>{note}</View>}\n </View>\n </View>\n )\n }\n}\n\nAtCard.defaultProps = {\n note: '',\n isFull: false,\n thumb: '',\n title: '',\n extraStyle: {}\n}\n\nAtCard.propTypes = {\n note: PropTypes.string,\n isFull: PropTypes.bool,\n thumb: PropTypes.string,\n title: PropTypes.string,\n extra: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n icon: PropTypes.object,\n onClick: PropTypes.func,\n renderIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n extraStyle: PropTypes.object // 自定义extra样式\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,OAAO,MAAM,YAAY;AAGlC,MAAO,eAA6B,MAAM,UAAuB;AAAA,EAAjE;AAAA;AAIE,SAAQ,cAAc,CAAC,SAAoB;AACzC,UAAI,OAAO,KAAK,MAAM,YAAY,YAAY;AAC5C,aAAK,MAAM,QAAQ,IAAI;AAAA,MACzB;AAAA,IACF;AAAA;AAAA,EAEO,SAAsB;AAC3B,UAAM,EAAE,OAAO,MAAM,OAAO,YAAY,OAAO,QAAQ,MAAM,WAAW,IACtE,KAAK;AAEP,UAAM,YAAY;AAAA,MAChB;AAAA,MACA;AAAA,QACE,iBAAiB;AAAA,MACnB;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AACA,UAAM,YAAY,WAAW;AAAA,MAC3B,WAAW;AAAA,MACX,CAAC,WAAW,QAAQ,KAAK,KAAK,EAAE,GAAG,QAAQ,KAAK;AAAA,MAChD,wBAAwB;AAAA,IAC1B,CAAC;AAED,UAAM,YAAY;AAAA,MAChB,OAAQ,QAAQ,KAAK,SAAU;AAAA,MAC/B,UAAW,QAAQ,GAAG,KAAK,IAAI,QAAS;AAAA,IAC1C;AAEA,WACE,oCAAC,QAAK,SAAS,KAAK,aAAa,WAAW,aAC1C,oCAAC,QAAK,WAAU,qBACb,SACC,oCAAC,QAAK,WAAU,2BACd;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,MAAK;AAAA,QACL,KAAK;AAAA;AAAA,IACP,CACF,GAED,cAAc,IACd,CAAC,SAAS,QAAQ,KAAK,SACtB,oCAAC,QAAK,WAAW,WAAW,OAAO,WAAW,GAGhD,oCAAC,QAAK,WAAU,2BAAyB,KAAM,GAC9C,SACC,oCAAC,QAAK,OAAO,mBAAK,aAAc,WAAU,2BACvC,KACH,CAEJ,GACA,oCAAC,QAAK,WAAU,sBACd,oCAAC,QAAK,WAAU,2BAAyB,KAAK,MAAM,QAAS,GAC5D,QAAQ,oCAAC,QAAK,WAAU,2BAAyB,IAAK,CACzD,CACF;AAAA,EAEJ;AACF;AAEA,OAAO,eAAe;AAAA,EACpB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY,CAAC;AACf;AAEA,OAAO,YAAY;AAAA,EACjB,MAAM,UAAU;AAAA,EAChB,QAAQ,UAAU;AAAA,EAClB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC;AAAA,EAChE,MAAM,UAAU;AAAA,EAChB,SAAS,UAAU;AAAA,EACnB,YAAY,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC;AAAA,EACrE,YAAY,UAAU;AAAA;AACxB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/card/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { AtCardProps } from '../../../types/card'\n\nexport default function AtCard({\n title = '',\n note = '',\n extra,\n extraStyle = {},\n thumb = '',\n isFull = false,\n icon,\n renderIcon,\n className,\n children,\n onClick\n}: AtCardProps): JSX.Element {\n const handleClick = (args: any): void => {\n if (typeof onClick === 'function') {\n onClick(args)\n }\n }\n\n const rootClass = classNames(\n 'at-card',\n {\n 'at-card--full': isFull\n },\n className\n )\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon && icon.value}`]: icon && icon.value,\n 'at-card__header-icon': true\n })\n\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n\n return (\n <View onClick={handleClick} className={rootClass}>\n <View className='at-card__header'>\n {thumb && (\n <View className='at-card__header-thumb'>\n <Image\n className='at-card__header-thumb-info'\n mode='scaleToFill'\n src={thumb}\n />\n </View>\n )}\n {renderIcon || ''}\n {!thumb && icon && icon.value && (\n <Text className={iconClass} style={iconStyle}></Text>\n )}\n\n <Text className='at-card__header-title'>{title}</Text>\n {extra && (\n <View style={{ ...extraStyle }} className='at-card__header-extra'>\n {extra}\n </View>\n )}\n </View>\n <View className='at-card__content'>\n <View className='at-card__content-info'>{children}</View>\n {note && <View className='at-card__content-note'>{note}</View>}\n </View>\n </View>\n )\n}\n\nAtCard.propTypes = {\n note: PropTypes.string,\n isFull: PropTypes.bool,\n thumb: PropTypes.string,\n title: PropTypes.string,\n extra: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n icon: PropTypes.object,\n onClick: PropTypes.func,\n renderIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n extraStyle: PropTypes.object // 自定义extra样式\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,OAAO,MAAM,YAAY;AAGnB,SAAR,OAAwB;AAAA,EAC7B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA,aAAa,CAAC;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,cAAc,CAAC,SAAoB;AACvC,QAAI,OAAO,YAAY,YAAY;AACjC,cAAQ,IAAI;AAAA,IACd;AAAA,EACF;AAEA,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,MACE,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,EACF;AACA,QAAM,YAAY,WAAW;AAAA,IAC3B,WAAW;AAAA,IACX,CAAC,WAAW,QAAQ,KAAK,KAAK,EAAE,GAAG,QAAQ,KAAK;AAAA,IAChD,wBAAwB;AAAA,EAC1B,CAAC;AAED,QAAM,YAAY;AAAA,IAChB,OAAQ,QAAQ,KAAK,SAAU;AAAA,IAC/B,UAAW,QAAQ,GAAG,KAAK,IAAI,QAAS;AAAA,EAC1C;AAEA,SACE,oCAAC,QAAK,SAAS,aAAa,WAAW,aACrC,oCAAC,QAAK,WAAU,qBACb,SACC,oCAAC,QAAK,WAAU,2BACd;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,KAAK;AAAA;AAAA,EACP,CACF,GAED,cAAc,IACd,CAAC,SAAS,QAAQ,KAAK,SACtB,oCAAC,QAAK,WAAW,WAAW,OAAO,WAAW,GAGhD,oCAAC,QAAK,WAAU,2BAAyB,KAAM,GAC9C,SACC,oCAAC,QAAK,OAAO,mBAAK,aAAc,WAAU,2BACvC,KACH,CAEJ,GACA,oCAAC,QAAK,WAAU,sBACd,oCAAC,QAAK,WAAU,2BAAyB,QAAS,GACjD,QAAQ,oCAAC,QAAK,WAAU,2BAAyB,IAAK,CACzD,CACF;AAEJ;AAEA,OAAO,YAAY;AAAA,EACjB,MAAM,UAAU;AAAA,EAChB,QAAQ,UAAU;AAAA,EAClB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC;AAAA,EAChE,MAAM,UAAU;AAAA,EAChB,SAAS,UAAU;AAAA,EACnB,YAAY,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC;AAAA,EACrE,YAAY,UAAU;AAAA;AACxB;","names":[]}
@@ -1,9 +1,13 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtCheckboxProps } from '../../../types/checkbox';
4
- export default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {
5
- static defaultProps: AtCheckboxProps<any>;
6
- static propTypes: InferProps<AtCheckboxProps<any>>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtCheckbox({ customStyle, className, options, selectedList, onChange }: AtCheckboxProps<any>): JSX.Element;
4
+ declare namespace AtCheckbox {
5
+ var propTypes: {
6
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
7
+ className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
8
+ options: PropTypes.Requireable<any[]>;
9
+ selectedList: PropTypes.Requireable<any[]>;
10
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
11
+ };
9
12
  }
13
+ export default AtCheckbox;
@@ -2,9 +2,15 @@ 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 AtCheckbox extends React.Component {
6
- handleClick(idx) {
7
- const { selectedList, options } = this.props;
5
+ import { noop } from "../../common/utils";
6
+ function AtCheckbox({
7
+ customStyle = "",
8
+ className = "",
9
+ options = [],
10
+ selectedList = [],
11
+ onChange = noop
12
+ }) {
13
+ const handleClick = (idx) => {
8
14
  const option = options[idx];
9
15
  const { disabled, value } = option;
10
16
  if (disabled) return;
@@ -14,38 +20,26 @@ class AtCheckbox extends React.Component {
14
20
  } else {
15
21
  selectedSet.delete(value);
16
22
  }
17
- this.props.onChange([...selectedSet]);
18
- }
19
- render() {
20
- const { customStyle, className, options, selectedList } = this.props;
21
- const rootCls = classNames("at-checkbox", className);
22
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, options.map((option, idx) => {
23
- const { value, disabled, label, desc } = option;
24
- const optionCls = classNames("at-checkbox__option", {
25
- "at-checkbox__option--disabled": disabled,
26
- "at-checkbox__option--selected": selectedList.includes(value)
27
- });
28
- return /* @__PURE__ */ React.createElement(
29
- View,
30
- {
31
- className: optionCls,
32
- key: value,
33
- onClick: this.handleClick.bind(this, idx)
34
- },
35
- /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__option-wrap" }, /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__option-cnt" }, /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__icon-cnt" }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-check" })), /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__title" }, label)), desc && /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__desc" }, desc))
36
- );
37
- }));
38
- }
23
+ onChange([...selectedSet]);
24
+ };
25
+ const rootCls = classNames("at-checkbox", className);
26
+ return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, options.map((option, idx) => {
27
+ const { value, disabled, label, desc } = option;
28
+ const optionCls = classNames("at-checkbox__option", {
29
+ "at-checkbox__option--disabled": disabled,
30
+ "at-checkbox__option--selected": selectedList.includes(value)
31
+ });
32
+ return /* @__PURE__ */ React.createElement(
33
+ View,
34
+ {
35
+ className: optionCls,
36
+ key: value,
37
+ onClick: () => handleClick(idx)
38
+ },
39
+ /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__option-wrap" }, /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__option-cnt" }, /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__icon-cnt" }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-check" })), /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__title" }, label)), desc && /* @__PURE__ */ React.createElement(View, { className: "at-checkbox__desc" }, desc))
40
+ );
41
+ }));
39
42
  }
40
- AtCheckbox.defaultProps = {
41
- customStyle: "",
42
- className: "",
43
- options: [],
44
- selectedList: [],
45
- // eslint-disable-next-line @typescript-eslint/no-empty-function
46
- onChange: () => {
47
- }
48
- };
49
43
  AtCheckbox.propTypes = {
50
44
  customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
51
45
  className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
@@ -53,7 +47,8 @@ AtCheckbox.propTypes = {
53
47
  selectedList: PropTypes.array,
54
48
  onChange: PropTypes.func
55
49
  };
50
+ var checkbox_default = AtCheckbox;
56
51
  export {
57
- AtCheckbox as default
52
+ checkbox_default as default
58
53
  };
59
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/checkbox/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCheckboxProps } from '../../../types/checkbox'\n\nexport default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {\n public static defaultProps: AtCheckboxProps<any>\n public static propTypes: InferProps<AtCheckboxProps<any>>\n\n private handleClick(idx: number): void {\n const { selectedList, options } = this.props\n const option = options[idx]\n const { disabled, value } = option\n if (disabled) return\n\n const selectedSet = new Set(selectedList)\n if (!selectedSet.has(value)) {\n selectedSet.add(value)\n } else {\n selectedSet.delete(value)\n }\n this.props.onChange([...selectedSet])\n }\n\n public render(): JSX.Element {\n const { customStyle, className, options, selectedList } = this.props\n\n const rootCls = classNames('at-checkbox', className)\n\n return (\n <View className={rootCls} style={customStyle}>\n {options.map((option, idx) => {\n const { value, disabled, label, desc } = option\n const optionCls = classNames('at-checkbox__option', {\n 'at-checkbox__option--disabled': disabled,\n 'at-checkbox__option--selected': selectedList.includes(value)\n })\n\n return (\n <View\n className={optionCls}\n key={value}\n onClick={this.handleClick.bind(this, idx)}\n >\n <View className='at-checkbox__option-wrap'>\n <View className='at-checkbox__option-cnt'>\n <View className='at-checkbox__icon-cnt'>\n <Text className='at-icon at-icon-check'></Text>\n </View>\n <View className='at-checkbox__title'>{label}</View>\n </View>\n {desc && <View className='at-checkbox__desc'>{desc}</View>}\n </View>\n </View>\n )\n })}\n </View>\n )\n }\n}\n\nAtCheckbox.defaultProps = {\n customStyle: '',\n className: '',\n options: [],\n selectedList: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\n}\n\nAtCheckbox.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n options: PropTypes.array,\n selectedList: PropTypes.array,\n onChange: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAG3B,MAAO,mBAAiC,MAAM,UAAgC;AAAA,EAIpE,YAAY,KAAmB;AACrC,UAAM,EAAE,cAAc,QAAQ,IAAI,KAAK;AACvC,UAAM,SAAS,QAAQ,GAAG;AAC1B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,QAAI,SAAU;AAEd,UAAM,cAAc,IAAI,IAAI,YAAY;AACxC,QAAI,CAAC,YAAY,IAAI,KAAK,GAAG;AAC3B,kBAAY,IAAI,KAAK;AAAA,IACvB,OAAO;AACL,kBAAY,OAAO,KAAK;AAAA,IAC1B;AACA,SAAK,MAAM,SAAS,CAAC,GAAG,WAAW,CAAC;AAAA,EACtC;AAAA,EAEO,SAAsB;AAC3B,UAAM,EAAE,aAAa,WAAW,SAAS,aAAa,IAAI,KAAK;AAE/D,UAAM,UAAU,WAAW,eAAe,SAAS;AAEnD,WACE,oCAAC,QAAK,WAAW,SAAS,OAAO,eAC9B,QAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,YAAM,EAAE,OAAO,UAAU,OAAO,KAAK,IAAI;AACzC,YAAM,YAAY,WAAW,uBAAuB;AAAA,QAClD,iCAAiC;AAAA,QACjC,iCAAiC,aAAa,SAAS,KAAK;AAAA,MAC9D,CAAC;AAED,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,UACX,KAAK;AAAA,UACL,SAAS,KAAK,YAAY,KAAK,MAAM,GAAG;AAAA;AAAA,QAExC,oCAAC,QAAK,WAAU,8BACd,oCAAC,QAAK,WAAU,6BACd,oCAAC,QAAK,WAAU,2BACd,oCAAC,QAAK,WAAU,yBAAwB,CAC1C,GACA,oCAAC,QAAK,WAAU,wBAAsB,KAAM,CAC9C,GACC,QAAQ,oCAAC,QAAK,WAAU,uBAAqB,IAAK,CACrD;AAAA,MACF;AAAA,IAEJ,CAAC,CACH;AAAA,EAEJ;AACF;AAEA,WAAW,eAAe;AAAA,EACxB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,cAAc,CAAC;AAAA;AAAA,EAEf,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,SAAS,UAAU;AAAA,EACnB,cAAc,UAAU;AAAA,EACxB,UAAU,UAAU;AACtB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/checkbox/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCheckboxProps } from '../../../types/checkbox'\nimport { noop } from '../../common/utils'\n\nfunction AtCheckbox({\n customStyle = '',\n className = '',\n options = [],\n selectedList = [],\n onChange = noop\n}: AtCheckboxProps<any>): JSX.Element {\n const handleClick = (idx: number): void => {\n const option = options[idx]\n const { disabled, value } = option\n if (disabled) return\n\n const selectedSet = new Set(selectedList)\n if (!selectedSet.has(value)) {\n selectedSet.add(value)\n } else {\n selectedSet.delete(value)\n }\n onChange([...selectedSet])\n }\n\n const rootCls = classNames('at-checkbox', className)\n\n return (\n <View className={rootCls} style={customStyle}>\n {options.map((option, idx) => {\n const { value, disabled, label, desc } = option\n const optionCls = classNames('at-checkbox__option', {\n 'at-checkbox__option--disabled': disabled,\n 'at-checkbox__option--selected': selectedList.includes(value)\n })\n\n return (\n <View\n className={optionCls}\n key={value}\n onClick={() => handleClick(idx)}\n >\n <View className='at-checkbox__option-wrap'>\n <View className='at-checkbox__option-cnt'>\n <View className='at-checkbox__icon-cnt'>\n <Text className='at-icon at-icon-check'></Text>\n </View>\n <View className='at-checkbox__title'>{label}</View>\n </View>\n {desc && <View className='at-checkbox__desc'>{desc}</View>}\n </View>\n </View>\n )\n })}\n </View>\n )\n}\n\nAtCheckbox.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n options: PropTypes.array,\n selectedList: PropTypes.array,\n onChange: PropTypes.func\n}\n\nexport default AtCheckbox\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,MAAM,YAAY;AAE3B,SAAS,YAAY;AAErB,SAAS,WAAW;AAAA,EAClB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU,CAAC;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,WAAW;AACb,GAAsC;AACpC,QAAM,cAAc,CAAC,QAAsB;AACzC,UAAM,SAAS,QAAQ,GAAG;AAC1B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,QAAI,SAAU;AAEd,UAAM,cAAc,IAAI,IAAI,YAAY;AACxC,QAAI,CAAC,YAAY,IAAI,KAAK,GAAG;AAC3B,kBAAY,IAAI,KAAK;AAAA,IACvB,OAAO;AACL,kBAAY,OAAO,KAAK;AAAA,IAC1B;AACA,aAAS,CAAC,GAAG,WAAW,CAAC;AAAA,EAC3B;AAEA,QAAM,UAAU,WAAW,eAAe,SAAS;AAEnD,SACE,oCAAC,QAAK,WAAW,SAAS,OAAO,eAC9B,QAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,UAAM,EAAE,OAAO,UAAU,OAAO,KAAK,IAAI;AACzC,UAAM,YAAY,WAAW,uBAAuB;AAAA,MAClD,iCAAiC;AAAA,MACjC,iCAAiC,aAAa,SAAS,KAAK;AAAA,IAC9D,CAAC;AAED,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,KAAK;AAAA,QACL,SAAS,MAAM,YAAY,GAAG;AAAA;AAAA,MAE9B,oCAAC,QAAK,WAAU,8BACd,oCAAC,QAAK,WAAU,6BACd,oCAAC,QAAK,WAAU,2BACd,oCAAC,QAAK,WAAU,yBAAwB,CAC1C,GACA,oCAAC,QAAK,WAAU,wBAAsB,KAAM,CAC9C,GACC,QAAQ,oCAAC,QAAK,WAAU,uBAAqB,IAAK,CACrD;AAAA,IACF;AAAA,EAEJ,CAAC,CACH;AAEJ;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,SAAS,UAAU;AAAA,EACnB,cAAc,UAAU;AAAA,EACxB,UAAU,UAAU;AACtB;AAEA,IAAO,mBAAQ;","names":[]}
@@ -0,0 +1,6 @@
1
+ import { Locale } from '../../locale/types';
2
+ export interface ConfigContextValue {
3
+ locale: Locale;
4
+ }
5
+ export declare const ConfigContext: import("react").Context<ConfigContextValue>;
6
+ export declare function useConfig(): ConfigContextValue;
@@ -0,0 +1,13 @@
1
+ import { createContext, useContext } from "react";
2
+ import { defaultLocale } from "../../locale";
3
+ const ConfigContext = createContext({
4
+ locale: defaultLocale
5
+ });
6
+ function useConfig() {
7
+ return useContext(ConfigContext);
8
+ }
9
+ export {
10
+ ConfigContext,
11
+ useConfig
12
+ };
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/config-provider/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport { defaultLocale } from '../../locale'\nimport { Locale } from '../../locale/types'\n\nexport interface ConfigContextValue {\n locale: Locale\n}\n\nexport const ConfigContext = createContext<ConfigContextValue>({\n locale: defaultLocale\n})\n\nexport function useConfig() {\n return useContext(ConfigContext)\n}\n"],"mappings":"AAAA,SAAS,eAAe,kBAAkB;AAC1C,SAAS,qBAAqB;AAOvB,MAAM,gBAAgB,cAAkC;AAAA,EAC7D,QAAQ;AACV,CAAC;AAEM,SAAS,YAAY;AAC1B,SAAO,WAAW,aAAa;AACjC;","names":[]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { PartialLocale } from '../../locale/types';
3
+ export interface ConfigProviderProps {
4
+ locale?: PartialLocale;
5
+ children?: React.ReactNode;
6
+ }
7
+ export default function ConfigProvider({ locale, children }: ConfigProviderProps): JSX.Element;
@@ -0,0 +1,15 @@
1
+ import merge from "lodash/merge";
2
+ import React, { useMemo } from "react";
3
+ import { defaultLocale } from "../../locale";
4
+ import { ConfigContext } from "./context";
5
+ function ConfigProvider({
6
+ locale,
7
+ children
8
+ }) {
9
+ const mergedLocale = useMemo(() => merge({}, defaultLocale, locale), [locale]);
10
+ return /* @__PURE__ */ React.createElement(ConfigContext.Provider, { value: { locale: mergedLocale } }, children);
11
+ }
12
+ export {
13
+ ConfigProvider as default
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/config-provider/index.tsx"],"sourcesContent":["import merge from 'lodash/merge'\nimport React, { useMemo } from 'react'\nimport { defaultLocale } from '../../locale'\nimport { PartialLocale } from '../../locale/types'\nimport { ConfigContext } from './context'\n\nexport interface ConfigProviderProps {\n locale?: PartialLocale\n children?: React.ReactNode\n}\n\nexport default function ConfigProvider({\n locale,\n children\n}: ConfigProviderProps): JSX.Element {\n const mergedLocale = useMemo(() => merge({}, defaultLocale, locale), [locale])\n\n return (\n <ConfigContext.Provider value={{ locale: mergedLocale }}>\n {children}\n </ConfigContext.Provider>\n )\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,OAAO,SAAS,eAAe;AAC/B,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB;AAOf,SAAR,eAAgC;AAAA,EACrC;AAAA,EACA;AACF,GAAqC;AACnC,QAAM,eAAe,QAAQ,MAAM,MAAM,CAAC,GAAG,eAAe,MAAM,GAAG,CAAC,MAAM,CAAC;AAE7E,SACE,oCAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,QAAQ,aAAa,KACnD,QACH;AAEJ;","names":[]}