@codeleap/mobile 4.0.2 → 4.2.1
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/dist/Registry.d.ts +7 -0
- package/dist/Registry.js +67 -0
- package/dist/Registry.js.map +1 -0
- package/dist/components/ActionIcon/index.d.ts +13 -0
- package/dist/components/ActionIcon/index.js +79 -0
- package/dist/components/ActionIcon/index.js.map +1 -0
- package/dist/components/ActionIcon/styles.d.ts +5 -0
- package/dist/components/ActionIcon/styles.js +3 -0
- package/dist/components/ActionIcon/styles.js.map +1 -0
- package/dist/components/ActionIcon/types.d.ts +11 -0
- package/dist/components/ActionIcon/types.js +3 -0
- package/dist/components/ActionIcon/types.js.map +1 -0
- package/dist/components/ActivityIndicator/index.d.ts +15 -0
- package/dist/components/ActivityIndicator/index.js +66 -0
- package/dist/components/ActivityIndicator/index.js.map +1 -0
- package/dist/components/ActivityIndicator/styles.d.ts +1 -0
- package/dist/components/ActivityIndicator/styles.js +3 -0
- package/dist/components/ActivityIndicator/styles.js.map +1 -0
- package/dist/components/ActivityIndicator/types.d.ts +9 -0
- package/dist/components/ActivityIndicator/types.js +3 -0
- package/dist/components/ActivityIndicator/types.js.map +1 -0
- package/dist/components/Autocomplete/index.d.ts +13 -0
- package/dist/components/Autocomplete/index.js +192 -0
- package/dist/components/Autocomplete/index.js.map +1 -0
- package/dist/components/Autocomplete/styles.d.ts +8 -0
- package/dist/components/Autocomplete/styles.js +3 -0
- package/dist/components/Autocomplete/styles.js.map +1 -0
- package/dist/components/Autocomplete/types.d.ts +58 -0
- package/dist/components/Autocomplete/types.js +3 -0
- package/dist/components/Autocomplete/types.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +13 -0
- package/dist/components/Avatar/index.js +112 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Avatar/styles.d.ts +2 -0
- package/dist/components/Avatar/styles.js +3 -0
- package/dist/components/Avatar/styles.js.map +1 -0
- package/dist/components/Avatar/types.d.ts +19 -0
- package/dist/components/Avatar/types.js +3 -0
- package/dist/components/Avatar/types.js.map +1 -0
- package/dist/components/AvatarGroup/index.d.ts +13 -0
- package/dist/components/AvatarGroup/index.js +79 -0
- package/dist/components/AvatarGroup/index.js.map +1 -0
- package/dist/components/AvatarGroup/styles.d.ts +3 -0
- package/dist/components/AvatarGroup/styles.js +3 -0
- package/dist/components/AvatarGroup/styles.js.map +1 -0
- package/dist/components/AvatarGroup/types.d.ts +9 -0
- package/dist/components/AvatarGroup/types.js +3 -0
- package/dist/components/AvatarGroup/types.js.map +1 -0
- package/dist/components/Backdrop/index.d.ts +13 -0
- package/dist/components/Backdrop/index.js +82 -0
- package/dist/components/Backdrop/index.js.map +1 -0
- package/dist/components/Backdrop/styles.d.ts +1 -0
- package/dist/components/Backdrop/styles.js +3 -0
- package/dist/components/Backdrop/styles.js.map +1 -0
- package/dist/components/Backdrop/types.d.ts +11 -0
- package/dist/components/Backdrop/types.js +3 -0
- package/dist/components/Backdrop/types.js.map +1 -0
- package/dist/components/Badge/index.d.ts +13 -0
- package/dist/components/Badge/index.js +109 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/Badge/styles.d.ts +4 -0
- package/dist/components/Badge/styles.js +3 -0
- package/dist/components/Badge/styles.js.map +1 -0
- package/dist/components/Badge/types.d.ts +27 -0
- package/dist/components/Badge/types.js +3 -0
- package/dist/components/Badge/types.js.map +1 -0
- package/dist/components/Button/index.d.ts +5 -0
- package/dist/components/Button/index.js +123 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Button/styles.d.ts +12 -0
- package/dist/components/Button/styles.js +3 -0
- package/dist/components/Button/styles.js.map +1 -0
- package/dist/components/Button/types.d.ts +16 -0
- package/dist/components/Button/types.js +3 -0
- package/dist/components/Button/types.js.map +1 -0
- package/dist/components/Calendar/index.d.ts +19 -0
- package/dist/components/Calendar/index.js +82 -0
- package/dist/components/Calendar/index.js.map +1 -0
- package/dist/components/Calendar/types.d.ts +95 -0
- package/dist/components/Calendar/types.js +3 -0
- package/dist/components/Calendar/types.js.map +1 -0
- package/dist/components/Checkbox/index.d.ts +13 -0
- package/dist/components/Checkbox/index.js +120 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/Checkbox/styles.d.ts +7 -0
- package/dist/components/Checkbox/styles.js +3 -0
- package/dist/components/Checkbox/styles.js.map +1 -0
- package/dist/components/Checkbox/types.d.ts +10 -0
- package/dist/components/Checkbox/types.js +3 -0
- package/dist/components/Checkbox/types.js.map +1 -0
- package/dist/components/DatePickerModal/index.d.ts +13 -0
- package/dist/components/DatePickerModal/index.js +156 -0
- package/dist/components/DatePickerModal/index.js.map +1 -0
- package/dist/components/DatePickerModal/styles.d.ts +5 -0
- package/dist/components/DatePickerModal/styles.js +3 -0
- package/dist/components/DatePickerModal/styles.js.map +1 -0
- package/dist/components/DatePickerModal/types.d.ts +42 -0
- package/dist/components/DatePickerModal/types.js +3 -0
- package/dist/components/DatePickerModal/types.js.map +1 -0
- package/dist/components/EmptyPlaceholder/index.d.ts +13 -0
- package/dist/components/EmptyPlaceholder/index.js +87 -0
- package/dist/components/EmptyPlaceholder/index.js.map +1 -0
- package/dist/components/EmptyPlaceholder/styles.d.ts +2 -0
- package/dist/components/EmptyPlaceholder/styles.js +3 -0
- package/dist/components/EmptyPlaceholder/styles.js.map +1 -0
- package/dist/components/EmptyPlaceholder/types.d.ts +20 -0
- package/dist/components/EmptyPlaceholder/types.js +3 -0
- package/dist/components/EmptyPlaceholder/types.js.map +1 -0
- package/dist/components/FileInput/index.d.ts +9 -0
- package/dist/components/FileInput/index.js +218 -0
- package/dist/components/FileInput/index.js.map +1 -0
- package/dist/components/FileInput/types.d.ts +23 -0
- package/dist/components/FileInput/types.js +3 -0
- package/dist/components/FileInput/types.js.map +1 -0
- package/dist/components/Grid/index.d.ts +5 -0
- package/dist/components/Grid/index.js +110 -0
- package/dist/components/Grid/index.js.map +1 -0
- package/dist/components/Grid/styles.d.ts +2 -0
- package/dist/components/Grid/styles.js +3 -0
- package/dist/components/Grid/styles.js.map +1 -0
- package/dist/components/Grid/types.d.ts +15 -0
- package/dist/components/Grid/types.js +3 -0
- package/dist/components/Grid/types.js.map +1 -0
- package/dist/components/Icon/index.d.ts +7 -0
- package/dist/components/Icon/index.js +96 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/Icon/styles.d.ts +2 -0
- package/dist/components/Icon/styles.js +3 -0
- package/dist/components/Icon/styles.js.map +1 -0
- package/dist/components/Icon/types.d.ts +12 -0
- package/dist/components/Icon/types.js +3 -0
- package/dist/components/Icon/types.js.map +1 -0
- package/dist/components/Image/index.d.ts +5 -0
- package/dist/components/Image/index.js +151 -0
- package/dist/components/Image/index.js.map +1 -0
- package/dist/components/Image/styles.d.ts +2 -0
- package/dist/components/Image/styles.js +3 -0
- package/dist/components/Image/styles.js.map +1 -0
- package/dist/components/Image/types.d.ts +16 -0
- package/dist/components/Image/types.js +3 -0
- package/dist/components/Image/types.js.map +1 -0
- package/dist/components/ImageView/Spotlight.d.ts +41 -0
- package/dist/components/ImageView/Spotlight.js +178 -0
- package/dist/components/ImageView/Spotlight.js.map +1 -0
- package/dist/components/ImageView/component.d.ts +5 -0
- package/dist/components/ImageView/component.js +18 -0
- package/dist/components/ImageView/component.js.map +1 -0
- package/dist/components/ImageView/index.d.ts +2 -0
- package/dist/components/ImageView/index.js +19 -0
- package/dist/components/ImageView/index.js.map +1 -0
- package/dist/components/InputBase/index.d.ts +11 -0
- package/dist/components/InputBase/index.js +110 -0
- package/dist/components/InputBase/index.js.map +1 -0
- package/dist/components/InputBase/styles.d.ts +20 -0
- package/dist/components/InputBase/styles.js +99 -0
- package/dist/components/InputBase/styles.js.map +1 -0
- package/dist/components/InputBase/types.d.ts +26 -0
- package/dist/components/InputBase/types.js +3 -0
- package/dist/components/InputBase/types.js.map +1 -0
- package/dist/components/InputBase/utils.d.ts +12 -0
- package/dist/components/InputBase/utils.js +41 -0
- package/dist/components/InputBase/utils.js.map +1 -0
- package/dist/components/List/index.d.ts +5 -0
- package/dist/components/List/index.js +104 -0
- package/dist/components/List/index.js.map +1 -0
- package/dist/components/List/styles.d.ts +5 -0
- package/dist/components/List/styles.js +3 -0
- package/dist/components/List/styles.js.map +1 -0
- package/dist/components/List/types.d.ts +36 -0
- package/dist/components/List/types.js +3 -0
- package/dist/components/List/types.js.map +1 -0
- package/dist/components/LoadingOverlay/index.d.ts +13 -0
- package/dist/components/LoadingOverlay/index.js +84 -0
- package/dist/components/LoadingOverlay/index.js.map +1 -0
- package/dist/components/LoadingOverlay/styles.d.ts +4 -0
- package/dist/components/LoadingOverlay/styles.js +3 -0
- package/dist/components/LoadingOverlay/styles.js.map +1 -0
- package/dist/components/LoadingOverlay/types.d.ts +8 -0
- package/dist/components/LoadingOverlay/types.js +3 -0
- package/dist/components/LoadingOverlay/types.js.map +1 -0
- package/dist/components/Modal/index.d.ts +14 -0
- package/dist/components/Modal/index.js +151 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Modal/styles.d.ts +4 -0
- package/dist/components/Modal/styles.js +3 -0
- package/dist/components/Modal/styles.js.map +1 -0
- package/dist/components/Modal/types.d.ts +36 -0
- package/dist/components/Modal/types.js +3 -0
- package/dist/components/Modal/types.js.map +1 -0
- package/dist/components/Navigation/Navigation.d.ts +55 -0
- package/dist/components/Navigation/Navigation.js +84 -0
- package/dist/components/Navigation/Navigation.js.map +1 -0
- package/dist/components/Navigation/constants.d.ts +9 -0
- package/dist/components/Navigation/constants.js +12 -0
- package/dist/components/Navigation/constants.js.map +1 -0
- package/dist/components/Navigation/index.d.ts +3 -0
- package/dist/components/Navigation/index.js +20 -0
- package/dist/components/Navigation/index.js.map +1 -0
- package/dist/components/Navigation/types.d.ts +26 -0
- package/dist/components/Navigation/types.js +3 -0
- package/dist/components/Navigation/types.js.map +1 -0
- package/dist/components/Navigation/utils.d.ts +3 -0
- package/dist/components/Navigation/utils.js +69 -0
- package/dist/components/Navigation/utils.js.map +1 -0
- package/dist/components/NumberIncrement/index.d.ts +5 -0
- package/dist/components/NumberIncrement/index.js +263 -0
- package/dist/components/NumberIncrement/index.js.map +1 -0
- package/dist/components/NumberIncrement/styles.d.ts +4 -0
- package/dist/components/NumberIncrement/styles.js +3 -0
- package/dist/components/NumberIncrement/styles.js.map +1 -0
- package/dist/components/NumberIncrement/types.d.ts +34 -0
- package/dist/components/NumberIncrement/types.js +3 -0
- package/dist/components/NumberIncrement/types.js.map +1 -0
- package/dist/components/NumberIncrement/utils.d.ts +5 -0
- package/dist/components/NumberIncrement/utils.js +27 -0
- package/dist/components/NumberIncrement/utils.js.map +1 -0
- package/dist/components/Pager/PagerDots.d.ts +16 -0
- package/dist/components/Pager/PagerDots.js +58 -0
- package/dist/components/Pager/PagerDots.js.map +1 -0
- package/dist/components/Pager/index.d.ts +14 -0
- package/dist/components/Pager/index.js +127 -0
- package/dist/components/Pager/index.js.map +1 -0
- package/dist/components/Pager/styles.d.ts +4 -0
- package/dist/components/Pager/styles.js +3 -0
- package/dist/components/Pager/styles.js.map +1 -0
- package/dist/components/Pager/types.d.ts +25 -0
- package/dist/components/Pager/types.js +3 -0
- package/dist/components/Pager/types.js.map +1 -0
- package/dist/components/PaginationIndicator/index.d.ts +11 -0
- package/dist/components/PaginationIndicator/index.js +49 -0
- package/dist/components/PaginationIndicator/index.js.map +1 -0
- package/dist/components/PaginationIndicator/styles.d.ts +2 -0
- package/dist/components/PaginationIndicator/styles.js +3 -0
- package/dist/components/PaginationIndicator/styles.js.map +1 -0
- package/dist/components/PaginationIndicator/types.d.ts +10 -0
- package/dist/components/PaginationIndicator/types.js +3 -0
- package/dist/components/PaginationIndicator/types.js.map +1 -0
- package/dist/components/PlacesAutocomplete/index.d.ts +19 -0
- package/dist/components/PlacesAutocomplete/index.js +127 -0
- package/dist/components/PlacesAutocomplete/index.js.map +1 -0
- package/dist/components/PlacesAutocomplete/styles.d.ts +4 -0
- package/dist/components/PlacesAutocomplete/styles.js +3 -0
- package/dist/components/PlacesAutocomplete/styles.js.map +1 -0
- package/dist/components/PlacesAutocomplete/types.d.ts +41 -0
- package/dist/components/PlacesAutocomplete/types.js +3 -0
- package/dist/components/PlacesAutocomplete/types.js.map +1 -0
- package/dist/components/RadioInput/index.d.ts +13 -0
- package/dist/components/RadioInput/index.js +123 -0
- package/dist/components/RadioInput/index.js.map +1 -0
- package/dist/components/RadioInput/styles.d.ts +6 -0
- package/dist/components/RadioInput/styles.js +3 -0
- package/dist/components/RadioInput/styles.js.map +1 -0
- package/dist/components/RadioInput/types.d.ts +27 -0
- package/dist/components/RadioInput/types.js +3 -0
- package/dist/components/RadioInput/types.js.map +1 -0
- package/dist/components/RefreshControl/index.d.ts +13 -0
- package/dist/components/RefreshControl/index.js +67 -0
- package/dist/components/RefreshControl/index.js.map +1 -0
- package/dist/components/RefreshControl/styles.d.ts +1 -0
- package/dist/components/RefreshControl/styles.js +3 -0
- package/dist/components/RefreshControl/styles.js.map +1 -0
- package/dist/components/RefreshControl/types.d.ts +6 -0
- package/dist/components/RefreshControl/types.js +3 -0
- package/dist/components/RefreshControl/types.js.map +1 -0
- package/dist/components/Scroll/index.d.ts +5 -0
- package/dist/components/Scroll/index.js +108 -0
- package/dist/components/Scroll/index.js.map +1 -0
- package/dist/components/Scroll/styles.d.ts +1 -0
- package/dist/components/Scroll/styles.js +3 -0
- package/dist/components/Scroll/styles.js.map +1 -0
- package/dist/components/Scroll/types.d.ts +16 -0
- package/dist/components/Scroll/types.js +3 -0
- package/dist/components/Scroll/types.js.map +1 -0
- package/dist/components/SearchInput/index.d.ts +15 -0
- package/dist/components/SearchInput/index.js +93 -0
- package/dist/components/SearchInput/index.js.map +1 -0
- package/dist/components/Sections/index.d.ts +5 -0
- package/dist/components/Sections/index.js +118 -0
- package/dist/components/Sections/index.js.map +1 -0
- package/dist/components/Sections/styles.d.ts +1 -0
- package/dist/components/Sections/styles.js +3 -0
- package/dist/components/Sections/styles.js.map +1 -0
- package/dist/components/Sections/types.d.ts +34 -0
- package/dist/components/Sections/types.js +3 -0
- package/dist/components/Sections/types.js.map +1 -0
- package/dist/components/SegmentedControl/Option.d.ts +18 -0
- package/dist/components/SegmentedControl/Option.js +44 -0
- package/dist/components/SegmentedControl/Option.js.map +1 -0
- package/dist/components/SegmentedControl/index.d.ts +5 -0
- package/dist/components/SegmentedControl/index.js +174 -0
- package/dist/components/SegmentedControl/index.js.map +1 -0
- package/dist/components/SegmentedControl/styles.d.ts +8 -0
- package/dist/components/SegmentedControl/styles.js +3 -0
- package/dist/components/SegmentedControl/styles.js.map +1 -0
- package/dist/components/SegmentedControl/types.d.ts +34 -0
- package/dist/components/SegmentedControl/types.js +3 -0
- package/dist/components/SegmentedControl/types.js.map +1 -0
- package/dist/components/Select/index.d.ts +13 -0
- package/dist/components/Select/index.js +259 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/styles.d.ts +9 -0
- package/dist/components/Select/styles.js +3 -0
- package/dist/components/Select/styles.js.map +1 -0
- package/dist/components/Select/types.d.ts +77 -0
- package/dist/components/Select/types.js +3 -0
- package/dist/components/Select/types.js.map +1 -0
- package/dist/components/Slider/index.d.ts +13 -0
- package/dist/components/Slider/index.js +183 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Slider/styles.d.ts +11 -0
- package/dist/components/Slider/styles.js +3 -0
- package/dist/components/Slider/styles.js.map +1 -0
- package/dist/components/Slider/types.d.ts +22 -0
- package/dist/components/Slider/types.js +3 -0
- package/dist/components/Slider/types.js.map +1 -0
- package/dist/components/SortablePhotos/index.d.ts +13 -0
- package/dist/components/SortablePhotos/index.js +125 -0
- package/dist/components/SortablePhotos/index.js.map +1 -0
- package/dist/components/SortablePhotos/styles.d.ts +2 -0
- package/dist/components/SortablePhotos/styles.js +3 -0
- package/dist/components/SortablePhotos/styles.js.map +1 -0
- package/dist/components/SortablePhotos/types.d.ts +54 -0
- package/dist/components/SortablePhotos/types.js +3 -0
- package/dist/components/SortablePhotos/types.js.map +1 -0
- package/dist/components/SortablePhotos/useSortablePhotos.d.ts +21 -0
- package/dist/components/SortablePhotos/useSortablePhotos.js +192 -0
- package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -0
- package/dist/components/Switch/index.d.ts +13 -0
- package/dist/components/Switch/index.js +115 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Switch/styles.d.ts +7 -0
- package/dist/components/Switch/styles.js +3 -0
- package/dist/components/Switch/styles.js.map +1 -0
- package/dist/components/Switch/types.d.ts +9 -0
- package/dist/components/Switch/types.js +3 -0
- package/dist/components/Switch/types.js.map +1 -0
- package/dist/components/Text/index.d.ts +7 -0
- package/dist/components/Text/index.js +127 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/Text/styles.d.ts +6 -0
- package/dist/components/Text/styles.js +3 -0
- package/dist/components/Text/styles.js.map +1 -0
- package/dist/components/Text/types.d.ts +16 -0
- package/dist/components/Text/types.js +3 -0
- package/dist/components/Text/types.js.map +1 -0
- package/dist/components/TextInput/index.d.ts +5 -0
- package/dist/components/TextInput/index.js +181 -0
- package/dist/components/TextInput/index.js.map +1 -0
- package/dist/components/TextInput/styles.d.ts +5 -0
- package/dist/components/TextInput/styles.js +3 -0
- package/dist/components/TextInput/styles.js.map +1 -0
- package/dist/components/TextInput/types.d.ts +21 -0
- package/dist/components/TextInput/types.js +3 -0
- package/dist/components/TextInput/types.js.map +1 -0
- package/dist/components/Touchable/index.d.ts +5 -0
- package/dist/components/Touchable/index.js +220 -0
- package/dist/components/Touchable/index.js.map +1 -0
- package/dist/components/Touchable/styles.d.ts +6 -0
- package/dist/components/Touchable/styles.js +3 -0
- package/dist/components/Touchable/styles.js.map +1 -0
- package/dist/components/Touchable/types.d.ts +25 -0
- package/dist/components/Touchable/types.js +3 -0
- package/dist/components/Touchable/types.js.map +1 -0
- package/dist/components/View/index.d.ts +13 -0
- package/dist/components/View/index.js +53 -0
- package/dist/components/View/index.js.map +1 -0
- package/dist/components/View/styles.d.ts +1 -0
- package/dist/components/View/styles.js +3 -0
- package/dist/components/View/styles.js.map +1 -0
- package/dist/components/View/types.d.ts +13 -0
- package/dist/components/View/types.js +3 -0
- package/dist/components/View/types.js.map +1 -0
- package/dist/components/components.d.ts +42 -0
- package/dist/components/components.js +59 -0
- package/dist/components/components.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +15 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/PressableRipple/index.d.ts +2 -0
- package/dist/modules/PressableRipple/index.js +9 -0
- package/dist/modules/PressableRipple/index.js.map +1 -0
- package/dist/modules/PressableRipple/ripple.d.ts +30 -0
- package/dist/modules/PressableRipple/ripple.js +213 -0
- package/dist/modules/PressableRipple/ripple.js.map +1 -0
- package/dist/modules/PressableRipple/styles.d.ts +19 -0
- package/dist/modules/PressableRipple/styles.js +29 -0
- package/dist/modules/PressableRipple/styles.js.map +1 -0
- package/dist/modules/PressableRipple/type.d.ts +12 -0
- package/dist/modules/PressableRipple/type.js +3 -0
- package/dist/modules/PressableRipple/type.js.map +1 -0
- package/dist/modules/reactNavigation.d.ts +21 -0
- package/dist/modules/reactNavigation.js +25 -0
- package/dist/modules/reactNavigation.js.map +1 -0
- package/dist/modules/textInputMask.d.ts +6 -0
- package/dist/modules/textInputMask.js +21 -0
- package/dist/modules/textInputMask.js.map +1 -0
- package/dist/modules/types/textInputMask.d.ts +7 -0
- package/dist/modules/types/textInputMask.js +3 -0
- package/dist/modules/types/textInputMask.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utility.d.ts +14 -0
- package/dist/types/utility.js +3 -0
- package/dist/types/utility.js.map +1 -0
- package/dist/utils/KeyboardAware/context.d.ts +14 -0
- package/dist/utils/KeyboardAware/context.js +28 -0
- package/dist/utils/KeyboardAware/context.js.map +1 -0
- package/dist/utils/KeyboardAware/index.d.ts +3 -0
- package/dist/utils/KeyboardAware/index.js +20 -0
- package/dist/utils/KeyboardAware/index.js.map +1 -0
- package/dist/utils/KeyboardAware/keyboardHooks.d.ts +21 -0
- package/dist/utils/KeyboardAware/keyboardHooks.js +82 -0
- package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -0
- package/dist/utils/KeyboardAware/types.d.ts +1 -0
- package/dist/utils/KeyboardAware/types.js +7 -0
- package/dist/utils/KeyboardAware/types.js.map +1 -0
- package/dist/utils/ModalManager/components.d.ts +15 -0
- package/dist/utils/ModalManager/components.js +83 -0
- package/dist/utils/ModalManager/components.js.map +1 -0
- package/dist/utils/ModalManager/context.d.ts +48 -0
- package/dist/utils/ModalManager/context.js +184 -0
- package/dist/utils/ModalManager/context.js.map +1 -0
- package/dist/utils/ModalManager/index.d.ts +10 -0
- package/dist/utils/ModalManager/index.js +12 -0
- package/dist/utils/ModalManager/index.js.map +1 -0
- package/dist/utils/NotificationManager/index.d.ts +55 -0
- package/dist/utils/NotificationManager/index.js +304 -0
- package/dist/utils/NotificationManager/index.js.map +1 -0
- package/dist/utils/NotificationManager/types.d.ts +16 -0
- package/dist/utils/NotificationManager/types.js +3 -0
- package/dist/utils/NotificationManager/types.js.map +1 -0
- package/dist/utils/OSAlert.d.ts +32 -0
- package/dist/utils/OSAlert.js +143 -0
- package/dist/utils/OSAlert.js.map +1 -0
- package/dist/utils/PermissionManager/context.d.ts +53 -0
- package/dist/utils/PermissionManager/context.js +324 -0
- package/dist/utils/PermissionManager/context.js.map +1 -0
- package/dist/utils/PermissionManager/index.d.ts +4 -0
- package/dist/utils/PermissionManager/index.js +9 -0
- package/dist/utils/PermissionManager/index.js.map +1 -0
- package/dist/utils/PermissionManager/types.d.ts +16 -0
- package/dist/utils/PermissionManager/types.js +3 -0
- package/dist/utils/PermissionManager/types.js.map +1 -0
- package/dist/utils/StorageManager.d.ts +20 -0
- package/dist/utils/StorageManager.js +86 -0
- package/dist/utils/StorageManager.js.map +1 -0
- package/dist/utils/Subscription.d.ts +17 -0
- package/dist/utils/Subscription.js +72 -0
- package/dist/utils/Subscription.js.map +1 -0
- package/dist/utils/deprecated/notifications.d.ts +40 -0
- package/dist/utils/deprecated/notifications.js +274 -0
- package/dist/utils/deprecated/notifications.js.map +1 -0
- package/dist/utils/hooks.d.ts +68 -0
- package/dist/utils/hooks.js +228 -0
- package/dist/utils/hooks.js.map +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.js +44 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/input.d.ts +35 -0
- package/dist/utils/input.js +49 -0
- package/dist/utils/input.js.map +1 -0
- package/dist/utils/locale.d.ts +1 -0
- package/dist/utils/locale.js +10 -0
- package/dist/utils/locale.js.map +1 -0
- package/dist/utils/misc.d.ts +12 -0
- package/dist/utils/misc.js +124 -0
- package/dist/utils/misc.js.map +1 -0
- package/dist/utils/theme.d.ts +23 -0
- package/dist/utils/theme.js +41 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/utils/useQueryListRefresh.d.ts +12 -0
- package/dist/utils/useQueryListRefresh.js +42 -0
- package/dist/utils/useQueryListRefresh.js.map +1 -0
- package/package.json +15 -13
- package/package.json.bak +53 -0
- package/src/components/Badge/index.tsx +3 -3
- package/src/components/DatePickerModal/index.tsx +3 -2
- package/src/components/FileInput/index.tsx +7 -7
- package/src/components/FileInput/types.ts +1 -1
- package/src/components/Image/index.tsx +1 -1
- package/src/components/Image/types.ts +1 -1
- package/src/components/NumberIncrement/index.tsx +21 -3
- package/src/components/NumberIncrement/types.ts +1 -0
- package/src/components/Pager/PagerDots.tsx +56 -0
- package/src/components/Pager/index.tsx +85 -173
- package/src/components/Pager/styles.ts +6 -1
- package/src/components/Pager/types.ts +16 -26
- package/src/components/PlacesAutocomplete/index.tsx +154 -0
- package/src/components/PlacesAutocomplete/styles.ts +12 -0
- package/src/components/PlacesAutocomplete/types.ts +42 -0
- package/src/components/Select/index.tsx +9 -13
- package/src/components/SortablePhotos/index.tsx +170 -0
- package/src/components/SortablePhotos/styles.ts +9 -0
- package/src/components/SortablePhotos/types.ts +58 -0
- package/src/components/SortablePhotos/useSortablePhotos.ts +174 -0
- package/src/components/Text/index.tsx +1 -1
- package/src/components/Text/types.ts +3 -2
- package/src/components/TextInput/index.tsx +8 -0
- package/src/components/TextInput/types.ts +2 -0
- package/src/components/components.ts +2 -0
- package/src/modules/PressableRipple/ripple.js +61 -61
- package/src/utils/StorageManager.ts +112 -0
- package/src/utils/hooks.ts +2 -51
- package/src/utils/index.ts +2 -1
- package/src/utils/misc.ts +41 -2
- package/src/utils/theme.ts +13 -9
|
@@ -11,6 +11,7 @@ import { NumberIncrementProps } from './types'
|
|
|
11
11
|
import { AnyRecord, AppIcon, IJSX, StyledComponentProps, StyledComponentWithProps } from '@codeleap/styles'
|
|
12
12
|
import { MobileStyleRegistry } from '../../Registry'
|
|
13
13
|
import { useStylesFor } from '../../hooks'
|
|
14
|
+
import CurrencyInput from 'react-native-currency-input'
|
|
14
15
|
|
|
15
16
|
export * from './styles'
|
|
16
17
|
export * from './types'
|
|
@@ -58,6 +59,7 @@ export const NumberIncrement = forwardRef<NativeTextInput, NumberIncrementProps>
|
|
|
58
59
|
timeoutActionFocus,
|
|
59
60
|
mask,
|
|
60
61
|
actionDebounce,
|
|
62
|
+
precision,
|
|
61
63
|
...textInputProps
|
|
62
64
|
} = others
|
|
63
65
|
|
|
@@ -73,11 +75,13 @@ export const NumberIncrement = forwardRef<NativeTextInput, NumberIncrementProps>
|
|
|
73
75
|
|
|
74
76
|
const isFormatted = TypeGuards.isFunction(formatter)
|
|
75
77
|
|
|
76
|
-
const hasMaskProps = [masking,
|
|
78
|
+
const hasMaskProps = [masking, mask].some(v => !!v)
|
|
79
|
+
const hasCurrencyProps = [prefix, suffix, delimiter, separator, precision].some(v => !!v)
|
|
77
80
|
|
|
78
|
-
const
|
|
81
|
+
const isCurrency = hasCurrencyProps
|
|
82
|
+
const isMasked = hasMaskProps && !isFormatted && !isCurrency
|
|
79
83
|
|
|
80
|
-
const InputElement = isMasked ? MaskedTextInput : NativeTextInput
|
|
84
|
+
const InputElement: any = isMasked ? MaskedTextInput : isCurrency ? CurrencyInput : NativeTextInput
|
|
81
85
|
|
|
82
86
|
// @ts-expect-error - React's ref type system is weird
|
|
83
87
|
useImperativeHandle(inputRef, () => {
|
|
@@ -219,6 +223,19 @@ export const NumberIncrement = forwardRef<NativeTextInput, NumberIncrementProps>
|
|
|
219
223
|
},
|
|
220
224
|
} : {}
|
|
221
225
|
|
|
226
|
+
const currencyExtraProps = isCurrency ? {
|
|
227
|
+
value,
|
|
228
|
+
onChangeText: null,
|
|
229
|
+
onChangeValue: onChange,
|
|
230
|
+
prefix: prefix,
|
|
231
|
+
separator: separator ?? '.',
|
|
232
|
+
suffix: suffix,
|
|
233
|
+
delimiter: delimiter ?? ',',
|
|
234
|
+
minValue: min,
|
|
235
|
+
maxValue: max,
|
|
236
|
+
precision,
|
|
237
|
+
} : {}
|
|
238
|
+
|
|
222
239
|
const onPressInnerWrapper = () => {
|
|
223
240
|
handleFocus()
|
|
224
241
|
if (editable) innerInputRef.current?.focus?.()
|
|
@@ -270,6 +287,7 @@ export const NumberIncrement = forwardRef<NativeTextInput, NumberIncrementProps>
|
|
|
270
287
|
style={inputTextStyle}
|
|
271
288
|
ref={innerInputRef}
|
|
272
289
|
{...maskingExtraProps}
|
|
290
|
+
{...currencyExtraProps}
|
|
273
291
|
/>
|
|
274
292
|
) : (
|
|
275
293
|
<Text
|
|
@@ -26,6 +26,7 @@ export type NumberIncrementProps =
|
|
|
26
26
|
suffix?: MaskOptions['suffixUnit']
|
|
27
27
|
separator?: MaskOptions['separator']
|
|
28
28
|
delimiter?: MaskOptions['delimiter']
|
|
29
|
+
precision?: number
|
|
29
30
|
mask?: MaskOptions['mask']
|
|
30
31
|
formatter?: (value: string | number) => string
|
|
31
32
|
parseValue?: (value: string) => number
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AnyFunction, StylesOf } from '@codeleap/common'
|
|
2
|
+
import Animated, { useAnimatedStyle } from 'react-native-reanimated'
|
|
3
|
+
import { Touchable } from '../Touchable'
|
|
4
|
+
import { View } from '../View'
|
|
5
|
+
import { DotComposition } from './styles'
|
|
6
|
+
|
|
7
|
+
export type PagerDot = {
|
|
8
|
+
onPress: AnyFunction
|
|
9
|
+
isActive: boolean
|
|
10
|
+
index: number
|
|
11
|
+
styles: StylesOf<DotComposition>
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function Dot({ onPress, isActive, index, styles }: PagerDot) {
|
|
15
|
+
const animation = useAnimatedStyle(() => {
|
|
16
|
+
const scale = isActive ? 1 : 0.6
|
|
17
|
+
return {
|
|
18
|
+
transform: [{ scale }],
|
|
19
|
+
...(isActive ? styles['dot:active'] : styles.dot),
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<Touchable
|
|
25
|
+
debugName={`default-pager-dot-touchable-${index}`}
|
|
26
|
+
onPress={onPress}
|
|
27
|
+
noFeedback
|
|
28
|
+
style={[styles.touchable, isActive && styles['touchable:active']]}
|
|
29
|
+
>
|
|
30
|
+
<Animated.View style={[animation, styles.dot]} />
|
|
31
|
+
</Touchable>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type PagerDots = {
|
|
36
|
+
styles: StylesOf<DotComposition>
|
|
37
|
+
currentPage: number
|
|
38
|
+
setCurrentPage: (page: number) => void
|
|
39
|
+
pages: Array<any>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function PagerDots({ styles, currentPage, setCurrentPage, pages }: PagerDots) {
|
|
43
|
+
return (
|
|
44
|
+
<View style={styles.wrapper}>
|
|
45
|
+
{pages?.map((_, i) => (
|
|
46
|
+
<Dot
|
|
47
|
+
key={`default-pager-dots-index-${i}`}
|
|
48
|
+
index={i}
|
|
49
|
+
onPress={() => setCurrentPage(i)}
|
|
50
|
+
isActive={i === currentPage}
|
|
51
|
+
styles={styles}
|
|
52
|
+
/>
|
|
53
|
+
))}
|
|
54
|
+
</View>
|
|
55
|
+
)
|
|
56
|
+
}
|
|
@@ -1,207 +1,119 @@
|
|
|
1
|
-
import React, { useCallback, useRef } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import React, { useCallback, useRef, useState } from 'react'
|
|
2
|
+
import { ReduceMotion } from 'react-native-reanimated'
|
|
3
|
+
import Carousel, { ICarouselInstance } from 'react-native-reanimated-carousel'
|
|
4
|
+
import { CarouselRenderItemInfo, TCarouselProps } from 'react-native-reanimated-carousel/lib/typescript/types'
|
|
5
|
+
import { Dimensions, LayoutChangeEvent } from 'react-native'
|
|
6
|
+
import { onUpdate, TypeGuards, useConditionalState } from '@codeleap/common'
|
|
7
|
+
import { AnyRecord, IJSX, StyledComponentProps, useNestedStylesByKey } from '@codeleap/styles'
|
|
8
|
+
import { useStylesFor } from '../../hooks'
|
|
5
9
|
import { MobileStyleRegistry } from '../../Registry'
|
|
6
10
|
import { View } from '../View'
|
|
7
|
-
import { PageProps, PagerProps
|
|
8
|
-
import {
|
|
11
|
+
import { PageProps, PagerProps } from './types'
|
|
12
|
+
import { PagerDots } from './PagerDots'
|
|
9
13
|
|
|
10
14
|
export * from './styles'
|
|
11
15
|
export * from './types'
|
|
16
|
+
export * from './PagerDots'
|
|
17
|
+
|
|
18
|
+
const window = Dimensions.get('window')
|
|
12
19
|
|
|
13
|
-
export
|
|
20
|
+
export function Pager<T>(props: PagerProps<T>) {
|
|
14
21
|
const {
|
|
15
|
-
|
|
22
|
+
pages,
|
|
16
23
|
page,
|
|
24
|
+
onChangePage,
|
|
25
|
+
initialPage,
|
|
17
26
|
style,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
scrollLeftEnabled,
|
|
26
|
-
scrollRightEnabled,
|
|
27
|
-
onScroll,
|
|
28
|
-
scrollDirectionThrottle,
|
|
29
|
-
onSwipeLastPage,
|
|
30
|
-
waitEventDispatchTimeout,
|
|
27
|
+
showDots,
|
|
28
|
+
renderItem: RenderItem,
|
|
29
|
+
footer,
|
|
30
|
+
width: carouselWidth,
|
|
31
|
+
height: carouselHeight,
|
|
32
|
+
autoCalculateFooterHeight,
|
|
33
|
+
...rest
|
|
31
34
|
} = {
|
|
32
35
|
...Pager.defaultProps,
|
|
33
|
-
...
|
|
36
|
+
...props,
|
|
34
37
|
}
|
|
35
38
|
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const [
|
|
39
|
-
const [scrollPositionX, setScrollPositionX] = React.useState(0)
|
|
40
|
-
const [_scrollEnabled, setScrollEnabled] = React.useState(true)
|
|
41
|
-
const waitEventDispatch = useRef(false)
|
|
39
|
+
const [currentPage, setCurrentPage] = useConditionalState(page, onChangePage, { initialValue: initialPage })
|
|
40
|
+
const carouselRef = useRef<ICarouselInstance>(null)
|
|
41
|
+
const [footerHeight, setFooterHeight] = useState(0)
|
|
42
42
|
|
|
43
43
|
const styles = useStylesFor(Pager.styleRegistryName, style)
|
|
44
|
+
const dotStyles = useNestedStylesByKey('dot', styles)
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const WrapperComponent = renderPageWrapper || View
|
|
61
|
-
|
|
62
|
-
const hasScrollDirectionDisabled = !scrollLeftEnabled || !scrollRightEnabled
|
|
63
|
-
|
|
64
|
-
const handleScrollEnd = useCallback((event: ScrollEvent) => {
|
|
65
|
-
if (!scrollEnabled) return null
|
|
66
|
-
|
|
67
|
-
if (waitEventDispatch.current === true) return null
|
|
68
|
-
|
|
69
|
-
waitEventDispatch.current = true
|
|
70
|
-
|
|
71
|
-
const x = event?.nativeEvent.contentOffset.x
|
|
72
|
-
const toPage = Math.floor(((Math.round(x)) / Math.round(width)))
|
|
73
|
-
|
|
74
|
-
const length = childArr.length - 1
|
|
75
|
-
|
|
76
|
-
if (toPage >= length && TypeGuards.isFunction(onSwipeLastPage) && page >= length) {
|
|
77
|
-
onSwipeLastPage?.(event)
|
|
78
|
-
} else if (toPage !== page && toPage <= length) {
|
|
79
|
-
setPage(toPage)
|
|
80
|
-
setPositionX(toPage * width)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
setTimeout(() => {
|
|
84
|
-
waitEventDispatch.current = false
|
|
85
|
-
}, waitEventDispatchTimeout)
|
|
86
|
-
}, [childArr, page, setPage, waitEventDispatch.current])
|
|
87
|
-
|
|
88
|
-
const handleScroll = (event: ScrollEvent) => {
|
|
89
|
-
const scrollX = event?.nativeEvent?.contentOffset?.x
|
|
90
|
-
|
|
91
|
-
if (!scrollEnabled) {
|
|
92
|
-
if (TypeGuards.isFunction(onScroll)) onScroll?.(event, { x: scrollX })
|
|
93
|
-
return null
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (!_scrollEnabled) {
|
|
97
|
-
setScrollPositionX(scrollX)
|
|
98
|
-
return null
|
|
46
|
+
onUpdate(() => {
|
|
47
|
+
carouselRef.current?.scrollTo({ index: currentPage, animated: true })
|
|
48
|
+
}, [currentPage])
|
|
49
|
+
|
|
50
|
+
const renderItem = useCallback(({ item, index, animationValue }: CarouselRenderItemInfo<any>) => {
|
|
51
|
+
const itemProps: Omit<PageProps<T>, 'item'> = {
|
|
52
|
+
isFirst: index === 0,
|
|
53
|
+
isLast: index === pages?.length - 1,
|
|
54
|
+
isOnly: pages?.length === 1,
|
|
55
|
+
isActive: index === currentPage,
|
|
56
|
+
isNext: index === currentPage + 1,
|
|
57
|
+
isPrevious: index === currentPage - 1,
|
|
58
|
+
index,
|
|
59
|
+
animationValue,
|
|
99
60
|
}
|
|
100
61
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (TypeGuards.isFunction(onScroll)) onScroll?.(event, { isLeft, isRight, x: scrollX })
|
|
105
|
-
|
|
106
|
-
if (hasScrollDirectionDisabled) {
|
|
107
|
-
if (isRight && !scrollRightEnabled || isLeft && !scrollLeftEnabled) {
|
|
108
|
-
setScrollEnabled(false)
|
|
109
|
-
|
|
110
|
-
setTimeout(() => {
|
|
111
|
-
scrollRef.current.scrollTo({
|
|
112
|
-
x: positionX,
|
|
113
|
-
animated: true,
|
|
114
|
-
})
|
|
115
|
-
|
|
116
|
-
setTimeout(() => {
|
|
117
|
-
setScrollEnabled(true)
|
|
118
|
-
}, scrollDirectionThrottle)
|
|
119
|
-
})
|
|
120
|
-
}
|
|
62
|
+
if (TypeGuards.isFunction(item)) {
|
|
63
|
+
const ItemComponent = item
|
|
64
|
+
return <ItemComponent {...itemProps} />
|
|
121
65
|
}
|
|
122
66
|
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
onUpdate(() => {
|
|
127
|
-
const x = width * page
|
|
128
|
-
if (scrollRef.current && x !== positionX) {
|
|
129
|
-
scrollRef.current.scrollTo({
|
|
130
|
-
x,
|
|
131
|
-
animated: true,
|
|
132
|
-
})
|
|
133
|
-
setPositionX(x)
|
|
134
|
-
}
|
|
135
|
-
}, [page])
|
|
67
|
+
return <RenderItem {...itemProps} item={item} />
|
|
68
|
+
}, [RenderItem, pages?.length, currentPage])
|
|
136
69
|
|
|
137
70
|
return (
|
|
138
|
-
<
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
isNext,
|
|
168
|
-
isPrevious,
|
|
169
|
-
index,
|
|
170
|
-
page,
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
const content = typeof child === 'function' ? child(pageProps) : child
|
|
174
|
-
|
|
175
|
-
const wrapperProps = {
|
|
176
|
-
key: index,
|
|
177
|
-
...pageWrapperProps,
|
|
178
|
-
style: [{ height: '100%', width }, styles?.page],
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return <WrapperComponent {...wrapperProps}>{content}</WrapperComponent>
|
|
182
|
-
})}
|
|
183
|
-
</ScrollView>
|
|
71
|
+
<View style={styles.wrapper}>
|
|
72
|
+
<Carousel
|
|
73
|
+
data={pages}
|
|
74
|
+
withAnimation={{
|
|
75
|
+
type: 'timing',
|
|
76
|
+
config: {
|
|
77
|
+
reduceMotion: ReduceMotion.Never,
|
|
78
|
+
},
|
|
79
|
+
}}
|
|
80
|
+
autoPlay={false}
|
|
81
|
+
ref={carouselRef}
|
|
82
|
+
loop={false}
|
|
83
|
+
defaultIndex={initialPage}
|
|
84
|
+
onSnapToItem={setCurrentPage}
|
|
85
|
+
maxScrollDistancePerSwipe={carouselWidth}
|
|
86
|
+
width={carouselWidth}
|
|
87
|
+
height={carouselHeight - (autoCalculateFooterHeight ? footerHeight : 0)}
|
|
88
|
+
renderItem={renderItem}
|
|
89
|
+
{...rest as TCarouselProps<T>}
|
|
90
|
+
style={styles.carousel}
|
|
91
|
+
/>
|
|
92
|
+
|
|
93
|
+
<View onLayout={(event: LayoutChangeEvent) => setFooterHeight(event.nativeEvent.layout.height)} style={styles.footerWrapper}>
|
|
94
|
+
{/* {footer} */}
|
|
95
|
+
{showDots ? (
|
|
96
|
+
<PagerDots currentPage={currentPage} pages={pages} setCurrentPage={setCurrentPage} styles={dotStyles} />
|
|
97
|
+
) : null}
|
|
98
|
+
</View>
|
|
99
|
+
</View>
|
|
184
100
|
)
|
|
185
101
|
}
|
|
186
102
|
|
|
187
103
|
Pager.styleRegistryName = 'Pager'
|
|
188
|
-
Pager.elements = ['
|
|
104
|
+
Pager.elements = ['carousel', 'wrapper', 'footerWrapper', 'dot']
|
|
189
105
|
Pager.rootElement = 'wrapper'
|
|
190
106
|
|
|
191
107
|
Pager.withVariantTypes = <S extends AnyRecord>(styles: S) => {
|
|
192
|
-
return Pager as (props: StyledComponentProps<PagerProps
|
|
108
|
+
return Pager as <T >(props: StyledComponentProps<PagerProps<T>, typeof styles>) => IJSX
|
|
193
109
|
}
|
|
194
110
|
|
|
195
111
|
Pager.defaultProps = {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
scrollLeftEnabled: true,
|
|
203
|
-
scrollDirectionThrottle: 650,
|
|
204
|
-
waitEventDispatchTimeout: 250,
|
|
205
|
-
} as Partial<PagerProps>
|
|
112
|
+
width: window.width,
|
|
113
|
+
height: window.height,
|
|
114
|
+
showDots: true,
|
|
115
|
+
autoCalculateFooterHeight: true,
|
|
116
|
+
initialPage: 0,
|
|
117
|
+
} as Partial<PagerProps<unknown>>
|
|
206
118
|
|
|
207
119
|
MobileStyleRegistry.registerComponent(Pager)
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
export type DotStates = '' | 'active'
|
|
1
2
|
|
|
2
|
-
export type
|
|
3
|
+
export type DotParts = 'wrapper' | `touchable` | `dot`
|
|
4
|
+
|
|
5
|
+
export type DotComposition = DotParts | `${DotParts}:${DotStates}`
|
|
6
|
+
|
|
7
|
+
export type PagerComposition = 'carousel' | 'wrapper' | 'footerWrapper' | `dot${Capitalize<DotParts>}`
|
|
@@ -1,37 +1,27 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react'
|
|
1
2
|
import { StyledProp } from '@codeleap/styles'
|
|
2
|
-
import { ReactNode } from 'react'
|
|
3
|
-
import { NativeScrollEvent, NativeSyntheticEvent, ScrollViewProps } from 'react-native'
|
|
4
3
|
import { PagerComposition } from './styles'
|
|
4
|
+
import { TCarouselProps } from 'react-native-reanimated-carousel'
|
|
5
|
+
import { CarouselRenderItemInfo } from 'react-native-reanimated-carousel/lib/typescript/types'
|
|
5
6
|
|
|
6
|
-
export type PageProps = {
|
|
7
|
+
export type PageProps<T> = CarouselRenderItemInfo<T> & {
|
|
7
8
|
isLast: boolean
|
|
8
9
|
isFirst: boolean
|
|
9
10
|
isActive: boolean
|
|
11
|
+
isOnly: boolean
|
|
10
12
|
isNext: boolean
|
|
11
|
-
page: number
|
|
12
13
|
index: number
|
|
13
14
|
isPrevious: boolean
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
export type
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
width?: number
|
|
28
|
-
onScroll?: (event: ScrollEvent, args: { isLeft?: boolean; isRight?: boolean; x?: number }) => void
|
|
29
|
-
/** If TRUE render page, nextPage and prevPage only */
|
|
30
|
-
windowing?: boolean
|
|
31
|
-
scrollRightEnabled?: boolean
|
|
32
|
-
scrollLeftEnabled?: boolean
|
|
33
|
-
scrollDirectionThrottle?: number
|
|
34
|
-
onSwipeLastPage?: (event: ScrollEvent) => void
|
|
35
|
-
waitEventDispatchTimeout?: number
|
|
36
|
-
style?: StyledProp<PagerComposition>
|
|
37
|
-
}
|
|
17
|
+
export type PagerProps<T> = Partial<Omit<TCarouselProps<T>, 'data' | 'renderItem'>> & {
|
|
18
|
+
pages: TCarouselProps<T>['data']
|
|
19
|
+
renderItem?: (props: PageProps<T>) => JSX.Element
|
|
20
|
+
page?: number
|
|
21
|
+
onChangePage?: (page: number) => void
|
|
22
|
+
initialPage?: number
|
|
23
|
+
style?: StyledProp<PagerComposition>
|
|
24
|
+
showDots?: boolean
|
|
25
|
+
footer?: ReactNode
|
|
26
|
+
autoCalculateFooterHeight?: boolean
|
|
27
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import React, { useCallback } from 'react'
|
|
2
|
+
import { AnyRecord, AppIcon, IJSX, StyledComponentProps, useCompositionStyles } from '@codeleap/styles'
|
|
3
|
+
import { useStylesFor } from '../../hooks'
|
|
4
|
+
import { Text } from '../Text'
|
|
5
|
+
import { View } from '../View'
|
|
6
|
+
import { PlaceItem, PlacesAutocompleteProps } from './types'
|
|
7
|
+
import { MobileStyleRegistry } from '../../Registry'
|
|
8
|
+
import { TextInput } from '../TextInput'
|
|
9
|
+
import { List } from '../List'
|
|
10
|
+
import { Touchable } from '../Touchable'
|
|
11
|
+
import { EmptyPlaceholder } from '../EmptyPlaceholder'
|
|
12
|
+
import { ActivityIndicator } from '../ActivityIndicator'
|
|
13
|
+
import { usePlacesAutocompleteUtils } from '@codeleap/common'
|
|
14
|
+
|
|
15
|
+
export * from './styles'
|
|
16
|
+
export * from './types'
|
|
17
|
+
|
|
18
|
+
const DefaultPlaceRow: PlacesAutocompleteProps['renderPlaceRow'] = (props) => {
|
|
19
|
+
const { item, onPress, styles } = props
|
|
20
|
+
|
|
21
|
+
if (item?.content) {
|
|
22
|
+
return item?.content
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const isLatLng = !!item?.formatted_address
|
|
26
|
+
|
|
27
|
+
const mainTitle = isLatLng ? item?.formatted_address : item?.description
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<Touchable onPress={() => onPress(mainTitle, item)} debugName={`PlaceRow ${item?.place_id}`} style={styles.placeRowWrapper}>
|
|
31
|
+
<Text text={`${mainTitle}`} style={styles.placeRowText} />
|
|
32
|
+
</Touchable>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const PlacesAutocomplete = (props: PlacesAutocompleteProps) => {
|
|
37
|
+
const {
|
|
38
|
+
style,
|
|
39
|
+
itemRow,
|
|
40
|
+
data = [],
|
|
41
|
+
customData = [],
|
|
42
|
+
onPress,
|
|
43
|
+
onValueChange,
|
|
44
|
+
showClearIcon,
|
|
45
|
+
showEmptyPlaceholder,
|
|
46
|
+
clearIcon,
|
|
47
|
+
textInputProps,
|
|
48
|
+
listProps,
|
|
49
|
+
emptyPlaceholderProps,
|
|
50
|
+
placeRow = null,
|
|
51
|
+
renderPlaceRow: PlaceRow,
|
|
52
|
+
activityIndicatorProps,
|
|
53
|
+
debounce,
|
|
54
|
+
isLoading,
|
|
55
|
+
persistResultsOnBlur,
|
|
56
|
+
...rest
|
|
57
|
+
} = props
|
|
58
|
+
|
|
59
|
+
const [isFocused, setIsFocused] = React.useState(false)
|
|
60
|
+
|
|
61
|
+
const styles = useStylesFor(PlacesAutocomplete.styleRegistryName, style)
|
|
62
|
+
const compositionStyles = useCompositionStyles(['input', 'list', 'loader'], styles)
|
|
63
|
+
|
|
64
|
+
const hasCustomValue = !!textInputProps?.value
|
|
65
|
+
|
|
66
|
+
const {
|
|
67
|
+
handleChangeAddress,
|
|
68
|
+
handlePressAddress,
|
|
69
|
+
handleClearAddress,
|
|
70
|
+
address,
|
|
71
|
+
isTyping,
|
|
72
|
+
setIsTyping,
|
|
73
|
+
} = usePlacesAutocompleteUtils<PlaceItem>({
|
|
74
|
+
onValueChange,
|
|
75
|
+
onPress,
|
|
76
|
+
debounce: hasCustomValue ? null : 250
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
const _showEmptyPlaceholder = !!address && !isTyping && showEmptyPlaceholder && !isLoading
|
|
80
|
+
|
|
81
|
+
const showResults = isFocused || persistResultsOnBlur
|
|
82
|
+
|
|
83
|
+
const _showClearIcon = showClearIcon && !!address?.trim?.()
|
|
84
|
+
|
|
85
|
+
const rightIcon = _showClearIcon ? {
|
|
86
|
+
name: clearIcon,
|
|
87
|
+
onPress: handleClearAddress,
|
|
88
|
+
} : textInputProps?.rightIcon
|
|
89
|
+
|
|
90
|
+
const _data = customData?.length > 0 && address ? [...customData, ...data] : data
|
|
91
|
+
|
|
92
|
+
const renderItem = useCallback((props) => {
|
|
93
|
+
return (
|
|
94
|
+
placeRow ? placeRow : <PlaceRow onPress={handlePressAddress} styles={styles} {...props} />
|
|
95
|
+
)
|
|
96
|
+
}, [placeRow])
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<View style={styles.wrapper} {...rest}>
|
|
100
|
+
<TextInput
|
|
101
|
+
style={compositionStyles.input}
|
|
102
|
+
onChangeText={(value) => {
|
|
103
|
+
setIsTyping(true)
|
|
104
|
+
handleChangeAddress(value)
|
|
105
|
+
}}
|
|
106
|
+
onBlur={() => {
|
|
107
|
+
setIsFocused(false)
|
|
108
|
+
}}
|
|
109
|
+
onFocus={() => {
|
|
110
|
+
setIsFocused(true)
|
|
111
|
+
}}
|
|
112
|
+
{...textInputProps}
|
|
113
|
+
value={hasCustomValue ? textInputProps?.value : address}
|
|
114
|
+
rightIcon={rightIcon}
|
|
115
|
+
/>
|
|
116
|
+
{isTyping ? (
|
|
117
|
+
<View style={styles.loadingWrapper}>
|
|
118
|
+
<ActivityIndicator style={compositionStyles.loader} {...activityIndicatorProps} />
|
|
119
|
+
</View>
|
|
120
|
+
) : (
|
|
121
|
+
showResults ? (
|
|
122
|
+
<List
|
|
123
|
+
data={_data}
|
|
124
|
+
renderItem={renderItem}
|
|
125
|
+
ListEmptyComponent={
|
|
126
|
+
_showEmptyPlaceholder ? <EmptyPlaceholder {...emptyPlaceholderProps} /> : null
|
|
127
|
+
}
|
|
128
|
+
style={compositionStyles.list}
|
|
129
|
+
separators
|
|
130
|
+
{...listProps}
|
|
131
|
+
/>
|
|
132
|
+
) : null
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
</View>
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
PlacesAutocomplete.styleRegistryName = 'PlacesAutocomplete'
|
|
140
|
+
PlacesAutocomplete.elements = ['wrapper', 'input', 'list', 'loader', 'placeRow', 'loadingWrapper']
|
|
141
|
+
PlacesAutocomplete.withVariantTypes = <S extends AnyRecord>(styles: S) => {
|
|
142
|
+
return PlacesAutocomplete as (props: StyledComponentProps<PlacesAutocompleteProps, typeof styles>) => IJSX
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
PlacesAutocomplete.defaultProps = {
|
|
146
|
+
showClearIcon: false,
|
|
147
|
+
showEmptyPlaceholder: true,
|
|
148
|
+
clearIcon: 'x' as AppIcon,
|
|
149
|
+
placeRowComponent: DefaultPlaceRow,
|
|
150
|
+
renderPlaceRow: DefaultPlaceRow,
|
|
151
|
+
debounce: 250,
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
MobileStyleRegistry.registerComponent(PlacesAutocomplete)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ActivityIndicatorComposition } from '../ActivityIndicator'
|
|
2
|
+
import { ListComposition } from '../List'
|
|
3
|
+
import { TextInputComposition } from '../TextInput'
|
|
4
|
+
|
|
5
|
+
export type PlacesAutocompleteComposition =
|
|
6
|
+
`input${Capitalize<TextInputComposition>}` |
|
|
7
|
+
`list${Capitalize<ListComposition>}` |
|
|
8
|
+
`loader${Capitalize<ActivityIndicatorComposition>}` |
|
|
9
|
+
'placeRowWrapper' |
|
|
10
|
+
'placeRowText' |
|
|
11
|
+
'wrapper' |
|
|
12
|
+
'loadingWrapper'
|