@tecsinapse/react-core 1.20.0 → 1.21.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 +23 -0
- package/dist/components/atoms/Avatar/Avatar.d.ts +1 -1
- package/dist/components/atoms/Avatar/Avatar.js +30 -42
- package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/components/atoms/Avatar/Avatar.stories.d.ts +9 -0
- package/dist/components/atoms/Avatar/helpers.js +6 -11
- package/dist/components/atoms/Avatar/helpers.js.map +1 -1
- package/dist/components/atoms/Avatar/styled.js +41 -54
- package/dist/components/atoms/Avatar/styled.js.map +1 -1
- package/dist/components/atoms/Badge/Badge.js +17 -23
- package/dist/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/components/atoms/Badge/styled.js +44 -31
- package/dist/components/atoms/Badge/styled.js.map +1 -1
- package/dist/components/atoms/BoxContent/BoxContent.js +38 -18
- package/dist/components/atoms/BoxContent/BoxContent.js.map +1 -1
- package/dist/components/atoms/BoxContent/BoxContent.stories.d.ts +9 -0
- package/dist/components/atoms/BoxContent/styled.d.ts +1 -1
- package/dist/components/atoms/BoxContent/styled.js +53 -73
- package/dist/components/atoms/BoxContent/styled.js.map +1 -1
- package/dist/components/atoms/Button/Button.js +77 -51
- package/dist/components/atoms/Button/Button.js.map +1 -1
- package/dist/components/atoms/Button/States/BaseState.d.ts +1 -1
- package/dist/components/atoms/Button/States/BaseState.js +27 -36
- package/dist/components/atoms/Button/States/BaseState.js.map +1 -1
- package/dist/components/atoms/Button/States/Error.d.ts +1 -1
- package/dist/components/atoms/Button/States/Error.js +28 -17
- package/dist/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/components/atoms/Button/States/Loading.d.ts +1 -1
- package/dist/components/atoms/Button/States/Loading.js +26 -35
- package/dist/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/components/atoms/Button/States/Success.d.ts +1 -1
- package/dist/components/atoms/Button/States/Success.js +28 -17
- package/dist/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/components/atoms/Button/States/styled.js +17 -39
- package/dist/components/atoms/Button/States/styled.js.map +1 -1
- package/dist/components/atoms/Button/styled.js +52 -50
- package/dist/components/atoms/Button/styled.js.map +1 -1
- package/dist/components/atoms/Card/Card.js +52 -28
- package/dist/components/atoms/Card/Card.js.map +1 -1
- package/dist/components/atoms/Card/Card.stories.d.ts +9 -0
- package/dist/components/atoms/Card/Footer/Footer.js +10 -21
- package/dist/components/atoms/Card/Footer/Footer.js.map +1 -1
- package/dist/components/atoms/Card/Header/Header.js +10 -21
- package/dist/components/atoms/Card/Header/Header.js.map +1 -1
- package/dist/components/atoms/Card/styled.js +14 -17
- package/dist/components/atoms/Card/styled.js.map +1 -1
- package/dist/components/atoms/Checkbox/Checkbox.js +66 -39
- package/dist/components/atoms/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +9 -0
- package/dist/components/atoms/Checkbox/styled.js +39 -68
- package/dist/components/atoms/Checkbox/styled.js.map +1 -1
- package/dist/components/atoms/Divider/Divider.js +38 -18
- package/dist/components/atoms/Divider/Divider.js.map +1 -1
- package/dist/components/atoms/Divider/Divider.stories.d.ts +9 -0
- package/dist/components/atoms/Divider/styled.js +30 -43
- package/dist/components/atoms/Divider/styled.js.map +1 -1
- package/dist/components/atoms/GroupButton/GroupButton.js +68 -47
- package/dist/components/atoms/GroupButton/GroupButton.js.map +1 -1
- package/dist/components/atoms/GroupButton/GroupButton.stories.d.ts +8 -0
- package/dist/components/atoms/GroupButton/GroupButtonOption.js +16 -23
- package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/components/atoms/GroupButton/styled.js +113 -124
- package/dist/components/atoms/GroupButton/styled.js.map +1 -1
- package/dist/components/atoms/Icon/Icon.js +64 -31
- package/dist/components/atoms/Icon/Icon.js.map +1 -1
- package/dist/components/atoms/Icon/Icon.stories.d.ts +9 -0
- package/dist/components/atoms/Icon/helpers.d.ts +2 -2
- package/dist/components/atoms/Icon/helpers.js +110 -77
- package/dist/components/atoms/Icon/helpers.js.map +1 -1
- package/dist/components/atoms/Input/Hint.js +19 -34
- package/dist/components/atoms/Input/Hint.js.map +1 -1
- package/dist/components/atoms/Input/InputContainer/InputContainer.js +81 -44
- package/dist/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
- package/dist/components/atoms/Input/InputElement/InputElement.js +68 -40
- package/dist/components/atoms/Input/InputElement/InputElement.js.map +1 -1
- package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js +109 -83
- package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
- package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +67 -31
- package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
- package/dist/components/atoms/Input/PressableInputContainer/styled.js +9 -12
- package/dist/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useInputFocus.d.ts +1 -1
- package/dist/components/atoms/Input/hooks/useInputFocus.js +8 -12
- package/dist/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useNumberMask.d.ts +2 -2
- package/dist/components/atoms/Input/hooks/useNumberMask.js +67 -66
- package/dist/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
- package/dist/components/atoms/Input/hooks/useStringMask.js +49 -60
- package/dist/components/atoms/Input/hooks/useStringMask.js.map +1 -1
- package/dist/components/atoms/Input/styled.js +106 -144
- package/dist/components/atoms/Input/styled.js.map +1 -1
- package/dist/components/atoms/Paper/Paper.js +47 -21
- package/dist/components/atoms/Paper/Paper.js.map +1 -1
- package/dist/components/atoms/Paper/Paper.stories.d.ts +9 -0
- package/dist/components/atoms/Paper/styled.js +14 -17
- package/dist/components/atoms/Paper/styled.js.map +1 -1
- package/dist/components/atoms/PressableSurface/PressableSurface.js +78 -68
- package/dist/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
- package/dist/components/atoms/ProgressBar/ProgressBar.js +88 -44
- package/dist/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/atoms/ProgressBar/ProgressBar.stories.d.ts +9 -0
- package/dist/components/atoms/ProgressBar/styled.js +39 -51
- package/dist/components/atoms/ProgressBar/styled.js.map +1 -1
- package/dist/components/atoms/RadioButton/RadioButton.js +60 -33
- package/dist/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/dist/components/atoms/RadioButton/RadioButton.stories.d.ts +9 -0
- package/dist/components/atoms/RadioButton/styled.js +28 -44
- package/dist/components/atoms/RadioButton/styled.js.map +1 -1
- package/dist/components/atoms/Switch/Switch.js +94 -73
- package/dist/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/components/atoms/Switch/Switch.stories.d.ts +9 -0
- package/dist/components/atoms/Switch/animation.js +12 -20
- package/dist/components/atoms/Switch/animation.js.map +1 -1
- package/dist/components/atoms/Switch/styled.js +36 -44
- package/dist/components/atoms/Switch/styled.js.map +1 -1
- package/dist/components/atoms/Tag/Tag.js +65 -45
- package/dist/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/components/atoms/Tag/styled.js +43 -63
- package/dist/components/atoms/Tag/styled.js.map +1 -1
- package/dist/components/atoms/Text/Text.js +71 -37
- package/dist/components/atoms/Text/Text.js.map +1 -1
- package/dist/components/atoms/Text/Text.stories.d.ts +9 -0
- package/dist/components/atoms/Text/functions.js +5 -10
- package/dist/components/atoms/Text/functions.js.map +1 -1
- package/dist/components/atoms/Text/styled.js +29 -67
- package/dist/components/atoms/Text/styled.js.map +1 -1
- package/dist/components/atoms/shared/PaperAndCard.d.ts +1 -1
- package/dist/components/atoms/shared/PaperAndCard.js +17 -32
- package/dist/components/atoms/shared/PaperAndCard.js.map +1 -1
- package/dist/components/molecules/Calendar/Calendar.js +148 -98
- package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/components/molecules/Calendar/Calendar.stories.d.ts +8 -0
- package/dist/components/molecules/Calendar/components/MonthWeek.js +92 -125
- package/dist/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
- package/dist/components/molecules/Calendar/components/Weekdays.js +16 -29
- package/dist/components/molecules/Calendar/components/Weekdays.js.map +1 -1
- package/dist/components/molecules/Calendar/styled.js +88 -91
- package/dist/components/molecules/Calendar/styled.js.map +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.js +133 -86
- package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/molecules/DatePicker/styled.js +34 -40
- package/dist/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +150 -85
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/styled.js +10 -18
- package/dist/components/molecules/DateTimePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +174 -146
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/Selector.js +101 -69
- package/dist/components/molecules/DateTimeSelector/Selector.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/styled.js +67 -105
- package/dist/components/molecules/DateTimeSelector/styled.js.map +1 -1
- package/dist/components/molecules/Grid/functions.d.ts +1 -1
- package/dist/components/molecules/Grid/functions.js +22 -16
- package/dist/components/molecules/Grid/functions.js.map +1 -1
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js +84 -36
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/dist/components/molecules/IconTextButton/IconComponent.js +38 -31
- package/dist/components/molecules/IconTextButton/IconComponent.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPasswordIcon.js +53 -28
- package/dist/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
- package/dist/components/molecules/InputPassword/styled.js +15 -18
- package/dist/components/molecules/InputPassword/styled.js.map +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.d.ts +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.js +64 -71
- package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/molecules/Snackbar/styled.js +92 -73
- package/dist/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/components/molecules/TextArea/TextArea.js +63 -72
- package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
- package/dist/components/molecules/TextArea/styled.js +33 -27
- package/dist/components/molecules/TextArea/styled.js.map +1 -1
- package/dist/hooks/useDebouncedState.js +14 -14
- package/dist/hooks/useDebouncedState.js.map +1 -1
- package/dist/hooks/useTheme.js +5 -8
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/index.js +141 -455
- package/dist/index.js.map +1 -1
- package/dist/styles/ThemeProvider.js +13 -19
- package/dist/styles/ThemeProvider.js.map +1 -1
- package/dist/styles/definitions.js +107 -104
- package/dist/styles/definitions.js.map +1 -1
- package/dist/styles/light.js +47 -36
- package/dist/styles/light.js.map +1 -1
- package/dist/utils/IPhoneXHelper.js +13 -19
- package/dist/utils/IPhoneXHelper.js.map +1 -1
- package/dist/utils/ResponsiveFontSize.d.ts +1 -1
- package/dist/utils/ResponsiveFontSize.js +22 -42
- package/dist/utils/ResponsiveFontSize.js.map +1 -1
- package/dist/utils/extractNumbersFromString.js +6 -11
- package/dist/utils/extractNumbersFromString.js.map +1 -1
- package/dist/utils/formatWithMask.js +23 -20
- package/dist/utils/formatWithMask.js.map +1 -1
- package/dist/utils/lightenDarkenColor.js +19 -15
- package/dist/utils/lightenDarkenColor.js.map +1 -1
- package/dist/utils/masks.js +16 -18
- package/dist/utils/masks.js.map +1 -1
- package/dist/utils/variantComplement.js +24 -25
- package/dist/utils/variantComplement.js.map +1 -1
- package/esm/components/atoms/Avatar/Avatar.d.ts +1 -1
- package/esm/components/atoms/Avatar/Avatar.js +25 -43
- package/esm/components/atoms/Avatar/Avatar.js.map +1 -1
- package/esm/components/atoms/Avatar/helpers.js +6 -8
- package/esm/components/atoms/Avatar/helpers.js.map +1 -1
- package/esm/components/atoms/Avatar/styled.js +32 -30
- package/esm/components/atoms/Avatar/styled.js.map +1 -1
- package/esm/components/atoms/Badge/Badge.js +15 -16
- package/esm/components/atoms/Badge/Badge.js.map +1 -1
- package/esm/components/atoms/Badge/styled.js +34 -15
- package/esm/components/atoms/Badge/styled.js.map +1 -1
- package/esm/components/atoms/BoxContent/BoxContent.js +35 -15
- package/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
- package/esm/components/atoms/BoxContent/styled.d.ts +3 -16
- package/esm/components/atoms/BoxContent/styled.js +48 -49
- package/esm/components/atoms/BoxContent/styled.js.map +1 -1
- package/esm/components/atoms/Button/Button.js +79 -56
- package/esm/components/atoms/Button/Button.js.map +1 -1
- package/esm/components/atoms/Button/States/BaseState.d.ts +1 -1
- package/esm/components/atoms/Button/States/BaseState.js +22 -22
- package/esm/components/atoms/Button/States/BaseState.js.map +1 -1
- package/esm/components/atoms/Button/States/Error.d.ts +1 -1
- package/esm/components/atoms/Button/States/Error.js +26 -7
- package/esm/components/atoms/Button/States/Error.js.map +1 -1
- package/esm/components/atoms/Button/States/Loading.d.ts +1 -1
- package/esm/components/atoms/Button/States/Loading.js +20 -20
- package/esm/components/atoms/Button/States/Loading.js.map +1 -1
- package/esm/components/atoms/Button/States/Success.d.ts +1 -1
- package/esm/components/atoms/Button/States/Success.js +26 -7
- package/esm/components/atoms/Button/States/Success.js.map +1 -1
- package/esm/components/atoms/Button/States/styled.d.ts +2 -11
- package/esm/components/atoms/Button/States/styled.js +13 -22
- package/esm/components/atoms/Button/States/styled.js.map +1 -1
- package/esm/components/atoms/Button/styled.js +43 -35
- package/esm/components/atoms/Button/styled.js.map +1 -1
- package/esm/components/atoms/Card/Card.js +52 -27
- package/esm/components/atoms/Card/Card.js.map +1 -1
- package/esm/components/atoms/Card/Footer/Footer.js +6 -10
- package/esm/components/atoms/Card/Footer/Footer.js.map +1 -1
- package/esm/components/atoms/Card/Header/Header.js +6 -10
- package/esm/components/atoms/Card/Header/Header.js.map +1 -1
- package/esm/components/atoms/Card/styled.d.ts +1 -8
- package/esm/components/atoms/Card/styled.js +11 -9
- package/esm/components/atoms/Card/styled.js.map +1 -1
- package/esm/components/atoms/Checkbox/Checkbox.js +66 -40
- package/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
- package/esm/components/atoms/Checkbox/styled.d.ts +3 -7
- package/esm/components/atoms/Checkbox/styled.js +35 -48
- package/esm/components/atoms/Checkbox/styled.js.map +1 -1
- package/esm/components/atoms/Divider/Divider.js +35 -15
- package/esm/components/atoms/Divider/Divider.js.map +1 -1
- package/esm/components/atoms/Divider/styled.d.ts +1 -13
- package/esm/components/atoms/Divider/styled.js +21 -25
- package/esm/components/atoms/Divider/styled.js.map +1 -1
- package/esm/components/atoms/GroupButton/GroupButton.js +83 -62
- package/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
- package/esm/components/atoms/GroupButton/GroupButtonOption.js +13 -13
- package/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/esm/components/atoms/GroupButton/styled.js +101 -84
- package/esm/components/atoms/GroupButton/styled.js.map +1 -1
- package/esm/components/atoms/Icon/Icon.js +64 -33
- package/esm/components/atoms/Icon/Icon.js.map +1 -1
- package/esm/components/atoms/Icon/helpers.d.ts +1 -1
- package/esm/components/atoms/Icon/helpers.js +88 -64
- package/esm/components/atoms/Icon/helpers.js.map +1 -1
- package/esm/components/atoms/Input/Hint.js +18 -26
- package/esm/components/atoms/Input/Hint.js.map +1 -1
- package/esm/components/atoms/Input/InputContainer/InputContainer.js +88 -55
- package/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
- package/esm/components/atoms/Input/InputElement/InputElement.js +64 -34
- package/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
- package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +102 -87
- package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
- package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +50 -25
- package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
- package/esm/components/atoms/Input/PressableInputContainer/styled.js +6 -5
- package/esm/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
- package/esm/components/atoms/Input/hooks/useInputFocus.d.ts +1 -1
- package/esm/components/atoms/Input/hooks/useInputFocus.js +11 -26
- package/esm/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
- package/esm/components/atoms/Input/hooks/useNumberMask.d.ts +2 -2
- package/esm/components/atoms/Input/hooks/useNumberMask.js +67 -84
- package/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
- package/esm/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
- package/esm/components/atoms/Input/hooks/useStringMask.js +58 -79
- package/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
- package/esm/components/atoms/Input/styled.js +91 -89
- package/esm/components/atoms/Input/styled.js.map +1 -1
- package/esm/components/atoms/Paper/Paper.js +45 -20
- package/esm/components/atoms/Paper/Paper.js.map +1 -1
- package/esm/components/atoms/Paper/styled.d.ts +1 -9
- package/esm/components/atoms/Paper/styled.js +11 -9
- package/esm/components/atoms/Paper/styled.js.map +1 -1
- package/esm/components/atoms/PressableSurface/PressableSurface.js +83 -66
- package/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
- package/esm/components/atoms/ProgressBar/ProgressBar.js +79 -64
- package/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/esm/components/atoms/ProgressBar/styled.js +30 -24
- package/esm/components/atoms/ProgressBar/styled.js.map +1 -1
- package/esm/components/atoms/RadioButton/RadioButton.js +61 -35
- package/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/esm/components/atoms/RadioButton/styled.js +24 -28
- package/esm/components/atoms/RadioButton/styled.js.map +1 -1
- package/esm/components/atoms/Switch/Switch.js +88 -62
- package/esm/components/atoms/Switch/Switch.js.map +1 -1
- package/esm/components/atoms/Switch/animation.js +7 -5
- package/esm/components/atoms/Switch/animation.js.map +1 -1
- package/esm/components/atoms/Switch/styled.d.ts +2 -14
- package/esm/components/atoms/Switch/styled.js +27 -22
- package/esm/components/atoms/Switch/styled.js.map +1 -1
- package/esm/components/atoms/Tag/Tag.js +69 -63
- package/esm/components/atoms/Tag/Tag.js.map +1 -1
- package/esm/components/atoms/Tag/styled.js +31 -35
- package/esm/components/atoms/Tag/styled.js.map +1 -1
- package/esm/components/atoms/Text/Text.js +72 -43
- package/esm/components/atoms/Text/Text.js.map +1 -1
- package/esm/components/atoms/Text/functions.js +5 -7
- package/esm/components/atoms/Text/functions.js.map +1 -1
- package/esm/components/atoms/Text/styled.d.ts +2 -16
- package/esm/components/atoms/Text/styled.js +19 -43
- package/esm/components/atoms/Text/styled.js.map +1 -1
- package/esm/components/atoms/shared/PaperAndCard.d.ts +1 -3
- package/esm/components/atoms/shared/PaperAndCard.js +16 -20
- package/esm/components/atoms/shared/PaperAndCard.js.map +1 -1
- package/esm/components/molecules/Calendar/Calendar.js +130 -124
- package/esm/components/molecules/Calendar/Calendar.js.map +1 -1
- package/esm/components/molecules/Calendar/components/MonthWeek.js +80 -98
- package/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
- package/esm/components/molecules/Calendar/components/Weekdays.js +19 -25
- package/esm/components/molecules/Calendar/components/Weekdays.js.map +1 -1
- package/esm/components/molecules/Calendar/styled.js +79 -52
- package/esm/components/molecules/Calendar/styled.js.map +1 -1
- package/esm/components/molecules/DatePicker/DatePicker.js +131 -95
- package/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/molecules/DatePicker/styled.js +25 -19
- package/esm/components/molecules/DatePicker/styled.js.map +1 -1
- package/esm/components/molecules/DateTimePicker/DateTimePicker.js +155 -102
- package/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/esm/components/molecules/DateTimePicker/styled.js +8 -10
- package/esm/components/molecules/DateTimePicker/styled.js.map +1 -1
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +175 -179
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/esm/components/molecules/DateTimeSelector/Selector.js +93 -82
- package/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
- package/esm/components/molecules/DateTimeSelector/styled.js +54 -52
- package/esm/components/molecules/DateTimeSelector/styled.js.map +1 -1
- package/esm/components/molecules/Grid/functions.d.ts +1 -1
- package/esm/components/molecules/Grid/functions.js +23 -13
- package/esm/components/molecules/Grid/functions.js.map +1 -1
- package/esm/components/molecules/HintInputContainer/HintInputContainer.js +71 -36
- package/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/esm/components/molecules/IconTextButton/IconComponent.js +31 -17
- package/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
- package/esm/components/molecules/InputPassword/InputPasswordIcon.js +48 -24
- package/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
- package/esm/components/molecules/InputPassword/styled.js +12 -9
- package/esm/components/molecules/InputPassword/styled.js.map +1 -1
- package/esm/components/molecules/Snackbar/Snackbar.d.ts +1 -1
- package/esm/components/molecules/Snackbar/Snackbar.js +64 -65
- package/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/esm/components/molecules/Snackbar/styled.js +84 -48
- package/esm/components/molecules/Snackbar/styled.js.map +1 -1
- package/esm/components/molecules/TextArea/TextArea.js +66 -67
- package/esm/components/molecules/TextArea/TextArea.js.map +1 -1
- package/esm/components/molecules/TextArea/styled.d.ts +2 -12
- package/esm/components/molecules/TextArea/styled.js +25 -12
- package/esm/components/molecules/TextArea/styled.js.map +1 -1
- package/esm/hooks/useDebouncedState.js +13 -28
- package/esm/hooks/useDebouncedState.js.map +1 -1
- package/esm/hooks/useTheme.js +6 -5
- package/esm/hooks/useTheme.js.map +1 -1
- package/esm/index.js +55 -36
- package/esm/index.js.map +1 -1
- package/esm/styles/ThemeProvider.js +10 -9
- package/esm/styles/ThemeProvider.js.map +1 -1
- package/esm/styles/definitions.js +107 -117
- package/esm/styles/definitions.js.map +1 -1
- package/esm/styles/light.js +44 -31
- package/esm/styles/light.js.map +1 -1
- package/esm/utils/IPhoneXHelper.js +11 -9
- package/esm/utils/IPhoneXHelper.js.map +1 -1
- package/esm/utils/ResponsiveFontSize.d.ts +1 -1
- package/esm/utils/ResponsiveFontSize.js +26 -31
- package/esm/utils/ResponsiveFontSize.js.map +1 -1
- package/esm/utils/extractNumbersFromString.js +5 -7
- package/esm/utils/extractNumbersFromString.js.map +1 -1
- package/esm/utils/formatWithMask.js +20 -13
- package/esm/utils/formatWithMask.js.map +1 -1
- package/esm/utils/lightenDarkenColor.js +23 -14
- package/esm/utils/lightenDarkenColor.js.map +1 -1
- package/esm/utils/masks.js +18 -17
- package/esm/utils/masks.js.map +1 -1
- package/esm/utils/variantComplement.js +23 -21
- package/esm/utils/variantComplement.js.map +1 -1
- package/package.json +4 -7
- package/rollup.config.js +36 -0
- package/src/components/atoms/Avatar/Avatar.stories.tsx +2 -3
- package/src/components/atoms/Avatar/Avatar.tsx +1 -1
- package/src/components/atoms/Button/States/BaseState.tsx +1 -1
- package/src/components/atoms/Button/States/Error.tsx +2 -2
- package/src/components/atoms/Button/States/Loading.tsx +1 -1
- package/src/components/atoms/Button/States/Success.tsx +2 -2
- package/src/components/atoms/Icon/Icon.tsx +6 -2
- package/src/components/atoms/Icon/helpers.ts +18 -16
- package/src/components/molecules/Grid/functions.ts +2 -6
- package/src/components/molecules/IconTextButton/IconComponent.tsx +2 -6
- package/src/components/molecules/IconTextButton/{IconTextButton.tsx → IconTextButton.ts} +0 -0
- package/src/components/molecules/Snackbar/Snackbar.tsx +1 -1
- package/tsconfig.build.json +2 -1
- package/babel.config.esm.js +0 -34
- package/dist/components/atoms/Avatar/index.js +0 -16
- package/dist/components/atoms/Avatar/index.js.map +0 -1
- package/dist/components/atoms/Badge/index.js +0 -16
- package/dist/components/atoms/Badge/index.js.map +0 -1
- package/dist/components/atoms/BoxContent/index.js +0 -16
- package/dist/components/atoms/BoxContent/index.js.map +0 -1
- package/dist/components/atoms/Button/States/index.js +0 -32
- package/dist/components/atoms/Button/States/index.js.map +0 -1
- package/dist/components/atoms/Button/index.js +0 -36
- package/dist/components/atoms/Button/index.js.map +0 -1
- package/dist/components/atoms/Card/Footer/index.js +0 -16
- package/dist/components/atoms/Card/Footer/index.js.map +0 -1
- package/dist/components/atoms/Card/Header/index.js +0 -16
- package/dist/components/atoms/Card/Header/index.js.map +0 -1
- package/dist/components/atoms/Card/index.js +0 -16
- package/dist/components/atoms/Card/index.js.map +0 -1
- package/dist/components/atoms/Checkbox/index.js +0 -16
- package/dist/components/atoms/Checkbox/index.js.map +0 -1
- package/dist/components/atoms/Divider/index.js +0 -16
- package/dist/components/atoms/Divider/index.js.map +0 -1
- package/dist/components/atoms/GroupButton/index.js +0 -24
- package/dist/components/atoms/GroupButton/index.js.map +0 -1
- package/dist/components/atoms/Icon/index.js +0 -16
- package/dist/components/atoms/Icon/index.js.map +0 -1
- package/dist/components/atoms/Input/PressableInputContainer/index.js +0 -16
- package/dist/components/atoms/Input/PressableInputContainer/index.js.map +0 -1
- package/dist/components/atoms/Input/index.js +0 -113
- package/dist/components/atoms/Input/index.js.map +0 -1
- package/dist/components/atoms/Paper/index.js +0 -16
- package/dist/components/atoms/Paper/index.js.map +0 -1
- package/dist/components/atoms/PressableSurface/index.js +0 -16
- package/dist/components/atoms/PressableSurface/index.js.map +0 -1
- package/dist/components/atoms/ProgressBar/index.js +0 -16
- package/dist/components/atoms/ProgressBar/index.js.map +0 -1
- package/dist/components/atoms/RadioButton/index.js +0 -16
- package/dist/components/atoms/RadioButton/index.js.map +0 -1
- package/dist/components/atoms/Switch/index.js +0 -16
- package/dist/components/atoms/Switch/index.js.map +0 -1
- package/dist/components/atoms/Tag/index.js +0 -16
- package/dist/components/atoms/Tag/index.js.map +0 -1
- package/dist/components/atoms/Text/index.js +0 -16
- package/dist/components/atoms/Text/index.js.map +0 -1
- package/dist/components/molecules/Calendar/components/index.js +0 -24
- package/dist/components/molecules/Calendar/components/index.js.map +0 -1
- package/dist/components/molecules/Calendar/index.js +0 -16
- package/dist/components/molecules/Calendar/index.js.map +0 -1
- package/dist/components/molecules/DatePicker/index.js +0 -16
- package/dist/components/molecules/DatePicker/index.js.map +0 -1
- package/dist/components/molecules/DateTimePicker/index.js +0 -16
- package/dist/components/molecules/DateTimePicker/index.js.map +0 -1
- package/dist/components/molecules/DateTimeSelector/index.js +0 -16
- package/dist/components/molecules/DateTimeSelector/index.js.map +0 -1
- package/dist/components/molecules/Grid/index.js +0 -20
- package/dist/components/molecules/Grid/index.js.map +0 -1
- package/dist/components/molecules/HintInputContainer/index.js +0 -16
- package/dist/components/molecules/HintInputContainer/index.js.map +0 -1
- package/dist/components/molecules/HintInputContainer/styled.js +0 -2
- package/dist/components/molecules/HintInputContainer/styled.js.map +0 -1
- package/dist/components/molecules/IconTextButton/IconTextButton.js +0 -6
- package/dist/components/molecules/IconTextButton/IconTextButton.js.map +0 -1
- package/dist/components/molecules/IconTextButton/index.js +0 -16
- package/dist/components/molecules/IconTextButton/index.js.map +0 -1
- package/dist/components/molecules/IconTextButton/styled.d.ts +0 -4
- package/dist/components/molecules/IconTextButton/styled.js +0 -29
- package/dist/components/molecules/IconTextButton/styled.js.map +0 -1
- package/dist/components/molecules/InputPassword/index.js +0 -16
- package/dist/components/molecules/InputPassword/index.js.map +0 -1
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +0 -6
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +0 -1
- package/dist/components/molecules/LabeledSwitch/index.js +0 -6
- package/dist/components/molecules/LabeledSwitch/index.js.map +0 -1
- package/dist/components/molecules/Snackbar/index.js +0 -16
- package/dist/components/molecules/Snackbar/index.js.map +0 -1
- package/dist/components/molecules/TextArea/index.js +0 -24
- package/dist/components/molecules/TextArea/index.js.map +0 -1
- package/dist/hooks/index.js +0 -22
- package/dist/hooks/index.js.map +0 -1
- package/dist/types/defaults.js +0 -6
- package/dist/types/defaults.js.map +0 -1
- package/dist/utils/index.js +0 -103
- package/dist/utils/index.js.map +0 -1
- package/esm/components/atoms/Avatar/index.js +0 -2
- package/esm/components/atoms/Avatar/index.js.map +0 -1
- package/esm/components/atoms/Badge/index.js +0 -2
- package/esm/components/atoms/Badge/index.js.map +0 -1
- package/esm/components/atoms/BoxContent/index.js +0 -2
- package/esm/components/atoms/BoxContent/index.js.map +0 -1
- package/esm/components/atoms/Button/States/index.js +0 -4
- package/esm/components/atoms/Button/States/index.js.map +0 -1
- package/esm/components/atoms/Button/index.js +0 -3
- package/esm/components/atoms/Button/index.js.map +0 -1
- package/esm/components/atoms/Card/Footer/index.js +0 -2
- package/esm/components/atoms/Card/Footer/index.js.map +0 -1
- package/esm/components/atoms/Card/Header/index.js +0 -2
- package/esm/components/atoms/Card/Header/index.js.map +0 -1
- package/esm/components/atoms/Card/index.js +0 -2
- package/esm/components/atoms/Card/index.js.map +0 -1
- package/esm/components/atoms/Checkbox/index.js +0 -2
- package/esm/components/atoms/Checkbox/index.js.map +0 -1
- package/esm/components/atoms/Divider/index.js +0 -2
- package/esm/components/atoms/Divider/index.js.map +0 -1
- package/esm/components/atoms/GroupButton/index.js +0 -3
- package/esm/components/atoms/GroupButton/index.js.map +0 -1
- package/esm/components/atoms/Icon/index.js +0 -2
- package/esm/components/atoms/Icon/index.js.map +0 -1
- package/esm/components/atoms/Input/PressableInputContainer/index.js +0 -2
- package/esm/components/atoms/Input/PressableInputContainer/index.js.map +0 -1
- package/esm/components/atoms/Input/index.js +0 -10
- package/esm/components/atoms/Input/index.js.map +0 -1
- package/esm/components/atoms/Paper/index.js +0 -2
- package/esm/components/atoms/Paper/index.js.map +0 -1
- package/esm/components/atoms/PressableSurface/index.js +0 -2
- package/esm/components/atoms/PressableSurface/index.js.map +0 -1
- package/esm/components/atoms/ProgressBar/index.js +0 -2
- package/esm/components/atoms/ProgressBar/index.js.map +0 -1
- package/esm/components/atoms/RadioButton/index.js +0 -2
- package/esm/components/atoms/RadioButton/index.js.map +0 -1
- package/esm/components/atoms/Switch/index.js +0 -2
- package/esm/components/atoms/Switch/index.js.map +0 -1
- package/esm/components/atoms/Tag/index.js +0 -2
- package/esm/components/atoms/Tag/index.js.map +0 -1
- package/esm/components/atoms/Text/index.js +0 -2
- package/esm/components/atoms/Text/index.js.map +0 -1
- package/esm/components/molecules/Calendar/components/index.js +0 -3
- package/esm/components/molecules/Calendar/components/index.js.map +0 -1
- package/esm/components/molecules/Calendar/index.js +0 -2
- package/esm/components/molecules/Calendar/index.js.map +0 -1
- package/esm/components/molecules/DatePicker/index.js +0 -2
- package/esm/components/molecules/DatePicker/index.js.map +0 -1
- package/esm/components/molecules/DateTimePicker/index.js +0 -2
- package/esm/components/molecules/DateTimePicker/index.js.map +0 -1
- package/esm/components/molecules/DateTimeSelector/index.js +0 -2
- package/esm/components/molecules/DateTimeSelector/index.js.map +0 -1
- package/esm/components/molecules/Grid/index.js +0 -2
- package/esm/components/molecules/Grid/index.js.map +0 -1
- package/esm/components/molecules/HintInputContainer/index.js +0 -2
- package/esm/components/molecules/HintInputContainer/index.js.map +0 -1
- package/esm/components/molecules/HintInputContainer/styled.js +0 -2
- package/esm/components/molecules/HintInputContainer/styled.js.map +0 -1
- package/esm/components/molecules/IconTextButton/IconTextButton.js +0 -2
- package/esm/components/molecules/IconTextButton/IconTextButton.js.map +0 -1
- package/esm/components/molecules/IconTextButton/index.js +0 -2
- package/esm/components/molecules/IconTextButton/index.js.map +0 -1
- package/esm/components/molecules/IconTextButton/styled.d.ts +0 -11
- package/esm/components/molecules/IconTextButton/styled.js +0 -14
- package/esm/components/molecules/IconTextButton/styled.js.map +0 -1
- package/esm/components/molecules/InputPassword/index.js +0 -2
- package/esm/components/molecules/InputPassword/index.js.map +0 -1
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +0 -2
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +0 -1
- package/esm/components/molecules/LabeledSwitch/index.js +0 -2
- package/esm/components/molecules/LabeledSwitch/index.js.map +0 -1
- package/esm/components/molecules/Snackbar/index.js +0 -2
- package/esm/components/molecules/Snackbar/index.js.map +0 -1
- package/esm/components/molecules/TextArea/index.js +0 -3
- package/esm/components/molecules/TextArea/index.js.map +0 -1
- package/esm/hooks/index.js +0 -3
- package/esm/hooks/index.js.map +0 -1
- package/esm/types/defaults.js +0 -2
- package/esm/types/defaults.js.map +0 -1
- package/esm/utils/index.js +0 -8
- package/esm/utils/index.js.map +0 -1
- package/src/components/molecules/IconTextButton/styled.ts +0 -20
|
@@ -1,219 +1,215 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
|
|
5
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
-
|
|
7
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
-
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
-
|
|
13
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
14
|
-
|
|
15
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
-
|
|
17
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
18
|
-
|
|
19
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
|
-
|
|
21
|
-
import { add, compareAsc, format as formatDate, getDaysInMonth, isSameDay, isSameMonth, isSameYear, set, sub } from 'date-fns';
|
|
1
|
+
import { sub, add, isSameDay, isSameMonth, isSameYear, set, getDaysInMonth, compareAsc, format } from 'date-fns';
|
|
22
2
|
import * as React from 'react';
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
|
|
3
|
+
import Button from '../../atoms/Button/Button.js';
|
|
4
|
+
import Icon from '../../atoms/Icon/Icon.js';
|
|
5
|
+
import Text from '../../atoms/Text/Text.js';
|
|
6
|
+
import '../../atoms/Button/States/styled.js';
|
|
7
|
+
import '@emotion/react';
|
|
8
|
+
import { Selector } from './Selector.js';
|
|
9
|
+
import { Root, Header, BackButton, Content, SelectorContainer } from './styled.js';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
15
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
16
|
+
var __spreadValues = (a, b) => {
|
|
17
|
+
for (var prop in b || (b = {}))
|
|
18
|
+
if (__hasOwnProp.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
if (__getOwnPropSymbols)
|
|
21
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
22
|
+
if (__propIsEnum.call(b, prop))
|
|
23
|
+
__defNormalProp(a, prop, b[prop]);
|
|
24
|
+
}
|
|
25
|
+
return a;
|
|
26
|
+
};
|
|
27
|
+
var __objRest = (source, exclude) => {
|
|
28
|
+
var target = {};
|
|
29
|
+
for (var prop in source)
|
|
30
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
31
|
+
target[prop] = source[prop];
|
|
32
|
+
if (source != null && __getOwnPropSymbols)
|
|
33
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
34
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
35
|
+
target[prop] = source[prop];
|
|
36
|
+
}
|
|
37
|
+
return target;
|
|
38
|
+
};
|
|
29
39
|
function getThresholdUnit(mode, threshold) {
|
|
30
|
-
if (!threshold)
|
|
31
|
-
|
|
32
|
-
if (mode ===
|
|
33
|
-
return {
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
} else if (['date', 'datetime'].includes(mode)) {
|
|
37
|
-
return {
|
|
38
|
-
days: threshold
|
|
39
|
-
};
|
|
40
|
+
if (!threshold)
|
|
41
|
+
return {};
|
|
42
|
+
if (mode === "month") {
|
|
43
|
+
return { months: threshold };
|
|
44
|
+
} else if (["date", "datetime"].includes(mode)) {
|
|
45
|
+
return { days: threshold };
|
|
40
46
|
} else {
|
|
41
|
-
return {
|
|
42
|
-
hours: threshold
|
|
43
|
-
};
|
|
47
|
+
return { hours: threshold };
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
|
-
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
} else {
|
|
111
|
-
newState = set(date, _defineProperty({}, granularity, newValue));
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {
|
|
115
|
-
return upperDateThreshold;
|
|
116
|
-
} else if (lowerDateThreshold && compareAsc(newState, lowerDateThreshold) < 0) {
|
|
117
|
-
return lowerDateThreshold;
|
|
118
|
-
} else {
|
|
119
|
-
return newState;
|
|
50
|
+
const DateTimeSelector = (_a) => {
|
|
51
|
+
var _b = _a, {
|
|
52
|
+
TextComponent = Text,
|
|
53
|
+
value,
|
|
54
|
+
onChange,
|
|
55
|
+
mode = "date",
|
|
56
|
+
locale,
|
|
57
|
+
upperDateThreshold: _upperDateThreshold,
|
|
58
|
+
lowerDateThreshold: _lowerDateThreshold,
|
|
59
|
+
offsetThreshold,
|
|
60
|
+
upperOffsetThreshold,
|
|
61
|
+
lowerOffsetThreshold,
|
|
62
|
+
dateModalTitle,
|
|
63
|
+
timeModalTitle,
|
|
64
|
+
dateConfirmButtonText,
|
|
65
|
+
timeConfirmButtonText,
|
|
66
|
+
dayLabel,
|
|
67
|
+
monthLabel,
|
|
68
|
+
yearLabel,
|
|
69
|
+
hourLabel,
|
|
70
|
+
minuteLabel
|
|
71
|
+
} = _b, rest = __objRest(_b, [
|
|
72
|
+
"TextComponent",
|
|
73
|
+
"value",
|
|
74
|
+
"onChange",
|
|
75
|
+
"mode",
|
|
76
|
+
"locale",
|
|
77
|
+
"upperDateThreshold",
|
|
78
|
+
"lowerDateThreshold",
|
|
79
|
+
"offsetThreshold",
|
|
80
|
+
"upperOffsetThreshold",
|
|
81
|
+
"lowerOffsetThreshold",
|
|
82
|
+
"dateModalTitle",
|
|
83
|
+
"timeModalTitle",
|
|
84
|
+
"dateConfirmButtonText",
|
|
85
|
+
"timeConfirmButtonText",
|
|
86
|
+
"dayLabel",
|
|
87
|
+
"monthLabel",
|
|
88
|
+
"yearLabel",
|
|
89
|
+
"hourLabel",
|
|
90
|
+
"minuteLabel"
|
|
91
|
+
]);
|
|
92
|
+
const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && sub(
|
|
93
|
+
new Date(),
|
|
94
|
+
getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)
|
|
95
|
+
);
|
|
96
|
+
const upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && add(
|
|
97
|
+
new Date(),
|
|
98
|
+
getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)
|
|
99
|
+
);
|
|
100
|
+
const [date, setDate] = React.useState(value || new Date());
|
|
101
|
+
const [currentMode, setCurrentMode] = React.useState(0);
|
|
102
|
+
const isDate = ["date", "month"].includes(mode) || mode === "datetime" && currentMode === 0;
|
|
103
|
+
const modalTitle = isDate ? dateModalTitle : timeModalTitle;
|
|
104
|
+
const confirmButtonText = isDate ? dateConfirmButtonText : timeConfirmButtonText;
|
|
105
|
+
const handleChange = (granularity) => (newValue) => {
|
|
106
|
+
setDate((date2) => {
|
|
107
|
+
let newState;
|
|
108
|
+
if (["month", "year"].includes(granularity)) {
|
|
109
|
+
let newDate = set(date2, { [granularity]: newValue });
|
|
110
|
+
const daysInMonth = getDaysInMonth(newDate);
|
|
111
|
+
if (granularity === "year" && date2.getMonth() != newDate.getMonth()) {
|
|
112
|
+
newDate = set(newDate, { month: date2.getMonth() });
|
|
113
|
+
newState = set(newDate, { date: getDaysInMonth(newDate) });
|
|
120
114
|
}
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
newState = daysInMonth < date2.getDate() ? set(newDate, { date: daysInMonth }) : newDate;
|
|
116
|
+
} else {
|
|
117
|
+
newState = set(date2, { [granularity]: newValue });
|
|
118
|
+
}
|
|
119
|
+
if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {
|
|
120
|
+
return upperDateThreshold;
|
|
121
|
+
} else if (lowerDateThreshold && compareAsc(newState, lowerDateThreshold) < 0) {
|
|
122
|
+
return lowerDateThreshold;
|
|
123
|
+
} else {
|
|
124
|
+
return newState;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
123
127
|
};
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return function (value) {
|
|
127
|
-
return granularity === 'month' ? formatDate(date, 'MMM', {
|
|
128
|
-
locale: locale
|
|
129
|
-
}).slice(0, 3) : value.toString().padStart(2, '0');
|
|
130
|
-
};
|
|
128
|
+
const getDisplayedValue = (granularity) => (value2) => {
|
|
129
|
+
return granularity === "month" ? format(date, "MMM", { locale }).slice(0, 3) : value2.toString().padStart(2, "0");
|
|
131
130
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (mode === 'datetime' && currentMode === 0) {
|
|
131
|
+
const handlePressConfirm = () => {
|
|
132
|
+
if (mode === "datetime" && currentMode === 0) {
|
|
135
133
|
setCurrentMode(1);
|
|
136
134
|
} else {
|
|
137
|
-
onChange
|
|
135
|
+
onChange == null ? void 0 : onChange(date);
|
|
138
136
|
}
|
|
139
137
|
};
|
|
140
|
-
|
|
141
|
-
var handlePressBack = function handlePressBack() {
|
|
138
|
+
const handlePressBack = () => {
|
|
142
139
|
setCurrentMode(0);
|
|
143
140
|
};
|
|
144
|
-
|
|
145
|
-
return React.createElement(Root, rest, React.createElement(Header, null, currentMode === 1 && React.createElement(BackButton, {
|
|
141
|
+
return /* @__PURE__ */ React.createElement(Root, __spreadValues({}, rest), /* @__PURE__ */ React.createElement(Header, null, currentMode === 1 && /* @__PURE__ */ React.createElement(BackButton, {
|
|
146
142
|
onPress: handlePressBack
|
|
147
|
-
}, React.createElement(Icon, {
|
|
148
|
-
type:
|
|
149
|
-
name:
|
|
150
|
-
size:
|
|
151
|
-
colorVariant:
|
|
152
|
-
})), React.createElement(TextComponent, {
|
|
153
|
-
typography:
|
|
154
|
-
colorVariant:
|
|
155
|
-
}, modalTitle)), isDate ? React.createElement(Content, null, mode !==
|
|
143
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
144
|
+
type: "material-community",
|
|
145
|
+
name: "chevron-left",
|
|
146
|
+
size: "mega",
|
|
147
|
+
colorVariant: "secondary"
|
|
148
|
+
})), /* @__PURE__ */ React.createElement(TextComponent, {
|
|
149
|
+
typography: "base",
|
|
150
|
+
colorVariant: "secondary"
|
|
151
|
+
}, modalTitle)), isDate ? /* @__PURE__ */ React.createElement(Content, null, mode !== "month" && /* @__PURE__ */ React.createElement(SelectorContainer, {
|
|
156
152
|
isFirst: true
|
|
157
|
-
}, React.createElement(Selector, {
|
|
158
|
-
TextComponent
|
|
159
|
-
onChange: handleChange(
|
|
153
|
+
}, /* @__PURE__ */ React.createElement(Selector, {
|
|
154
|
+
TextComponent,
|
|
155
|
+
onChange: handleChange("date"),
|
|
160
156
|
referenceDate: date,
|
|
161
157
|
value: date.getDate(),
|
|
162
|
-
label: dayLabel ||
|
|
163
|
-
granularity:
|
|
164
|
-
getDisplayValue: getDisplayedValue(
|
|
158
|
+
label: dayLabel || "Day",
|
|
159
|
+
granularity: "date",
|
|
160
|
+
getDisplayValue: getDisplayedValue("date"),
|
|
165
161
|
preventUpper: upperDateThreshold ? isSameDay(upperDateThreshold, date) : false,
|
|
166
162
|
preventLower: lowerDateThreshold ? isSameDay(lowerDateThreshold, date) : false
|
|
167
|
-
})), React.createElement(SelectorContainer, null, React.createElement(Selector, {
|
|
168
|
-
TextComponent
|
|
169
|
-
onChange: handleChange(
|
|
163
|
+
})), /* @__PURE__ */ React.createElement(SelectorContainer, null, /* @__PURE__ */ React.createElement(Selector, {
|
|
164
|
+
TextComponent,
|
|
165
|
+
onChange: handleChange("month"),
|
|
170
166
|
referenceDate: date,
|
|
171
167
|
value: date.getMonth(),
|
|
172
|
-
label: monthLabel ||
|
|
173
|
-
granularity:
|
|
174
|
-
getDisplayValue: getDisplayedValue(
|
|
168
|
+
label: monthLabel || "Month",
|
|
169
|
+
granularity: "month",
|
|
170
|
+
getDisplayValue: getDisplayedValue("month"),
|
|
175
171
|
preventUpper: upperDateThreshold ? isSameMonth(upperDateThreshold, date) : false,
|
|
176
172
|
preventLower: lowerDateThreshold ? isSameMonth(lowerDateThreshold, date) : false
|
|
177
|
-
})), React.createElement(SelectorContainer, {
|
|
173
|
+
})), /* @__PURE__ */ React.createElement(SelectorContainer, {
|
|
178
174
|
isLast: true
|
|
179
|
-
}, React.createElement(Selector, {
|
|
180
|
-
TextComponent
|
|
181
|
-
onChange: handleChange(
|
|
175
|
+
}, /* @__PURE__ */ React.createElement(Selector, {
|
|
176
|
+
TextComponent,
|
|
177
|
+
onChange: handleChange("year"),
|
|
182
178
|
referenceDate: date,
|
|
183
179
|
value: date.getFullYear(),
|
|
184
|
-
label: yearLabel ||
|
|
185
|
-
granularity:
|
|
186
|
-
getDisplayValue: getDisplayedValue(
|
|
180
|
+
label: yearLabel || "Year",
|
|
181
|
+
granularity: "year",
|
|
182
|
+
getDisplayValue: getDisplayedValue("year"),
|
|
187
183
|
preventUpper: upperDateThreshold ? isSameYear(upperDateThreshold, date) : false,
|
|
188
184
|
preventLower: lowerDateThreshold ? isSameYear(lowerDateThreshold, date) : false
|
|
189
|
-
}))) : React.createElement(Content, null, React.createElement(SelectorContainer, {
|
|
185
|
+
}))) : /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(SelectorContainer, {
|
|
190
186
|
isFirst: true
|
|
191
|
-
}, React.createElement(Selector, {
|
|
192
|
-
TextComponent
|
|
193
|
-
onChange: handleChange(
|
|
187
|
+
}, /* @__PURE__ */ React.createElement(Selector, {
|
|
188
|
+
TextComponent,
|
|
189
|
+
onChange: handleChange("hours"),
|
|
194
190
|
referenceDate: date,
|
|
195
191
|
value: date.getHours(),
|
|
196
|
-
label: hourLabel ||
|
|
197
|
-
granularity:
|
|
198
|
-
getDisplayValue: getDisplayedValue(
|
|
199
|
-
})), React.createElement(SelectorContainer, {
|
|
192
|
+
label: hourLabel || "Hour",
|
|
193
|
+
granularity: "hours",
|
|
194
|
+
getDisplayValue: getDisplayedValue("hours")
|
|
195
|
+
})), /* @__PURE__ */ React.createElement(SelectorContainer, {
|
|
200
196
|
isLast: true
|
|
201
|
-
}, React.createElement(Selector, {
|
|
202
|
-
TextComponent
|
|
203
|
-
onChange: handleChange(
|
|
197
|
+
}, /* @__PURE__ */ React.createElement(Selector, {
|
|
198
|
+
TextComponent,
|
|
199
|
+
onChange: handleChange("minutes"),
|
|
204
200
|
referenceDate: date,
|
|
205
201
|
value: date.getMinutes(),
|
|
206
|
-
label: minuteLabel ||
|
|
207
|
-
granularity:
|
|
208
|
-
getDisplayValue: getDisplayedValue(
|
|
209
|
-
}))), React.createElement(Button, {
|
|
210
|
-
color:
|
|
202
|
+
label: minuteLabel || "Minute",
|
|
203
|
+
granularity: "minutes",
|
|
204
|
+
getDisplayValue: getDisplayedValue("minutes")
|
|
205
|
+
}))), /* @__PURE__ */ React.createElement(Button, {
|
|
206
|
+
color: "primary",
|
|
211
207
|
onPress: handlePressConfirm
|
|
212
|
-
}, React.createElement(TextComponent, {
|
|
208
|
+
}, /* @__PURE__ */ React.createElement(TextComponent, {
|
|
213
209
|
fontWeight: "bold",
|
|
214
210
|
fontColor: "light"
|
|
215
|
-
}, confirmButtonText ||
|
|
211
|
+
}, confirmButtonText || "OK")));
|
|
216
212
|
};
|
|
217
213
|
|
|
218
|
-
export default
|
|
219
|
-
//# sourceMappingURL=DateTimeSelector.js.map
|
|
214
|
+
export { DateTimeSelector as default };
|
|
215
|
+
//# sourceMappingURL=DateTimeSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeSelector.js","names":["add","compareAsc","format","formatDate","getDaysInMonth","isSameDay","isSameMonth","isSameYear","set","sub","React","Button","Icon","Text","Selector","BackButton","Content","Header","Root","SelectorContainer","getThresholdUnit","mode","threshold","months","includes","days","hours","DateTimeSelector","TextComponent","value","onChange","locale","_upperDateThreshold","upperDateThreshold","_lowerDateThreshold","lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","rest","Date","useState","date","setDate","currentMode","setCurrentMode","isDate","modalTitle","confirmButtonText","handleChange","granularity","newValue","newState","newDate","daysInMonth","getMonth","month","getDate","getDisplayedValue","slice","toString","padStart","handlePressConfirm","handlePressBack","getFullYear","getHours","getMinutes"],"sources":["../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateTimeSelector.js","sources":["../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"names":["date","value","formatDate"],"mappings":"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"}
|