taro-ui 3.3.3 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +85 -0
- package/dist/common/utils.d.ts +2 -1
- package/dist/common/utils.js +3 -0
- package/dist/common/utils.js.map +1 -1
- package/dist/components/accordion/index.d.ts +16 -13
- package/dist/components/accordion/index.js +77 -97
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/action-sheet/body/index.d.ts +2 -4
- package/dist/components/action-sheet/body/index.js +8 -6
- package/dist/components/action-sheet/body/index.js.map +1 -1
- package/dist/components/action-sheet/body/item/index.d.ts +7 -7
- package/dist/components/action-sheet/body/item/index.js +14 -14
- package/dist/components/action-sheet/body/item/index.js.map +1 -1
- package/dist/components/action-sheet/footer/index.d.ts +7 -7
- package/dist/components/action-sheet/footer/index.js +14 -17
- package/dist/components/action-sheet/footer/index.js.map +1 -1
- package/dist/components/action-sheet/header/index.d.ts +2 -4
- package/dist/components/action-sheet/header/index.js +8 -9
- package/dist/components/action-sheet/header/index.js.map +1 -1
- package/dist/components/action-sheet/index.d.ts +12 -13
- package/dist/components/action-sheet/index.js +53 -57
- package/dist/components/action-sheet/index.js.map +1 -1
- package/dist/components/activity-indicator/index.d.ts +12 -6
- package/dist/components/activity-indicator/index.js +19 -22
- package/dist/components/activity-indicator/index.js.map +1 -1
- package/dist/components/avatar/index.d.ts +14 -8
- package/dist/components/avatar/index.js +36 -43
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/badge/index.d.ts +11 -8
- package/dist/components/badge/index.js +18 -34
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/button/index.d.ts +29 -14
- package/dist/components/button/index.js +97 -112
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/calendar/body/index.d.ts +3 -26
- package/dist/components/calendar/body/index.js +215 -235
- package/dist/components/calendar/body/index.js.map +1 -1
- package/dist/components/calendar/controller/index.d.ts +3 -5
- package/dist/components/calendar/controller/index.js +47 -43
- package/dist/components/calendar/controller/index.js.map +1 -1
- package/dist/components/calendar/index.d.ts +3 -20
- package/dist/components/calendar/index.js +219 -201
- package/dist/components/calendar/index.js.map +1 -1
- package/dist/components/calendar/ui/date-list/index.d.ts +2 -6
- package/dist/components/calendar/ui/date-list/index.js +36 -41
- package/dist/components/calendar/ui/date-list/index.js.map +1 -1
- package/dist/components/calendar/ui/day-list/index.d.ts +2 -4
- package/dist/components/calendar/ui/day-list/index.js +6 -5
- package/dist/components/calendar/ui/day-list/index.js.map +1 -1
- package/dist/components/card/index.d.ts +15 -7
- package/dist/components/card/index.js +42 -43
- package/dist/components/card/index.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +11 -7
- package/dist/components/checkbox/index.js +30 -35
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/config-provider/context.d.ts +6 -0
- package/dist/components/config-provider/context.js +13 -0
- package/dist/components/config-provider/context.js.map +1 -0
- package/dist/components/config-provider/index.d.ts +7 -0
- package/dist/components/config-provider/index.js +15 -0
- package/dist/components/config-provider/index.js.map +1 -0
- package/dist/components/countdown/index.d.ts +19 -19
- package/dist/components/countdown/index.js +183 -118
- package/dist/components/countdown/index.js.map +1 -1
- package/dist/components/countdown/item/index.d.ts +8 -7
- package/dist/components/countdown/item/index.js +10 -13
- package/dist/components/countdown/item/index.js.map +1 -1
- package/dist/components/curtain/index.d.ts +11 -8
- package/dist/components/curtain/index.js +36 -45
- package/dist/components/curtain/index.js.map +1 -1
- package/dist/components/divider/index.d.ts +13 -6
- package/dist/components/divider/index.js +29 -38
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/drawer/index.d.ts +13 -15
- package/dist/components/drawer/index.js +100 -93
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/fab/index.d.ts +8 -7
- package/dist/components/fab/index.js +16 -16
- package/dist/components/fab/index.js.map +1 -1
- package/dist/components/flex/index.d.ts +11 -5
- package/dist/components/flex/index.js +17 -18
- package/dist/components/flex/index.js.map +1 -1
- package/dist/components/flex/item/index.d.ts +11 -5
- package/dist/components/flex/item/index.js +17 -18
- package/dist/components/flex/item/index.js.map +1 -1
- package/dist/components/float-layout/index.d.ts +20 -12
- package/dist/components/float-layout/index.js +56 -72
- package/dist/components/float-layout/index.js.map +1 -1
- package/dist/components/form/index.d.ts +11 -8
- package/dist/components/form/index.js +28 -28
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/grid/index.d.ts +22 -7
- package/dist/components/grid/index.js +61 -66
- package/dist/components/grid/index.js.map +1 -1
- package/dist/components/icon/index.d.ts +13 -7
- package/dist/components/icon/index.js +24 -34
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image-picker/index.d.ts +19 -9
- package/dist/components/image-picker/index.js +83 -102
- package/dist/components/image-picker/index.js.map +1 -1
- package/dist/components/indexes/index.d.ts +16 -28
- package/dist/components/indexes/index.js +198 -209
- package/dist/components/indexes/index.js.map +1 -1
- package/dist/components/input/index.d.ts +37 -15
- package/dist/components/input/index.js +152 -161
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input-number/index.d.ts +20 -11
- package/dist/components/input-number/index.js +107 -126
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/list/index.d.ts +7 -6
- package/dist/components/list/index.js +15 -15
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/list/item/index.d.ts +27 -9
- package/dist/components/list/item/index.js +89 -117
- package/dist/components/list/item/index.js.map +1 -1
- package/dist/components/load-more/index.d.ts +15 -7
- package/dist/components/load-more/index.js +29 -50
- package/dist/components/load-more/index.js.map +1 -1
- package/dist/components/loading/index.d.ts +8 -7
- package/dist/components/loading/index.js +14 -20
- package/dist/components/loading/index.js.map +1 -1
- package/dist/components/message/index.d.ts +9 -14
- package/dist/components/message/index.js +45 -59
- package/dist/components/message/index.js.map +1 -1
- package/dist/components/modal/action/index.d.ts +7 -6
- package/dist/components/modal/action/index.js +15 -15
- package/dist/components/modal/action/index.js.map +1 -1
- package/dist/components/modal/content/index.d.ts +2 -4
- package/dist/components/modal/content/index.js +8 -6
- package/dist/components/modal/content/index.js.map +1 -1
- package/dist/components/modal/header/index.d.ts +2 -4
- package/dist/components/modal/header/index.js +8 -6
- package/dist/components/modal/header/index.js.map +1 -1
- package/dist/components/modal/index.d.ts +16 -14
- package/dist/components/modal/index.js +63 -77
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/nav-bar/index.d.ts +20 -10
- package/dist/components/nav-bar/index.js +146 -162
- package/dist/components/nav-bar/index.js.map +1 -1
- package/dist/components/noticebar/index.d.ts +17 -15
- package/dist/components/noticebar/index.js +115 -128
- package/dist/components/noticebar/index.js.map +1 -1
- package/dist/components/pagination/index.d.ts +13 -11
- package/dist/components/pagination/index.js +64 -120
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/progress/index.d.ts +11 -5
- package/dist/components/progress/index.js +39 -36
- package/dist/components/progress/index.js.map +1 -1
- package/dist/components/radio/index.d.ts +11 -7
- package/dist/components/radio/index.js +29 -33
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/range/index.d.ts +19 -21
- package/dist/components/range/index.js +146 -153
- package/dist/components/range/index.js.map +1 -1
- package/dist/components/rate/index.d.ts +13 -7
- package/dist/components/rate/index.js +47 -62
- package/dist/components/rate/index.js.map +1 -1
- package/dist/components/search-bar/index.d.ts +23 -15
- package/dist/components/search-bar/index.js +120 -146
- package/dist/components/search-bar/index.js.map +1 -1
- package/dist/components/segmented-control/index.d.ts +14 -7
- package/dist/components/segmented-control/index.js +52 -66
- package/dist/components/segmented-control/index.js.map +1 -1
- package/dist/components/slider/index.d.ts +21 -12
- package/dist/components/slider/index.js +66 -90
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/steps/index.d.ts +11 -7
- package/dist/components/steps/index.js +43 -48
- package/dist/components/steps/index.js.map +1 -1
- package/dist/components/swipe-action/index.d.ts +12 -25
- package/dist/components/swipe-action/index.js +118 -115
- package/dist/components/swipe-action/index.js.map +1 -1
- package/dist/components/swipe-action/options/index.d.ts +2 -4
- package/dist/components/swipe-action/options/index.js +18 -17
- package/dist/components/swipe-action/options/index.js.map +1 -1
- package/dist/components/switch/index.d.ts +14 -7
- package/dist/components/switch/index.js +36 -41
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/tab-bar/index.d.ts +17 -7
- package/dist/components/tab-bar/index.js +108 -135
- package/dist/components/tab-bar/index.js.map +1 -1
- package/dist/components/tabs/index.d.ts +17 -23
- package/dist/components/tabs/index.js +185 -174
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs-pane/index.d.ts +11 -6
- package/dist/components/tabs-pane/index.js +26 -28
- package/dist/components/tabs-pane/index.js.map +1 -1
- package/dist/components/tag/index.d.ts +14 -7
- package/dist/components/tag/index.js +31 -40
- package/dist/components/tag/index.js.map +1 -1
- package/dist/components/textarea/index.d.ts +29 -11
- package/dist/components/textarea/index.js +72 -92
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/timeline/index.d.ts +9 -6
- package/dist/components/timeline/index.js +50 -56
- package/dist/components/timeline/index.js.map +1 -1
- package/dist/components/toast/img.json +3 -6
- package/dist/components/toast/index.d.ts +16 -15
- package/dist/components/toast/index.js +85 -94
- package/dist/components/toast/index.js.map +1 -1
- package/dist/hooks/useComponentLocale.d.ts +2 -0
- package/dist/hooks/useComponentLocale.js +12 -0
- package/dist/hooks/useComponentLocale.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +4006 -4404
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +4032 -4434
- package/dist/index.js.map +1 -1
- package/dist/locale/en_US.d.ts +3 -0
- package/dist/locale/en_US.js +34 -0
- package/dist/locale/en_US.js.map +1 -0
- package/dist/locale/index.d.ts +4 -0
- package/dist/locale/index.js +10 -0
- package/dist/locale/index.js.map +1 -0
- package/dist/locale/types.d.ts +34 -0
- package/dist/locale/types.js +1 -0
- package/dist/locale/types.js.map +1 -0
- package/dist/locale/zh_CN.d.ts +3 -0
- package/dist/locale/zh_CN.js +34 -0
- package/dist/locale/zh_CN.js.map +1 -0
- package/dist/style/components/avatar.scss +1 -1
- package/dist/style/components/badge.scss +7 -2
- package/dist/style/components/calendar.scss +1 -1
- package/dist/style/components/countdown.scss +2 -1
- package/dist/style/components/flex.scss +1 -1
- package/dist/style/components/grid.scss +2 -2
- package/dist/style/components/icon.scss +302 -101
- package/dist/style/components/input.scss +2 -2
- package/dist/style/components/progress.scss +1 -1
- package/dist/style/components/search-bar.scss +1 -1
- package/dist/style/components/steps.scss +2 -2
- package/dist/style/components/tabs.scss +1 -1
- package/dist/style/components/tag.scss +1 -1
- package/dist/style/components/timeline.scss +1 -1
- package/dist/style/components/toast.scss +7 -3
- package/dist/style/index.css +176 -176
- package/dist/style/index.css.map +1 -1
- package/dist/style/mixins/libs/hairline.scss +4 -19
- package/dist/style/mixins/libs/shade.scss +3 -6
- package/dist/style/mixins/libs/tint.scss +4 -7
- package/dist/style/themes/purple.scss +15 -15
- package/dist/style/themes/red.scss +16 -13
- package/dist/style/variables/default.scss +69 -73
- package/package.json +5 -3
- package/rn/components/accordion/index.tsx +2 -9
- package/rn/components/action-sheet/body/index.tsx +1 -3
- package/rn/components/action-sheet/body/item/index.tsx +1 -3
- package/rn/components/action-sheet/footer/index.tsx +1 -3
- package/rn/components/action-sheet/header/index.tsx +1 -3
- package/rn/components/activity-indicator/index.tsx +1 -3
- package/rn/components/avatar/index.tsx +5 -5
- package/rn/components/calendar/controller/index.tsx +2 -7
- package/rn/components/card/index.tsx +4 -4
- package/rn/components/countdown/index.scss +5 -4
- package/rn/components/countdown/item/index.tsx +1 -3
- package/rn/components/curtain/index.tsx +5 -5
- package/rn/components/flex/index.scss +2 -2
- package/rn/components/flex/item/index.scss +2 -2
- package/rn/components/grid/index.tsx +15 -15
- package/rn/components/icon/index.tsx +4 -4
- package/rn/components/image-picker/index.tsx +7 -7
- package/rn/components/pagination/index.tsx +7 -7
- package/rn/components/progress/index.tsx +5 -5
- package/rn/components/radio/index.tsx +7 -7
- package/rn/components/rate/index.tsx +4 -4
- package/rn/components/segmented-control/index.tsx +8 -8
- package/rn/components/slider/index.tsx +9 -9
- package/rn/components/steps/index.tsx +8 -8
- package/rn/components/swipe-action/options/index.tsx +1 -3
- package/rn/components/switch/index.tsx +2 -9
- package/rn/components/toast/img.json +3 -6
- package/rn/components/toast/index.tsx +8 -8
- package/rn/style/components/accordion.scss +1 -1
- package/rn/style/components/action-sheet.scss +1 -1
- package/rn/style/components/avatar.scss +1 -1
- package/rn/style/components/badge.scss +8 -3
- package/rn/style/components/button.scss +1 -1
- package/rn/style/components/calendar.scss +1 -1
- package/rn/style/components/checkbox.scss +1 -1
- package/rn/style/components/curtain.scss +1 -1
- package/rn/style/components/fab.scss +1 -4
- package/rn/style/components/flex.scss +1 -1
- package/rn/style/components/grid.scss +2 -6
- package/rn/style/components/icon.scss +302 -101
- package/rn/style/components/index.scss +41 -41
- package/rn/style/components/input.scss +1 -1
- package/rn/style/components/list.scss +2 -4
- package/rn/style/components/loading.scss +4 -4
- package/rn/style/components/message.scss +1 -1
- package/rn/style/components/modal.scss +0 -2
- package/rn/style/components/nav-bar.scss +3 -3
- package/rn/style/components/noticebar.scss +0 -4
- package/rn/style/components/progress.scss +1 -1
- package/rn/style/components/radio.scss +2 -2
- package/rn/style/components/range.scss +1 -1
- package/rn/style/components/search-bar.scss +1 -1
- package/rn/style/components/segmented-control.scss +4 -1
- package/rn/style/components/slider.scss +0 -1
- package/rn/style/components/steps.scss +3 -3
- package/rn/style/components/switch.scss +0 -1
- package/rn/style/components/tabs.scss +2 -2
- package/rn/style/components/tag.scss +1 -1
- package/rn/style/components/timeline.scss +0 -2
- package/rn/style/components/toast.scss +5 -2
- package/rn/style/index.scss +1 -1
- package/rn/style/mixins/libs/hairline.scss +4 -22
- package/rn/style/mixins/libs/shade.scss +1 -4
- package/rn/style/mixins/libs/tint.scss +2 -5
- package/rn/style/themes/purple.scss +15 -15
- package/rn/style/themes/red.scss +16 -13
- package/rn/style/variables/default.scss +69 -73
|
@@ -1 +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
|
-
|
|
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;
|
|
@@ -7,48 +7,43 @@ const MAP = {
|
|
|
7
7
|
[constant.TYPE_NOW_MONTH]: "now",
|
|
8
8
|
[constant.TYPE_NEXT_MONTH]: "next"
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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\
|
|
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,11 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { View } from "@tarojs/components";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
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'\
|
|
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
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
3
2
|
import { AtCardProps } from '../../../types/card';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"at-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
|
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
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
3
2
|
import { AtCheckboxProps } from '../../../types/checkbox';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
|
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,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":[]}
|