@tecsinapse/react-core 1.19.0 → 1.20.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 +11 -0
- package/babel.config.esm.js +34 -0
- package/dist/components/atoms/Avatar/Avatar.js +12 -8
- package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/components/atoms/Avatar/helpers.js +3 -1
- package/dist/components/atoms/Avatar/helpers.js.map +1 -1
- package/dist/components/atoms/Avatar/index.d.ts +2 -1
- package/dist/components/atoms/Avatar/index.js +11 -9
- package/dist/components/atoms/Avatar/index.js.map +1 -1
- package/dist/components/atoms/Avatar/styled.js +38 -39
- package/dist/components/atoms/Avatar/styled.js.map +1 -1
- package/dist/components/atoms/Badge/Badge.js +11 -8
- package/dist/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/components/atoms/Badge/index.d.ts +2 -1
- package/dist/components/atoms/Badge/index.js +11 -9
- package/dist/components/atoms/Badge/index.js.map +1 -1
- package/dist/components/atoms/Badge/styled.js +15 -24
- package/dist/components/atoms/Badge/styled.js.map +1 -1
- package/dist/components/atoms/BoxContent/BoxContent.js +8 -5
- package/dist/components/atoms/BoxContent/BoxContent.js.map +1 -1
- package/dist/components/atoms/BoxContent/index.d.ts +2 -1
- package/dist/components/atoms/BoxContent/index.js +11 -9
- package/dist/components/atoms/BoxContent/index.js.map +1 -1
- package/dist/components/atoms/BoxContent/styled.js +62 -57
- package/dist/components/atoms/BoxContent/styled.js.map +1 -1
- package/dist/components/atoms/Button/Button.js +19 -16
- package/dist/components/atoms/Button/Button.js.map +1 -1
- package/dist/components/atoms/Button/States/BaseState.js +11 -8
- package/dist/components/atoms/Button/States/BaseState.js.map +1 -1
- package/dist/components/atoms/Button/States/Error.js +3 -1
- package/dist/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/components/atoms/Button/States/Loading.js +10 -7
- package/dist/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/components/atoms/Button/States/Success.js +3 -1
- package/dist/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/components/atoms/Button/States/index.js +21 -8
- package/dist/components/atoms/Button/States/index.js.map +1 -1
- package/dist/components/atoms/Button/States/styled.js +31 -19
- package/dist/components/atoms/Button/States/styled.js.map +1 -1
- package/dist/components/atoms/Button/index.d.ts +2 -1
- package/dist/components/atoms/Button/index.js +29 -16
- package/dist/components/atoms/Button/index.js.map +1 -1
- package/dist/components/atoms/Button/styled.js +33 -36
- package/dist/components/atoms/Button/styled.js.map +1 -1
- package/dist/components/atoms/Card/Card.js +11 -7
- package/dist/components/atoms/Card/Card.js.map +1 -1
- package/dist/components/atoms/Card/Footer/Footer.js +12 -7
- package/dist/components/atoms/Card/Footer/Footer.js.map +1 -1
- package/dist/components/atoms/Card/Footer/index.d.ts +2 -1
- package/dist/components/atoms/Card/Footer/index.js +11 -9
- package/dist/components/atoms/Card/Footer/index.js.map +1 -1
- package/dist/components/atoms/Card/Header/Header.js +12 -7
- package/dist/components/atoms/Card/Header/Header.js.map +1 -1
- package/dist/components/atoms/Card/Header/index.d.ts +2 -1
- package/dist/components/atoms/Card/Header/index.js +11 -9
- package/dist/components/atoms/Card/Header/index.js.map +1 -1
- package/dist/components/atoms/Card/index.d.ts +2 -1
- package/dist/components/atoms/Card/index.js +11 -9
- package/dist/components/atoms/Card/index.js.map +1 -1
- package/dist/components/atoms/Card/styled.js +8 -5
- package/dist/components/atoms/Card/styled.js.map +1 -1
- package/dist/components/atoms/Checkbox/Checkbox.js +15 -11
- package/dist/components/atoms/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/atoms/Checkbox/index.d.ts +2 -1
- package/dist/components/atoms/Checkbox/index.js +11 -9
- package/dist/components/atoms/Checkbox/index.js.map +1 -1
- package/dist/components/atoms/Checkbox/styled.js +62 -44
- package/dist/components/atoms/Checkbox/styled.js.map +1 -1
- package/dist/components/atoms/Divider/Divider.js +8 -5
- package/dist/components/atoms/Divider/Divider.js.map +1 -1
- package/dist/components/atoms/Divider/index.d.ts +2 -1
- package/dist/components/atoms/Divider/index.js +11 -9
- package/dist/components/atoms/Divider/index.js.map +1 -1
- package/dist/components/atoms/Divider/styled.js +33 -26
- package/dist/components/atoms/Divider/styled.js.map +1 -1
- package/dist/components/atoms/GroupButton/GroupButton.js +24 -20
- package/dist/components/atoms/GroupButton/GroupButton.js.map +1 -1
- package/dist/components/atoms/GroupButton/GroupButtonOption.js +9 -6
- package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/components/atoms/GroupButton/index.d.ts +4 -2
- package/dist/components/atoms/GroupButton/index.js +18 -14
- package/dist/components/atoms/GroupButton/index.js.map +1 -1
- package/dist/components/atoms/GroupButton/styled.js +97 -100
- package/dist/components/atoms/GroupButton/styled.js.map +1 -1
- package/dist/components/atoms/Icon/Icon.js +14 -11
- package/dist/components/atoms/Icon/Icon.js.map +1 -1
- package/dist/components/atoms/Icon/helpers.js +13 -7
- package/dist/components/atoms/Icon/helpers.js.map +1 -1
- package/dist/components/atoms/Icon/index.d.ts +2 -1
- package/dist/components/atoms/Icon/index.js +11 -9
- package/dist/components/atoms/Icon/index.js.map +1 -1
- package/dist/components/atoms/Input/Hint.js +9 -6
- package/dist/components/atoms/Input/Hint.js.map +1 -1
- package/dist/components/atoms/Input/InputContainer/InputContainer.js +22 -19
- package/dist/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
- package/dist/components/atoms/Input/InputElement/InputElement.js +12 -9
- package/dist/components/atoms/Input/InputElement/InputElement.js.map +1 -1
- package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js +16 -13
- package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
- package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -8
- package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
- package/dist/components/atoms/Input/PressableInputContainer/index.d.ts +2 -1
- package/dist/components/atoms/Input/PressableInputContainer/index.js +11 -9
- package/dist/components/atoms/Input/PressableInputContainer/index.js.map +1 -1
- package/dist/components/atoms/Input/PressableInputContainer/styled.js +9 -4
- package/dist/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useInputFocus.js +5 -2
- package/dist/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useNumberMask.js +7 -4
- package/dist/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useStringMask.js +10 -5
- package/dist/components/atoms/Input/hooks/useStringMask.js.map +1 -1
- package/dist/components/atoms/Input/index.d.ts +8 -4
- package/dist/components/atoms/Input/index.js +66 -35
- package/dist/components/atoms/Input/index.js.map +1 -1
- package/dist/components/atoms/Input/styled.js +119 -106
- package/dist/components/atoms/Input/styled.js.map +1 -1
- package/dist/components/atoms/Paper/Paper.js +13 -8
- package/dist/components/atoms/Paper/Paper.js.map +1 -1
- package/dist/components/atoms/Paper/index.d.ts +2 -1
- package/dist/components/atoms/Paper/index.js +11 -9
- package/dist/components/atoms/Paper/index.js.map +1 -1
- package/dist/components/atoms/Paper/styled.js +8 -5
- package/dist/components/atoms/Paper/styled.js.map +1 -1
- package/dist/components/atoms/PressableSurface/PressableSurface.js +27 -18
- package/dist/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
- package/dist/components/atoms/PressableSurface/index.d.ts +2 -1
- package/dist/components/atoms/PressableSurface/index.js +11 -9
- package/dist/components/atoms/PressableSurface/index.js.map +1 -1
- package/dist/components/atoms/ProgressBar/ProgressBar.js +20 -15
- package/dist/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/atoms/ProgressBar/index.d.ts +2 -1
- package/dist/components/atoms/ProgressBar/index.js +11 -9
- package/dist/components/atoms/ProgressBar/index.js.map +1 -1
- package/dist/components/atoms/ProgressBar/styled.js +38 -29
- package/dist/components/atoms/ProgressBar/styled.js.map +1 -1
- package/dist/components/atoms/RadioButton/RadioButton.js +15 -11
- package/dist/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/dist/components/atoms/RadioButton/index.d.ts +2 -1
- package/dist/components/atoms/RadioButton/index.js +11 -9
- package/dist/components/atoms/RadioButton/index.js.map +1 -1
- package/dist/components/atoms/RadioButton/styled.js +38 -29
- package/dist/components/atoms/RadioButton/styled.js.map +1 -1
- package/dist/components/atoms/Switch/Switch.js +15 -12
- package/dist/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/components/atoms/Switch/animation.js +3 -1
- package/dist/components/atoms/Switch/animation.js.map +1 -1
- package/dist/components/atoms/Switch/index.d.ts +2 -1
- package/dist/components/atoms/Switch/index.js +11 -9
- package/dist/components/atoms/Switch/index.js.map +1 -1
- package/dist/components/atoms/Switch/styled.js +29 -22
- package/dist/components/atoms/Switch/styled.js.map +1 -1
- package/dist/components/atoms/Tag/Tag.js +14 -11
- package/dist/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/components/atoms/Tag/index.d.ts +2 -1
- package/dist/components/atoms/Tag/index.js +11 -9
- package/dist/components/atoms/Tag/index.js.map +1 -1
- package/dist/components/atoms/Tag/styled.js +47 -43
- package/dist/components/atoms/Tag/styled.js.map +1 -1
- package/dist/components/atoms/Text/Text.js +18 -15
- package/dist/components/atoms/Text/Text.js.map +1 -1
- package/dist/components/atoms/Text/functions.js +3 -1
- package/dist/components/atoms/Text/functions.js.map +1 -1
- package/dist/components/atoms/Text/index.d.ts +2 -1
- package/dist/components/atoms/Text/index.js +11 -9
- package/dist/components/atoms/Text/index.js.map +1 -1
- package/dist/components/atoms/Text/styled.js +51 -33
- package/dist/components/atoms/Text/styled.js.map +1 -1
- package/dist/components/atoms/shared/PaperAndCard.js +29 -20
- package/dist/components/atoms/shared/PaperAndCard.js.map +1 -1
- package/dist/components/molecules/Calendar/Calendar.js +20 -16
- package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/components/molecules/Calendar/components/MonthWeek.js +16 -12
- package/dist/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
- package/dist/components/molecules/Calendar/components/Weekdays.js +9 -6
- package/dist/components/molecules/Calendar/components/Weekdays.js.map +1 -1
- package/dist/components/molecules/Calendar/components/index.js +15 -6
- package/dist/components/molecules/Calendar/components/index.js.map +1 -1
- package/dist/components/molecules/Calendar/index.d.ts +2 -1
- package/dist/components/molecules/Calendar/index.js +11 -12
- package/dist/components/molecules/Calendar/index.js.map +1 -1
- package/dist/components/molecules/Calendar/styled.js +58 -70
- package/dist/components/molecules/Calendar/styled.js.map +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.js +33 -30
- package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/molecules/DatePicker/index.d.ts +2 -1
- package/dist/components/molecules/DatePicker/index.js +11 -9
- package/dist/components/molecules/DatePicker/index.js.map +1 -1
- package/dist/components/molecules/DatePicker/styled.js +19 -13
- package/dist/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +42 -39
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/index.d.ts +2 -1
- package/dist/components/molecules/DateTimePicker/index.js +11 -9
- package/dist/components/molecules/DateTimePicker/index.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/styled.js +13 -6
- package/dist/components/molecules/DateTimePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +28 -26
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/Selector.js +18 -14
- package/dist/components/molecules/DateTimeSelector/Selector.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/index.d.ts +2 -1
- package/dist/components/molecules/DateTimeSelector/index.js +11 -10
- package/dist/components/molecules/DateTimeSelector/index.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/styled.js +88 -68
- package/dist/components/molecules/DateTimeSelector/styled.js.map +1 -1
- package/dist/components/molecules/Grid/functions.js +6 -2
- package/dist/components/molecules/Grid/functions.js.map +1 -1
- package/dist/components/molecules/Grid/index.js +15 -5
- package/dist/components/molecules/Grid/index.js.map +1 -1
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js +18 -14
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/dist/components/molecules/HintInputContainer/index.js +9 -4
- package/dist/components/molecules/HintInputContainer/index.js.map +1 -1
- package/dist/components/molecules/IconTextButton/IconComponent.js +13 -8
- package/dist/components/molecules/IconTextButton/IconComponent.js.map +1 -1
- package/dist/components/molecules/IconTextButton/IconTextButton.js +3 -1
- package/dist/components/molecules/IconTextButton/index.d.ts +1 -1
- package/dist/components/molecules/IconTextButton/index.js +9 -9
- package/dist/components/molecules/IconTextButton/index.js.map +1 -1
- package/dist/components/molecules/IconTextButton/styled.js +15 -14
- package/dist/components/molecules/IconTextButton/styled.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPasswordIcon.js +9 -6
- package/dist/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
- package/dist/components/molecules/InputPassword/index.js +9 -4
- package/dist/components/molecules/InputPassword/index.js.map +1 -1
- package/dist/components/molecules/InputPassword/styled.js +13 -6
- package/dist/components/molecules/InputPassword/styled.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +3 -1
- package/dist/components/molecules/LabeledSwitch/index.d.ts +1 -1
- package/dist/components/molecules/LabeledSwitch/index.js +3 -7
- package/dist/components/molecules/LabeledSwitch/index.js.map +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.js +24 -20
- package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/molecules/Snackbar/index.d.ts +2 -1
- package/dist/components/molecules/Snackbar/index.js +11 -9
- package/dist/components/molecules/Snackbar/index.js.map +1 -1
- package/dist/components/molecules/Snackbar/styled.js +52 -76
- package/dist/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/components/molecules/TextArea/TextArea.js +29 -26
- package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
- package/dist/components/molecules/TextArea/index.d.ts +2 -1
- package/dist/components/molecules/TextArea/index.js +17 -11
- package/dist/components/molecules/TextArea/index.js.map +1 -1
- package/dist/components/molecules/TextArea/styled.js +15 -13
- package/dist/components/molecules/TextArea/styled.js.map +1 -1
- package/dist/hooks/index.js +15 -6
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useDebouncedState.js +5 -2
- package/dist/hooks/useDebouncedState.js.map +1 -1
- package/dist/hooks/useTheme.js +3 -1
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/index.d.ts +57 -29
- package/dist/index.js +303 -187
- package/dist/index.js.map +1 -1
- package/dist/styles/ThemeProvider.js +8 -5
- package/dist/styles/ThemeProvider.js.map +1 -1
- package/dist/styles/definitions.js +6 -3
- package/dist/styles/definitions.js.map +1 -1
- package/dist/styles/light.js +3 -1
- package/dist/styles/light.js.map +1 -1
- package/dist/types/defaults.js +3 -1
- package/dist/utils/IPhoneXHelper.js +3 -1
- package/dist/utils/IPhoneXHelper.js.map +1 -1
- package/dist/utils/ResponsiveFontSize.js +6 -3
- package/dist/utils/ResponsiveFontSize.js.map +1 -1
- package/dist/utils/extractNumbersFromString.js +3 -1
- package/dist/utils/extractNumbersFromString.js.map +1 -1
- package/dist/utils/formatWithMask.js +3 -1
- package/dist/utils/formatWithMask.js.map +1 -1
- package/dist/utils/index.js +51 -12
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/lightenDarkenColor.js +3 -1
- package/dist/utils/lightenDarkenColor.js.map +1 -1
- package/dist/utils/masks.js +5 -3
- package/dist/utils/masks.js.map +1 -1
- package/dist/utils/variantComplement.js +3 -1
- package/dist/utils/variantComplement.js.map +1 -1
- package/esm/components/atoms/Avatar/Avatar.d.ts +14 -0
- package/esm/components/atoms/Avatar/Avatar.js +50 -0
- package/esm/components/atoms/Avatar/Avatar.js.map +1 -0
- package/esm/components/atoms/Avatar/helpers.d.ts +1 -0
- package/esm/components/atoms/Avatar/helpers.js +12 -0
- package/esm/components/atoms/Avatar/helpers.js.map +1 -0
- package/esm/components/atoms/Avatar/index.d.ts +2 -0
- package/esm/components/atoms/Avatar/index.js +2 -0
- package/esm/components/atoms/Avatar/index.js.map +1 -0
- package/esm/components/atoms/Avatar/styled.d.ts +28 -0
- package/esm/components/atoms/Avatar/styled.js +33 -0
- package/esm/components/atoms/Avatar/styled.js.map +1 -0
- package/esm/components/atoms/Badge/Badge.d.ts +11 -0
- package/esm/components/atoms/Badge/Badge.js +20 -0
- package/esm/components/atoms/Badge/Badge.js.map +1 -0
- package/esm/components/atoms/Badge/index.d.ts +2 -0
- package/esm/components/atoms/Badge/index.js +2 -0
- package/esm/components/atoms/Badge/index.js.map +1 -0
- package/esm/components/atoms/Badge/styled.d.ts +15 -0
- package/esm/components/atoms/Badge/styled.js +20 -0
- package/esm/components/atoms/Badge/styled.js.map +1 -0
- package/esm/components/atoms/BoxContent/BoxContent.d.ts +7 -0
- package/esm/components/atoms/BoxContent/BoxContent.js +18 -0
- package/esm/components/atoms/BoxContent/BoxContent.js.map +1 -0
- package/esm/components/atoms/BoxContent/index.d.ts +2 -0
- package/esm/components/atoms/BoxContent/index.js +2 -0
- package/esm/components/atoms/BoxContent/index.js.map +1 -0
- package/esm/components/atoms/BoxContent/styled.d.ts +24 -0
- package/esm/components/atoms/BoxContent/styled.js +55 -0
- package/esm/components/atoms/BoxContent/styled.js.map +1 -0
- package/esm/components/atoms/Button/Button.d.ts +28 -0
- package/esm/components/atoms/Button/Button.js +76 -0
- package/esm/components/atoms/Button/Button.js.map +1 -0
- package/esm/components/atoms/Button/States/BaseState.d.ts +7 -0
- package/esm/components/atoms/Button/States/BaseState.js +29 -0
- package/esm/components/atoms/Button/States/BaseState.js.map +1 -0
- package/esm/components/atoms/Button/States/Error.d.ts +4 -0
- package/esm/components/atoms/Button/States/Error.js +11 -0
- package/esm/components/atoms/Button/States/Error.js.map +1 -0
- package/esm/components/atoms/Button/States/Loading.d.ts +4 -0
- package/esm/components/atoms/Button/States/Loading.js +26 -0
- package/esm/components/atoms/Button/States/Loading.js.map +1 -0
- package/esm/components/atoms/Button/States/Success.d.ts +4 -0
- package/esm/components/atoms/Button/States/Success.js +11 -0
- package/esm/components/atoms/Button/States/Success.js.map +1 -0
- package/esm/components/atoms/Button/States/index.d.ts +3 -0
- package/esm/components/atoms/Button/States/index.js +4 -0
- package/esm/components/atoms/Button/States/index.js.map +1 -0
- package/esm/components/atoms/Button/States/styled.d.ts +16 -0
- package/esm/components/atoms/Button/States/styled.js +25 -0
- package/esm/components/atoms/Button/States/styled.js.map +1 -0
- package/esm/components/atoms/Button/index.d.ts +3 -0
- package/esm/components/atoms/Button/index.js +3 -0
- package/esm/components/atoms/Button/index.js.map +1 -0
- package/esm/components/atoms/Button/styled.d.ts +8 -0
- package/esm/components/atoms/Button/styled.js +42 -0
- package/esm/components/atoms/Button/styled.js.map +1 -0
- package/esm/components/atoms/Card/Card.d.ts +9 -0
- package/esm/components/atoms/Card/Card.js +33 -0
- package/esm/components/atoms/Card/Card.js.map +1 -0
- package/esm/components/atoms/Card/Footer/Footer.d.ts +7 -0
- package/esm/components/atoms/Card/Footer/Footer.js +13 -0
- package/esm/components/atoms/Card/Footer/Footer.js.map +1 -0
- package/esm/components/atoms/Card/Footer/index.d.ts +2 -0
- package/esm/components/atoms/Card/Footer/index.js +2 -0
- package/esm/components/atoms/Card/Footer/index.js.map +1 -0
- package/esm/components/atoms/Card/Header/Header.d.ts +7 -0
- package/esm/components/atoms/Card/Header/Header.js +13 -0
- package/esm/components/atoms/Card/Header/Header.js.map +1 -0
- package/esm/components/atoms/Card/Header/index.d.ts +2 -0
- package/esm/components/atoms/Card/Header/index.js +2 -0
- package/esm/components/atoms/Card/Header/index.js.map +1 -0
- package/esm/components/atoms/Card/index.d.ts +2 -0
- package/esm/components/atoms/Card/index.js +2 -0
- package/esm/components/atoms/Card/index.js.map +1 -0
- package/esm/components/atoms/Card/styled.d.ts +8 -0
- package/esm/components/atoms/Card/styled.js +11 -0
- package/esm/components/atoms/Card/styled.js.map +1 -0
- package/esm/components/atoms/Checkbox/Checkbox.d.ts +14 -0
- package/esm/components/atoms/Checkbox/Checkbox.js +56 -0
- package/esm/components/atoms/Checkbox/Checkbox.js.map +1 -0
- package/esm/components/atoms/Checkbox/index.d.ts +2 -0
- package/esm/components/atoms/Checkbox/index.js +2 -0
- package/esm/components/atoms/Checkbox/index.js.map +1 -0
- package/esm/components/atoms/Checkbox/styled.d.ts +27 -0
- package/esm/components/atoms/Checkbox/styled.js +50 -0
- package/esm/components/atoms/Checkbox/styled.js.map +1 -0
- package/esm/components/atoms/Divider/Divider.d.ts +8 -0
- package/esm/components/atoms/Divider/Divider.js +18 -0
- package/esm/components/atoms/Divider/Divider.js.map +1 -0
- package/esm/components/atoms/Divider/index.d.ts +2 -0
- package/esm/components/atoms/Divider/index.js +2 -0
- package/esm/components/atoms/Divider/index.js.map +1 -0
- package/esm/components/atoms/Divider/styled.d.ts +13 -0
- package/esm/components/atoms/Divider/styled.js +28 -0
- package/esm/components/atoms/Divider/styled.js.map +1 -0
- package/esm/components/atoms/GroupButton/GroupButton.d.ts +32 -0
- package/esm/components/atoms/GroupButton/GroupButton.js +78 -0
- package/esm/components/atoms/GroupButton/GroupButton.js.map +1 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +9 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.js +19 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -0
- package/esm/components/atoms/GroupButton/index.d.ts +4 -0
- package/esm/components/atoms/GroupButton/index.js +3 -0
- package/esm/components/atoms/GroupButton/index.js.map +1 -0
- package/esm/components/atoms/GroupButton/styled.d.ts +42 -0
- package/esm/components/atoms/GroupButton/styled.js +97 -0
- package/esm/components/atoms/GroupButton/styled.js.map +1 -0
- package/esm/components/atoms/Icon/Icon.d.ts +14 -0
- package/esm/components/atoms/Icon/Icon.js +37 -0
- package/esm/components/atoms/Icon/Icon.js.map +1 -0
- package/esm/components/atoms/Icon/helpers.d.ts +4 -0
- package/esm/components/atoms/Icon/helpers.js +78 -0
- package/esm/components/atoms/Icon/helpers.js.map +1 -0
- package/esm/components/atoms/Icon/index.d.ts +2 -0
- package/esm/components/atoms/Icon/index.js +2 -0
- package/esm/components/atoms/Icon/index.js.map +1 -0
- package/esm/components/atoms/Input/Hint.d.ts +10 -0
- package/esm/components/atoms/Input/Hint.js +41 -0
- package/esm/components/atoms/Input/Hint.js.map +1 -0
- package/esm/components/atoms/Input/InputContainer/InputContainer.d.ts +29 -0
- package/esm/components/atoms/Input/InputContainer/InputContainer.js +66 -0
- package/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -0
- package/esm/components/atoms/Input/InputElement/InputElement.d.ts +13 -0
- package/esm/components/atoms/Input/InputElement/InputElement.js +37 -0
- package/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -0
- package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.d.ts +16 -0
- package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +92 -0
- package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -0
- package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.d.ts +10 -0
- package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +30 -0
- package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -0
- package/esm/components/atoms/Input/PressableInputContainer/index.d.ts +2 -0
- package/esm/components/atoms/Input/PressableInputContainer/index.js +2 -0
- package/esm/components/atoms/Input/PressableInputContainer/index.js.map +1 -0
- package/esm/components/atoms/Input/PressableInputContainer/styled.d.ts +5 -0
- package/esm/components/atoms/Input/PressableInputContainer/styled.js +7 -0
- package/esm/components/atoms/Input/PressableInputContainer/styled.js.map +1 -0
- package/esm/components/atoms/Input/hooks/useInputFocus.d.ts +5 -0
- package/esm/components/atoms/Input/hooks/useInputFocus.js +40 -0
- package/esm/components/atoms/Input/hooks/useInputFocus.js.map +1 -0
- package/esm/components/atoms/Input/hooks/useNumberMask.d.ts +8 -0
- package/esm/components/atoms/Input/hooks/useNumberMask.js +108 -0
- package/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -0
- package/esm/components/atoms/Input/hooks/useStringMask.d.ts +8 -0
- package/esm/components/atoms/Input/hooks/useStringMask.js +116 -0
- package/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -0
- package/esm/components/atoms/Input/index.d.ts +13 -0
- package/esm/components/atoms/Input/index.js +10 -0
- package/esm/components/atoms/Input/index.js.map +1 -0
- package/esm/components/atoms/Input/styled.d.ts +64 -0
- package/esm/components/atoms/Input/styled.js +93 -0
- package/esm/components/atoms/Input/styled.js.map +1 -0
- package/esm/components/atoms/Paper/Paper.d.ts +8 -0
- package/esm/components/atoms/Paper/Paper.js +24 -0
- package/esm/components/atoms/Paper/Paper.js.map +1 -0
- package/esm/components/atoms/Paper/index.d.ts +2 -0
- package/esm/components/atoms/Paper/index.js +2 -0
- package/esm/components/atoms/Paper/index.js.map +1 -0
- package/esm/components/atoms/Paper/styled.d.ts +9 -0
- package/esm/components/atoms/Paper/styled.js +11 -0
- package/esm/components/atoms/Paper/styled.js.map +1 -0
- package/esm/components/atoms/PressableSurface/PressableSurface.d.ts +10 -0
- package/esm/components/atoms/PressableSurface/PressableSurface.js +86 -0
- package/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -0
- package/esm/components/atoms/PressableSurface/index.d.ts +2 -0
- package/esm/components/atoms/PressableSurface/index.js +2 -0
- package/esm/components/atoms/PressableSurface/index.js.map +1 -0
- package/esm/components/atoms/ProgressBar/ProgressBar.d.ts +18 -0
- package/esm/components/atoms/ProgressBar/ProgressBar.js +90 -0
- package/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -0
- package/esm/components/atoms/ProgressBar/index.d.ts +2 -0
- package/esm/components/atoms/ProgressBar/index.js +2 -0
- package/esm/components/atoms/ProgressBar/index.js.map +1 -0
- package/esm/components/atoms/ProgressBar/styled.d.ts +20 -0
- package/esm/components/atoms/ProgressBar/styled.js +26 -0
- package/esm/components/atoms/ProgressBar/styled.js.map +1 -0
- package/esm/components/atoms/RadioButton/RadioButton.d.ts +14 -0
- package/esm/components/atoms/RadioButton/RadioButton.js +51 -0
- package/esm/components/atoms/RadioButton/RadioButton.js.map +1 -0
- package/esm/components/atoms/RadioButton/index.d.ts +2 -0
- package/esm/components/atoms/RadioButton/index.js +2 -0
- package/esm/components/atoms/RadioButton/index.js.map +1 -0
- package/esm/components/atoms/RadioButton/styled.d.ts +27 -0
- package/esm/components/atoms/RadioButton/styled.js +30 -0
- package/esm/components/atoms/RadioButton/styled.js.map +1 -0
- package/esm/components/atoms/Switch/Switch.d.ts +16 -0
- package/esm/components/atoms/Switch/Switch.js +87 -0
- package/esm/components/atoms/Switch/Switch.js.map +1 -0
- package/esm/components/atoms/Switch/animation.d.ts +2 -0
- package/esm/components/atoms/Switch/animation.js +33 -0
- package/esm/components/atoms/Switch/animation.js.map +1 -0
- package/esm/components/atoms/Switch/index.d.ts +2 -0
- package/esm/components/atoms/Switch/index.js +2 -0
- package/esm/components/atoms/Switch/index.js.map +1 -0
- package/esm/components/atoms/Switch/styled.d.ts +16 -0
- package/esm/components/atoms/Switch/styled.js +24 -0
- package/esm/components/atoms/Switch/styled.js.map +1 -0
- package/esm/components/atoms/Tag/Tag.d.ts +12 -0
- package/esm/components/atoms/Tag/Tag.js +80 -0
- package/esm/components/atoms/Tag/Tag.js.map +1 -0
- package/esm/components/atoms/Tag/index.d.ts +2 -0
- package/esm/components/atoms/Tag/index.js +2 -0
- package/esm/components/atoms/Tag/index.js.map +1 -0
- package/esm/components/atoms/Tag/styled.d.ts +24 -0
- package/esm/components/atoms/Tag/styled.js +39 -0
- package/esm/components/atoms/Tag/styled.js.map +1 -0
- package/esm/components/atoms/Text/Text.d.ts +19 -0
- package/esm/components/atoms/Text/Text.js +47 -0
- package/esm/components/atoms/Text/Text.js.map +1 -0
- package/esm/components/atoms/Text/functions.d.ts +2 -0
- package/esm/components/atoms/Text/functions.js +7 -0
- package/esm/components/atoms/Text/functions.js.map +1 -0
- package/esm/components/atoms/Text/index.d.ts +2 -0
- package/esm/components/atoms/Text/index.js +2 -0
- package/esm/components/atoms/Text/index.js.map +1 -0
- package/esm/components/atoms/Text/styled.d.ts +20 -0
- package/esm/components/atoms/Text/styled.js +46 -0
- package/esm/components/atoms/Text/styled.js.map +1 -0
- package/esm/components/atoms/shared/PaperAndCard.d.ts +5 -0
- package/esm/components/atoms/shared/PaperAndCard.js +25 -0
- package/esm/components/atoms/shared/PaperAndCard.js.map +1 -0
- package/esm/components/molecules/Calendar/Calendar.d.ts +20 -0
- package/esm/components/molecules/Calendar/Calendar.js +144 -0
- package/esm/components/molecules/Calendar/Calendar.js.map +1 -0
- package/esm/components/molecules/Calendar/components/MonthWeek.d.ts +13 -0
- package/esm/components/molecules/Calendar/components/MonthWeek.js +128 -0
- package/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -0
- package/esm/components/molecules/Calendar/components/Weekdays.d.ts +8 -0
- package/esm/components/molecules/Calendar/components/Weekdays.js +29 -0
- package/esm/components/molecules/Calendar/components/Weekdays.js.map +1 -0
- package/esm/components/molecules/Calendar/components/index.d.ts +2 -0
- package/esm/components/molecules/Calendar/components/index.js +3 -0
- package/esm/components/molecules/Calendar/components/index.js.map +1 -0
- package/esm/components/molecules/Calendar/index.d.ts +2 -0
- package/esm/components/molecules/Calendar/index.js +2 -0
- package/esm/components/molecules/Calendar/index.js.map +1 -0
- package/esm/components/molecules/Calendar/styled.d.ts +61 -0
- package/esm/components/molecules/Calendar/styled.js +56 -0
- package/esm/components/molecules/Calendar/styled.js.map +1 -0
- package/esm/components/molecules/DatePicker/DatePicker.d.ts +19 -0
- package/esm/components/molecules/DatePicker/DatePicker.js +120 -0
- package/esm/components/molecules/DatePicker/DatePicker.js.map +1 -0
- package/esm/components/molecules/DatePicker/index.d.ts +2 -0
- package/esm/components/molecules/DatePicker/index.js +2 -0
- package/esm/components/molecules/DatePicker/index.js.map +1 -0
- package/esm/components/molecules/DatePicker/styled.d.ts +15 -0
- package/esm/components/molecules/DatePicker/styled.js +22 -0
- package/esm/components/molecules/DatePicker/styled.js.map +1 -0
- package/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +17 -0
- package/esm/components/molecules/DateTimePicker/DateTimePicker.js +122 -0
- package/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -0
- package/esm/components/molecules/DateTimePicker/index.d.ts +2 -0
- package/esm/components/molecules/DateTimePicker/index.js +2 -0
- package/esm/components/molecules/DateTimePicker/index.js.map +1 -0
- package/esm/components/molecules/DateTimePicker/styled.d.ts +8 -0
- package/esm/components/molecules/DateTimePicker/styled.js +12 -0
- package/esm/components/molecules/DateTimePicker/styled.js.map +1 -0
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.d.ts +28 -0
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +219 -0
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -0
- package/esm/components/molecules/DateTimeSelector/Selector.d.ts +17 -0
- package/esm/components/molecules/DateTimeSelector/Selector.js +113 -0
- package/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -0
- package/esm/components/molecules/DateTimeSelector/index.d.ts +2 -0
- package/esm/components/molecules/DateTimeSelector/index.js +2 -0
- package/esm/components/molecules/DateTimeSelector/index.js.map +1 -0
- package/esm/components/molecules/DateTimeSelector/styled.d.ts +52 -0
- package/esm/components/molecules/DateTimeSelector/styled.js +54 -0
- package/esm/components/molecules/DateTimeSelector/styled.js.map +1 -0
- package/esm/components/molecules/Grid/functions.d.ts +3 -0
- package/esm/components/molecules/Grid/functions.js +16 -0
- package/esm/components/molecules/Grid/functions.js.map +1 -0
- package/esm/components/molecules/Grid/index.d.ts +42 -0
- package/esm/components/molecules/Grid/index.js +2 -0
- package/esm/components/molecules/Grid/index.js.map +1 -0
- package/esm/components/molecules/HintInputContainer/HintInputContainer.d.ts +17 -0
- package/esm/components/molecules/HintInputContainer/HintInputContainer.js +46 -0
- package/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -0
- package/esm/components/molecules/HintInputContainer/index.d.ts +2 -0
- package/esm/components/molecules/HintInputContainer/index.js +2 -0
- package/esm/components/molecules/HintInputContainer/index.js.map +1 -0
- package/esm/components/molecules/HintInputContainer/styled.d.ts +0 -0
- package/esm/components/molecules/HintInputContainer/styled.js +2 -0
- package/esm/components/molecules/HintInputContainer/styled.js.map +1 -0
- package/esm/components/molecules/IconTextButton/IconComponent.d.ts +9 -0
- package/esm/components/molecules/IconTextButton/IconComponent.js +20 -0
- package/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.d.ts +8 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.js +2 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -0
- package/esm/components/molecules/IconTextButton/index.d.ts +2 -0
- package/esm/components/molecules/IconTextButton/index.js +2 -0
- package/esm/components/molecules/IconTextButton/index.js.map +1 -0
- package/esm/components/molecules/IconTextButton/styled.d.ts +11 -0
- package/esm/components/molecules/IconTextButton/styled.js +14 -0
- package/esm/components/molecules/IconTextButton/styled.js.map +1 -0
- package/esm/components/molecules/InputPassword/InputPasswordIcon.d.ts +8 -0
- package/esm/components/molecules/InputPassword/InputPasswordIcon.js +33 -0
- package/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -0
- package/esm/components/molecules/InputPassword/index.d.ts +1 -0
- package/esm/components/molecules/InputPassword/index.js +2 -0
- package/esm/components/molecules/InputPassword/index.js.map +1 -0
- package/esm/components/molecules/InputPassword/styled.d.ts +7 -0
- package/esm/components/molecules/InputPassword/styled.js +11 -0
- package/esm/components/molecules/InputPassword/styled.js.map +1 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +7 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +2 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -0
- package/esm/components/molecules/LabeledSwitch/index.d.ts +1 -0
- package/esm/components/molecules/LabeledSwitch/index.js +2 -0
- package/esm/components/molecules/LabeledSwitch/index.js.map +1 -0
- package/esm/components/molecules/Snackbar/Snackbar.d.ts +19 -0
- package/esm/components/molecules/Snackbar/Snackbar.js +103 -0
- package/esm/components/molecules/Snackbar/Snackbar.js.map +1 -0
- package/esm/components/molecules/Snackbar/index.d.ts +2 -0
- package/esm/components/molecules/Snackbar/index.js +2 -0
- package/esm/components/molecules/Snackbar/index.js.map +1 -0
- package/esm/components/molecules/Snackbar/styled.d.ts +47 -0
- package/esm/components/molecules/Snackbar/styled.js +54 -0
- package/esm/components/molecules/Snackbar/styled.js.map +1 -0
- package/esm/components/molecules/TextArea/TextArea.d.ts +14 -0
- package/esm/components/molecules/TextArea/TextArea.js +77 -0
- package/esm/components/molecules/TextArea/TextArea.js.map +1 -0
- package/esm/components/molecules/TextArea/index.d.ts +3 -0
- package/esm/components/molecules/TextArea/index.js +3 -0
- package/esm/components/molecules/TextArea/index.js.map +1 -0
- package/esm/components/molecules/TextArea/styled.d.ts +12 -0
- package/esm/components/molecules/TextArea/styled.js +14 -0
- package/esm/components/molecules/TextArea/styled.js.map +1 -0
- package/esm/hooks/index.d.ts +2 -0
- package/esm/hooks/index.js +3 -0
- package/esm/hooks/index.js.map +1 -0
- package/esm/hooks/useDebouncedState.d.ts +2 -0
- package/esm/hooks/useDebouncedState.js +31 -0
- package/esm/hooks/useDebouncedState.js.map +1 -0
- package/esm/hooks/useTheme.d.ts +2 -0
- package/esm/hooks/useTheme.js +5 -0
- package/esm/hooks/useTheme.js.map +1 -0
- package/esm/index.d.ts +64 -0
- package/esm/index.js +36 -0
- package/esm/index.js.map +1 -0
- package/esm/styles/ThemeProvider.d.ts +4 -0
- package/esm/styles/ThemeProvider.js +13 -0
- package/esm/styles/ThemeProvider.js.map +1 -0
- package/esm/styles/definitions.d.ts +45 -0
- package/esm/styles/definitions.js +168 -0
- package/esm/styles/definitions.js.map +1 -0
- package/esm/styles/light.d.ts +2 -0
- package/esm/styles/light.js +42 -0
- package/esm/styles/light.js.map +1 -0
- package/esm/types/defaults.d.ts +134 -0
- package/esm/types/defaults.js +2 -0
- package/esm/types/defaults.js.map +1 -0
- package/esm/utils/IPhoneXHelper.d.ts +4 -0
- package/esm/utils/IPhoneXHelper.js +23 -0
- package/esm/utils/IPhoneXHelper.js.map +1 -0
- package/esm/utils/ResponsiveFontSize.d.ts +3 -0
- package/esm/utils/ResponsiveFontSize.js +37 -0
- package/esm/utils/ResponsiveFontSize.js.map +1 -0
- package/esm/utils/extractNumbersFromString.d.ts +2 -0
- package/esm/utils/extractNumbersFromString.js +7 -0
- package/esm/utils/extractNumbersFromString.js.map +1 -0
- package/esm/utils/formatWithMask.d.ts +3 -0
- package/esm/utils/formatWithMask.js +19 -0
- package/esm/utils/formatWithMask.js.map +1 -0
- package/esm/utils/index.d.ts +7 -0
- package/esm/utils/index.js +8 -0
- package/esm/utils/index.js.map +1 -0
- package/esm/utils/lightenDarkenColor.d.ts +1 -0
- package/esm/utils/lightenDarkenColor.js +18 -0
- package/esm/utils/lightenDarkenColor.js.map +1 -0
- package/esm/utils/masks.d.ts +11 -0
- package/esm/utils/masks.js +19 -0
- package/esm/utils/masks.js.map +1 -0
- package/esm/utils/variantComplement.d.ts +6 -0
- package/esm/utils/variantComplement.js +26 -0
- package/esm/utils/variantComplement.js.map +1 -0
- package/package.json +9 -4
- package/src/components/atoms/Avatar/index.ts +2 -1
- package/src/components/atoms/Badge/index.ts +2 -1
- package/src/components/atoms/BoxContent/index.ts +2 -1
- package/src/components/atoms/Button/index.ts +3 -3
- package/src/components/atoms/Card/Footer/index.ts +2 -1
- package/src/components/atoms/Card/Header/index.ts +2 -1
- package/src/components/atoms/Card/index.ts +2 -1
- package/src/components/atoms/Checkbox/index.ts +2 -1
- package/src/components/atoms/Divider/index.ts +2 -1
- package/src/components/atoms/GroupButton/index.ts +4 -9
- package/src/components/atoms/Icon/index.ts +2 -1
- package/src/components/atoms/Input/PressableInputContainer/index.ts +2 -4
- package/src/components/atoms/Input/index.ts +8 -14
- package/src/components/atoms/Paper/index.ts +2 -1
- package/src/components/atoms/PressableSurface/index.ts +2 -4
- package/src/components/atoms/ProgressBar/index.ts +2 -1
- package/src/components/atoms/RadioButton/index.ts +2 -1
- package/src/components/atoms/Switch/index.ts +2 -1
- package/src/components/atoms/Tag/index.ts +2 -1
- package/src/components/atoms/Text/index.ts +2 -1
- package/src/components/molecules/Calendar/index.ts +2 -2
- package/src/components/molecules/DatePicker/index.ts +2 -1
- package/src/components/molecules/DateTimePicker/index.ts +2 -4
- package/src/components/molecules/DateTimeSelector/index.ts +2 -2
- package/src/components/molecules/IconTextButton/index.ts +4 -1
- package/src/components/molecules/LabeledSwitch/index.ts +1 -1
- package/src/components/molecules/Snackbar/index.ts +2 -1
- package/src/components/molecules/TextArea/index.ts +2 -1
- package/src/index.ts +64 -56
- package/tsconfig.build.esm.json +10 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
var _excluded = ["onChange", "value", "mode", "format", "locale", "upperDateThreshold", "lowerDateThreshold", "offsetThreshold", "upperOffsetThreshold", "lowerOffsetThreshold", "dateModalTitle", "timeModalTitle", "dateConfirmButtonText", "timeConfirmButtonText", "dayLabel", "monthLabel", "yearLabel", "hourLabel", "minuteLabel", "placeholder", "onFocus", "onBlur", "disabled", "controlComponent", "hintComponent", "hint", "variant", "TextComponent", "DateTimeSelectorComponent", "rightComponent", "style", "renderSelector", "requestShowSelector", "requestCloseSelector"];
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
7
|
+
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; }
|
|
8
|
+
|
|
9
|
+
import { format as formatDate } from 'date-fns';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import { useInputFocus } from '../../atoms/Input';
|
|
12
|
+
import { Text } from '../../atoms/Text';
|
|
13
|
+
import { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';
|
|
14
|
+
import { DateTimeSelector } from '../DateTimeSelector';
|
|
15
|
+
import { HintInputContainer } from '../HintInputContainer';
|
|
16
|
+
import { getStyledDateTimeSelector } from './styled';
|
|
17
|
+
|
|
18
|
+
var DateTimePicker = function DateTimePicker(_ref) {
|
|
19
|
+
var onChange = _ref.onChange,
|
|
20
|
+
value = _ref.value,
|
|
21
|
+
_ref$mode = _ref.mode,
|
|
22
|
+
mode = _ref$mode === void 0 ? 'date' : _ref$mode,
|
|
23
|
+
_ref$format = _ref.format,
|
|
24
|
+
format = _ref$format === void 0 ? 'yyyy-MM-dd hh:mm:ss' : _ref$format,
|
|
25
|
+
locale = _ref.locale,
|
|
26
|
+
upperDateThreshold = _ref.upperDateThreshold,
|
|
27
|
+
lowerDateThreshold = _ref.lowerDateThreshold,
|
|
28
|
+
offsetThreshold = _ref.offsetThreshold,
|
|
29
|
+
upperOffsetThreshold = _ref.upperOffsetThreshold,
|
|
30
|
+
lowerOffsetThreshold = _ref.lowerOffsetThreshold,
|
|
31
|
+
dateModalTitle = _ref.dateModalTitle,
|
|
32
|
+
timeModalTitle = _ref.timeModalTitle,
|
|
33
|
+
dateConfirmButtonText = _ref.dateConfirmButtonText,
|
|
34
|
+
timeConfirmButtonText = _ref.timeConfirmButtonText,
|
|
35
|
+
dayLabel = _ref.dayLabel,
|
|
36
|
+
monthLabel = _ref.monthLabel,
|
|
37
|
+
yearLabel = _ref.yearLabel,
|
|
38
|
+
hourLabel = _ref.hourLabel,
|
|
39
|
+
minuteLabel = _ref.minuteLabel,
|
|
40
|
+
placeholder = _ref.placeholder,
|
|
41
|
+
onFocus = _ref.onFocus,
|
|
42
|
+
onBlur = _ref.onBlur,
|
|
43
|
+
disabled = _ref.disabled,
|
|
44
|
+
controlComponent = _ref.controlComponent,
|
|
45
|
+
hintComponent = _ref.hintComponent,
|
|
46
|
+
hint = _ref.hint,
|
|
47
|
+
_ref$variant = _ref.variant,
|
|
48
|
+
variant = _ref$variant === void 0 ? 'default' : _ref$variant,
|
|
49
|
+
_ref$TextComponent = _ref.TextComponent,
|
|
50
|
+
TextComponent = _ref$TextComponent === void 0 ? Text : _ref$TextComponent,
|
|
51
|
+
_ref$DateTimeSelector = _ref.DateTimeSelectorComponent,
|
|
52
|
+
DateTimeSelectorComponent = _ref$DateTimeSelector === void 0 ? DateTimeSelector : _ref$DateTimeSelector,
|
|
53
|
+
rightComponent = _ref.rightComponent,
|
|
54
|
+
style = _ref.style,
|
|
55
|
+
renderSelector = _ref.renderSelector,
|
|
56
|
+
requestShowSelector = _ref.requestShowSelector,
|
|
57
|
+
requestCloseSelector = _ref.requestCloseSelector,
|
|
58
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
59
|
+
|
|
60
|
+
var _useInputFocus = useInputFocus(onFocus, onBlur, !disabled),
|
|
61
|
+
focused = _useInputFocus.focused,
|
|
62
|
+
handleBlur = _useInputFocus.handleBlur,
|
|
63
|
+
handleFocus = _useInputFocus.handleFocus;
|
|
64
|
+
|
|
65
|
+
var handleShowSelector = function handleShowSelector() {
|
|
66
|
+
requestShowSelector();
|
|
67
|
+
handleFocus();
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var handleChoosing = function handleChoosing(value) {
|
|
71
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value);
|
|
72
|
+
requestCloseSelector();
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var StyledText = getStyledTextComponent(TextComponent);
|
|
76
|
+
var displayValue = (value ? formatDate(value, format, {
|
|
77
|
+
locale: locale
|
|
78
|
+
}) : placeholder) || ' ';
|
|
79
|
+
var StyledDateTimeSelector = getStyledDateTimeSelector(DateTimeSelectorComponent);
|
|
80
|
+
var dateTimeSelector = React.createElement(StyledDateTimeSelector, {
|
|
81
|
+
value: value,
|
|
82
|
+
mode: mode,
|
|
83
|
+
format: format,
|
|
84
|
+
locale: locale,
|
|
85
|
+
upperDateThreshold: upperDateThreshold,
|
|
86
|
+
lowerDateThreshold: lowerDateThreshold,
|
|
87
|
+
offsetThreshold: offsetThreshold,
|
|
88
|
+
upperOffsetThreshold: upperOffsetThreshold,
|
|
89
|
+
lowerOffsetThreshold: lowerOffsetThreshold,
|
|
90
|
+
dateModalTitle: dateModalTitle,
|
|
91
|
+
timeModalTitle: timeModalTitle,
|
|
92
|
+
dateConfirmButtonText: dateConfirmButtonText,
|
|
93
|
+
timeConfirmButtonText: timeConfirmButtonText,
|
|
94
|
+
dayLabel: dayLabel,
|
|
95
|
+
monthLabel: monthLabel,
|
|
96
|
+
yearLabel: yearLabel,
|
|
97
|
+
hourLabel: hourLabel,
|
|
98
|
+
minuteLabel: minuteLabel,
|
|
99
|
+
onChange: handleChoosing
|
|
100
|
+
});
|
|
101
|
+
return React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowSelector, displayValue) : React.createElement(HintInputContainer, _extends({
|
|
102
|
+
focused: focused,
|
|
103
|
+
viewStyle: style,
|
|
104
|
+
onPress: handleShowSelector,
|
|
105
|
+
disabled: disabled,
|
|
106
|
+
LabelComponent: TextComponent,
|
|
107
|
+
variant: variant,
|
|
108
|
+
hint: hint,
|
|
109
|
+
hintComponent: hintComponent,
|
|
110
|
+
rightComponent: React.createElement(React.Fragment, null, React.createElement(CalendarIcon, {
|
|
111
|
+
name: "calendar-sharp",
|
|
112
|
+
type: "ionicon",
|
|
113
|
+
size: "centi"
|
|
114
|
+
}), rightComponent)
|
|
115
|
+
}, rest), React.createElement(StyledText, {
|
|
116
|
+
fontWeight: "bold",
|
|
117
|
+
disabled: disabled
|
|
118
|
+
}, displayValue)), renderSelector(dateTimeSelector, handleBlur));
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export default DateTimePicker;
|
|
122
|
+
//# sourceMappingURL=DateTimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","names":["format","formatDate","React","useInputFocus","Text","CalendarIcon","getStyledTextComponent","DateTimeSelector","HintInputContainer","getStyledDateTimeSelector","DateTimePicker","onChange","value","mode","locale","upperDateThreshold","lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","placeholder","onFocus","onBlur","disabled","controlComponent","hintComponent","hint","variant","TextComponent","DateTimeSelectorComponent","rightComponent","style","renderSelector","requestShowSelector","requestCloseSelector","rest","focused","handleBlur","handleFocus","handleShowSelector","handleChoosing","StyledText","displayValue","StyledDateTimeSelector","dateTimeSelector"],"sources":["../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps\n extends InputContainerProps,\n Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (\n selector: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowSelector: () => void;\n requestCloseSelector: () => void;\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n 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 placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector();\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value);\n requestCloseSelector();\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue =\n (value ? formatDate(value, format, { locale: locale }) : placeholder) ||\n ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(\n DateTimeSelectorComponent\n );\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","DateTimePicker"],"sources":["../../../../src/components/molecules/DateTimePicker/index.ts"],"sourcesContent":["export { default as DateTimePicker } from './DateTimePicker';\nexport type { DateTimePickerProps } from './DateTimePicker';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAApB,QAA0C,kBAA1C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { DateTimeSelectorProps } from '../DateTimeSelector';
|
|
3
|
+
export declare const getStyledDateTimeSelector: (component: FC<DateTimeSelectorProps>) => import("@emotion/native").StyledComponent<DateTimeSelectorProps & {
|
|
4
|
+
children?: import("react").ReactNode;
|
|
5
|
+
} & {
|
|
6
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
7
|
+
as?: import("react").ElementType<any> | undefined;
|
|
8
|
+
} & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
|
|
3
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
4
|
+
|
|
5
|
+
import styled from '@emotion/native';
|
|
6
|
+
export var getStyledDateTimeSelector = function getStyledDateTimeSelector(component) {
|
|
7
|
+
return styled(component)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n "])), function (_ref) {
|
|
8
|
+
var theme = _ref.theme;
|
|
9
|
+
return theme.spacing.deca;
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.js","names":["styled","getStyledDateTimeSelector","component","theme","spacing","deca"],"sources":["../../../../src/components/molecules/DateTimePicker/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { FC } from 'react';\nimport { StyleProps } from '../../../types/defaults';\nimport { DateTimeSelectorProps } from '../DateTimeSelector';\n\nexport const getStyledDateTimeSelector = (\n component: FC<DateTimeSelectorProps>\n) => {\n return styled(component)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.deca};\n `;\n};\n"],"mappings":";;;;AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AAKA,OAAO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CACvCC,SADuC,EAEpC;EACH,OAAOF,MAAM,CAACE,SAAD,CAAb,8FACa;IAAA,IAAGC,KAAH,QAAGA,KAAH;IAAA,OAAeA,KAAK,CAACC,OAAN,CAAcC,IAA7B;EAAA,CADb;AAGD,CANM"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ViewProps } from 'react-native';
|
|
3
|
+
import { TextProps } from '../../atoms/Text';
|
|
4
|
+
export declare type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';
|
|
5
|
+
export interface DateTimeSelectorProps extends ViewProps {
|
|
6
|
+
TextComponent?: React.FC<TextProps>;
|
|
7
|
+
value?: Date;
|
|
8
|
+
onChange?: (value: Date) => void | never;
|
|
9
|
+
mode?: DateTimeSelectorMode;
|
|
10
|
+
format?: string;
|
|
11
|
+
locale?: Locale;
|
|
12
|
+
upperDateThreshold?: Date;
|
|
13
|
+
lowerDateThreshold?: Date;
|
|
14
|
+
offsetThreshold?: number;
|
|
15
|
+
upperOffsetThreshold?: number;
|
|
16
|
+
lowerOffsetThreshold?: number;
|
|
17
|
+
dateModalTitle?: string;
|
|
18
|
+
timeModalTitle?: string;
|
|
19
|
+
dateConfirmButtonText?: string;
|
|
20
|
+
timeConfirmButtonText?: string;
|
|
21
|
+
dayLabel?: string;
|
|
22
|
+
monthLabel?: string;
|
|
23
|
+
yearLabel?: string;
|
|
24
|
+
hourLabel?: string;
|
|
25
|
+
minuteLabel?: string;
|
|
26
|
+
}
|
|
27
|
+
declare const DateTimeSelector: React.FC<DateTimeSelectorProps>;
|
|
28
|
+
export default DateTimeSelector;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
var _excluded = ["TextComponent", "value", "onChange", "mode", "locale", "upperDateThreshold", "lowerDateThreshold", "offsetThreshold", "upperOffsetThreshold", "lowerOffsetThreshold", "dateModalTitle", "timeModalTitle", "dateConfirmButtonText", "timeConfirmButtonText", "dayLabel", "monthLabel", "yearLabel", "hourLabel", "minuteLabel"];
|
|
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';
|
|
22
|
+
import * as React from 'react';
|
|
23
|
+
import { Button } from '../../atoms/Button';
|
|
24
|
+
import { Icon } from '../../atoms/Icon';
|
|
25
|
+
import { Text } from '../../atoms/Text';
|
|
26
|
+
import { Selector } from './Selector';
|
|
27
|
+
import { BackButton, Content, Header, Root, SelectorContainer } from './styled';
|
|
28
|
+
|
|
29
|
+
function getThresholdUnit(mode, threshold) {
|
|
30
|
+
if (!threshold) return {};
|
|
31
|
+
|
|
32
|
+
if (mode === 'month') {
|
|
33
|
+
return {
|
|
34
|
+
months: threshold
|
|
35
|
+
};
|
|
36
|
+
} else if (['date', 'datetime'].includes(mode)) {
|
|
37
|
+
return {
|
|
38
|
+
days: threshold
|
|
39
|
+
};
|
|
40
|
+
} else {
|
|
41
|
+
return {
|
|
42
|
+
hours: threshold
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var DateTimeSelector = function DateTimeSelector(_ref) {
|
|
48
|
+
var _ref$TextComponent = _ref.TextComponent,
|
|
49
|
+
TextComponent = _ref$TextComponent === void 0 ? Text : _ref$TextComponent,
|
|
50
|
+
value = _ref.value,
|
|
51
|
+
onChange = _ref.onChange,
|
|
52
|
+
_ref$mode = _ref.mode,
|
|
53
|
+
mode = _ref$mode === void 0 ? 'date' : _ref$mode,
|
|
54
|
+
locale = _ref.locale,
|
|
55
|
+
_upperDateThreshold = _ref.upperDateThreshold,
|
|
56
|
+
_lowerDateThreshold = _ref.lowerDateThreshold,
|
|
57
|
+
offsetThreshold = _ref.offsetThreshold,
|
|
58
|
+
upperOffsetThreshold = _ref.upperOffsetThreshold,
|
|
59
|
+
lowerOffsetThreshold = _ref.lowerOffsetThreshold,
|
|
60
|
+
dateModalTitle = _ref.dateModalTitle,
|
|
61
|
+
timeModalTitle = _ref.timeModalTitle,
|
|
62
|
+
dateConfirmButtonText = _ref.dateConfirmButtonText,
|
|
63
|
+
timeConfirmButtonText = _ref.timeConfirmButtonText,
|
|
64
|
+
dayLabel = _ref.dayLabel,
|
|
65
|
+
monthLabel = _ref.monthLabel,
|
|
66
|
+
yearLabel = _ref.yearLabel,
|
|
67
|
+
hourLabel = _ref.hourLabel,
|
|
68
|
+
minuteLabel = _ref.minuteLabel,
|
|
69
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
70
|
+
|
|
71
|
+
var lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && sub(new Date(), getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold));
|
|
72
|
+
|
|
73
|
+
var upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && add(new Date(), getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold));
|
|
74
|
+
|
|
75
|
+
var _React$useState = React.useState(value || new Date()),
|
|
76
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
77
|
+
date = _React$useState2[0],
|
|
78
|
+
setDate = _React$useState2[1];
|
|
79
|
+
|
|
80
|
+
var _React$useState3 = React.useState(0),
|
|
81
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
82
|
+
currentMode = _React$useState4[0],
|
|
83
|
+
setCurrentMode = _React$useState4[1];
|
|
84
|
+
|
|
85
|
+
var isDate = ['date', 'month'].includes(mode) || mode === 'datetime' && currentMode === 0;
|
|
86
|
+
var modalTitle = isDate ? dateModalTitle : timeModalTitle;
|
|
87
|
+
var confirmButtonText = isDate ? dateConfirmButtonText : timeConfirmButtonText;
|
|
88
|
+
|
|
89
|
+
var handleChange = function handleChange(granularity) {
|
|
90
|
+
return function (newValue) {
|
|
91
|
+
setDate(function (date) {
|
|
92
|
+
var newState;
|
|
93
|
+
|
|
94
|
+
if (['month', 'year'].includes(granularity)) {
|
|
95
|
+
var newDate = set(date, _defineProperty({}, granularity, newValue));
|
|
96
|
+
var daysInMonth = getDaysInMonth(newDate);
|
|
97
|
+
|
|
98
|
+
if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {
|
|
99
|
+
newDate = set(newDate, {
|
|
100
|
+
month: date.getMonth()
|
|
101
|
+
});
|
|
102
|
+
newState = set(newDate, {
|
|
103
|
+
date: getDaysInMonth(newDate)
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
newState = daysInMonth < date.getDate() ? set(newDate, {
|
|
108
|
+
date: daysInMonth
|
|
109
|
+
}) : newDate;
|
|
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;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
var getDisplayedValue = function getDisplayedValue(granularity) {
|
|
126
|
+
return function (value) {
|
|
127
|
+
return granularity === 'month' ? formatDate(date, 'MMM', {
|
|
128
|
+
locale: locale
|
|
129
|
+
}).slice(0, 3) : value.toString().padStart(2, '0');
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var handlePressConfirm = function handlePressConfirm() {
|
|
134
|
+
if (mode === 'datetime' && currentMode === 0) {
|
|
135
|
+
setCurrentMode(1);
|
|
136
|
+
} else {
|
|
137
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(date);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
var handlePressBack = function handlePressBack() {
|
|
142
|
+
setCurrentMode(0);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
return React.createElement(Root, rest, React.createElement(Header, null, currentMode === 1 && React.createElement(BackButton, {
|
|
146
|
+
onPress: handlePressBack
|
|
147
|
+
}, React.createElement(Icon, {
|
|
148
|
+
type: 'material-community',
|
|
149
|
+
name: 'chevron-left',
|
|
150
|
+
size: 'mega',
|
|
151
|
+
colorVariant: 'secondary'
|
|
152
|
+
})), React.createElement(TextComponent, {
|
|
153
|
+
typography: 'base',
|
|
154
|
+
colorVariant: 'secondary'
|
|
155
|
+
}, modalTitle)), isDate ? React.createElement(Content, null, mode !== 'month' && React.createElement(SelectorContainer, {
|
|
156
|
+
isFirst: true
|
|
157
|
+
}, React.createElement(Selector, {
|
|
158
|
+
TextComponent: TextComponent,
|
|
159
|
+
onChange: handleChange('date'),
|
|
160
|
+
referenceDate: date,
|
|
161
|
+
value: date.getDate(),
|
|
162
|
+
label: dayLabel || 'Day',
|
|
163
|
+
granularity: 'date',
|
|
164
|
+
getDisplayValue: getDisplayedValue('date'),
|
|
165
|
+
preventUpper: upperDateThreshold ? isSameDay(upperDateThreshold, date) : false,
|
|
166
|
+
preventLower: lowerDateThreshold ? isSameDay(lowerDateThreshold, date) : false
|
|
167
|
+
})), React.createElement(SelectorContainer, null, React.createElement(Selector, {
|
|
168
|
+
TextComponent: TextComponent,
|
|
169
|
+
onChange: handleChange('month'),
|
|
170
|
+
referenceDate: date,
|
|
171
|
+
value: date.getMonth(),
|
|
172
|
+
label: monthLabel || 'Month',
|
|
173
|
+
granularity: 'month',
|
|
174
|
+
getDisplayValue: getDisplayedValue('month'),
|
|
175
|
+
preventUpper: upperDateThreshold ? isSameMonth(upperDateThreshold, date) : false,
|
|
176
|
+
preventLower: lowerDateThreshold ? isSameMonth(lowerDateThreshold, date) : false
|
|
177
|
+
})), React.createElement(SelectorContainer, {
|
|
178
|
+
isLast: true
|
|
179
|
+
}, React.createElement(Selector, {
|
|
180
|
+
TextComponent: TextComponent,
|
|
181
|
+
onChange: handleChange('year'),
|
|
182
|
+
referenceDate: date,
|
|
183
|
+
value: date.getFullYear(),
|
|
184
|
+
label: yearLabel || 'Year',
|
|
185
|
+
granularity: 'year',
|
|
186
|
+
getDisplayValue: getDisplayedValue('year'),
|
|
187
|
+
preventUpper: upperDateThreshold ? isSameYear(upperDateThreshold, date) : false,
|
|
188
|
+
preventLower: lowerDateThreshold ? isSameYear(lowerDateThreshold, date) : false
|
|
189
|
+
}))) : React.createElement(Content, null, React.createElement(SelectorContainer, {
|
|
190
|
+
isFirst: true
|
|
191
|
+
}, React.createElement(Selector, {
|
|
192
|
+
TextComponent: TextComponent,
|
|
193
|
+
onChange: handleChange('hours'),
|
|
194
|
+
referenceDate: date,
|
|
195
|
+
value: date.getHours(),
|
|
196
|
+
label: hourLabel || 'Hour',
|
|
197
|
+
granularity: 'hours',
|
|
198
|
+
getDisplayValue: getDisplayedValue('hours')
|
|
199
|
+
})), React.createElement(SelectorContainer, {
|
|
200
|
+
isLast: true
|
|
201
|
+
}, React.createElement(Selector, {
|
|
202
|
+
TextComponent: TextComponent,
|
|
203
|
+
onChange: handleChange('minutes'),
|
|
204
|
+
referenceDate: date,
|
|
205
|
+
value: date.getMinutes(),
|
|
206
|
+
label: minuteLabel || 'Minute',
|
|
207
|
+
granularity: 'minutes',
|
|
208
|
+
getDisplayValue: getDisplayedValue('minutes')
|
|
209
|
+
}))), React.createElement(Button, {
|
|
210
|
+
color: 'primary',
|
|
211
|
+
onPress: handlePressConfirm
|
|
212
|
+
}, React.createElement(TextComponent, {
|
|
213
|
+
fontWeight: "bold",
|
|
214
|
+
fontColor: "light"
|
|
215
|
+
}, confirmButtonText || 'OK')));
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
export default DateTimeSelector;
|
|
219
|
+
//# sourceMappingURL=DateTimeSelector.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ViewProps } from 'react-native';
|
|
3
|
+
import { TextProps } from '../../atoms/Text';
|
|
4
|
+
export declare type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';
|
|
5
|
+
interface SelectorProps extends ViewProps {
|
|
6
|
+
TextComponent: React.FC<TextProps>;
|
|
7
|
+
granularity: Granularity;
|
|
8
|
+
referenceDate: Date;
|
|
9
|
+
label: string;
|
|
10
|
+
value: number;
|
|
11
|
+
getDisplayValue: (value: number) => string;
|
|
12
|
+
onChange: (value: number) => void | never;
|
|
13
|
+
preventUpper?: boolean;
|
|
14
|
+
preventLower?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const Selector: React.FC<SelectorProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var _excluded = ["granularity", "label", "value", "onChange", "getDisplayValue", "referenceDate", "preventUpper", "preventLower", "TextComponent"];
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
7
|
+
import { getDaysInMonth } from 'date-fns';
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
import { Icon } from '../../atoms/Icon';
|
|
10
|
+
import { Control, SelectorRoot, SelectorValue } from './styled';
|
|
11
|
+
|
|
12
|
+
function getPrevAndNext(value, granularity, daysInMonth) {
|
|
13
|
+
var multiplier = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
14
|
+
var next = value + multiplier,
|
|
15
|
+
prev = value - multiplier;
|
|
16
|
+
|
|
17
|
+
if (granularity === 'date') {
|
|
18
|
+
next = next > daysInMonth ? 1 : next;
|
|
19
|
+
prev = prev < 1 ? daysInMonth : prev;
|
|
20
|
+
} else if (granularity === 'month') {
|
|
21
|
+
next = next > 11 ? 0 : next;
|
|
22
|
+
prev = prev < 0 ? 11 : prev;
|
|
23
|
+
} else if (granularity === 'hours') {
|
|
24
|
+
next = next > 23 ? 0 : next;
|
|
25
|
+
prev = prev < 0 ? 23 : prev;
|
|
26
|
+
} else if (granularity === 'minutes') {
|
|
27
|
+
next = next > 59 ? 0 : next;
|
|
28
|
+
prev = prev < 0 ? 59 : prev;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return [prev, next];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export var Selector = function Selector(_ref) {
|
|
35
|
+
var granularity = _ref.granularity,
|
|
36
|
+
label = _ref.label,
|
|
37
|
+
value = _ref.value,
|
|
38
|
+
onChange = _ref.onChange,
|
|
39
|
+
getDisplayValue = _ref.getDisplayValue,
|
|
40
|
+
referenceDate = _ref.referenceDate,
|
|
41
|
+
preventUpper = _ref.preventUpper,
|
|
42
|
+
preventLower = _ref.preventLower,
|
|
43
|
+
TextComponent = _ref.TextComponent,
|
|
44
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
45
|
+
|
|
46
|
+
var pressInTimeoutRef = React.useRef();
|
|
47
|
+
|
|
48
|
+
var handlePressInNext = function handlePressInNext(_next) {
|
|
49
|
+
var daysInMonth = getDaysInMonth(referenceDate);
|
|
50
|
+
|
|
51
|
+
var next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];
|
|
52
|
+
|
|
53
|
+
clearTimeout(pressInTimeoutRef.current);
|
|
54
|
+
pressInTimeoutRef.current = setTimeout(function () {
|
|
55
|
+
handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);
|
|
56
|
+
}, 500);
|
|
57
|
+
onChange(next);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var handlePressInPrev = function handlePressInPrev(_prev) {
|
|
61
|
+
var daysInMonth = getDaysInMonth(referenceDate);
|
|
62
|
+
|
|
63
|
+
var prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];
|
|
64
|
+
|
|
65
|
+
clearTimeout(pressInTimeoutRef.current);
|
|
66
|
+
pressInTimeoutRef.current = setTimeout(function () {
|
|
67
|
+
handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);
|
|
68
|
+
}, 500);
|
|
69
|
+
onChange(prev);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var handlePressOut = function handlePressOut() {
|
|
73
|
+
pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
return React.createElement(SelectorRoot, rest, React.createElement(Control, {
|
|
77
|
+
onPressIn: function onPressIn() {
|
|
78
|
+
return requestAnimationFrame(function () {
|
|
79
|
+
return handlePressInNext();
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
onPressOut: handlePressOut,
|
|
83
|
+
disabled: preventUpper
|
|
84
|
+
}, React.createElement(Icon, {
|
|
85
|
+
name: 'chevron-up',
|
|
86
|
+
type: 'material-community',
|
|
87
|
+
size: 'mega',
|
|
88
|
+
colorVariant: 'primary'
|
|
89
|
+
})), React.createElement(SelectorValue, null, React.createElement(TextComponent, {
|
|
90
|
+
colorVariant: 'secondary',
|
|
91
|
+
typography: 'sub'
|
|
92
|
+
}, label), React.createElement(TextComponent, {
|
|
93
|
+
fontWeight: 'bold',
|
|
94
|
+
typography: 'h5'
|
|
95
|
+
}, getDisplayValue(value))), React.createElement(Control, {
|
|
96
|
+
onPressIn: function onPressIn() {
|
|
97
|
+
return requestAnimationFrame(function () {
|
|
98
|
+
return handlePressInPrev();
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
onPressOut: handlePressOut,
|
|
102
|
+
disabled: preventLower,
|
|
103
|
+
style: {
|
|
104
|
+
opacity: preventLower ? 0 : 1
|
|
105
|
+
}
|
|
106
|
+
}, React.createElement(Icon, {
|
|
107
|
+
name: 'chevron-down',
|
|
108
|
+
type: 'material-community',
|
|
109
|
+
size: 'mega',
|
|
110
|
+
colorVariant: 'primary'
|
|
111
|
+
})));
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=Selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Selector.js","names":["getDaysInMonth","React","Icon","Control","SelectorRoot","SelectorValue","getPrevAndNext","value","granularity","daysInMonth","multiplier","next","prev","Selector","label","onChange","getDisplayValue","referenceDate","preventUpper","preventLower","TextComponent","rest","pressInTimeoutRef","useRef","handlePressInNext","_next","clearTimeout","current","setTimeout","handlePressInPrev","_prev","handlePressOut","requestAnimationFrame","opacity"],"sources":["../../../../src/components/molecules/DateTimeSelector/Selector.tsx"],"sourcesContent":["import { getDaysInMonth } from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { TextProps } from '../../atoms/Text';\nimport { Control, SelectorRoot, SelectorValue } from './styled';\n\nexport type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';\n\ninterface SelectorProps extends ViewProps {\n TextComponent: React.FC<TextProps>;\n granularity: Granularity;\n referenceDate: Date;\n label: string;\n value: number;\n getDisplayValue: (value: number) => string;\n onChange: (value: number) => void | never;\n preventUpper?: boolean;\n preventLower?: boolean;\n}\n\nfunction getPrevAndNext(\n value: number,\n granularity: Granularity,\n daysInMonth: number,\n multiplier = 1\n): [number, number] {\n let next = value + multiplier,\n prev = value - multiplier;\n\n if (granularity === 'date') {\n next = next > daysInMonth ? 1 : next;\n prev = prev < 1 ? daysInMonth : prev;\n } else if (granularity === 'month') {\n next = next > 11 ? 0 : next;\n prev = prev < 0 ? 11 : prev;\n } else if (granularity === 'hours') {\n next = next > 23 ? 0 : next;\n prev = prev < 0 ? 23 : prev;\n } else if (granularity === 'minutes') {\n next = next > 59 ? 0 : next;\n prev = prev < 0 ? 59 : prev;\n }\n\n return [prev, next];\n}\nexport const Selector: React.FC<SelectorProps> = ({\n granularity,\n label,\n value,\n onChange,\n getDisplayValue,\n referenceDate,\n preventUpper,\n preventLower,\n TextComponent,\n ...rest\n}) => {\n const pressInTimeoutRef = React.useRef<number>();\n\n const handlePressInNext = (_next?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);\n }, 500);\n onChange(next);\n };\n\n const handlePressInPrev = (_prev?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);\n }, 500);\n onChange(prev);\n };\n\n const handlePressOut = () => {\n pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);\n };\n\n return (\n <SelectorRoot {...rest}>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInNext())}\n onPressOut={handlePressOut}\n disabled={preventUpper}\n >\n <Icon\n name={'chevron-up'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n <SelectorValue>\n <TextComponent colorVariant={'secondary'} typography={'sub'}>\n {label}\n </TextComponent>\n <TextComponent fontWeight={'bold'} typography={'h5'}>\n {getDisplayValue(value)}\n </TextComponent>\n </SelectorValue>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInPrev())}\n onPressOut={handlePressOut}\n disabled={preventLower}\n style={{ opacity: preventLower ? 0 : 1 }}\n >\n <Icon\n name={'chevron-down'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n </SelectorRoot>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","DateTimeSelector"],"sources":["../../../../src/components/molecules/DateTimeSelector/index.ts"],"sourcesContent":["export { default as DateTimeSelector } from './DateTimeSelector';\nexport type {\n DateTimeSelectorProps,\n DateTimeSelectorMode,\n} from './DateTimeSelector';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,gBAApB,QAA4C,oBAA5C"}
|