@hero-design/rn 8.81.3-alpha.0 → 8.82.0-alpha.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/CHANGELOG.md +5 -1
- package/package.json +1 -1
- package/sonar-project.properties +1 -1
- package/src/components/DatePicker/DatePickerAndroid.tsx +23 -5
- package/src/components/DatePicker/DatePickerIOS.tsx +39 -19
- package/src/components/DatePicker/__tests__/DatePickerAndroid.spec.tsx +25 -0
- package/src/components/DatePicker/__tests__/DatePickerIOS.spec.tsx +29 -0
- package/src/components/DatePicker/index.tsx +2 -2
- package/src/components/DatePicker/types.ts +2 -1
- package/testUtils/setup.tsx +22 -11
- package/es/index.js +0 -37346
- package/lib/assets/fonts/hero-icons-mobile.ttf +0 -0
- package/lib/index.js +0 -37443
- package/types/components/Accordion/AccordionItem.d.ts +0 -15
- package/types/components/Accordion/StyledAccordion.d.ts +0 -32
- package/types/components/Accordion/index.d.ts +0 -39
- package/types/components/Alert/StyledAlert.d.ts +0 -53
- package/types/components/Alert/index.d.ts +0 -58
- package/types/components/AnimatedScroller/AnimatedFAB.d.ts +0 -12
- package/types/components/AnimatedScroller/AnimatedScrollable.d.ts +0 -16
- package/types/components/AnimatedScroller/FlatListWithFAB.d.ts +0 -12
- package/types/components/AnimatedScroller/ScrollViewWithFAB.d.ts +0 -12
- package/types/components/AnimatedScroller/SectionListWithFAB.d.ts +0 -12
- package/types/components/AnimatedScroller/index.d.ts +0 -4
- package/types/components/Attachment/StyledAttachment.d.ts +0 -28
- package/types/components/Attachment/index.d.ts +0 -38
- package/types/components/Avatar/Avatar.d.ts +0 -34
- package/types/components/Avatar/AvatarStack/StyledAvatarStack.d.ts +0 -30
- package/types/components/Avatar/AvatarStack/index.d.ts +0 -35
- package/types/components/Avatar/AvatarStack/utils.d.ts +0 -4
- package/types/components/Avatar/StyledAvatar.d.ts +0 -34
- package/types/components/Avatar/index.d.ts +0 -6
- package/types/components/Badge/Status.d.ts +0 -24
- package/types/components/Badge/StyledBadge.d.ts +0 -33
- package/types/components/Badge/index.d.ts +0 -6
- package/types/components/Badge/types.d.ts +0 -53
- package/types/components/BottomNavigation/StyledBottomNavigation.d.ts +0 -51
- package/types/components/BottomNavigation/index.d.ts +0 -45
- package/types/components/BottomSheet/BottomSheetContext.d.ts +0 -5
- package/types/components/BottomSheet/Footer.d.ts +0 -7
- package/types/components/BottomSheet/Header.d.ts +0 -10
- package/types/components/BottomSheet/ScrollView.d.ts +0 -3
- package/types/components/BottomSheet/StyledBottomSheet.d.ts +0 -61
- package/types/components/BottomSheet/index.d.ts +0 -74
- package/types/components/Box/StyledBox.d.ts +0 -15
- package/types/components/Box/config.d.ts +0 -170
- package/types/components/Box/index.d.ts +0 -6
- package/types/components/Box/types.d.ts +0 -31
- package/types/components/Button/Button.d.ts +0 -57
- package/types/components/Button/IconButton.d.ts +0 -39
- package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +0 -20
- package/types/components/Button/LoadingIndicator/index.d.ts +0 -27
- package/types/components/Button/StyledButton.d.ts +0 -48
- package/types/components/Button/UtilityButton/StyledUtilityButton.d.ts +0 -17
- package/types/components/Button/UtilityButton/index.d.ts +0 -24
- package/types/components/Button/index.d.ts +0 -10
- package/types/components/Calendar/CalendarRowItem.d.ts +0 -12
- package/types/components/Calendar/StyledCalendar.d.ts +0 -62
- package/types/components/Calendar/helpers.d.ts +0 -3
- package/types/components/Calendar/index.d.ts +0 -58
- package/types/components/Card/DataCard/StyledDataCard.d.ts +0 -16
- package/types/components/Card/DataCard/index.d.ts +0 -22
- package/types/components/Card/StyledCard.d.ts +0 -11
- package/types/components/Card/index.d.ts +0 -25
- package/types/components/Carousel/CardCarousel.d.ts +0 -42
- package/types/components/Carousel/CarouselItem.d.ts +0 -7
- package/types/components/Carousel/StyledCardCarousel.d.ts +0 -24
- package/types/components/Carousel/StyledCarousel.d.ts +0 -54
- package/types/components/Carousel/contants.d.ts +0 -2
- package/types/components/Carousel/index.d.ts +0 -44
- package/types/components/Carousel/types.d.ts +0 -14
- package/types/components/Checkbox/StyledCheckbox.d.ts +0 -35
- package/types/components/Checkbox/index.d.ts +0 -44
- package/types/components/Chip/StyledChip.d.ts +0 -16
- package/types/components/Chip/index.d.ts +0 -31
- package/types/components/Collapse/StyledCollapse.d.ts +0 -23
- package/types/components/Collapse/index.d.ts +0 -20
- package/types/components/ContentNavigator/StyledContentNavigator.d.ts +0 -8
- package/types/components/ContentNavigator/index.d.ts +0 -43
- package/types/components/DatePicker/DatePickerAndroid.d.ts +0 -4
- package/types/components/DatePicker/DatePickerCalendar.d.ts +0 -4
- package/types/components/DatePicker/DatePickerIOS.d.ts +0 -4
- package/types/components/DatePicker/StyledDatePicker.d.ts +0 -9
- package/types/components/DatePicker/index.d.ts +0 -4
- package/types/components/DatePicker/types.d.ts +0 -78
- package/types/components/DatePicker/useCalculateDate.d.ts +0 -4
- package/types/components/Divider/StyledDivider.d.ts +0 -12
- package/types/components/Divider/index.d.ts +0 -22
- package/types/components/Drawer/DragableDrawer/helpers.d.ts +0 -8
- package/types/components/Drawer/DragableDrawer/index.d.ts +0 -33
- package/types/components/Drawer/StyledDrawer.d.ts +0 -49
- package/types/components/Drawer/index.d.ts +0 -27
- package/types/components/Empty/StyledEmpty.d.ts +0 -21
- package/types/components/Empty/index.d.ts +0 -31
- package/types/components/Error/StyledError.d.ts +0 -53
- package/types/components/Error/index.d.ts +0 -56
- package/types/components/FAB/ActionGroup/ActionItem.d.ts +0 -18
- package/types/components/FAB/ActionGroup/StyledActionGroup.d.ts +0 -27
- package/types/components/FAB/ActionGroup/StyledActionItem.d.ts +0 -18
- package/types/components/FAB/ActionGroup/index.d.ts +0 -54
- package/types/components/FAB/AnimatedFABIcon.d.ts +0 -7
- package/types/components/FAB/FAB.d.ts +0 -40
- package/types/components/FAB/Pair/StyledFAB.d.ts +0 -12
- package/types/components/FAB/Pair/index.d.ts +0 -16
- package/types/components/FAB/StyledFAB.d.ts +0 -21
- package/types/components/FAB/index.d.ts +0 -5
- package/types/components/FloatingIsland/StyledFloatingIsland.d.ts +0 -19
- package/types/components/FloatingIsland/index.d.ts +0 -23
- package/types/components/HeroDesignProvider/index.d.ts +0 -4
- package/types/components/Icon/AnimatedIcon.d.ts +0 -6
- package/types/components/Icon/HeroIcon/index.d.ts +0 -12
- package/types/components/Icon/IconList.d.ts +0 -2
- package/types/components/Icon/index.d.ts +0 -35
- package/types/components/Icon/utils.d.ts +0 -2
- package/types/components/Image/index.d.ts +0 -17
- package/types/components/List/BasicListItem.d.ts +0 -43
- package/types/components/List/ListItem.d.ts +0 -52
- package/types/components/List/StyledBasicListItem.d.ts +0 -29
- package/types/components/List/StyledListItem.d.ts +0 -51
- package/types/components/List/index.d.ts +0 -8
- package/types/components/MapPin/Focussed.d.ts +0 -13
- package/types/components/MapPin/StyledMapPin.d.ts +0 -31
- package/types/components/MapPin/index.d.ts +0 -5
- package/types/components/MapPin/types.d.ts +0 -38
- package/types/components/Modal/index.d.ts +0 -37
- package/types/components/PageControl/StyledPageControl.d.ts +0 -12
- package/types/components/PageControl/index.d.ts +0 -22
- package/types/components/PinInput/PinCell.d.ts +0 -9
- package/types/components/PinInput/StyledPinInput.d.ts +0 -69
- package/types/components/PinInput/index.d.ts +0 -69
- package/types/components/Portal/PortalHost.d.ts +0 -5
- package/types/components/Portal/PortalProvider.d.ts +0 -7
- package/types/components/Portal/constants.d.ts +0 -8
- package/types/components/Portal/contexts.d.ts +0 -9
- package/types/components/Portal/index.d.ts +0 -18
- package/types/components/Portal/reducer.d.ts +0 -5
- package/types/components/Portal/types.d.ts +0 -22
- package/types/components/Portal/usePortal.d.ts +0 -8
- package/types/components/Portal/usePortalState.d.ts +0 -1
- package/types/components/Progress/ProgressBar.d.ts +0 -18
- package/types/components/Progress/ProgressCircle.d.ts +0 -20
- package/types/components/Progress/ProgressStep.d.ts +0 -20
- package/types/components/Progress/StyledProgressBar.d.ts +0 -18
- package/types/components/Progress/StyledProgressCircle.d.ts +0 -46
- package/types/components/Progress/StyledStep.d.ts +0 -23
- package/types/components/Progress/__tests__/index.spec.d.ts +0 -1
- package/types/components/Progress/constants.d.ts +0 -15
- package/types/components/Progress/index.d.ts +0 -6
- package/types/components/Progress/types.d.ts +0 -1
- package/types/components/Radio/Radio.d.ts +0 -38
- package/types/components/Radio/RadioGroup.d.ts +0 -36
- package/types/components/Radio/StyledRadio.d.ts +0 -30
- package/types/components/Radio/index.d.ts +0 -4
- package/types/components/Radio/types.d.ts +0 -8
- package/types/components/Rate/StyledRate.d.ts +0 -10
- package/types/components/Rate/index.d.ts +0 -29
- package/types/components/RefreshControl/index.d.ts +0 -5
- package/types/components/RichTextEditor/EditorEvent.d.ts +0 -4
- package/types/components/RichTextEditor/EditorToolbar.d.ts +0 -18
- package/types/components/RichTextEditor/MentionList.d.ts +0 -17
- package/types/components/RichTextEditor/RichTextEditor.d.ts +0 -70
- package/types/components/RichTextEditor/StyledRichTextEditor.d.ts +0 -16
- package/types/components/RichTextEditor/StyledToolbar.d.ts +0 -21
- package/types/components/RichTextEditor/__mocks__/heroEditorApp.d.ts +0 -2
- package/types/components/RichTextEditor/constants.d.ts +0 -9
- package/types/components/RichTextEditor/heroEditorApp.d.ts +0 -2
- package/types/components/RichTextEditor/index.d.ts +0 -7
- package/types/components/RichTextEditor/types.d.ts +0 -1
- package/types/components/RichTextEditor/utils/events.d.ts +0 -8
- package/types/components/RichTextEditor/utils/rnWebView.d.ts +0 -7
- package/types/components/Search/SearchOneLine.d.ts +0 -69
- package/types/components/Search/SearchSuffixIcon.d.ts +0 -24
- package/types/components/Search/SearchTwoLine.d.ts +0 -36
- package/types/components/Search/StyledSearch.d.ts +0 -49
- package/types/components/Search/index.d.ts +0 -10
- package/types/components/Search/utils.d.ts +0 -8
- package/types/components/SectionHeading/StyledHeading.d.ts +0 -23
- package/types/components/SectionHeading/index.d.ts +0 -45
- package/types/components/Select/BaseOptionList.d.ts +0 -8
- package/types/components/Select/Footer.d.ts +0 -6
- package/types/components/Select/MultiSelect/Option.d.ts +0 -10
- package/types/components/Select/MultiSelect/OptionList.d.ts +0 -9
- package/types/components/Select/MultiSelect/index.d.ts +0 -30
- package/types/components/Select/SingleSelect/Option.d.ts +0 -10
- package/types/components/Select/SingleSelect/OptionList.d.ts +0 -11
- package/types/components/Select/SingleSelect/StyledSingleSelect.d.ts +0 -1
- package/types/components/Select/SingleSelect/index.d.ts +0 -23
- package/types/components/Select/StyledSelect.d.ts +0 -21
- package/types/components/Select/helpers.d.ts +0 -14
- package/types/components/Select/index.d.ts +0 -8
- package/types/components/Select/types.d.ts +0 -84
- package/types/components/Skeleton/StyledSkeleton.d.ts +0 -16
- package/types/components/Skeleton/index.d.ts +0 -14
- package/types/components/Slider/index.d.ts +0 -53
- package/types/components/Spinner/AnimatedSpinner.d.ts +0 -6
- package/types/components/Spinner/StyledSpinner.d.ts +0 -34
- package/types/components/Spinner/index.d.ts +0 -18
- package/types/components/Success/StyledSuccess.d.ts +0 -49
- package/types/components/Success/index.d.ts +0 -50
- package/types/components/Swipeable/StyledSwipeable.d.ts +0 -10
- package/types/components/Swipeable/SwipeableAction.d.ts +0 -27
- package/types/components/Swipeable/index.d.ts +0 -49
- package/types/components/Switch/SelectorSwitch/Option.d.ts +0 -16
- package/types/components/Switch/SelectorSwitch/StyledSelectorSwitch.d.ts +0 -19
- package/types/components/Switch/SelectorSwitch/index.d.ts +0 -37
- package/types/components/Switch/StyledSwitch.d.ts +0 -15
- package/types/components/Switch/index.d.ts +0 -28
- package/types/components/Tabs/ActiveTabIndicator.d.ts +0 -9
- package/types/components/Tabs/SceneView.d.ts +0 -10
- package/types/components/Tabs/ScrollableTabs.d.ts +0 -7
- package/types/components/Tabs/ScrollableTabsHeader/ScrollableTabsHeader.d.ts +0 -40
- package/types/components/Tabs/ScrollableTabsHeader/hooks/useInitHighlightedAnimation.d.ts +0 -9
- package/types/components/Tabs/ScrollableTabsHeader/hooks/useInitUnderlinedAnimation.d.ts +0 -10
- package/types/components/Tabs/StyledScrollableTabs.d.ts +0 -55
- package/types/components/Tabs/StyledTabs.d.ts +0 -51
- package/types/components/Tabs/TabWithBadge.d.ts +0 -16
- package/types/components/Tabs/index.d.ts +0 -62
- package/types/components/Tabs/useHandlePageScroll.d.ts +0 -8
- package/types/components/Tabs/useIsFocused.d.ts +0 -6
- package/types/components/Tabs/utils.d.ts +0 -2
- package/types/components/Tag/StyledTag.d.ts +0 -17
- package/types/components/Tag/index.d.ts +0 -27
- package/types/components/TextInput/StyledTextInput.d.ts +0 -86
- package/types/components/TextInput/index.d.ts +0 -124
- package/types/components/TimePicker/StyledTimePicker.d.ts +0 -9
- package/types/components/TimePicker/TimePickerAndroid.d.ts +0 -4
- package/types/components/TimePicker/TimePickerIOS.d.ts +0 -4
- package/types/components/TimePicker/index.d.ts +0 -4
- package/types/components/TimePicker/types.d.ts +0 -61
- package/types/components/Toast/StyledToast.d.ts +0 -59
- package/types/components/Toast/Toast.d.ts +0 -3
- package/types/components/Toast/ToastContainer.d.ts +0 -5
- package/types/components/Toast/ToastContext.d.ts +0 -12
- package/types/components/Toast/ToastProvider.d.ts +0 -11
- package/types/components/Toast/index.d.ts +0 -8
- package/types/components/Toast/types.d.ts +0 -72
- package/types/components/Toolbar/StyledToolbar.d.ts +0 -71
- package/types/components/Toolbar/ToolbarGroup.d.ts +0 -14
- package/types/components/Toolbar/ToolbarItem.d.ts +0 -31
- package/types/components/Toolbar/ToolbarMessage.d.ts +0 -59
- package/types/components/Toolbar/index.d.ts +0 -14
- package/types/components/Typography/Body/StyledBody.d.ts +0 -14
- package/types/components/Typography/Body/__tests__/StyledBody.d.ts +0 -1
- package/types/components/Typography/Body/index.d.ts +0 -33
- package/types/components/Typography/Caption/StyledCaption.d.ts +0 -12
- package/types/components/Typography/Caption/index.d.ts +0 -27
- package/types/components/Typography/Label/StyledLabel.d.ts +0 -11
- package/types/components/Typography/Label/__tests__/StyledLabel.d.ts +0 -1
- package/types/components/Typography/Label/index.d.ts +0 -23
- package/types/components/Typography/Text/StyledText.d.ts +0 -13
- package/types/components/Typography/Text/index.d.ts +0 -37
- package/types/components/Typography/Title/StyledTitle.d.ts +0 -14
- package/types/components/Typography/Title/__tests__/StyledTitle.d.ts +0 -1
- package/types/components/Typography/Title/index.d.ts +0 -33
- package/types/components/Typography/index.d.ts +0 -17
- package/types/components/Typography/types.d.ts +0 -6
- package/types/index.d.ts +0 -57
- package/types/testHelpers/renderWithTheme.d.ts +0 -3
- package/types/testHelpers/utils.d.ts +0 -1
- package/types/theme/ThemeProvider.d.ts +0 -12
- package/types/theme/ThemeSwitcher.d.ts +0 -8
- package/types/theme/components/accordion.d.ts +0 -13
- package/types/theme/components/alert.d.ts +0 -36
- package/types/theme/components/attachment.d.ts +0 -21
- package/types/theme/components/avatar.d.ts +0 -50
- package/types/theme/components/badge.d.ts +0 -56
- package/types/theme/components/bottomNavigation.d.ts +0 -23
- package/types/theme/components/bottomSheet.d.ts +0 -38
- package/types/theme/components/button.d.ts +0 -72
- package/types/theme/components/calendar.d.ts +0 -28
- package/types/theme/components/card.d.ts +0 -21
- package/types/theme/components/cardCarousel.d.ts +0 -15
- package/types/theme/components/carousel.d.ts +0 -36
- package/types/theme/components/checkbox.d.ts +0 -27
- package/types/theme/components/chip.d.ts +0 -43
- package/types/theme/components/contentNavigator.d.ts +0 -7
- package/types/theme/components/datePicker.d.ts +0 -7
- package/types/theme/components/divider.d.ts +0 -17
- package/types/theme/components/drawer.d.ts +0 -30
- package/types/theme/components/empty.d.ts +0 -37
- package/types/theme/components/error.d.ts +0 -51
- package/types/theme/components/fab.d.ts +0 -71
- package/types/theme/components/floatingIsland.d.ts +0 -32
- package/types/theme/components/icon.d.ts +0 -23
- package/types/theme/components/image.d.ts +0 -8
- package/types/theme/components/list.d.ts +0 -46
- package/types/theme/components/mapPin.d.ts +0 -39
- package/types/theme/components/pageControl.d.ts +0 -18
- package/types/theme/components/pinInput.d.ts +0 -57
- package/types/theme/components/progress.d.ts +0 -51
- package/types/theme/components/radio.d.ts +0 -24
- package/types/theme/components/rate.d.ts +0 -11
- package/types/theme/components/refreshControl.d.ts +0 -7
- package/types/theme/components/richTextEditor.d.ts +0 -28
- package/types/theme/components/search.d.ts +0 -64
- package/types/theme/components/sectionHeading.d.ts +0 -14
- package/types/theme/components/select.d.ts +0 -18
- package/types/theme/components/skeleton.d.ts +0 -17
- package/types/theme/components/slider.d.ts +0 -9
- package/types/theme/components/spinner.d.ts +0 -27
- package/types/theme/components/success.d.ts +0 -43
- package/types/theme/components/swipeable.d.ts +0 -16
- package/types/theme/components/switch.d.ts +0 -38
- package/types/theme/components/tabs.d.ts +0 -30
- package/types/theme/components/tag.d.ts +0 -53
- package/types/theme/components/textInput.d.ts +0 -87
- package/types/theme/components/timePicker.d.ts +0 -7
- package/types/theme/components/toast.d.ts +0 -50
- package/types/theme/components/toolbar.d.ts +0 -47
- package/types/theme/components/typography.d.ts +0 -165
- package/types/theme/getTheme.d.ts +0 -106
- package/types/theme/global/borders.d.ts +0 -18
- package/types/theme/global/colors/eBens.d.ts +0 -3
- package/types/theme/global/colors/global.d.ts +0 -3
- package/types/theme/global/colors/globalDark.d.ts +0 -3
- package/types/theme/global/colors/jobs.d.ts +0 -3
- package/types/theme/global/colors/swag.d.ts +0 -3
- package/types/theme/global/colors/swagDark.d.ts +0 -3
- package/types/theme/global/colors/swagLight.d.ts +0 -3
- package/types/theme/global/colors/swagLightGlobal.d.ts +0 -3
- package/types/theme/global/colors/swagLightJobs.d.ts +0 -48
- package/types/theme/global/colors/types.d.ts +0 -50
- package/types/theme/global/colors/wallet.d.ts +0 -3
- package/types/theme/global/colors/work.d.ts +0 -3
- package/types/theme/global/index.d.ts +0 -82
- package/types/theme/global/scale.d.ts +0 -14
- package/types/theme/global/shadows.d.ts +0 -16
- package/types/theme/global/sizes.d.ts +0 -14
- package/types/theme/global/space.d.ts +0 -16
- package/types/theme/global/typography.d.ts +0 -31
- package/types/theme/index.d.ts +0 -9
- package/types/types.d.ts +0 -14
- package/types/utils/functions.d.ts +0 -1
- package/types/utils/helpers.d.ts +0 -4
- package/types/utils/hooks.d.ts +0 -3
- package/types/utils/scale.d.ts +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# @hero-design/rn
|
|
2
2
|
|
|
3
|
-
## 8.
|
|
3
|
+
## 8.82.0-alpha.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#3538](https://github.com/Thinkei/hero-design/pull/3538) [`5ed5328f70f9fc624f55d7528fb406a0b4536987`](https://github.com/Thinkei/hero-design/commit/5ed5328f70f9fc624f55d7528fb406a0b4536987) Thanks [@ttkien](https://github.com/ttkien)! - [DatePicker] add variant month-year
|
|
4
8
|
|
|
5
9
|
### Patch Changes
|
|
6
10
|
|
package/package.json
CHANGED
package/sonar-project.properties
CHANGED
|
@@ -4,6 +4,6 @@ sonar.organization=thinkei
|
|
|
4
4
|
|
|
5
5
|
sonar.sources=.
|
|
6
6
|
sonar.inclusions=**/*
|
|
7
|
-
sonar.exclusions=**/__tests__/**,**/public/**,**/stats/**,**.config.js
|
|
7
|
+
sonar.exclusions=**/__tests__/**,**/public/**,**/stats/**,**.config.js,**/testUtils/**
|
|
8
8
|
sonar.java.binaries=**/src/main/java
|
|
9
9
|
sonar.javascript.lcov.reportPaths=./coverage/lcov.info
|
|
@@ -3,10 +3,17 @@ import formatDate from 'date-fns/fp/format';
|
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { TouchableOpacity, View } from 'react-native';
|
|
5
5
|
|
|
6
|
+
import { MonthYearPickerDialogueAndroid } from '@hero-design/react-native-month-year-picker';
|
|
6
7
|
import TextInput from '../TextInput';
|
|
7
8
|
import type { DatePickerProps } from './types';
|
|
8
9
|
import useCalculateDate from './useCalculateDate';
|
|
9
10
|
|
|
11
|
+
type DatePickerAndroidProps = Omit<
|
|
12
|
+
DatePickerProps,
|
|
13
|
+
'variant' | 'monthPickerConfirmLabel' | 'monthPickerCancelLabel'
|
|
14
|
+
> & {
|
|
15
|
+
variant?: 'default' | 'month-year';
|
|
16
|
+
};
|
|
10
17
|
const DatePickerAndroid = ({
|
|
11
18
|
value,
|
|
12
19
|
minDate,
|
|
@@ -21,10 +28,8 @@ const DatePickerAndroid = ({
|
|
|
21
28
|
helpText,
|
|
22
29
|
style,
|
|
23
30
|
testID,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'variant' | 'monthPickerConfirmLabel' | 'monthPickerCancelLabel'
|
|
27
|
-
>) => {
|
|
31
|
+
variant = 'default',
|
|
32
|
+
}: DatePickerAndroidProps) => {
|
|
28
33
|
const [open, setOpen] = useState(false);
|
|
29
34
|
const displayValue = value ? formatDate(displayFormat, value) : '';
|
|
30
35
|
const pickerInitValue = value || new Date();
|
|
@@ -47,7 +52,20 @@ const DatePickerAndroid = ({
|
|
|
47
52
|
testID={testID}
|
|
48
53
|
/>
|
|
49
54
|
</View>
|
|
50
|
-
{open ? (
|
|
55
|
+
{open && variant === 'month-year' ? (
|
|
56
|
+
<MonthYearPickerDialogueAndroid
|
|
57
|
+
value={value}
|
|
58
|
+
minimumDate={minDate}
|
|
59
|
+
maximumDate={maxDate}
|
|
60
|
+
onChange={(action, date) => {
|
|
61
|
+
setOpen(false);
|
|
62
|
+
if (action === 'dateSetAction' && !!date) {
|
|
63
|
+
onChange(date);
|
|
64
|
+
}
|
|
65
|
+
}}
|
|
66
|
+
/>
|
|
67
|
+
) : null}
|
|
68
|
+
{open && variant === 'default' ? (
|
|
51
69
|
<DateTimePicker
|
|
52
70
|
testID="datePickerAndroid"
|
|
53
71
|
mode="date"
|
|
@@ -3,6 +3,7 @@ import formatDate from 'date-fns/fp/format';
|
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { TouchableOpacity, View } from 'react-native';
|
|
5
5
|
|
|
6
|
+
import { MonthYearPickerViewIOS } from '@hero-design/react-native-month-year-picker';
|
|
6
7
|
import { useTheme } from '../../theme';
|
|
7
8
|
import BottomSheet from '../BottomSheet';
|
|
8
9
|
import Button from '../Button';
|
|
@@ -11,6 +12,12 @@ import { StyledPickerWrapper } from './StyledDatePicker';
|
|
|
11
12
|
import type { DatePickerProps } from './types';
|
|
12
13
|
import useCalculateDate, { getDateValue } from './useCalculateDate';
|
|
13
14
|
|
|
15
|
+
type DatePickerIOSProps = Omit<
|
|
16
|
+
DatePickerProps,
|
|
17
|
+
'variant' | 'monthPickerConfirmLabel' | 'monthPickerCancelLabel'
|
|
18
|
+
> & {
|
|
19
|
+
variant?: 'default' | 'month-year';
|
|
20
|
+
};
|
|
14
21
|
const DatePickerIOS = ({
|
|
15
22
|
value,
|
|
16
23
|
minDate,
|
|
@@ -27,10 +34,8 @@ const DatePickerIOS = ({
|
|
|
27
34
|
style,
|
|
28
35
|
testID,
|
|
29
36
|
supportedOrientations = ['portrait'],
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
'variant' | 'monthPickerConfirmLabel' | 'monthPickerCancelLabel'
|
|
33
|
-
>) => {
|
|
37
|
+
variant = 'default',
|
|
38
|
+
}: DatePickerIOSProps) => {
|
|
34
39
|
const [selectingDate, setSelectingDate] = useState<Date>(
|
|
35
40
|
getDateValue(value || new Date(), minDate, maxDate)
|
|
36
41
|
);
|
|
@@ -75,21 +80,36 @@ const DatePickerIOS = ({
|
|
|
75
80
|
supportedOrientations={supportedOrientations}
|
|
76
81
|
>
|
|
77
82
|
<StyledPickerWrapper>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
{variant === 'month-year' ? (
|
|
84
|
+
<MonthYearPickerViewIOS
|
|
85
|
+
value={value}
|
|
86
|
+
minimumDate={minDate}
|
|
87
|
+
maximumDate={maxDate}
|
|
88
|
+
onChange={(date: Date | undefined) => {
|
|
89
|
+
if (date) {
|
|
90
|
+
setSelectingDate(date);
|
|
91
|
+
}
|
|
92
|
+
}}
|
|
93
|
+
style={{ flex: 1 }}
|
|
94
|
+
/>
|
|
95
|
+
) : null}
|
|
96
|
+
{variant === 'default' ? (
|
|
97
|
+
<DateTimePicker
|
|
98
|
+
testID="datePickerIOS"
|
|
99
|
+
value={selectingDate}
|
|
100
|
+
minimumDate={minDate}
|
|
101
|
+
maximumDate={maxDate}
|
|
102
|
+
mode="date"
|
|
103
|
+
onChange={(_: any, date: Date | undefined) => {
|
|
104
|
+
if (date) {
|
|
105
|
+
setSelectingDate(date);
|
|
106
|
+
}
|
|
107
|
+
}}
|
|
108
|
+
display="spinner"
|
|
109
|
+
style={{ flex: 1 }}
|
|
110
|
+
textColor={theme.colors.onDefaultGlobalSurface}
|
|
111
|
+
/>
|
|
112
|
+
) : null}
|
|
93
113
|
</StyledPickerWrapper>
|
|
94
114
|
</BottomSheet>
|
|
95
115
|
</TouchableOpacity>
|
|
@@ -54,4 +54,29 @@ describe('DatePickerAndroid', () => {
|
|
|
54
54
|
|
|
55
55
|
expect(getByText('This is help text')).toBeTruthy();
|
|
56
56
|
});
|
|
57
|
+
|
|
58
|
+
it('renders month-year picker', () => {
|
|
59
|
+
const onChangeSpy = jest.fn();
|
|
60
|
+
const { getByTestId, queryByText, getByText } = renderWithTheme(
|
|
61
|
+
<DatePickerAndroid
|
|
62
|
+
value={new Date('December 21, 1995')}
|
|
63
|
+
variant="month-year"
|
|
64
|
+
label="Start date"
|
|
65
|
+
confirmLabel="Confirm"
|
|
66
|
+
onChange={onChangeSpy}
|
|
67
|
+
displayFormat="MMMM yyyy"
|
|
68
|
+
/>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
expect(queryByText('Start date')).toBeDefined();
|
|
72
|
+
const textInput = getByTestId('text-input');
|
|
73
|
+
expect(textInput).toHaveProp('value', 'December 1995');
|
|
74
|
+
fireEvent.press(queryByText('Start date'));
|
|
75
|
+
expect(queryByText('Android month year picker')).toBeDefined();
|
|
76
|
+
|
|
77
|
+
// mock change date
|
|
78
|
+
fireEvent.press(getByText('Android month year picker'));
|
|
79
|
+
expect(queryByText('Android month year picker')).toBeNull();
|
|
80
|
+
expect(onChangeSpy).toBeCalledWith(new Date('2019-09-01'));
|
|
81
|
+
});
|
|
57
82
|
});
|
|
@@ -115,4 +115,33 @@ describe('DatePickerIOS', () => {
|
|
|
115
115
|
|
|
116
116
|
expect(getByText('This is help text')).toBeTruthy();
|
|
117
117
|
});
|
|
118
|
+
|
|
119
|
+
it('renders month-year picker', () => {
|
|
120
|
+
const onChangeSpy = jest.fn();
|
|
121
|
+
const { queryByText, getByText, getByTestId, queryByTestId } =
|
|
122
|
+
renderWithTheme(
|
|
123
|
+
<DatePickerIOS
|
|
124
|
+
value={new Date('December 21, 1995')}
|
|
125
|
+
variant="month-year"
|
|
126
|
+
label="Start date"
|
|
127
|
+
confirmLabel="Confirm"
|
|
128
|
+
onChange={onChangeSpy}
|
|
129
|
+
displayFormat="MMMM yyyy"
|
|
130
|
+
/>
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
expect(getByText('Start date')).toBeDefined();
|
|
134
|
+
const textInput = getByTestId('text-input');
|
|
135
|
+
expect(textInput).toHaveProp('value', 'December 1995');
|
|
136
|
+
fireEvent.press(getByText('Start date'));
|
|
137
|
+
expect(getByText('Confirm')).toBeDefined();
|
|
138
|
+
expect(queryByTestId('datePickerIOS')).toBeFalsy();
|
|
139
|
+
expect(getByText('IOS month year picker')).toBeDefined();
|
|
140
|
+
|
|
141
|
+
// mock change date
|
|
142
|
+
fireEvent.press(getByText('IOS month year picker'));
|
|
143
|
+
fireEvent.press(getByText('Confirm'));
|
|
144
|
+
expect(queryByText('iOS month year picker')).toBeNull();
|
|
145
|
+
expect(onChangeSpy).toBeCalledWith(new Date('2019-09-01'));
|
|
146
|
+
});
|
|
118
147
|
});
|
|
@@ -10,10 +10,10 @@ const DatePicker = ({ variant = 'default', ...props }: DatePickerProps) => {
|
|
|
10
10
|
return <DatePickerCalendar {...props} />;
|
|
11
11
|
}
|
|
12
12
|
if (Platform.OS === 'ios') {
|
|
13
|
-
return <DatePickerIOS {...props} />;
|
|
13
|
+
return <DatePickerIOS {...props} variant={variant} />;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
return <DatePickerAndroid {...props} />;
|
|
16
|
+
return <DatePickerAndroid {...props} variant={variant} />;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export default DatePicker;
|
|
@@ -13,8 +13,9 @@ export interface DatePickerProps {
|
|
|
13
13
|
* Datepicker variants.
|
|
14
14
|
* - default: is default UI of Android or iOS
|
|
15
15
|
* - calendar: calendar UI
|
|
16
|
+
* - month-year: month and year UI
|
|
16
17
|
*/
|
|
17
|
-
variant?: 'default' | 'calendar';
|
|
18
|
+
variant?: 'default' | 'calendar' | 'month-year';
|
|
18
19
|
/**
|
|
19
20
|
* Mininum date. Restrict the range of possible date values.
|
|
20
21
|
*/
|
package/testUtils/setup.tsx
CHANGED
|
@@ -107,28 +107,39 @@ jest.mock('react-native-gesture-handler', () => {
|
|
|
107
107
|
};
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
jest.mock(
|
|
111
|
-
const React = jest.requireActual(
|
|
112
|
-
const { View, Text } = jest.requireActual(
|
|
110
|
+
jest.mock('@hero-design/react-native-month-year-picker', () => {
|
|
111
|
+
const React = jest.requireActual('react');
|
|
112
|
+
const { View, Text } = jest.requireActual('react-native');
|
|
113
113
|
|
|
114
114
|
return {
|
|
115
|
-
MonthYearPickerDialogueAndroid: () => (
|
|
116
|
-
<View
|
|
117
|
-
|
|
115
|
+
MonthYearPickerDialogueAndroid: ({ onChange }) => (
|
|
116
|
+
<View
|
|
117
|
+
onPress={() => {
|
|
118
|
+
if (onChange) {
|
|
119
|
+
onChange('dateSetAction', new Date('2019-09-01'));
|
|
120
|
+
}
|
|
121
|
+
}}
|
|
122
|
+
>
|
|
123
|
+
<Text>Android month year picker</Text>
|
|
118
124
|
</View>
|
|
119
125
|
),
|
|
120
|
-
MonthYearPickerViewIOS: () => (
|
|
121
|
-
<View
|
|
122
|
-
|
|
126
|
+
MonthYearPickerViewIOS: ({ onChange }) => (
|
|
127
|
+
<View
|
|
128
|
+
onPress={() => {
|
|
129
|
+
if (onChange) {
|
|
130
|
+
onChange(new Date('2019-09-01'));
|
|
131
|
+
}
|
|
132
|
+
}}
|
|
133
|
+
>
|
|
134
|
+
<Text>IOS month year picker</Text>
|
|
123
135
|
</View>
|
|
124
136
|
),
|
|
125
137
|
};
|
|
126
138
|
});
|
|
127
139
|
|
|
128
|
-
|
|
129
140
|
jest.mock('react-native/Libraries/Utilities/BackHandler', () => {
|
|
130
141
|
return jest.requireActual(
|
|
131
|
-
'react-native/Libraries/Utilities/__mocks__/BackHandler.js'
|
|
142
|
+
'react-native/Libraries/Utilities/__mocks__/BackHandler.js'
|
|
132
143
|
);
|
|
133
144
|
});
|
|
134
145
|
|