taro-ui 3.3.2 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +85 -0
- package/{lib → dist}/common/utils.d.ts +2 -1
- package/{lib → dist}/common/utils.js +3 -0
- package/{lib → dist}/common/utils.js.map +1 -1
- package/dist/components/accordion/index.d.ts +17 -0
- package/dist/components/accordion/index.js +101 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/action-sheet/body/index.d.ts +3 -0
- package/dist/components/action-sheet/body/index.js +15 -0
- package/dist/components/action-sheet/body/index.js.map +1 -0
- package/dist/components/action-sheet/body/item/index.d.ts +9 -0
- package/dist/components/action-sheet/body/item/index.js +25 -0
- package/dist/components/action-sheet/body/item/index.js.map +1 -0
- package/dist/components/action-sheet/footer/index.d.ts +9 -0
- package/dist/components/action-sheet/footer/index.js +25 -0
- package/dist/components/action-sheet/footer/index.js.map +1 -0
- package/dist/components/action-sheet/header/index.d.ts +3 -0
- package/dist/components/action-sheet/header/index.js +15 -0
- package/dist/components/action-sheet/header/index.js.map +1 -0
- package/dist/components/action-sheet/index.d.ts +13 -0
- package/dist/components/action-sheet/index.js +72 -0
- package/dist/components/action-sheet/index.js.map +1 -0
- package/dist/components/activity-indicator/index.d.ts +14 -0
- package/dist/components/activity-indicator/index.js +36 -0
- package/dist/components/activity-indicator/index.js.map +1 -0
- package/dist/components/avatar/index.d.ts +15 -0
- package/dist/components/avatar/index.js +61 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/index.d.ts +13 -0
- package/dist/components/badge/index.js +35 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/button/index.d.ts +30 -0
- package/dist/components/button/index.js +162 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/calendar/body/index.d.ts +3 -0
- package/dist/components/calendar/body/index.js +269 -0
- package/dist/components/calendar/body/index.js.map +1 -0
- package/dist/components/calendar/controller/index.d.ts +3 -0
- package/dist/components/calendar/controller/index.js +55 -0
- package/dist/components/calendar/controller/index.js.map +1 -0
- package/dist/components/calendar/index.d.ts +3 -0
- package/dist/components/calendar/index.js +262 -0
- package/dist/components/calendar/index.js.map +1 -0
- package/{lib → dist}/components/calendar/ui/date-list/index.d.ts +2 -6
- package/dist/components/calendar/ui/date-list/index.js +49 -0
- package/dist/components/calendar/ui/date-list/index.js.map +1 -0
- package/dist/components/calendar/ui/day-list/index.d.ts +2 -0
- package/dist/components/calendar/ui/day-list/index.js +12 -0
- package/dist/components/calendar/ui/day-list/index.js.map +1 -0
- package/dist/components/card/index.d.ts +17 -0
- package/dist/components/card/index.js +79 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +13 -0
- package/dist/components/checkbox/index.js +54 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/config-provider/context.d.ts +6 -0
- package/dist/components/config-provider/context.js +13 -0
- package/dist/components/config-provider/context.js.map +1 -0
- package/dist/components/config-provider/index.d.ts +7 -0
- package/dist/components/config-provider/index.js +15 -0
- package/dist/components/config-provider/index.js.map +1 -0
- package/dist/components/countdown/index.d.ts +20 -0
- package/dist/components/countdown/index.js +217 -0
- package/dist/components/countdown/index.js.map +1 -0
- package/dist/components/countdown/item/index.d.ts +10 -0
- package/dist/components/countdown/item/index.js +21 -0
- package/dist/components/countdown/item/index.js.map +1 -0
- package/dist/components/curtain/index.d.ts +13 -0
- package/dist/components/curtain/index.js +53 -0
- package/dist/components/curtain/index.js.map +1 -0
- package/dist/components/divider/index.d.ts +15 -0
- package/dist/components/divider/index.js +48 -0
- package/dist/components/divider/index.js.map +1 -0
- package/dist/components/drawer/index.d.ts +14 -0
- package/dist/components/drawer/index.js +121 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/fab/index.d.ts +10 -0
- package/dist/components/fab/index.js +29 -0
- package/dist/components/fab/index.js.map +1 -0
- package/dist/components/flex/index.d.ts +13 -0
- package/{lib → dist}/components/flex/index.js +17 -18
- package/dist/components/flex/index.js.map +1 -0
- package/dist/components/flex/item/index.d.ts +13 -0
- package/dist/components/flex/item/index.js +33 -0
- package/dist/components/flex/item/index.js.map +1 -0
- package/dist/components/float-layout/index.d.ts +21 -0
- package/dist/components/float-layout/index.js +88 -0
- package/dist/components/float-layout/index.js.map +1 -0
- package/dist/components/form/index.d.ts +13 -0
- package/dist/components/form/index.js +43 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/grid/index.d.ts +24 -0
- package/dist/components/grid/index.js +96 -0
- package/dist/components/grid/index.js.map +1 -0
- package/dist/components/icon/index.d.ts +15 -0
- package/dist/components/icon/index.js +44 -0
- package/dist/components/icon/index.js.map +1 -0
- package/dist/components/image-picker/index.d.ts +21 -0
- package/dist/components/image-picker/index.js +145 -0
- package/dist/components/image-picker/index.js.map +1 -0
- package/dist/components/indexes/index.d.ts +17 -0
- package/dist/components/indexes/index.js +261 -0
- package/dist/components/indexes/index.js.map +1 -0
- package/dist/components/input/index.d.ts +39 -0
- package/dist/components/input/index.js +223 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input-number/index.d.ts +22 -0
- package/dist/components/input-number/index.js +174 -0
- package/dist/components/input-number/index.js.map +1 -0
- package/dist/components/list/index.d.ts +9 -0
- package/dist/components/list/index.js +26 -0
- package/dist/components/list/index.js.map +1 -0
- package/dist/components/list/item/index.d.ts +29 -0
- package/dist/components/list/item/index.js +124 -0
- package/dist/components/list/item/index.js.map +1 -0
- package/dist/components/load-more/index.d.ts +17 -0
- package/dist/components/load-more/index.js +51 -0
- package/dist/components/load-more/index.js.map +1 -0
- package/dist/components/loading/index.d.ts +13 -0
- package/dist/components/loading/index.js +26 -0
- package/dist/components/loading/index.js.map +1 -0
- package/dist/components/message/index.d.ts +10 -0
- package/dist/components/message/index.js +64 -0
- package/dist/components/message/index.js.map +1 -0
- package/dist/components/modal/action/index.d.ts +9 -0
- package/dist/components/modal/action/index.js +26 -0
- package/dist/components/modal/action/index.js.map +1 -0
- package/dist/components/modal/content/index.d.ts +3 -0
- package/dist/components/modal/content/index.js +15 -0
- package/dist/components/modal/content/index.js.map +1 -0
- package/dist/components/modal/header/index.d.ts +3 -0
- package/dist/components/modal/header/index.js +15 -0
- package/dist/components/modal/header/index.js.map +1 -0
- package/dist/components/modal/index.d.ts +17 -0
- package/dist/components/modal/index.js +92 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/nav-bar/index.d.ts +22 -0
- package/dist/components/nav-bar/index.js +201 -0
- package/dist/components/nav-bar/index.js.map +1 -0
- package/dist/components/noticebar/index.d.ts +18 -0
- package/dist/components/noticebar/index.js +173 -0
- package/dist/components/noticebar/index.js.map +1 -0
- package/dist/components/pagination/index.d.ts +14 -0
- package/dist/components/pagination/index.js +90 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/progress/index.d.ts +13 -0
- package/dist/components/progress/index.js +56 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/radio/index.d.ts +13 -0
- package/dist/components/radio/index.js +50 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/range/index.d.ts +20 -0
- package/dist/components/range/index.js +200 -0
- package/dist/components/range/index.js.map +1 -0
- package/dist/components/rate/index.d.ts +15 -0
- package/dist/components/rate/index.js +67 -0
- package/dist/components/rate/index.js.map +1 -0
- package/dist/components/search-bar/index.d.ts +24 -0
- package/dist/components/search-bar/index.js +150 -0
- package/dist/components/search-bar/index.js.map +1 -0
- package/dist/components/segmented-control/index.d.ts +16 -0
- package/dist/components/segmented-control/index.js +70 -0
- package/dist/components/segmented-control/index.js.map +1 -0
- package/dist/components/slider/index.d.ts +22 -0
- package/dist/components/slider/index.js +91 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/steps/index.d.ts +13 -0
- package/dist/components/steps/index.js +62 -0
- package/dist/components/steps/index.js.map +1 -0
- package/dist/components/swipe-action/index.d.ts +14 -0
- package/dist/components/swipe-action/index.js +223 -0
- package/dist/components/swipe-action/index.js.map +1 -0
- package/dist/components/swipe-action/options/index.d.ts +3 -0
- package/dist/components/swipe-action/options/index.js +25 -0
- package/dist/components/swipe-action/options/index.js.map +1 -0
- package/dist/components/switch/index.d.ts +16 -0
- package/dist/components/switch/index.js +54 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/tab-bar/index.d.ts +19 -0
- package/dist/components/tab-bar/index.js +143 -0
- package/dist/components/tab-bar/index.js.map +1 -0
- package/dist/components/tabs/index.d.ts +18 -0
- package/dist/components/tabs/index.js +230 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs-pane/index.d.ts +13 -0
- package/dist/components/tabs-pane/index.js +41 -0
- package/dist/components/tabs-pane/index.js.map +1 -0
- package/dist/components/tag/index.d.ts +16 -0
- package/dist/components/tag/index.js +66 -0
- package/dist/components/tag/index.js.map +1 -0
- package/dist/components/textarea/index.d.ts +31 -0
- package/dist/components/textarea/index.js +121 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/timeline/index.d.ts +11 -0
- package/dist/components/timeline/index.js +70 -0
- package/dist/components/timeline/index.js.map +1 -0
- package/dist/components/toast/img.json +5 -0
- package/dist/components/toast/index.d.ts +17 -0
- package/dist/components/toast/index.js +115 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/hooks/useComponentLocale.d.ts +2 -0
- package/dist/hooks/useComponentLocale.js +12 -0
- package/dist/hooks/useComponentLocale.js.map +1 -0
- package/{lib → dist}/index.d.ts +3 -0
- package/dist/index.esm.js +5856 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +5937 -0
- package/dist/index.js.map +1 -0
- package/dist/locale/en_US.d.ts +3 -0
- package/dist/locale/en_US.js +34 -0
- package/dist/locale/en_US.js.map +1 -0
- package/dist/locale/index.d.ts +4 -0
- package/dist/locale/index.js +10 -0
- package/dist/locale/index.js.map +1 -0
- package/dist/locale/types.d.ts +34 -0
- package/dist/locale/types.js +1 -0
- package/dist/locale/types.js.map +1 -0
- package/dist/locale/zh_CN.d.ts +3 -0
- package/dist/locale/zh_CN.js +34 -0
- package/dist/locale/zh_CN.js.map +1 -0
- package/{lib → dist}/style/components/avatar.scss +1 -1
- package/{lib → dist}/style/components/badge.scss +7 -2
- package/{lib → dist}/style/components/calendar.scss +1 -1
- package/{lib → dist}/style/components/countdown.scss +2 -1
- package/{lib → dist}/style/components/flex.scss +1 -1
- package/{lib → dist}/style/components/grid.scss +2 -2
- package/{lib → dist}/style/components/icon.scss +302 -101
- package/{lib → dist}/style/components/input.scss +2 -2
- package/{lib → dist}/style/components/progress.scss +1 -1
- package/{lib → dist}/style/components/search-bar.scss +1 -1
- package/{lib → dist}/style/components/steps.scss +2 -2
- package/{lib → dist}/style/components/tabs.scss +1 -1
- package/{lib → dist}/style/components/tag.scss +1 -1
- package/{lib → dist}/style/components/timeline.scss +1 -1
- package/{lib → dist}/style/components/toast.scss +7 -3
- package/{lib → dist}/style/index.css +176 -176
- package/dist/style/index.css.map +1 -0
- package/{lib → dist}/style/mixins/libs/hairline.scss +4 -19
- package/{lib → dist}/style/mixins/libs/shade.scss +3 -6
- package/{lib → dist}/style/mixins/libs/tint.scss +4 -7
- package/{lib → dist}/style/themes/purple.scss +15 -15
- package/{lib → dist}/style/themes/red.scss +16 -13
- package/{lib → dist}/style/variables/default.scss +69 -73
- package/package.json +45 -12
- package/rn/components/accordion/index.tsx +2 -9
- package/rn/components/action-sheet/body/index.tsx +1 -3
- package/rn/components/action-sheet/body/item/index.tsx +1 -3
- package/rn/components/action-sheet/footer/index.tsx +1 -3
- package/rn/components/action-sheet/header/index.tsx +1 -3
- package/rn/components/activity-indicator/index.tsx +1 -3
- package/rn/components/avatar/index.tsx +5 -5
- package/rn/components/calendar/controller/index.tsx +2 -7
- package/rn/components/card/index.tsx +4 -4
- package/rn/components/countdown/index.scss +5 -4
- package/rn/components/countdown/item/index.tsx +1 -3
- package/rn/components/curtain/index.tsx +5 -5
- package/rn/components/flex/index.scss +2 -2
- package/rn/components/flex/item/index.scss +2 -2
- package/rn/components/grid/index.tsx +15 -15
- package/rn/components/icon/index.tsx +4 -4
- package/rn/components/image-picker/index.tsx +7 -7
- package/rn/components/pagination/index.tsx +7 -7
- package/rn/components/progress/index.tsx +5 -5
- package/rn/components/radio/index.tsx +7 -7
- package/rn/components/rate/index.tsx +4 -4
- package/rn/components/segmented-control/index.tsx +8 -8
- package/rn/components/slider/index.tsx +9 -9
- package/rn/components/steps/index.tsx +8 -8
- package/rn/components/swipe-action/options/index.tsx +1 -3
- package/rn/components/switch/index.tsx +2 -9
- package/rn/components/toast/img.json +3 -6
- package/rn/components/toast/index.tsx +8 -8
- package/rn/style/components/accordion.scss +1 -1
- package/rn/style/components/action-sheet.scss +1 -1
- package/rn/style/components/avatar.scss +1 -1
- package/rn/style/components/badge.scss +8 -3
- package/rn/style/components/button.scss +1 -1
- package/rn/style/components/calendar.scss +1 -1
- package/rn/style/components/checkbox.scss +1 -1
- package/rn/style/components/curtain.scss +1 -1
- package/rn/style/components/fab.scss +1 -4
- package/rn/style/components/flex.scss +1 -1
- package/rn/style/components/grid.scss +2 -6
- package/rn/style/components/icon.scss +302 -101
- package/rn/style/components/index.scss +41 -41
- package/rn/style/components/input.scss +1 -1
- package/rn/style/components/list.scss +2 -4
- package/rn/style/components/loading.scss +4 -4
- package/rn/style/components/message.scss +1 -1
- package/rn/style/components/modal.scss +0 -2
- package/rn/style/components/nav-bar.scss +3 -3
- package/rn/style/components/noticebar.scss +0 -4
- package/rn/style/components/progress.scss +1 -1
- package/rn/style/components/radio.scss +2 -2
- package/rn/style/components/range.scss +1 -1
- package/rn/style/components/search-bar.scss +1 -1
- package/rn/style/components/segmented-control.scss +4 -1
- package/rn/style/components/slider.scss +0 -1
- package/rn/style/components/steps.scss +3 -3
- package/rn/style/components/switch.scss +0 -1
- package/rn/style/components/tabs.scss +2 -2
- package/rn/style/components/tag.scss +1 -1
- package/rn/style/components/timeline.scss +0 -2
- package/rn/style/components/toast.scss +5 -2
- package/rn/style/index.scss +1 -1
- package/rn/style/mixins/libs/hairline.scss +4 -22
- package/rn/style/mixins/libs/shade.scss +1 -4
- package/rn/style/mixins/libs/tint.scss +2 -5
- package/rn/style/themes/purple.scss +15 -15
- package/rn/style/themes/red.scss +16 -13
- package/rn/style/variables/default.scss +69 -73
- package/lib/components/accordion/index.d.ts +0 -14
- package/lib/components/accordion/index.js +0 -121
- package/lib/components/accordion/index.js.map +0 -1
- package/lib/components/action-sheet/body/index.d.ts +0 -5
- package/lib/components/action-sheet/body/index.js +0 -13
- package/lib/components/action-sheet/body/index.js.map +0 -1
- package/lib/components/action-sheet/body/item/index.d.ts +0 -9
- package/lib/components/action-sheet/body/item/index.js +0 -25
- package/lib/components/action-sheet/body/item/index.js.map +0 -1
- package/lib/components/action-sheet/footer/index.d.ts +0 -9
- package/lib/components/action-sheet/footer/index.js +0 -28
- package/lib/components/action-sheet/footer/index.js.map +0 -1
- package/lib/components/action-sheet/header/index.d.ts +0 -5
- package/lib/components/action-sheet/header/index.js +0 -16
- package/lib/components/action-sheet/header/index.js.map +0 -1
- package/lib/components/action-sheet/index.d.ts +0 -14
- package/lib/components/action-sheet/index.js +0 -76
- package/lib/components/action-sheet/index.js.map +0 -1
- package/lib/components/activity-indicator/index.d.ts +0 -8
- package/lib/components/activity-indicator/index.js +0 -39
- package/lib/components/activity-indicator/index.js.map +0 -1
- package/lib/components/avatar/index.d.ts +0 -9
- package/lib/components/avatar/index.js +0 -67
- package/lib/components/avatar/index.js.map +0 -1
- package/lib/components/badge/index.d.ts +0 -10
- package/lib/components/badge/index.js +0 -51
- package/lib/components/badge/index.js.map +0 -1
- package/lib/components/button/index.d.ts +0 -15
- package/lib/components/button/index.js +0 -177
- package/lib/components/button/index.js.map +0 -1
- package/lib/components/calendar/body/index.d.ts +0 -26
- package/lib/components/calendar/body/index.js +0 -289
- package/lib/components/calendar/body/index.js.map +0 -1
- package/lib/components/calendar/controller/index.d.ts +0 -5
- package/lib/components/calendar/controller/index.js +0 -51
- package/lib/components/calendar/controller/index.js.map +0 -1
- package/lib/components/calendar/index.d.ts +0 -20
- package/lib/components/calendar/index.js +0 -244
- package/lib/components/calendar/index.js.map +0 -1
- package/lib/components/calendar/ui/date-list/index.js +0 -54
- package/lib/components/calendar/ui/date-list/index.js.map +0 -1
- package/lib/components/calendar/ui/day-list/index.d.ts +0 -4
- package/lib/components/calendar/ui/day-list/index.js +0 -11
- package/lib/components/calendar/ui/day-list/index.js.map +0 -1
- package/lib/components/card/index.d.ts +0 -9
- package/lib/components/card/index.js +0 -80
- package/lib/components/card/index.js.map +0 -1
- package/lib/components/checkbox/index.d.ts +0 -9
- package/lib/components/checkbox/index.js +0 -59
- package/lib/components/checkbox/index.js.map +0 -1
- package/lib/components/countdown/index.d.ts +0 -20
- package/lib/components/countdown/index.js +0 -152
- package/lib/components/countdown/index.js.map +0 -1
- package/lib/components/countdown/item/index.d.ts +0 -9
- package/lib/components/countdown/item/index.js +0 -24
- package/lib/components/countdown/item/index.js.map +0 -1
- package/lib/components/curtain/index.d.ts +0 -10
- package/lib/components/curtain/index.js +0 -62
- package/lib/components/curtain/index.js.map +0 -1
- package/lib/components/divider/index.d.ts +0 -8
- package/lib/components/divider/index.js +0 -57
- package/lib/components/divider/index.js.map +0 -1
- package/lib/components/drawer/index.d.ts +0 -16
- package/lib/components/drawer/index.js +0 -114
- package/lib/components/drawer/index.js.map +0 -1
- package/lib/components/fab/index.d.ts +0 -9
- package/lib/components/fab/index.js +0 -29
- package/lib/components/fab/index.js.map +0 -1
- package/lib/components/flex/index.d.ts +0 -7
- package/lib/components/flex/index.js.map +0 -1
- package/lib/components/flex/item/index.d.ts +0 -7
- package/lib/components/flex/item/index.js +0 -34
- package/lib/components/flex/item/index.js.map +0 -1
- package/lib/components/float-layout/index.d.ts +0 -13
- package/lib/components/float-layout/index.js +0 -104
- package/lib/components/float-layout/index.js.map +0 -1
- package/lib/components/form/index.d.ts +0 -10
- package/lib/components/form/index.js +0 -43
- package/lib/components/form/index.js.map +0 -1
- package/lib/components/grid/index.d.ts +0 -9
- package/lib/components/grid/index.js +0 -101
- package/lib/components/grid/index.js.map +0 -1
- package/lib/components/icon/index.d.ts +0 -9
- package/lib/components/icon/index.js +0 -54
- package/lib/components/icon/index.js.map +0 -1
- package/lib/components/image-picker/index.d.ts +0 -11
- package/lib/components/image-picker/index.js +0 -164
- package/lib/components/image-picker/index.js.map +0 -1
- package/lib/components/indexes/index.d.ts +0 -29
- package/lib/components/indexes/index.js +0 -272
- package/lib/components/indexes/index.js.map +0 -1
- package/lib/components/input/index.d.ts +0 -17
- package/lib/components/input/index.js +0 -232
- package/lib/components/input/index.js.map +0 -1
- package/lib/components/input-number/index.d.ts +0 -13
- package/lib/components/input-number/index.js +0 -193
- package/lib/components/input-number/index.js.map +0 -1
- package/lib/components/list/index.d.ts +0 -8
- package/lib/components/list/index.js +0 -26
- package/lib/components/list/index.js.map +0 -1
- package/lib/components/list/item/index.d.ts +0 -11
- package/lib/components/list/item/index.js +0 -152
- package/lib/components/list/item/index.js.map +0 -1
- package/lib/components/load-more/index.d.ts +0 -9
- package/lib/components/load-more/index.js +0 -72
- package/lib/components/load-more/index.js.map +0 -1
- package/lib/components/loading/index.d.ts +0 -12
- package/lib/components/loading/index.js +0 -32
- package/lib/components/loading/index.js.map +0 -1
- package/lib/components/message/index.d.ts +0 -15
- package/lib/components/message/index.js +0 -78
- package/lib/components/message/index.js.map +0 -1
- package/lib/components/modal/action/index.d.ts +0 -8
- package/lib/components/modal/action/index.js +0 -26
- package/lib/components/modal/action/index.js.map +0 -1
- package/lib/components/modal/content/index.d.ts +0 -5
- package/lib/components/modal/content/index.js +0 -13
- package/lib/components/modal/content/index.js.map +0 -1
- package/lib/components/modal/header/index.d.ts +0 -5
- package/lib/components/modal/header/index.js +0 -13
- package/lib/components/modal/header/index.js.map +0 -1
- package/lib/components/modal/index.d.ts +0 -15
- package/lib/components/modal/index.js +0 -106
- package/lib/components/modal/index.js.map +0 -1
- package/lib/components/nav-bar/index.d.ts +0 -12
- package/lib/components/nav-bar/index.js +0 -217
- package/lib/components/nav-bar/index.js.map +0 -1
- package/lib/components/noticebar/index.d.ts +0 -16
- package/lib/components/noticebar/index.js +0 -186
- package/lib/components/noticebar/index.js.map +0 -1
- package/lib/components/pagination/index.d.ts +0 -12
- package/lib/components/pagination/index.js +0 -146
- package/lib/components/pagination/index.js.map +0 -1
- package/lib/components/progress/index.d.ts +0 -7
- package/lib/components/progress/index.js +0 -53
- package/lib/components/progress/index.js.map +0 -1
- package/lib/components/radio/index.d.ts +0 -9
- package/lib/components/radio/index.js +0 -54
- package/lib/components/radio/index.js.map +0 -1
- package/lib/components/range/index.d.ts +0 -22
- package/lib/components/range/index.js +0 -207
- package/lib/components/range/index.js.map +0 -1
- package/lib/components/rate/index.d.ts +0 -9
- package/lib/components/rate/index.js +0 -82
- package/lib/components/rate/index.js.map +0 -1
- package/lib/components/search-bar/index.d.ts +0 -16
- package/lib/components/search-bar/index.js +0 -176
- package/lib/components/search-bar/index.js.map +0 -1
- package/lib/components/segmented-control/index.d.ts +0 -9
- package/lib/components/segmented-control/index.js +0 -84
- package/lib/components/segmented-control/index.js.map +0 -1
- package/lib/components/slider/index.d.ts +0 -13
- package/lib/components/slider/index.js +0 -115
- package/lib/components/slider/index.js.map +0 -1
- package/lib/components/steps/index.d.ts +0 -9
- package/lib/components/steps/index.js +0 -67
- package/lib/components/steps/index.js.map +0 -1
- package/lib/components/swipe-action/index.d.ts +0 -27
- package/lib/components/swipe-action/index.js +0 -220
- package/lib/components/swipe-action/index.js.map +0 -1
- package/lib/components/swipe-action/options/index.d.ts +0 -5
- package/lib/components/swipe-action/options/index.js +0 -24
- package/lib/components/swipe-action/options/index.js.map +0 -1
- package/lib/components/switch/index.d.ts +0 -9
- package/lib/components/switch/index.js +0 -59
- package/lib/components/switch/index.js.map +0 -1
- package/lib/components/tab-bar/index.d.ts +0 -9
- package/lib/components/tab-bar/index.js +0 -170
- package/lib/components/tab-bar/index.js.map +0 -1
- package/lib/components/tabs/index.d.ts +0 -24
- package/lib/components/tabs/index.js +0 -219
- package/lib/components/tabs/index.js.map +0 -1
- package/lib/components/tabs-pane/index.d.ts +0 -8
- package/lib/components/tabs-pane/index.js +0 -43
- package/lib/components/tabs-pane/index.js.map +0 -1
- package/lib/components/tag/index.d.ts +0 -9
- package/lib/components/tag/index.js +0 -75
- package/lib/components/tag/index.js.map +0 -1
- package/lib/components/textarea/index.d.ts +0 -13
- package/lib/components/textarea/index.js +0 -141
- package/lib/components/textarea/index.js.map +0 -1
- package/lib/components/timeline/index.d.ts +0 -8
- package/lib/components/timeline/index.js +0 -76
- package/lib/components/timeline/index.js.map +0 -1
- package/lib/components/toast/img.json +0 -8
- package/lib/components/toast/index.d.ts +0 -16
- package/lib/components/toast/index.js +0 -124
- package/lib/components/toast/index.js.map +0 -1
- package/lib/index.js +0 -109
- package/lib/index.js.map +0 -1
- package/lib/style/index.css.map +0 -1
- /package/{lib → dist}/common/component.d.ts +0 -0
- /package/{lib → dist}/common/component.js +0 -0
- /package/{lib → dist}/common/component.js.map +0 -0
- /package/{lib → dist}/components/calendar/common/constant.d.ts +0 -0
- /package/{lib → dist}/components/calendar/common/constant.js +0 -0
- /package/{lib → dist}/components/calendar/common/constant.js.map +0 -0
- /package/{lib → dist}/components/calendar/common/helper.d.ts +0 -0
- /package/{lib → dist}/components/calendar/common/helper.js +0 -0
- /package/{lib → dist}/components/calendar/common/helper.js.map +0 -0
- /package/{lib → dist}/components/calendar/common/plugins.d.ts +0 -0
- /package/{lib → dist}/components/calendar/common/plugins.js +0 -0
- /package/{lib → dist}/components/calendar/common/plugins.js.map +0 -0
- /package/{lib → dist}/style/components/accordion.scss +0 -0
- /package/{lib → dist}/style/components/action-sheet.scss +0 -0
- /package/{lib → dist}/style/components/activity-indicator.scss +0 -0
- /package/{lib → dist}/style/components/article.scss +0 -0
- /package/{lib → dist}/style/components/button.scss +0 -0
- /package/{lib → dist}/style/components/card.scss +0 -0
- /package/{lib → dist}/style/components/checkbox.scss +0 -0
- /package/{lib → dist}/style/components/curtain.scss +0 -0
- /package/{lib → dist}/style/components/divider.scss +0 -0
- /package/{lib → dist}/style/components/drawer.scss +0 -0
- /package/{lib → dist}/style/components/fab.scss +0 -0
- /package/{lib → dist}/style/components/float-layout.scss +0 -0
- /package/{lib → dist}/style/components/form.scss +0 -0
- /package/{lib → dist}/style/components/image-picker.scss +0 -0
- /package/{lib → dist}/style/components/index.scss +0 -0
- /package/{lib → dist}/style/components/indexes.scss +0 -0
- /package/{lib → dist}/style/components/input-number.scss +0 -0
- /package/{lib → dist}/style/components/list.scss +0 -0
- /package/{lib → dist}/style/components/load-more.scss +0 -0
- /package/{lib → dist}/style/components/loading.scss +0 -0
- /package/{lib → dist}/style/components/message.scss +0 -0
- /package/{lib → dist}/style/components/modal.scss +0 -0
- /package/{lib → dist}/style/components/nav-bar.scss +0 -0
- /package/{lib → dist}/style/components/noticebar.scss +0 -0
- /package/{lib → dist}/style/components/pagination.scss +0 -0
- /package/{lib → dist}/style/components/radio.scss +0 -0
- /package/{lib → dist}/style/components/range.scss +0 -0
- /package/{lib → dist}/style/components/rate.scss +0 -0
- /package/{lib → dist}/style/components/segmented-control.scss +0 -0
- /package/{lib → dist}/style/components/slider.scss +0 -0
- /package/{lib → dist}/style/components/swipe-action.scss +0 -0
- /package/{lib → dist}/style/components/switch.scss +0 -0
- /package/{lib → dist}/style/components/tab-bar.scss +0 -0
- /package/{lib → dist}/style/components/textarea.scss +0 -0
- /package/{lib → dist}/style/index.scss +0 -0
- /package/{lib → dist}/style/mixins/index.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/absolute-center.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/active.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/alignhack.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/border.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/clearfix.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/disabled.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/flex.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/line.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/overlay.scss +0 -0
- /package/{lib → dist}/style/mixins/libs/placeholder.scss +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import classnames from "classnames";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Picker, Text, View } from "@tarojs/components";
|
|
5
|
+
function AtCalendarController({
|
|
6
|
+
generateDate,
|
|
7
|
+
minDate,
|
|
8
|
+
maxDate,
|
|
9
|
+
monthFormat,
|
|
10
|
+
hideArrow,
|
|
11
|
+
onPreMonth,
|
|
12
|
+
onNextMonth,
|
|
13
|
+
onSelectDate
|
|
14
|
+
}) {
|
|
15
|
+
const dayjsDate = dayjs(generateDate);
|
|
16
|
+
const dayjsMinDate = !!minDate && dayjs(minDate);
|
|
17
|
+
const dayjsMaxDate = !!maxDate && dayjs(maxDate);
|
|
18
|
+
const isMinMonth = dayjsMinDate && dayjsMinDate.startOf("month").isSame(dayjsDate);
|
|
19
|
+
const isMaxMonth = dayjsMaxDate && dayjsMaxDate.startOf("month").isSame(dayjsDate);
|
|
20
|
+
const minDateValue = dayjsMinDate ? dayjsMinDate.format("YYYY-MM") : "";
|
|
21
|
+
const maxDateValue = dayjsMaxDate ? dayjsMaxDate.format("YYYY-MM") : "";
|
|
22
|
+
return /* @__PURE__ */ React.createElement(View, { className: "at-calendar__controller controller" }, hideArrow ? null : /* @__PURE__ */ React.createElement(
|
|
23
|
+
View,
|
|
24
|
+
{
|
|
25
|
+
className: classnames("controller__arrow controller__arrow--left", {
|
|
26
|
+
"controller__arrow--disabled": isMinMonth
|
|
27
|
+
}),
|
|
28
|
+
onClick: () => onPreMonth(isMinMonth)
|
|
29
|
+
}
|
|
30
|
+
), /* @__PURE__ */ React.createElement(
|
|
31
|
+
Picker,
|
|
32
|
+
{
|
|
33
|
+
mode: "date",
|
|
34
|
+
fields: "month",
|
|
35
|
+
end: maxDateValue,
|
|
36
|
+
start: minDateValue,
|
|
37
|
+
onChange: onSelectDate,
|
|
38
|
+
value: dayjsDate.format("YYYY-MM")
|
|
39
|
+
},
|
|
40
|
+
/* @__PURE__ */ React.createElement(Text, { className: "controller__info" }, dayjsDate.format(monthFormat))
|
|
41
|
+
), hideArrow ? null : /* @__PURE__ */ React.createElement(
|
|
42
|
+
View,
|
|
43
|
+
{
|
|
44
|
+
className: classnames("controller__arrow controller__arrow--right", {
|
|
45
|
+
"controller__arrow--disabled": isMaxMonth
|
|
46
|
+
}),
|
|
47
|
+
onClick: () => onNextMonth(isMaxMonth)
|
|
48
|
+
}
|
|
49
|
+
));
|
|
50
|
+
}
|
|
51
|
+
var controller_default = AtCalendarController;
|
|
52
|
+
export {
|
|
53
|
+
controller_default as default
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/calendar/controller/index.tsx"],"sourcesContent":["import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React from 'react'\nimport { Picker, Text, View } from '@tarojs/components'\nimport { AtCalendarControllerProps } from '../../../../types/calendar'\n\nfunction AtCalendarController({\n generateDate,\n minDate,\n maxDate,\n monthFormat,\n hideArrow,\n onPreMonth,\n onNextMonth,\n onSelectDate\n}: AtCalendarControllerProps): JSX.Element {\n const dayjsDate: Dayjs = dayjs(generateDate)\n const dayjsMinDate: Dayjs | boolean = !!minDate && dayjs(minDate)\n const dayjsMaxDate: Dayjs | boolean = !!maxDate && dayjs(maxDate)\n\n const isMinMonth: boolean =\n dayjsMinDate && dayjsMinDate.startOf('month').isSame(dayjsDate)\n\n const isMaxMonth: boolean =\n dayjsMaxDate && dayjsMaxDate.startOf('month').isSame(dayjsDate)\n\n const minDateValue: string = dayjsMinDate\n ? dayjsMinDate.format('YYYY-MM')\n : ''\n const maxDateValue: string = dayjsMaxDate\n ? dayjsMaxDate.format('YYYY-MM')\n : ''\n\n return (\n <View className='at-calendar__controller controller'>\n {hideArrow ? null : (\n <View\n className={classnames('controller__arrow controller__arrow--left', {\n 'controller__arrow--disabled': isMinMonth\n })}\n onClick={() =>\n (onPreMonth as (monthDisabled?: boolean) => void)(isMinMonth)\n }\n />\n )}\n <Picker\n mode='date'\n fields='month'\n end={maxDateValue}\n start={minDateValue}\n onChange={onSelectDate}\n value={dayjsDate.format('YYYY-MM')}\n >\n <Text className='controller__info'>\n {dayjsDate.format(monthFormat)}\n </Text>\n </Picker>\n {hideArrow ? null : (\n <View\n className={classnames('controller__arrow controller__arrow--right', {\n 'controller__arrow--disabled': isMaxMonth\n })}\n onClick={() =>\n (onNextMonth as (monthDisabled?: boolean) => void)(isMaxMonth)\n }\n />\n )}\n </View>\n )\n}\n\nexport default AtCalendarController\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,WAAsB;AAC7B,OAAO,WAAW;AAClB,SAAS,QAAQ,MAAM,YAAY;AAGnC,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2C;AACzC,QAAM,YAAmB,MAAM,YAAY;AAC3C,QAAM,eAAgC,CAAC,CAAC,WAAW,MAAM,OAAO;AAChE,QAAM,eAAgC,CAAC,CAAC,WAAW,MAAM,OAAO;AAEhE,QAAM,aACJ,gBAAgB,aAAa,QAAQ,OAAO,EAAE,OAAO,SAAS;AAEhE,QAAM,aACJ,gBAAgB,aAAa,QAAQ,OAAO,EAAE,OAAO,SAAS;AAEhE,QAAM,eAAuB,eACzB,aAAa,OAAO,SAAS,IAC7B;AACJ,QAAM,eAAuB,eACzB,aAAa,OAAO,SAAS,IAC7B;AAEJ,SACE,oCAAC,QAAK,WAAU,wCACb,YAAY,OACX;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,6CAA6C;AAAA,QACjE,+BAA+B;AAAA,MACjC,CAAC;AAAA,MACD,SAAS,MACN,WAAiD,UAAU;AAAA;AAAA,EAEhE,GAEF;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO,UAAU,OAAO,SAAS;AAAA;AAAA,IAEjC,oCAAC,QAAK,WAAU,sBACb,UAAU,OAAO,WAAW,CAC/B;AAAA,EACF,GACC,YAAY,OACX;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,8CAA8C;AAAA,QAClE,+BAA+B;AAAA,MACjC,CAAC;AAAA,MACD,SAAS,MACN,YAAkD,UAAU;AAAA;AAAA,EAEjE,CAEJ;AAEJ;AAEA,IAAO,qBAAQ;","names":[]}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import classnames from "classnames";
|
|
21
|
+
import dayjs from "dayjs";
|
|
22
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
23
|
+
import { View } from "@tarojs/components";
|
|
24
|
+
import { useComponentLocale } from "../../hooks/useComponentLocale";
|
|
25
|
+
import AtCalendarBody from "./body/index";
|
|
26
|
+
import AtCalendarController from "./controller/index";
|
|
27
|
+
function AtCalendar(props) {
|
|
28
|
+
const calendarLocale = useComponentLocale("Calendar");
|
|
29
|
+
const {
|
|
30
|
+
validDates = [],
|
|
31
|
+
marks = [],
|
|
32
|
+
isSwiper = true,
|
|
33
|
+
hideArrow = false,
|
|
34
|
+
isVertical = false,
|
|
35
|
+
selectedDates = [],
|
|
36
|
+
isMultiSelect = false,
|
|
37
|
+
format = "YYYY-MM-DD",
|
|
38
|
+
currentDate = Date.now(),
|
|
39
|
+
monthFormat,
|
|
40
|
+
minDate,
|
|
41
|
+
maxDate,
|
|
42
|
+
className,
|
|
43
|
+
onMonthChange,
|
|
44
|
+
onClickPreMonth,
|
|
45
|
+
onClickNextMonth,
|
|
46
|
+
onDayClick,
|
|
47
|
+
onSelectDate,
|
|
48
|
+
onDayLongClick
|
|
49
|
+
} = props;
|
|
50
|
+
const resolvedMonthFormat = monthFormat != null ? monthFormat : calendarLocale.monthFormat;
|
|
51
|
+
const getSelectedDate = (start, end) => {
|
|
52
|
+
const stateValue = {
|
|
53
|
+
start,
|
|
54
|
+
end: start
|
|
55
|
+
};
|
|
56
|
+
if (typeof end !== "undefined") {
|
|
57
|
+
stateValue.end = end;
|
|
58
|
+
}
|
|
59
|
+
return stateValue;
|
|
60
|
+
};
|
|
61
|
+
const getInitializeState = (date, multiSelect) => {
|
|
62
|
+
let end;
|
|
63
|
+
let start;
|
|
64
|
+
let generateDateValue;
|
|
65
|
+
if (!date) {
|
|
66
|
+
const dayjsStart = dayjs();
|
|
67
|
+
start = dayjsStart.startOf("day").valueOf();
|
|
68
|
+
generateDateValue = dayjsStart.startOf("month").valueOf();
|
|
69
|
+
return {
|
|
70
|
+
generateDate: generateDateValue,
|
|
71
|
+
selectedDate: {
|
|
72
|
+
start: ""
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (multiSelect) {
|
|
77
|
+
const { start: cStart, end: cEnd } = date;
|
|
78
|
+
const dayjsStart = dayjs(cStart);
|
|
79
|
+
start = dayjsStart.startOf("day").valueOf();
|
|
80
|
+
generateDateValue = dayjsStart.startOf("month").valueOf();
|
|
81
|
+
end = cEnd ? dayjs(cEnd).startOf("day").valueOf() : start;
|
|
82
|
+
} else {
|
|
83
|
+
const dayjsStart = dayjs(date);
|
|
84
|
+
start = dayjsStart.startOf("day").valueOf();
|
|
85
|
+
generateDateValue = dayjsStart.startOf("month").valueOf();
|
|
86
|
+
end = start;
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
generateDate: generateDateValue,
|
|
90
|
+
selectedDate: getSelectedDate(start, end)
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
const [generateDate, setGenerateDate] = useState(
|
|
94
|
+
() => getInitializeState(currentDate, isMultiSelect).generateDate
|
|
95
|
+
);
|
|
96
|
+
const [selectedDate, setSelectedDate] = useState(
|
|
97
|
+
() => getInitializeState(currentDate, isMultiSelect).selectedDate
|
|
98
|
+
);
|
|
99
|
+
const prevCurrentDateRef = useRef(currentDate);
|
|
100
|
+
const prevIsMultiSelectRef = useRef(isMultiSelect);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
if (!currentDate || currentDate === prevCurrentDateRef.current) {
|
|
103
|
+
prevCurrentDateRef.current = currentDate;
|
|
104
|
+
prevIsMultiSelectRef.current = isMultiSelect;
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (isMultiSelect && prevIsMultiSelectRef.current) {
|
|
108
|
+
const { start, end } = currentDate;
|
|
109
|
+
const { start: preStart, end: preEnd } = prevCurrentDateRef.current;
|
|
110
|
+
if (start === preStart && preEnd === end) {
|
|
111
|
+
prevCurrentDateRef.current = currentDate;
|
|
112
|
+
prevIsMultiSelectRef.current = isMultiSelect;
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const stateValue = getInitializeState(currentDate, isMultiSelect);
|
|
117
|
+
setGenerateDate(stateValue.generateDate);
|
|
118
|
+
setSelectedDate(stateValue.selectedDate);
|
|
119
|
+
prevCurrentDateRef.current = currentDate;
|
|
120
|
+
prevIsMultiSelectRef.current = isMultiSelect;
|
|
121
|
+
}, [currentDate, isMultiSelect]);
|
|
122
|
+
const triggerChangeDate = (value) => {
|
|
123
|
+
if (typeof onMonthChange !== "function") return;
|
|
124
|
+
onMonthChange(value.format(format));
|
|
125
|
+
};
|
|
126
|
+
const setMonth = (vectorCount) => {
|
|
127
|
+
const _generateDate = dayjs(generateDate).add(vectorCount, "month");
|
|
128
|
+
const nextGenerateDate = _generateDate.valueOf();
|
|
129
|
+
setGenerateDate(nextGenerateDate);
|
|
130
|
+
if (vectorCount && typeof onMonthChange === "function") {
|
|
131
|
+
onMonthChange(_generateDate.format(format));
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const handleClickPreMonth = (isMinMonth) => {
|
|
135
|
+
if (isMinMonth === true) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
setMonth(-1);
|
|
139
|
+
if (typeof onClickPreMonth === "function") {
|
|
140
|
+
onClickPreMonth();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const handleClickNextMonth = (isMaxMonth) => {
|
|
144
|
+
if (isMaxMonth === true) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
setMonth(1);
|
|
148
|
+
if (typeof onClickNextMonth === "function") {
|
|
149
|
+
onClickNextMonth();
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const handleSelectDate = (e) => {
|
|
153
|
+
const { value } = e.detail;
|
|
154
|
+
const _generateDate = dayjs(value);
|
|
155
|
+
const _generateDateValue = _generateDate.valueOf();
|
|
156
|
+
if (generateDate === _generateDateValue) return;
|
|
157
|
+
triggerChangeDate(_generateDate);
|
|
158
|
+
setGenerateDate(_generateDateValue);
|
|
159
|
+
};
|
|
160
|
+
const notifySelectedDate = (selectDate) => {
|
|
161
|
+
if (typeof onSelectDate === "function") {
|
|
162
|
+
const info = {
|
|
163
|
+
start: dayjs(selectDate.start).format(format)
|
|
164
|
+
};
|
|
165
|
+
if (selectDate.end) {
|
|
166
|
+
info.end = dayjs(selectDate.end).format(format);
|
|
167
|
+
}
|
|
168
|
+
onSelectDate({
|
|
169
|
+
value: info
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
const getSingleSelectdState = (value, currentGenerateDate) => {
|
|
174
|
+
const stateValue = {
|
|
175
|
+
selectedDate: getSelectedDate(value.valueOf())
|
|
176
|
+
};
|
|
177
|
+
const dayjsGenerateDate = value.startOf("month");
|
|
178
|
+
const generateDateValue = dayjsGenerateDate.valueOf();
|
|
179
|
+
if (generateDateValue !== currentGenerateDate) {
|
|
180
|
+
triggerChangeDate(dayjsGenerateDate);
|
|
181
|
+
stateValue.generateDate = generateDateValue;
|
|
182
|
+
}
|
|
183
|
+
return stateValue;
|
|
184
|
+
};
|
|
185
|
+
const getMultiSelectedState = (value, currentSelectedDate) => {
|
|
186
|
+
const { end, start } = currentSelectedDate;
|
|
187
|
+
const valueUnix = value.valueOf();
|
|
188
|
+
const state = {
|
|
189
|
+
selectedDate: currentSelectedDate
|
|
190
|
+
};
|
|
191
|
+
if (end) {
|
|
192
|
+
state.selectedDate = getSelectedDate(valueUnix, 0);
|
|
193
|
+
} else {
|
|
194
|
+
state.selectedDate = __spreadProps(__spreadValues({}, currentSelectedDate), {
|
|
195
|
+
end: Math.max(valueUnix, +start),
|
|
196
|
+
start: Math.min(valueUnix, +start)
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return state;
|
|
200
|
+
};
|
|
201
|
+
const handleDayClick = (item) => {
|
|
202
|
+
const { isDisabled, value } = item;
|
|
203
|
+
if (isDisabled) return;
|
|
204
|
+
const dayjsDate = dayjs(value);
|
|
205
|
+
let stateValue = {};
|
|
206
|
+
if (isMultiSelect) {
|
|
207
|
+
stateValue = getMultiSelectedState(dayjsDate, selectedDate);
|
|
208
|
+
} else {
|
|
209
|
+
stateValue = getSingleSelectdState(dayjsDate, generateDate);
|
|
210
|
+
}
|
|
211
|
+
if (stateValue.generateDate != null) {
|
|
212
|
+
setGenerateDate(stateValue.generateDate);
|
|
213
|
+
}
|
|
214
|
+
if (stateValue.selectedDate != null) {
|
|
215
|
+
setSelectedDate(stateValue.selectedDate);
|
|
216
|
+
notifySelectedDate(stateValue.selectedDate);
|
|
217
|
+
}
|
|
218
|
+
if (typeof onDayClick === "function") {
|
|
219
|
+
onDayClick({ value: item.value });
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const handleDayLongClick = (item) => {
|
|
223
|
+
if (typeof onDayLongClick === "function") {
|
|
224
|
+
onDayLongClick({ value: item.value });
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
return /* @__PURE__ */ React.createElement(View, { className: classnames("at-calendar", className) }, /* @__PURE__ */ React.createElement(
|
|
228
|
+
AtCalendarController,
|
|
229
|
+
{
|
|
230
|
+
minDate,
|
|
231
|
+
maxDate,
|
|
232
|
+
hideArrow,
|
|
233
|
+
monthFormat: resolvedMonthFormat,
|
|
234
|
+
generateDate,
|
|
235
|
+
onPreMonth: handleClickPreMonth,
|
|
236
|
+
onNextMonth: handleClickNextMonth,
|
|
237
|
+
onSelectDate: handleSelectDate
|
|
238
|
+
}
|
|
239
|
+
), /* @__PURE__ */ React.createElement(
|
|
240
|
+
AtCalendarBody,
|
|
241
|
+
{
|
|
242
|
+
validDates,
|
|
243
|
+
marks,
|
|
244
|
+
format,
|
|
245
|
+
minDate,
|
|
246
|
+
maxDate,
|
|
247
|
+
isSwiper,
|
|
248
|
+
isVertical,
|
|
249
|
+
selectedDate,
|
|
250
|
+
selectedDates,
|
|
251
|
+
generateDate,
|
|
252
|
+
onDayClick: handleDayClick,
|
|
253
|
+
onSwipeMonth: setMonth,
|
|
254
|
+
onLongClick: handleDayLongClick
|
|
255
|
+
}
|
|
256
|
+
));
|
|
257
|
+
}
|
|
258
|
+
var calendar_default = AtCalendar;
|
|
259
|
+
export {
|
|
260
|
+
calendar_default as default
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
private handleLongClick;
|
|
11
|
-
render(): JSX.Element | null;
|
|
12
|
-
}
|
|
7
|
+
declare function AtCalendarList({ list, onClick, onLongClick }: Props): JSX.Element | null;
|
|
8
|
+
export default AtCalendarList;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import classnames from "classnames";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Text, View } from "@tarojs/components";
|
|
4
|
+
import * as constant from "../../common/constant";
|
|
5
|
+
const MAP = {
|
|
6
|
+
[constant.TYPE_PRE_MONTH]: "pre",
|
|
7
|
+
[constant.TYPE_NOW_MONTH]: "now",
|
|
8
|
+
[constant.TYPE_NEXT_MONTH]: "next"
|
|
9
|
+
};
|
|
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
|
+
)));
|
|
44
|
+
}
|
|
45
|
+
var date_list_default = AtCalendarList;
|
|
46
|
+
export {
|
|
47
|
+
date_list_default as default
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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\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":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { View } from "@tarojs/components";
|
|
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
|
+
}
|
|
8
|
+
var day_list_default = AtCalendarHeader;
|
|
9
|
+
export {
|
|
10
|
+
day_list_default as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { AtCardProps } from '../../../types/card';
|
|
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
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export default AtCard;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import classNames from "classnames";
|
|
18
|
+
import PropTypes from "prop-types";
|
|
19
|
+
import React from "react";
|
|
20
|
+
import { Image, Text, View } from "@tarojs/components";
|
|
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)));
|
|
63
|
+
}
|
|
64
|
+
AtCard.propTypes = {
|
|
65
|
+
note: PropTypes.string,
|
|
66
|
+
isFull: PropTypes.bool,
|
|
67
|
+
thumb: PropTypes.string,
|
|
68
|
+
title: PropTypes.string,
|
|
69
|
+
extra: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
|
|
70
|
+
icon: PropTypes.object,
|
|
71
|
+
onClick: PropTypes.func,
|
|
72
|
+
renderIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
|
|
73
|
+
extraStyle: PropTypes.object
|
|
74
|
+
// 自定义extra样式
|
|
75
|
+
};
|
|
76
|
+
export {
|
|
77
|
+
AtCard as default
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { AtCheckboxProps } from '../../../types/checkbox';
|
|
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
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export default AtCheckbox;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import classNames from "classnames";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Text, View } from "@tarojs/components";
|
|
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) => {
|
|
14
|
+
const option = options[idx];
|
|
15
|
+
const { disabled, value } = option;
|
|
16
|
+
if (disabled) return;
|
|
17
|
+
const selectedSet = new Set(selectedList);
|
|
18
|
+
if (!selectedSet.has(value)) {
|
|
19
|
+
selectedSet.add(value);
|
|
20
|
+
} else {
|
|
21
|
+
selectedSet.delete(value);
|
|
22
|
+
}
|
|
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
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
AtCheckbox.propTypes = {
|
|
44
|
+
customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
45
|
+
className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
|
|
46
|
+
options: PropTypes.array,
|
|
47
|
+
selectedList: PropTypes.array,
|
|
48
|
+
onChange: PropTypes.func
|
|
49
|
+
};
|
|
50
|
+
var checkbox_default = AtCheckbox;
|
|
51
|
+
export {
|
|
52
|
+
checkbox_default as default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|