@tecsinapse/react-native-kit 1.21.0 → 1.22.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 +16 -0
- package/dist/components/atoms/Avatar/Avatar.d.ts +2 -1
- package/dist/components/atoms/Avatar/Avatar.js +34 -22
- package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/components/atoms/Avatar/index.d.ts +1 -1
- package/dist/components/atoms/Badge/Badge.js +57 -31
- package/dist/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/components/atoms/Badge/index.d.ts +2 -1
- package/dist/components/atoms/BottomNavigator/BottomNavigator.js +69 -40
- package/dist/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/Item.js +66 -32
- package/dist/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/index.d.ts +3 -2
- package/dist/components/atoms/BottomNavigator/styled.js +38 -74
- package/dist/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/components/atoms/Button/Button.js +54 -25
- package/dist/components/atoms/Button/Button.js.map +1 -1
- package/dist/components/atoms/Button/States/Error.d.ts +1 -1
- package/dist/components/atoms/Button/States/Error.js +34 -24
- 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 +34 -24
- 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 +34 -24
- package/dist/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/components/atoms/Button/index.d.ts +2 -1
- package/dist/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -1
- package/dist/components/atoms/GroupButton/GroupButtonOption.js +34 -23
- package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/components/atoms/Header/Header.js +73 -33
- package/dist/components/atoms/Header/Header.js.map +1 -1
- package/dist/components/atoms/Header/index.d.ts +2 -1
- package/dist/components/atoms/Header/styled.js +22 -23
- package/dist/components/atoms/Header/styled.js.map +1 -1
- package/dist/components/atoms/Input/Input.d.ts +1 -1
- package/dist/components/atoms/Input/Input.js +133 -93
- package/dist/components/atoms/Input/Input.js.map +1 -1
- package/dist/components/atoms/Input/index.d.ts +2 -1
- package/dist/components/atoms/Input/styled.js +14 -21
- package/dist/components/atoms/Input/styled.js.map +1 -1
- package/dist/components/atoms/InputMask/InputMask.js +135 -91
- package/dist/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/components/atoms/InputMask/index.d.ts +2 -1
- package/dist/components/atoms/InputMask/styled.js +17 -22
- package/dist/components/atoms/InputMask/styled.js.map +1 -1
- package/dist/components/atoms/Modal/ModalGroupManager.js +47 -32
- package/dist/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/components/atoms/Modal/ModalLifecycleHandler.js +70 -78
- package/dist/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/components/atoms/Modal/ui/BaseModalView.js +115 -117
- package/dist/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/components/atoms/Modal/ui/styled.js +31 -31
- package/dist/components/atoms/Modal/ui/styled.js.map +1 -1
- package/dist/components/atoms/Modal/useLazyModalManager.d.ts +1 -1
- package/dist/components/atoms/Modal/useLazyModalManager.js +22 -25
- package/dist/components/atoms/Modal/useLazyModalManager.js.map +1 -1
- package/dist/components/atoms/Modal/useModalManager.d.ts +1 -1
- package/dist/components/atoms/Modal/useModalManager.js +14 -21
- package/dist/components/atoms/Modal/useModalManager.js.map +1 -1
- package/dist/components/atoms/Modal/useModalRemoteControl.js +10 -14
- package/dist/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
- package/dist/components/atoms/Skeleton/Pulse.js +26 -33
- package/dist/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/components/atoms/Skeleton/Skeleton.js +72 -53
- package/dist/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/atoms/Skeleton/Wave.js +47 -56
- package/dist/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/components/atoms/Skeleton/animation.js +29 -31
- package/dist/components/atoms/Skeleton/animation.js.map +1 -1
- package/dist/components/atoms/Skeleton/index.d.ts +2 -1
- package/dist/components/atoms/Skeleton/styled.js +14 -30
- package/dist/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/components/atoms/SnappingSlider/SnappingSlider.js +73 -36
- package/dist/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/components/atoms/SnappingSlider/index.d.ts +2 -1
- package/dist/components/atoms/Tag/Tag.js +45 -28
- package/dist/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/components/atoms/Tag/index.d.ts +2 -1
- package/dist/components/atoms/Text/Text.js +38 -18
- package/dist/components/atoms/Text/Text.js.map +1 -1
- package/dist/components/atoms/Text/index.d.ts +2 -1
- package/dist/components/atoms/Text/styled.js +21 -28
- package/dist/components/atoms/Text/styled.js.map +1 -1
- package/dist/components/atoms/TextArea/TextArea.js +103 -58
- package/dist/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/components/atoms/TextArea/index.d.ts +2 -1
- package/dist/components/atoms/TextArea/styled.js +9 -11
- package/dist/components/atoms/TextArea/styled.js.map +1 -1
- package/dist/components/molecules/Calendar/Calendar.d.ts +1 -1
- package/dist/components/molecules/Calendar/Calendar.js +54 -28
- package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.d.ts +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.js +67 -46
- 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/styled.js +10 -18
- package/dist/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +61 -38
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/index.d.ts +2 -1
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +54 -28
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/components/molecules/Grid/Grid.js +77 -46
- package/dist/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/components/molecules/Grid/Item/Item.d.ts +1 -1
- package/dist/components/molecules/Grid/Item/Item.js +74 -43
- package/dist/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/components/molecules/IconTextButton/IconTextButton.js +67 -42
- package/dist/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/components/molecules/IconTextButton/TextComponent.js +44 -37
- package/dist/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/components/molecules/IconTextButton/index.d.ts +2 -1
- package/dist/components/molecules/IconTextButton/styled.js +34 -45
- package/dist/components/molecules/IconTextButton/styled.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPassword.d.ts +1 -1
- package/dist/components/molecules/InputPassword/InputPassword.js +60 -40
- package/dist/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/components/molecules/InputPassword/index.d.ts +2 -1
- package/dist/components/molecules/LabeledSwitch/LabelComponent.js +54 -30
- package/dist/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +65 -39
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/index.d.ts +2 -1
- package/dist/components/molecules/LabeledSwitch/styled.js +31 -30
- package/dist/components/molecules/LabeledSwitch/styled.js.map +1 -1
- package/dist/components/molecules/Select/Modal.js +198 -132
- package/dist/components/molecules/Select/Modal.js.map +1 -1
- package/dist/components/molecules/Select/Select.js +194 -115
- package/dist/components/molecules/Select/Select.js.map +1 -1
- package/dist/components/molecules/Select/index.d.ts +2 -1
- package/dist/components/molecules/Select/styled.js +82 -104
- package/dist/components/molecules/Select/styled.js.map +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.d.ts +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.js +51 -30
- 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/styled.js +11 -23
- package/dist/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/index.d.ts +38 -19
- package/dist/index.js +78 -431
- package/dist/index.js.map +1 -1
- package/dist/utils/date.js +31 -21
- package/dist/utils/date.js.map +1 -1
- package/esm/components/atoms/Avatar/Avatar.d.ts +4 -0
- package/esm/components/atoms/Avatar/Avatar.js +31 -0
- package/esm/components/atoms/Avatar/Avatar.js.map +1 -0
- package/esm/components/atoms/Avatar/index.d.ts +1 -0
- package/esm/components/atoms/Badge/Badge.d.ts +8 -0
- package/esm/components/atoms/Badge/Badge.js +56 -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/BottomNavigator/BottomNavigator.d.ts +13 -0
- package/esm/components/atoms/BottomNavigator/BottomNavigator.js +61 -0
- package/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -0
- package/esm/components/atoms/BottomNavigator/Item.d.ts +19 -0
- package/esm/components/atoms/BottomNavigator/Item.js +58 -0
- package/esm/components/atoms/BottomNavigator/Item.js.map +1 -0
- package/esm/components/atoms/BottomNavigator/index.d.ts +3 -0
- package/esm/components/atoms/BottomNavigator/styled.d.ts +11 -0
- package/esm/components/atoms/BottomNavigator/styled.js +31 -0
- package/esm/components/atoms/BottomNavigator/styled.js.map +1 -0
- package/esm/components/atoms/Button/Button.d.ts +6 -0
- package/esm/components/atoms/Button/Button.js +57 -0
- package/esm/components/atoms/Button/Button.js.map +1 -0
- package/esm/components/atoms/Button/States/Error.d.ts +4 -0
- package/esm/components/atoms/Button/States/Error.js +31 -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 +31 -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 +31 -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/index.d.ts +3 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +2 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.js +31 -0
- package/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -0
- package/esm/components/atoms/GroupButton/index.d.ts +1 -0
- package/esm/components/atoms/Header/Header.d.ts +12 -0
- package/esm/components/atoms/Header/Header.js +62 -0
- package/esm/components/atoms/Header/Header.js.map +1 -0
- package/esm/components/atoms/Header/index.d.ts +2 -0
- package/esm/components/atoms/Header/styled.d.ts +8 -0
- package/esm/components/atoms/Header/styled.js +19 -0
- package/esm/components/atoms/Header/styled.js.map +1 -0
- package/esm/components/atoms/Input/Input.d.ts +9 -0
- package/esm/components/atoms/Input/Input.js +133 -0
- package/esm/components/atoms/Input/Input.js.map +1 -0
- package/esm/components/atoms/Input/index.d.ts +2 -0
- package/esm/components/atoms/Input/styled.d.ts +1 -0
- package/esm/components/atoms/Input/styled.js +13 -0
- package/esm/components/atoms/Input/styled.js.map +1 -0
- package/esm/components/atoms/InputMask/InputMask.d.ts +8 -0
- package/esm/components/atoms/InputMask/InputMask.js +134 -0
- package/esm/components/atoms/InputMask/InputMask.js.map +1 -0
- package/esm/components/atoms/InputMask/index.d.ts +2 -0
- package/esm/components/atoms/InputMask/styled.d.ts +5 -0
- package/esm/components/atoms/InputMask/styled.js +16 -0
- package/esm/components/atoms/InputMask/styled.js.map +1 -0
- package/esm/components/atoms/Modal/ModalGroupManager.d.ts +4 -0
- package/esm/components/atoms/Modal/ModalGroupManager.js +48 -0
- package/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -0
- package/esm/components/atoms/Modal/ModalLifecycleHandler.d.ts +24 -0
- package/esm/components/atoms/Modal/ModalLifecycleHandler.js +101 -0
- package/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -0
- package/esm/components/atoms/Modal/index.d.ts +7 -0
- package/esm/components/atoms/Modal/ui/BaseModalView.d.ts +3 -0
- package/esm/components/atoms/Modal/ui/BaseModalView.js +143 -0
- package/esm/components/atoms/Modal/ui/BaseModalView.js.map +1 -0
- package/esm/components/atoms/Modal/ui/styled.d.ts +6 -0
- package/esm/components/atoms/Modal/ui/styled.js +24 -0
- package/esm/components/atoms/Modal/ui/styled.js.map +1 -0
- package/esm/components/atoms/Modal/ui/types.d.ts +10 -0
- package/esm/components/atoms/Modal/useLazyModalManager.d.ts +8 -0
- package/esm/components/atoms/Modal/useLazyModalManager.js +33 -0
- package/esm/components/atoms/Modal/useLazyModalManager.js.map +1 -0
- package/esm/components/atoms/Modal/useModalManager.d.ts +6 -0
- package/esm/components/atoms/Modal/useModalManager.js +24 -0
- package/esm/components/atoms/Modal/useModalManager.js.map +1 -0
- package/esm/components/atoms/Modal/useModalRemoteControl.d.ts +4 -0
- package/esm/components/atoms/Modal/useModalRemoteControl.js +18 -0
- package/esm/components/atoms/Modal/useModalRemoteControl.js.map +1 -0
- package/esm/components/atoms/Skeleton/Pulse.d.ts +2 -0
- package/esm/components/atoms/Skeleton/Pulse.js +32 -0
- package/esm/components/atoms/Skeleton/Pulse.js.map +1 -0
- package/esm/components/atoms/Skeleton/Skeleton.d.ts +12 -0
- package/esm/components/atoms/Skeleton/Skeleton.js +87 -0
- package/esm/components/atoms/Skeleton/Skeleton.js.map +1 -0
- package/esm/components/atoms/Skeleton/Wave.d.ts +2 -0
- package/esm/components/atoms/Skeleton/Wave.js +50 -0
- package/esm/components/atoms/Skeleton/Wave.js.map +1 -0
- package/esm/components/atoms/Skeleton/animation.d.ts +3 -0
- package/esm/components/atoms/Skeleton/animation.js +45 -0
- package/esm/components/atoms/Skeleton/animation.js.map +1 -0
- package/esm/components/atoms/Skeleton/index.d.ts +2 -0
- package/esm/components/atoms/Skeleton/styled.d.ts +7 -0
- package/esm/components/atoms/Skeleton/styled.js +13 -0
- package/esm/components/atoms/Skeleton/styled.js.map +1 -0
- package/esm/components/atoms/Skeleton/types.d.ts +12 -0
- package/esm/components/atoms/SnappingSlider/SnappingSlider.d.ts +10 -0
- package/esm/components/atoms/SnappingSlider/SnappingSlider.js +79 -0
- package/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -0
- package/esm/components/atoms/SnappingSlider/index.d.ts +2 -0
- package/esm/components/atoms/Tag/Tag.d.ts +7 -0
- package/esm/components/atoms/Tag/Tag.js +47 -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/Text/Text.d.ts +5 -0
- package/esm/components/atoms/Text/Text.js +38 -0
- package/esm/components/atoms/Text/Text.js.map +1 -0
- package/esm/components/atoms/Text/index.d.ts +2 -0
- package/esm/components/atoms/Text/styled.d.ts +10 -0
- package/esm/components/atoms/Text/styled.js +20 -0
- package/esm/components/atoms/Text/styled.js.map +1 -0
- package/esm/components/atoms/TextArea/TextArea.d.ts +5 -0
- package/esm/components/atoms/TextArea/TextArea.js +129 -0
- package/esm/components/atoms/TextArea/TextArea.js.map +1 -0
- package/esm/components/atoms/TextArea/index.d.ts +2 -0
- package/esm/components/atoms/TextArea/styled.d.ts +4 -0
- package/esm/components/atoms/TextArea/styled.js +8 -0
- package/esm/components/atoms/TextArea/styled.js.map +1 -0
- package/esm/components/molecules/Calendar/Calendar.d.ts +1 -0
- package/esm/components/molecules/Calendar/Calendar.js +50 -0
- package/esm/components/molecules/Calendar/Calendar.js.map +1 -0
- package/esm/components/molecules/Calendar/index.d.ts +1 -0
- package/esm/components/molecules/DatePicker/DatePicker.d.ts +3 -0
- package/esm/components/molecules/DatePicker/DatePicker.js +76 -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/styled.d.ts +4 -0
- package/esm/components/molecules/DatePicker/styled.js +9 -0
- package/esm/components/molecules/DatePicker/styled.js.map +1 -0
- package/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +4 -0
- package/esm/components/molecules/DateTimePicker/DateTimePicker.js +66 -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/DateTimeSelector/DateTimeSelector.d.ts +3 -0
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +50 -0
- package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -0
- package/esm/components/molecules/DateTimeSelector/index.d.ts +1 -0
- package/esm/components/molecules/Grid/Grid.d.ts +5 -0
- package/esm/components/molecules/Grid/Grid.js +88 -0
- package/esm/components/molecules/Grid/Grid.js.map +1 -0
- package/esm/components/molecules/Grid/Item/Item.d.ts +7 -0
- package/esm/components/molecules/Grid/Item/Item.js +106 -0
- package/esm/components/molecules/Grid/Item/Item.js.map +1 -0
- package/esm/components/molecules/Grid/Item/index.d.ts +1 -0
- package/esm/components/molecules/Grid/index.d.ts +2 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.d.ts +6 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.js +72 -0
- package/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -0
- package/esm/components/molecules/IconTextButton/TextComponent.d.ts +12 -0
- package/esm/components/molecules/IconTextButton/TextComponent.js +40 -0
- package/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -0
- package/esm/components/molecules/IconTextButton/index.d.ts +2 -0
- package/esm/components/molecules/IconTextButton/styled.d.ts +2 -0
- package/esm/components/molecules/IconTextButton/styled.js +28 -0
- package/esm/components/molecules/IconTextButton/styled.js.map +1 -0
- package/esm/components/molecules/InputPassword/InputPassword.d.ts +6 -0
- package/esm/components/molecules/InputPassword/InputPassword.js +54 -0
- package/esm/components/molecules/InputPassword/InputPassword.js.map +1 -0
- package/esm/components/molecules/InputPassword/index.d.ts +2 -0
- package/esm/components/molecules/LabeledSwitch/LabelComponent.d.ts +13 -0
- package/esm/components/molecules/LabeledSwitch/LabelComponent.js +59 -0
- package/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +8 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +76 -0
- package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -0
- package/esm/components/molecules/LabeledSwitch/index.d.ts +2 -0
- package/esm/components/molecules/LabeledSwitch/styled.d.ts +9 -0
- package/esm/components/molecules/LabeledSwitch/styled.js +24 -0
- package/esm/components/molecules/LabeledSwitch/styled.js.map +1 -0
- package/esm/components/molecules/Select/Modal.d.ts +7 -0
- package/esm/components/molecules/Select/Modal.js +230 -0
- package/esm/components/molecules/Select/Modal.js.map +1 -0
- package/esm/components/molecules/Select/Select.d.ts +24 -0
- package/esm/components/molecules/Select/Select.js +240 -0
- package/esm/components/molecules/Select/Select.js.map +1 -0
- package/esm/components/molecules/Select/index.d.ts +2 -0
- package/esm/components/molecules/Select/styled.d.ts +41 -0
- package/esm/components/molecules/Select/styled.js +78 -0
- package/esm/components/molecules/Select/styled.js.map +1 -0
- package/esm/components/molecules/Snackbar/Snackbar.d.ts +9 -0
- package/esm/components/molecules/Snackbar/Snackbar.js +51 -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/styled.d.ts +4 -0
- package/esm/components/molecules/Snackbar/styled.js +10 -0
- package/esm/components/molecules/Snackbar/styled.js.map +1 -0
- package/esm/index.d.ts +44 -0
- package/esm/index.js +35 -0
- package/esm/index.js.map +1 -0
- package/esm/utils/date.d.ts +1 -0
- package/esm/utils/date.js +16 -0
- package/esm/utils/date.js.map +1 -0
- package/package.json +8 -5
- package/rollup.config.js +39 -0
- package/src/components/atoms/Avatar/Avatar.tsx +3 -1
- package/src/components/atoms/Avatar/index.ts +1 -1
- package/src/components/atoms/Badge/index.ts +2 -1
- package/src/components/atoms/BottomNavigator/index.ts +3 -5
- package/src/components/atoms/Button/States/Error.tsx +1 -1
- package/src/components/atoms/Button/States/Loading.tsx +1 -1
- package/src/components/atoms/Button/States/Success.tsx +1 -1
- package/src/components/atoms/Button/index.ts +2 -1
- package/src/components/atoms/Header/index.ts +2 -1
- package/src/components/atoms/Input/index.ts +2 -1
- package/src/components/atoms/InputMask/index.ts +2 -1
- package/src/components/atoms/Skeleton/index.ts +2 -1
- package/src/components/atoms/SnappingSlider/index.ts +2 -4
- package/src/components/atoms/Tag/index.ts +2 -1
- package/src/components/atoms/Text/index.ts +2 -1
- package/src/components/atoms/TextArea/index.ts +2 -1
- package/src/components/molecules/DatePicker/index.ts +2 -1
- package/src/components/molecules/DateTimePicker/index.ts +2 -1
- package/src/components/molecules/IconTextButton/index.ts +2 -4
- package/src/components/molecules/InputPassword/index.ts +2 -4
- package/src/components/molecules/LabeledSwitch/index.ts +2 -4
- package/src/components/molecules/Select/Modal.tsx +1 -1
- package/src/components/molecules/Select/Select.tsx +3 -2
- package/src/components/molecules/Select/index.ts +2 -1
- package/src/components/molecules/Snackbar/Snackbar.tsx +1 -1
- package/src/components/molecules/Snackbar/index.ts +2 -1
- package/src/index.ts +37 -46
- package/tsconfig.build.esm.json +10 -0
- package/dist/components/atoms/Avatar/index.js +0 -14
- package/dist/components/atoms/Avatar/index.js.map +0 -1
- package/dist/components/atoms/Badge/index.js +0 -24
- package/dist/components/atoms/Badge/index.js.map +0 -1
- package/dist/components/atoms/BottomNavigator/index.js +0 -32
- package/dist/components/atoms/BottomNavigator/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 -40
- package/dist/components/atoms/Button/index.js.map +0 -1
- package/dist/components/atoms/GroupButton/index.js +0 -16
- package/dist/components/atoms/GroupButton/index.js.map +0 -1
- package/dist/components/atoms/Header/index.js +0 -24
- package/dist/components/atoms/Header/index.js.map +0 -1
- package/dist/components/atoms/Input/index.js +0 -24
- package/dist/components/atoms/Input/index.js.map +0 -1
- package/dist/components/atoms/InputMask/index.js +0 -24
- package/dist/components/atoms/InputMask/index.js.map +0 -1
- package/dist/components/atoms/Modal/index.js +0 -97
- package/dist/components/atoms/Modal/index.js.map +0 -1
- package/dist/components/atoms/Modal/ui/types.js +0 -6
- package/dist/components/atoms/Modal/ui/types.js.map +0 -1
- package/dist/components/atoms/Skeleton/index.js +0 -24
- package/dist/components/atoms/Skeleton/index.js.map +0 -1
- package/dist/components/atoms/Skeleton/types.js +0 -6
- package/dist/components/atoms/Skeleton/types.js.map +0 -1
- package/dist/components/atoms/SnappingSlider/index.js +0 -24
- package/dist/components/atoms/SnappingSlider/index.js.map +0 -1
- package/dist/components/atoms/Tag/index.js +0 -24
- package/dist/components/atoms/Tag/index.js.map +0 -1
- package/dist/components/atoms/Text/index.js +0 -24
- package/dist/components/atoms/Text/index.js.map +0 -1
- package/dist/components/atoms/TextArea/index.js +0 -24
- package/dist/components/atoms/TextArea/index.js.map +0 -1
- package/dist/components/molecules/Calendar/index.js +0 -14
- package/dist/components/molecules/Calendar/index.js.map +0 -1
- package/dist/components/molecules/DatePicker/index.js +0 -20
- package/dist/components/molecules/DatePicker/index.js.map +0 -1
- package/dist/components/molecules/DateTimePicker/index.js +0 -20
- package/dist/components/molecules/DateTimePicker/index.js.map +0 -1
- package/dist/components/molecules/DateTimeSelector/index.js +0 -14
- package/dist/components/molecules/DateTimeSelector/index.js.map +0 -1
- package/dist/components/molecules/Grid/Item/index.js +0 -24
- package/dist/components/molecules/Grid/Item/index.js.map +0 -1
- package/dist/components/molecules/Grid/index.js +0 -24
- package/dist/components/molecules/Grid/index.js.map +0 -1
- package/dist/components/molecules/IconTextButton/index.js +0 -24
- package/dist/components/molecules/IconTextButton/index.js.map +0 -1
- package/dist/components/molecules/InputPassword/index.js +0 -24
- package/dist/components/molecules/InputPassword/index.js.map +0 -1
- package/dist/components/molecules/LabeledSwitch/index.js +0 -24
- package/dist/components/molecules/LabeledSwitch/index.js.map +0 -1
- package/dist/components/molecules/Select/index.js +0 -24
- package/dist/components/molecules/Select/index.js.map +0 -1
- package/dist/components/molecules/Snackbar/index.js +0 -24
- package/dist/components/molecules/Snackbar/index.js.map +0 -1
|
@@ -1,36 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var reactCore = require('@tecsinapse/react-core');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var reactNative = require('react-native');
|
|
8
|
+
var Button = require('../../atoms/Button/Button.js');
|
|
9
|
+
var Text = require('../../atoms/Text/Text.js');
|
|
10
|
+
var Header = require('../../atoms/Header/Header.js');
|
|
11
|
+
var Input = require('../../atoms/Input/Input.js');
|
|
12
|
+
require('../../atoms/Modal/ModalGroupManager.js');
|
|
13
|
+
var BaseModalView = require('../../atoms/Modal/ui/BaseModalView.js');
|
|
14
|
+
require('uuid');
|
|
15
|
+
var styled = require('./styled.js');
|
|
16
|
+
|
|
17
|
+
function _interopNamespace(e) {
|
|
18
|
+
if (e && e.__esModule) return e;
|
|
19
|
+
var n = Object.create(null);
|
|
20
|
+
if (e) {
|
|
21
|
+
Object.keys(e).forEach(function (k) {
|
|
22
|
+
if (k !== 'default') {
|
|
23
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
24
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return e[k]; }
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
n["default"] = e;
|
|
32
|
+
return Object.freeze(n);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
36
|
+
|
|
37
|
+
var __defProp = Object.defineProperty;
|
|
38
|
+
var __defProps = Object.defineProperties;
|
|
39
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
40
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
41
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
42
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
43
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
44
|
+
var __spreadValues = (a, b) => {
|
|
45
|
+
for (var prop in b || (b = {}))
|
|
46
|
+
if (__hasOwnProp.call(b, prop))
|
|
47
|
+
__defNormalProp(a, prop, b[prop]);
|
|
48
|
+
if (__getOwnPropSymbols)
|
|
49
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
50
|
+
if (__propIsEnum.call(b, prop))
|
|
51
|
+
__defNormalProp(a, prop, b[prop]);
|
|
52
|
+
}
|
|
53
|
+
return a;
|
|
54
|
+
};
|
|
55
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
56
|
+
var __objRest = (source, exclude) => {
|
|
57
|
+
var target = {};
|
|
58
|
+
for (var prop in source)
|
|
59
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
60
|
+
target[prop] = source[prop];
|
|
61
|
+
if (source != null && __getOwnPropSymbols)
|
|
62
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
63
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
64
|
+
target[prop] = source[prop];
|
|
65
|
+
}
|
|
66
|
+
return target;
|
|
67
|
+
};
|
|
68
|
+
const Component = (_a) => {
|
|
69
|
+
var _b = _a, {
|
|
34
70
|
options,
|
|
35
71
|
keyExtractor,
|
|
36
72
|
labelExtractor,
|
|
@@ -46,143 +82,173 @@ const Component = _ref => {
|
|
|
46
82
|
confirmButtonText,
|
|
47
83
|
loading,
|
|
48
84
|
close,
|
|
49
|
-
closeOnPick
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
85
|
+
closeOnPick
|
|
86
|
+
} = _b, others = __objRest(_b, [
|
|
87
|
+
"options",
|
|
88
|
+
"keyExtractor",
|
|
89
|
+
"labelExtractor",
|
|
90
|
+
"hideSearchBar",
|
|
91
|
+
"searchBarPlaceholder",
|
|
92
|
+
"focused",
|
|
93
|
+
"type",
|
|
94
|
+
"value",
|
|
95
|
+
"onSelect",
|
|
96
|
+
"onSearch",
|
|
97
|
+
"selectModalTitle",
|
|
98
|
+
"selectModalTitleComponent",
|
|
99
|
+
"confirmButtonText",
|
|
100
|
+
"loading",
|
|
101
|
+
"close",
|
|
102
|
+
"closeOnPick"
|
|
103
|
+
]);
|
|
104
|
+
const [selectedValues, setSelectedValues] = React__namespace.useState([]);
|
|
105
|
+
const [searchArg, setSearchArg] = reactCore.useDebouncedState("", onSearch);
|
|
106
|
+
const ModalComponent = React__namespace.useMemo(
|
|
107
|
+
() => styled.getStyledModal(reactCore.getStatusBarHeight(true)),
|
|
108
|
+
[]
|
|
109
|
+
);
|
|
110
|
+
const _closeOnPick = closeOnPick && type === "single";
|
|
111
|
+
React__namespace.useEffect(() => {
|
|
112
|
+
setSelectedValues(
|
|
113
|
+
value ? type === "multi" ? value : [value] : []
|
|
114
|
+
);
|
|
60
115
|
}, [value, focused, setSelectedValues]);
|
|
61
|
-
const getData =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
116
|
+
const getData = React__namespace.useCallback(
|
|
117
|
+
(options2) => {
|
|
118
|
+
return options2 == null ? void 0 : options2.map((option, index) => __spreadProps(__spreadValues({}, option), {
|
|
119
|
+
_checked: type === "multi" ? !!selectedValues.find(
|
|
120
|
+
(value2) => keyExtractor(option, index) == keyExtractor(value2, index)
|
|
121
|
+
) : keyExtractor(selectedValues[0] || {}, index) == keyExtractor(option, index)
|
|
122
|
+
}));
|
|
123
|
+
},
|
|
124
|
+
[keyExtractor, selectedValues, type]
|
|
125
|
+
);
|
|
126
|
+
const data = React__namespace.useMemo(
|
|
127
|
+
() => typeof options !== "function" ? getData(options) : [],
|
|
128
|
+
[options, getData]
|
|
129
|
+
);
|
|
130
|
+
const handlePressItem = React__namespace.useCallback(
|
|
131
|
+
(option) => {
|
|
132
|
+
setSelectedValues((selectedValues2) => {
|
|
133
|
+
if (type === "multi") {
|
|
134
|
+
const newArr = [];
|
|
135
|
+
let found = false;
|
|
136
|
+
for (const value2 of selectedValues2) {
|
|
137
|
+
if (keyExtractor(value2) != keyExtractor(option))
|
|
138
|
+
newArr.push(value2);
|
|
139
|
+
else
|
|
140
|
+
found = true;
|
|
141
|
+
}
|
|
142
|
+
if (!found)
|
|
143
|
+
newArr.push(option);
|
|
144
|
+
return newArr;
|
|
75
145
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
83
|
-
}, [selectedValues, setSelectedValues, keyExtractor, type]);
|
|
84
|
-
React.useEffect(() => {
|
|
146
|
+
return keyExtractor(selectedValues2[0] || {}) === keyExtractor(option) ? [] : [option];
|
|
147
|
+
});
|
|
148
|
+
},
|
|
149
|
+
[selectedValues, setSelectedValues, keyExtractor, type]
|
|
150
|
+
);
|
|
151
|
+
React__namespace.useEffect(() => {
|
|
85
152
|
if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {
|
|
86
153
|
handleConfirm();
|
|
87
154
|
}
|
|
88
155
|
}, [selectedValues[0], value, closeOnPick]);
|
|
89
|
-
const handleConfirm =
|
|
90
|
-
onSelect(
|
|
91
|
-
|
|
156
|
+
const handleConfirm = React__namespace.useCallback(() => {
|
|
157
|
+
onSelect(
|
|
158
|
+
type === "single" ? selectedValues[0] : selectedValues
|
|
159
|
+
);
|
|
160
|
+
close == null ? void 0 : close();
|
|
92
161
|
}, [selectedValues]);
|
|
93
|
-
const optionBuilder =
|
|
94
|
-
|
|
95
|
-
item
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, []);
|
|
104
|
-
const anyChecked = data.filter(item => item._checked).length;
|
|
162
|
+
const optionBuilder = React__namespace.useCallback(
|
|
163
|
+
({ item }) => /* @__PURE__ */ React__namespace.createElement(MemoizedOption, {
|
|
164
|
+
item,
|
|
165
|
+
type,
|
|
166
|
+
handlePressItem,
|
|
167
|
+
labelExtractor
|
|
168
|
+
}),
|
|
169
|
+
[]
|
|
170
|
+
);
|
|
171
|
+
const anyChecked = data.filter((item) => item._checked).length;
|
|
105
172
|
const dataLengthChanged = data.length;
|
|
106
|
-
const memoizedFlatlist =
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
173
|
+
const memoizedFlatlist = React__namespace.useMemo(
|
|
174
|
+
() => /* @__PURE__ */ React__namespace.createElement(reactNative.FlatList, {
|
|
175
|
+
data,
|
|
176
|
+
keyExtractor,
|
|
177
|
+
fadingEdgeLength: 200,
|
|
178
|
+
renderItem: optionBuilder
|
|
179
|
+
}),
|
|
180
|
+
[selectedValues, anyChecked, dataLengthChanged]
|
|
181
|
+
);
|
|
182
|
+
const titleTextModal = selectModalTitle ? /* @__PURE__ */ React__namespace.createElement(styled.TextTitleModal, {
|
|
113
183
|
typography: "h4",
|
|
114
184
|
fontWeight: "bold",
|
|
115
185
|
numberOfLines: 3,
|
|
116
|
-
style: {
|
|
117
|
-
maxWidth: (0, _reactCore.RFValue)(250)
|
|
118
|
-
}
|
|
186
|
+
style: { maxWidth: reactCore.RFValue(250) }
|
|
119
187
|
}, selectModalTitle) : null;
|
|
120
188
|
const headerContent = selectModalTitleComponent ? selectModalTitleComponent : titleTextModal;
|
|
121
|
-
return
|
|
189
|
+
return /* @__PURE__ */ React__namespace.createElement(BaseModalView.ModalView, __spreadProps(__spreadValues({}, others), {
|
|
122
190
|
BoxComponent: ModalComponent,
|
|
123
191
|
showCloseBar: false
|
|
124
|
-
}),
|
|
192
|
+
}), /* @__PURE__ */ React__namespace.createElement(Header, {
|
|
125
193
|
rightButton: {
|
|
126
194
|
onPress: close,
|
|
127
195
|
icon: {
|
|
128
|
-
name:
|
|
129
|
-
type:
|
|
130
|
-
fontColor:
|
|
196
|
+
name: "close",
|
|
197
|
+
type: "material-community",
|
|
198
|
+
fontColor: "light"
|
|
131
199
|
}
|
|
132
200
|
}
|
|
133
|
-
}, headerContent), !hideSearchBar &&
|
|
201
|
+
}, headerContent), !hideSearchBar && /* @__PURE__ */ React__namespace.createElement(styled.SearchBarContainer, null, /* @__PURE__ */ React__namespace.createElement(Input, {
|
|
134
202
|
placeholder: searchBarPlaceholder,
|
|
135
203
|
value: searchArg,
|
|
136
|
-
onChange:
|
|
137
|
-
leftComponent:
|
|
204
|
+
onChange: setSearchArg,
|
|
205
|
+
leftComponent: /* @__PURE__ */ React__namespace.createElement(styled.SelectIcon, {
|
|
138
206
|
name: "search",
|
|
139
207
|
type: "ionicon",
|
|
140
208
|
size: "centi"
|
|
141
209
|
})
|
|
142
|
-
})), loading &&
|
|
210
|
+
})), loading && /* @__PURE__ */ React__namespace.createElement(styled.FetchIndicator, {
|
|
143
211
|
animating: true,
|
|
144
|
-
color:
|
|
145
|
-
size:
|
|
146
|
-
}), memoizedFlatlist, !_closeOnPick &&
|
|
147
|
-
variant:
|
|
148
|
-
color:
|
|
212
|
+
color: "grey",
|
|
213
|
+
size: "large"
|
|
214
|
+
}), memoizedFlatlist, !_closeOnPick && /* @__PURE__ */ React__namespace.createElement(styled.ModalFooter, null, /* @__PURE__ */ React__namespace.createElement(Button.Button, {
|
|
215
|
+
variant: "filled",
|
|
216
|
+
color: "primary",
|
|
149
217
|
onPress: handleConfirm,
|
|
150
218
|
disabled: loading
|
|
151
|
-
},
|
|
152
|
-
fontColor:
|
|
219
|
+
}, /* @__PURE__ */ React__namespace.createElement(Text, {
|
|
220
|
+
fontColor: "light",
|
|
153
221
|
fontWeight: "bold"
|
|
154
222
|
}, confirmButtonText))));
|
|
155
223
|
};
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
} = _ref3;
|
|
164
|
-
return React.useMemo(() => {
|
|
224
|
+
const MemoizedOption = ({
|
|
225
|
+
handlePressItem,
|
|
226
|
+
labelExtractor,
|
|
227
|
+
item,
|
|
228
|
+
type
|
|
229
|
+
}) => {
|
|
230
|
+
return React__namespace.useMemo(() => {
|
|
165
231
|
const label = labelExtractor(item);
|
|
166
|
-
return
|
|
232
|
+
return /* @__PURE__ */ React__namespace.createElement(styled.ListItem, {
|
|
167
233
|
onPress: () => handlePressItem(item)
|
|
168
|
-
},
|
|
169
|
-
pointerEvents:
|
|
170
|
-
}, type ===
|
|
171
|
-
color:
|
|
172
|
-
labelPosition:
|
|
234
|
+
}, /* @__PURE__ */ React__namespace.createElement(reactNative.View, {
|
|
235
|
+
pointerEvents: "none"
|
|
236
|
+
}, type === "multi" ? /* @__PURE__ */ React__namespace.createElement(reactCore.Checkbox, {
|
|
237
|
+
color: "primary",
|
|
238
|
+
labelPosition: "right",
|
|
173
239
|
checked: item._checked
|
|
174
|
-
},
|
|
175
|
-
fontWeight: item._checked ?
|
|
176
|
-
}, label)) :
|
|
177
|
-
color:
|
|
178
|
-
labelPosition:
|
|
240
|
+
}, /* @__PURE__ */ React__namespace.createElement(Text, {
|
|
241
|
+
fontWeight: item._checked ? "bold" : "regular"
|
|
242
|
+
}, label)) : /* @__PURE__ */ React__namespace.createElement(reactCore.RadioButton, {
|
|
243
|
+
color: "primary",
|
|
244
|
+
labelPosition: "right",
|
|
179
245
|
checked: item._checked
|
|
180
|
-
},
|
|
181
|
-
fontWeight: item._checked ?
|
|
246
|
+
}, /* @__PURE__ */ React__namespace.createElement(Text, {
|
|
247
|
+
fontWeight: item._checked ? "bold" : "regular"
|
|
182
248
|
}, label))));
|
|
183
249
|
}, [item._checked]);
|
|
184
250
|
};
|
|
185
|
-
|
|
186
251
|
const Modal = Component;
|
|
252
|
+
|
|
187
253
|
exports.Modal = Modal;
|
|
188
|
-
//# sourceMappingURL=Modal.js.map
|
|
254
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["Component","options","keyExtractor","labelExtractor","hideSearchBar","searchBarPlaceholder","focused","type","value","onSelect","onSearch","selectModalTitle","selectModalTitleComponent","confirmButtonText","loading","close","closeOnPick","others","selectedValues","setSelectedValues","React","useState","searchArg","setSearchArg","useDebouncedState","ModalComponent","useMemo","getStyledModal","getStatusBarHeight","_closeOnPick","useEffect","getData","useCallback","map","option","index","_checked","find","data","handlePressItem","newArr","found","push","handleConfirm","optionBuilder","item","anyChecked","filter","length","dataLengthChanged","memoizedFlatlist","titleTextModal","maxWidth","RFValue","headerContent","onPress","icon","name","fontColor","text","MemoizedOption","label","Modal"],"sources":["../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={text => setSearchArg(text)}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={setSearchArg}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"names":["React","useDebouncedState","getStyledModal","getStatusBarHeight","options","value","selectedValues","FlatList","TextTitleModal","RFValue","ModalView","SearchBarContainer","SelectIcon","FetchIndicator","ModalFooter","Button","ListItem","View","Checkbox","RadioButton"],"mappings":"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"}
|