@tecsinapse/react-native-kit 1.23.11 → 2.0.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/cjs/components/atoms/Avatar/Avatar.js +1 -8
- package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/atoms/Badge/Badge.js +8 -12
- package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js +14 -16
- package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/Item.d.ts +3 -3
- package/dist/cjs/components/atoms/BottomNavigator/Item.js +4 -12
- package/dist/cjs/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/styled.js +4 -10
- package/dist/cjs/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Button/Button.d.ts +1 -1
- package/dist/cjs/components/atoms/Button/Button.js +1 -10
- package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Error.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Loading.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Success.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +1 -8
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/cjs/components/atoms/Header/Header.d.ts +1 -1
- package/dist/cjs/components/atoms/Header/Header.js +14 -33
- package/dist/cjs/components/atoms/Header/Header.js.map +1 -1
- package/dist/cjs/components/atoms/Header/styled.js +3 -9
- package/dist/cjs/components/atoms/Header/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Input/Input.js +37 -38
- package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
- package/dist/cjs/components/atoms/Input/styled.js +2 -8
- package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
- package/dist/cjs/components/atoms/InputMask/InputMask.js +37 -40
- package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/cjs/components/atoms/InputMask/styled.js +3 -9
- package/dist/cjs/components/atoms/InputMask/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ModalGroupManager.js +11 -13
- package/dist/cjs/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js +47 -7
- package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js +20 -21
- package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/styled.js +3 -9
- package/dist/cjs/components/atoms/Modal/ui/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/types.d.ts +2 -1
- package/dist/cjs/components/atoms/Modal/useLazyModalManager.js +0 -2
- package/dist/cjs/components/atoms/Modal/useLazyModalManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/useModalManager.js +0 -2
- package/dist/cjs/components/atoms/Modal/useModalManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js +0 -2
- package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Pulse.d.ts +1 -0
- package/dist/cjs/components/atoms/Skeleton/Pulse.js +15 -18
- package/dist/cjs/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Skeleton.js +25 -24
- package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Wave.d.ts +1 -0
- package/dist/cjs/components/atoms/Skeleton/Wave.js +47 -30
- package/dist/cjs/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/animation.js +0 -2
- package/dist/cjs/components/atoms/Skeleton/animation.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/styled.js +1 -7
- package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/types.d.ts +1 -1
- package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js +30 -23
- package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/cjs/components/atoms/Tag/Tag.js +17 -14
- package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/atoms/Text/Text.d.ts +1 -1
- package/dist/cjs/components/atoms/Text/Text.js +1 -7
- package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
- package/dist/cjs/components/atoms/Text/styled.js +1 -7
- package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
- package/dist/cjs/components/atoms/TextArea/TextArea.d.ts +1 -1
- package/dist/cjs/components/atoms/TextArea/TextArea.js +42 -39
- package/dist/cjs/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/atoms/TextArea/styled.js +1 -7
- package/dist/cjs/components/atoms/TextArea/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Calendar/Calendar.d.ts +1 -0
- package/dist/cjs/components/molecules/Calendar/Calendar.js +8 -11
- package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js +14 -22
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/styled.js +1 -7
- package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +13 -20
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -11
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/cjs/components/molecules/Grid/Grid.d.ts +2 -1
- package/dist/cjs/components/molecules/Grid/Grid.js +38 -30
- package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/molecules/Grid/Item/Item.d.ts +3 -2
- package/dist/cjs/components/molecules/Grid/Item/Item.js +3 -10
- package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +25 -24
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +13 -13
- package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -8
- package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
- package/dist/cjs/components/molecules/InputPassword/InputPassword.d.ts +1 -1
- package/dist/cjs/components/molecules/InputPassword/InputPassword.js +17 -15
- package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +11 -13
- package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -26
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -8
- package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Select/Modal.d.ts +1 -0
- package/dist/cjs/components/molecules/Select/Modal.js +93 -78
- package/dist/cjs/components/molecules/Select/Modal.js.map +1 -1
- package/dist/cjs/components/molecules/Select/Select.d.ts +1 -0
- package/dist/cjs/components/molecules/Select/Select.js +56 -49
- package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
- package/dist/cjs/components/molecules/Select/styled.js +14 -20
- package/dist/cjs/components/molecules/Select/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js +1 -11
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/molecules/Snackbar/styled.js +1 -7
- package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/date.js +3 -6
- package/dist/cjs/utils/date.js.map +1 -1
- package/dist/esm/components/atoms/Avatar/Avatar.js +1 -4
- package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/atoms/Badge/Badge.js +8 -8
- package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js +11 -12
- package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/Item.d.ts +3 -3
- package/dist/esm/components/atoms/BottomNavigator/Item.js +1 -8
- package/dist/esm/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
- package/dist/esm/components/atoms/Button/Button.js +1 -4
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Error.js +1 -4
- package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Loading.js +1 -4
- package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Success.js +1 -4
- package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +1 -4
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/esm/components/atoms/Header/Header.d.ts +1 -1
- package/dist/esm/components/atoms/Header/Header.js +11 -29
- package/dist/esm/components/atoms/Header/Header.js.map +1 -1
- package/dist/esm/components/atoms/Input/Input.js +36 -33
- package/dist/esm/components/atoms/Input/Input.js.map +1 -1
- package/dist/esm/components/atoms/InputMask/InputMask.js +36 -35
- package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ModalGroupManager.js +11 -7
- package/dist/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js +46 -0
- package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ui/BaseModalView.js +20 -15
- package/dist/esm/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ui/types.d.ts +2 -1
- package/dist/esm/components/atoms/Skeleton/Pulse.d.ts +1 -0
- package/dist/esm/components/atoms/Skeleton/Pulse.js +15 -12
- package/dist/esm/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/Skeleton.js +25 -20
- package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/Wave.d.ts +1 -0
- package/dist/esm/components/atoms/Skeleton/Wave.js +30 -25
- package/dist/esm/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/types.d.ts +1 -1
- package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js +27 -19
- package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/esm/components/atoms/Tag/Tag.js +17 -10
- package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/esm/components/atoms/Text/Text.d.ts +1 -1
- package/dist/esm/components/atoms/Text/Text.js +1 -3
- package/dist/esm/components/atoms/Text/Text.js.map +1 -1
- package/dist/esm/components/atoms/Text/styled.js.map +1 -1
- package/dist/esm/components/atoms/TextArea/TextArea.d.ts +1 -1
- package/dist/esm/components/atoms/TextArea/TextArea.js +42 -35
- package/dist/esm/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/molecules/Calendar/Calendar.d.ts +1 -0
- package/dist/esm/components/molecules/Calendar/Calendar.js +8 -5
- package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/dist/esm/components/molecules/DatePicker/DatePicker.js +14 -16
- package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +13 -14
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -5
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/esm/components/molecules/Grid/Grid.d.ts +2 -1
- package/dist/esm/components/molecules/Grid/Grid.js +38 -26
- package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/esm/components/molecules/Grid/Item/Item.d.ts +3 -2
- package/dist/esm/components/molecules/Grid/Item/Item.js +1 -4
- package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +25 -20
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/esm/components/molecules/IconTextButton/TextComponent.js +12 -8
- package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/esm/components/molecules/InputPassword/InputPassword.d.ts +1 -1
- package/dist/esm/components/molecules/InputPassword/InputPassword.js +16 -10
- package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +10 -8
- package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -22
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/esm/components/molecules/Select/Modal.d.ts +1 -0
- package/dist/esm/components/molecules/Select/Modal.js +90 -72
- package/dist/esm/components/molecules/Select/Modal.js.map +1 -1
- package/dist/esm/components/molecules/Select/Select.d.ts +1 -0
- package/dist/esm/components/molecules/Select/Select.js +53 -45
- package/dist/esm/components/molecules/Select/Select.js.map +1 -1
- package/dist/esm/components/molecules/Snackbar/Snackbar.js +1 -7
- package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/utils/date.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModalView.js","sources":["../../../../../../src/components/atoms/Modal/ui/BaseModalView.tsx"],"sourcesContent":["import { BoxContent } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n Easing,\n Keyboard,\n LayoutChangeEvent,\n Pressable,\n StatusBar,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { BackDropView, CloseBar, StyledPressableBackDrop } from './styled';\nimport { IBaseModal } from './types';\n\nconst BACKDROP_ALPHA = 0.65;\nconst INTERPOLATION_STEPS = 10;\nconst INTERPOLATION_DURATION = 195; //ms\nconst OPACITY_DURATION = 25; //ms\n\nexport const ModalView: FC<IBaseModal> = ({\n children,\n visible,\n BoxComponent = BoxContent,\n frozen,\n isLastShown,\n showCloseBar = true,\n close,\n onClose,\n}) => {\n const { bottom } = useSafeAreaInsets();\n const [ready, setReady] = useState(false);\n const [keyboardOpened, setKeyboardOpened] = useState(0);\n const [boxHeight, setBoxHeight] = useState(0);\n const backgroundCarrier = useRef(new Animated.Value(0)).current;\n const translationCarrier = useRef(new Animated.Value(0)).current;\n const opacityCarrier = useRef(new Animated.Value(0)).current;\n const offset = isLastShown && keyboardOpened > 0 ? 0 : bottom;\n\n const getKeyboardHeight = (keyboard: number) => {\n if (keyboard === 0) return 0;\n\n const wHeight = Math.ceil(Dimensions.get('window').height);\n const sHeight = Math.ceil(Dimensions.get('screen').height);\n if (wHeight !== sHeight) {\n return keyboard + (sHeight - wHeight - (StatusBar.currentHeight || 0));\n }\n return keyboard;\n };\n\n const show = useCallback(() => {\n Animated.sequence([\n Animated.timing(backgroundCarrier, {\n toValue: INTERPOLATION_STEPS,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 1,\n duration: OPACITY_DURATION,\n useNativeDriver: true,\n }),\n Animated.timing(translationCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n ]).start();\n }, []);\n\n const hide = useCallback(\n (to: number) => {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(translationCarrier, {\n toValue: to,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n useNativeDriver: true,\n }),\n ]),\n Animated.timing(backgroundCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n ]).start(onClose);\n },\n [onClose]\n );\n\n const backgroundInterpolation = backgroundCarrier.interpolate({\n inputRange: [0, INTERPOLATION_STEPS],\n outputRange: ['rgba(0, 0, 0, 0)', `rgba(0, 0, 0, ${BACKDROP_ALPHA})`],\n });\n\n const handleBoxLayoutChanges = useCallback(\n (lce: LayoutChangeEvent) => {\n const boxHeightEvent = lce.nativeEvent.layout.height;\n setBoxHeight(boxHeightEvent);\n\n if (visible && !ready) {\n translationCarrier.setValue(boxHeightEvent);\n setReady(true);\n }\n },\n [show, ready, visible, setReady]\n );\n\n useEffect(() => {\n if (visible && ready) requestAnimationFrame(() => show());\n if (!visible && !ready) {\n Keyboard.dismiss();\n requestAnimationFrame(() => hide(boxHeight));\n }\n if (!visible && ready) setReady(false);\n }, [ready, visible]);\n\n useEffect(() => {\n const showEvent = Keyboard.addListener('keyboardDidShow', e =>\n setKeyboardOpened(e.endCoordinates.height)\n );\n const hideEvent = Keyboard.addListener('keyboardDidHide', () =>\n setKeyboardOpened(0)\n );\n return () => {\n showEvent.remove();\n hideEvent.remove();\n };\n }, []);\n\n return (\n <StyledPressableBackDrop onPress={!frozen ? close : undefined}>\n <BackDropView style={{ backgroundColor: backgroundInterpolation }}>\n <Animated.View\n style={{\n paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,\n opacity: opacityCarrier,\n transform: [{ translateY: translationCarrier }],\n }}\n >\n <Pressable>\n <BoxComponent\n onLayout={handleBoxLayoutChanges}\n style={{ paddingBottom: offset }}\n variant=\"bottom\"\n >\n {showCloseBar && <CloseBar />}\n {children}\n </BoxComponent>\n </Pressable>\n </Animated.View>\n </BackDropView>\n </StyledPressableBackDrop>\n );\n};\n"],"names":["BoxContent","useSafeAreaInsets","useState","useRef","Animated","Dimensions","StatusBar","useCallback","Easing","useEffect","Keyboard","React","StyledPressableBackDrop","BackDropView","Pressable","CloseBar"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,cAAiB,GAAA,IAAA,CAAA;AACvB,MAAM,mBAAsB,GAAA,EAAA,CAAA;AAC5B,MAAM,sBAAyB,GAAA,GAAA,CAAA;AAC/B,MAAM,gBAAmB,GAAA,EAAA,CAAA;AAElB,MAAM,YAA4B,CAAC;AAAA,EACxC,QAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAe,GAAAA,oBAAA;AAAA,EACf,MAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAe,GAAA,IAAA;AAAA,EACf,KAAA;AAAA,EACA,OAAA;AACF,CAAM,KAAA;AACJ,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIC,4CAAkB,EAAA,CAAA;AACrC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,KAAK,CAAA,CAAA;AACxC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIA,eAAS,CAAC,CAAA,CAAA;AACtD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,CAAC,CAAA,CAAA;AAC5C,EAAA,MAAM,oBAAoBC,YAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AACxD,EAAA,MAAM,qBAAqBD,YAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AACzD,EAAA,MAAM,iBAAiBD,YAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AACrD,EAAA,MAAM,MAAS,GAAA,WAAA,IAAe,cAAiB,GAAA,CAAA,GAAI,CAAI,GAAA,MAAA,CAAA;AAEvD,EAAM,MAAA,iBAAA,GAAoB,CAAC,QAAqB,KAAA;AAC9C,IAAA,IAAI,QAAa,KAAA,CAAA;AAAG,MAAO,OAAA,CAAA,CAAA;AAE3B,IAAA,MAAM,UAAU,IAAK,CAAA,IAAA,CAAKC,uBAAW,GAAI,CAAA,QAAQ,EAAE,MAAM,CAAA,CAAA;AACzD,IAAA,MAAM,UAAU,IAAK,CAAA,IAAA,CAAKA,uBAAW,GAAI,CAAA,QAAQ,EAAE,MAAM,CAAA,CAAA;AACzD,IAAA,IAAI,YAAY,OAAS,EAAA;AACvB,MAAA,OAAO,QAAY,IAAA,OAAA,GAAU,OAAW,IAAAC,qBAAA,CAAU,aAAiB,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACrE;AACA,IAAO,OAAA,QAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAM,MAAA,IAAA,GAAOC,kBAAY,MAAM;AAC7B,IAAAH,oBAAA,CAAS,QAAS,CAAA;AAAA,MAChBA,oBAAA,CAAS,OAAO,iBAAmB,EAAA;AAAA,QACjC,OAAS,EAAA,mBAAA;AAAA,QACT,QAAU,EAAA,sBAAA;AAAA,QACV,MAAQ,EAAAI,kBAAA,CAAO,GAAI,CAAAA,kBAAA,CAAO,MAAM,CAAA;AAAA,QAChC,eAAiB,EAAA,KAAA;AAAA,OAClB,CAAA;AAAA,MACDJ,oBAAA,CAAS,OAAO,cAAgB,EAAA;AAAA,QAC9B,OAAS,EAAA,CAAA;AAAA,QACT,QAAU,EAAA,gBAAA;AAAA,QACV,eAAiB,EAAA,IAAA;AAAA,OAClB,CAAA;AAAA,MACDA,oBAAA,CAAS,OAAO,kBAAoB,EAAA;AAAA,QAClC,OAAS,EAAA,CAAA;AAAA,QACT,QAAU,EAAA,sBAAA;AAAA,QACV,MAAQ,EAAAI,kBAAA,CAAO,GAAI,CAAAA,kBAAA,CAAO,MAAM,CAAA;AAAA,QAChC,eAAiB,EAAA,IAAA;AAAA,OAClB,CAAA;AAAA,KACF,EAAE,KAAM,EAAA,CAAA;AAAA,GACX,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,IAAO,GAAAD,iBAAA;AAAA,IACX,CAAC,EAAe,KAAA;AACd,MAAAH,oBAAA,CAAS,QAAS,CAAA;AAAA,QAChBA,qBAAS,QAAS,CAAA;AAAA,UAChBA,oBAAA,CAAS,OAAO,kBAAoB,EAAA;AAAA,YAClC,OAAS,EAAA,EAAA;AAAA,YACT,QAAU,EAAA,sBAAA;AAAA,YACV,MAAQ,EAAAI,kBAAA,CAAO,GAAI,CAAAA,kBAAA,CAAO,MAAM,CAAA;AAAA,YAChC,eAAiB,EAAA,IAAA;AAAA,WAClB,CAAA;AAAA,UACDJ,oBAAA,CAAS,OAAO,cAAgB,EAAA;AAAA,YAC9B,OAAS,EAAA,CAAA;AAAA,YACT,QAAU,EAAA,sBAAA;AAAA,YACV,eAAiB,EAAA,IAAA;AAAA,WAClB,CAAA;AAAA,SACF,CAAA;AAAA,QACDA,oBAAA,CAAS,OAAO,iBAAmB,EAAA;AAAA,UACjC,OAAS,EAAA,CAAA;AAAA,UACT,QAAU,EAAA,sBAAA;AAAA,UACV,MAAQ,EAAAI,kBAAA,CAAO,GAAI,CAAAA,kBAAA,CAAO,MAAM,CAAA;AAAA,UAChC,eAAiB,EAAA,KAAA;AAAA,SAClB,CAAA;AAAA,OACF,CAAE,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,KAClB;AAAA,IACA,CAAC,OAAO,CAAA;AAAA,GACV,CAAA;AAEA,EAAM,MAAA,uBAAA,GAA0B,kBAAkB,WAAY,CAAA;AAAA,IAC5D,UAAA,EAAY,CAAC,CAAA,EAAG,mBAAmB,CAAA;AAAA,IACnC,WAAa,EAAA,CAAC,kBAAoB,EAAA,CAAA,cAAA,EAAiB,cAAiB,CAAA,CAAA,CAAA,CAAA;AAAA,GACrE,CAAA,CAAA;AAED,EAAA,MAAM,sBAAyB,GAAAD,iBAAA;AAAA,IAC7B,CAAC,GAA2B,KAAA;AAC1B,MAAM,MAAA,cAAA,GAAiB,GAAI,CAAA,WAAA,CAAY,MAAO,CAAA,MAAA,CAAA;AAC9C,MAAA,YAAA,CAAa,cAAc,CAAA,CAAA;AAE3B,MAAI,IAAA,OAAA,IAAW,CAAC,KAAO,EAAA;AACrB,QAAA,kBAAA,CAAmB,SAAS,cAAc,CAAA,CAAA;AAC1C,QAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAAA,OACf;AAAA,KACF;AAAA,IACA,CAAC,IAAA,EAAM,KAAO,EAAA,OAAA,EAAS,QAAQ,CAAA;AAAA,GACjC,CAAA;AAEA,EAAAE,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAW,IAAA,KAAA;AAAO,MAAsB,qBAAA,CAAA,MAAM,MAAM,CAAA,CAAA;AACxD,IAAI,IAAA,CAAC,OAAW,IAAA,CAAC,KAAO,EAAA;AACtB,MAAAC,oBAAA,CAAS,OAAQ,EAAA,CAAA;AACjB,MAAsB,qBAAA,CAAA,MAAM,IAAK,CAAA,SAAS,CAAC,CAAA,CAAA;AAAA,KAC7C;AACA,IAAA,IAAI,CAAC,OAAW,IAAA,KAAA;AAAO,MAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AAAA,GACpC,EAAA,CAAC,KAAO,EAAA,OAAO,CAAC,CAAA,CAAA;AAEnB,EAAAD,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,YAAYC,oBAAS,CAAA,WAAA;AAAA,MAAY,iBAAA;AAAA,MAAmB,CACxD,CAAA,KAAA,iBAAA,CAAkB,CAAE,CAAA,cAAA,CAAe,MAAM,CAAA;AAAA,KAC3C,CAAA;AACA,IAAA,MAAM,YAAYA,oBAAS,CAAA,WAAA;AAAA,MAAY,iBAAA;AAAA,MAAmB,MACxD,kBAAkB,CAAC,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,MAAO,EAAA,CAAA;AACjB,MAAA,SAAA,CAAU,MAAO,EAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,uBACGC,yBAAA,CAAA,aAAA,CAAAC,8BAAA,EAAA;AAAA,IAAwB,OAAA,EAAS,CAAC,MAAA,GAAS,KAAQ,GAAA,KAAA,CAAA;AAAA,GAAA,kBACjDD,yBAAA,CAAA,aAAA,CAAAE,mBAAA,EAAA;AAAA,IAAa,KAAA,EAAO,EAAE,eAAA,EAAiB,uBAAwB,EAAA;AAAA,GAC9D,kBAAAF,yBAAA,CAAA,aAAA,CAACP,qBAAS,IAAT,EAAA;AAAA,IACC,KAAO,EAAA;AAAA,MACL,aAAe,EAAA,WAAA,GAAc,iBAAkB,CAAA,cAAc,CAAI,GAAA,CAAA;AAAA,MACjE,OAAS,EAAA,cAAA;AAAA,MACT,SAAW,EAAA,CAAC,EAAE,UAAA,EAAY,oBAAoB,CAAA;AAAA,KAChD;AAAA,GAEA,kBAAAO,yBAAA,CAAA,aAAA,CAACG,6CACEH,yBAAA,CAAA,aAAA,CAAA,YAAA,EAAA;AAAA,IACC,QAAU,EAAA,sBAAA;AAAA,IACV,KAAA,EAAO,EAAE,aAAA,EAAe,MAAO,EAAA;AAAA,IAC/B,OAAQ,EAAA,QAAA;AAAA,GAEP,EAAA,YAAA,4DAAiBI,eAAS,EAAA,IAAA,CAAA,EAC1B,QACH,CACF,CACF,CACF,CACF,CAAA,CAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"BaseModalView.js","sources":["../../../../../../src/components/atoms/Modal/ui/BaseModalView.tsx"],"sourcesContent":["import { BoxContent } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n Easing,\n Keyboard,\n LayoutChangeEvent,\n Pressable,\n StatusBar,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { BackDropView, CloseBar, StyledPressableBackDrop } from './styled';\nimport { IBaseModal } from './types';\n\nconst BACKDROP_ALPHA = 0.65;\nconst INTERPOLATION_STEPS = 10;\nconst INTERPOLATION_DURATION = 195; //ms\nconst OPACITY_DURATION = 25; //ms\n\nexport const ModalView: FC<IBaseModal> = ({\n children,\n visible,\n BoxComponent = BoxContent,\n frozen,\n isLastShown,\n showCloseBar = true,\n close,\n onClose,\n}) => {\n const { bottom } = useSafeAreaInsets();\n const [ready, setReady] = useState(false);\n const [keyboardOpened, setKeyboardOpened] = useState(0);\n const [boxHeight, setBoxHeight] = useState(0);\n const backgroundCarrier = useRef(new Animated.Value(0)).current;\n const translationCarrier = useRef(new Animated.Value(0)).current;\n const opacityCarrier = useRef(new Animated.Value(0)).current;\n const offset = isLastShown && keyboardOpened > 0 ? 0 : bottom;\n\n const getKeyboardHeight = (keyboard: number) => {\n if (keyboard === 0) return 0;\n\n const wHeight = Math.ceil(Dimensions.get('window').height);\n const sHeight = Math.ceil(Dimensions.get('screen').height);\n if (wHeight !== sHeight) {\n return keyboard + (sHeight - wHeight - (StatusBar.currentHeight || 0));\n }\n return keyboard;\n };\n\n const show = useCallback(() => {\n Animated.sequence([\n Animated.timing(backgroundCarrier, {\n toValue: INTERPOLATION_STEPS,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 1,\n duration: OPACITY_DURATION,\n useNativeDriver: true,\n }),\n Animated.timing(translationCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n ]).start();\n }, []);\n\n const hide = useCallback(\n (to: number) => {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(translationCarrier, {\n toValue: to,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n useNativeDriver: true,\n }),\n ]),\n Animated.timing(backgroundCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n ]).start(onClose);\n },\n [onClose]\n );\n\n const backgroundInterpolation = backgroundCarrier.interpolate({\n inputRange: [0, INTERPOLATION_STEPS],\n outputRange: ['rgba(0, 0, 0, 0)', `rgba(0, 0, 0, ${BACKDROP_ALPHA})`],\n });\n\n const handleBoxLayoutChanges = useCallback(\n (lce: LayoutChangeEvent) => {\n const boxHeightEvent = lce.nativeEvent.layout.height;\n setBoxHeight(boxHeightEvent);\n\n if (visible && !ready) {\n translationCarrier.setValue(boxHeightEvent);\n setReady(true);\n }\n },\n [show, ready, visible, setReady]\n );\n\n useEffect(() => {\n if (visible && ready) requestAnimationFrame(() => show());\n if (!visible && !ready) {\n Keyboard.dismiss();\n requestAnimationFrame(() => hide(boxHeight));\n }\n if (!visible && ready) setReady(false);\n }, [ready, visible]);\n\n useEffect(() => {\n const showEvent = Keyboard.addListener('keyboardDidShow', e =>\n setKeyboardOpened(e.endCoordinates.height)\n );\n const hideEvent = Keyboard.addListener('keyboardDidHide', () =>\n setKeyboardOpened(0)\n );\n return () => {\n showEvent.remove();\n hideEvent.remove();\n };\n }, []);\n\n return (\n <StyledPressableBackDrop onPress={!frozen ? close : undefined}>\n <BackDropView style={{ backgroundColor: backgroundInterpolation }}>\n <Animated.View\n style={{\n paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,\n opacity: opacityCarrier,\n transform: [{ translateY: translationCarrier }],\n }}\n >\n <Pressable>\n <BoxComponent\n onLayout={handleBoxLayoutChanges}\n style={{ paddingBottom: offset }}\n variant=\"bottom\"\n >\n {showCloseBar && <CloseBar />}\n {children}\n </BoxComponent>\n </Pressable>\n </Animated.View>\n </BackDropView>\n </StyledPressableBackDrop>\n );\n};\n"],"names":["BoxContent","useSafeAreaInsets","useState","useRef","Animated","Dimensions","StatusBar","useCallback","Easing","useEffect","Keyboard","StyledPressableBackDrop","BackDropView","Pressable","CloseBar"],"mappings":"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"}
|
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var styled = require('@emotion/native');
|
|
6
4
|
var reactCore = require('@tecsinapse/react-core');
|
|
7
5
|
var reactNative = require('react-native');
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
12
|
-
|
|
13
|
-
const StyledPressableBackDrop = styled__default["default"].Pressable`
|
|
7
|
+
const StyledPressableBackDrop = styled.Pressable`
|
|
14
8
|
flex: 1;
|
|
15
9
|
position: absolute;
|
|
16
10
|
width: 100%;
|
|
17
11
|
height: 100%;
|
|
18
12
|
`;
|
|
19
|
-
const BackDropView =
|
|
13
|
+
const BackDropView = styled(reactNative.Animated.View)`
|
|
20
14
|
justify-content: flex-end;
|
|
21
15
|
flex: 1;
|
|
22
16
|
`;
|
|
23
|
-
const CloseBar =
|
|
17
|
+
const CloseBar = styled.View`
|
|
24
18
|
background-color: ${({ theme }) => theme.color.secondary.light};
|
|
25
19
|
border-radius: ${reactCore.RFValueStr("10px")};
|
|
26
20
|
margin: ${`${reactCore.RFValueStr("5px")} auto`};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../../../../../src/components/atoms/Modal/ui/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { Animated } from 'react-native';\n\nexport const StyledPressableBackDrop = styled.Pressable<Partial<StyleProps>>`\n flex: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n`;\n\nexport const BackDropView = styled(Animated.View)<Partial<StyleProps>>`\n justify-content: flex-end;\n flex: 1;\n`;\n\nexport const CloseBar = styled.View<Partial<StyleProps>>`\n background-color: ${({ theme }) => theme.color.secondary.light};\n border-radius: ${RFValueStr('10px')};\n margin: ${`${RFValueStr('5px')} auto`};\n width: ${RFValueStr('42px')};\n height: ${RFValueStr('5px')};\n`;\n"],"names":["
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../../../../src/components/atoms/Modal/ui/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { Animated } from 'react-native';\n\nexport const StyledPressableBackDrop = styled.Pressable<Partial<StyleProps>>`\n flex: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n`;\n\nexport const BackDropView = styled(Animated.View)<Partial<StyleProps>>`\n justify-content: flex-end;\n flex: 1;\n`;\n\nexport const CloseBar = styled.View<Partial<StyleProps>>`\n background-color: ${({ theme }) => theme.color.secondary.light};\n border-radius: ${RFValueStr('10px')};\n margin: ${`${RFValueStr('5px')} auto`};\n width: ${RFValueStr('42px')};\n height: ${RFValueStr('5px')};\n`;\n"],"names":["Animated","RFValueStr"],"mappings":";;;;;;AAIO,MAAM,0BAA0B,MAAO,CAAA,SAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAOjC,MAAA,YAAA,GAAe,MAAO,CAAAA,oBAAA,CAAS,IAAI,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAKzC,MAAM,WAAW,MAAO,CAAA,IAAA,CAAA;AAAA,oBAAA,EACT,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,MAAM,SAAU,CAAA,KAAA,CAAA;AAAA,iBAAA,EACxCC,qBAAW,MAAM,CAAA,CAAA;AAAA,UACxB,EAAA,CAAA,EAAGA,qBAAW,KAAK,CAAA,CAAA,KAAA,CAAA,CAAA;AAAA,SAAA,EACpBA,qBAAW,MAAM,CAAA,CAAA;AAAA,UAAA,EAChBA,qBAAW,KAAK,CAAA,CAAA;AAAA;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
export interface IBaseModal {
|
|
3
3
|
visible?: boolean;
|
|
4
4
|
BoxComponent?: React.FC<any>;
|
|
@@ -7,4 +7,5 @@ export interface IBaseModal {
|
|
|
7
7
|
showCloseBar?: boolean;
|
|
8
8
|
close?: () => void;
|
|
9
9
|
onClose?: () => void;
|
|
10
|
+
children?: ReactNode;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyModalManager.js","sources":["../../../../../src/components/atoms/Modal/useLazyModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @returns\n * @param modalId\n */\nexport const useLazyModalManager = (modalId?: string) => {\n const [id] = useState(modalId ?? uuidv4());\n\n const requestUpdate = useCallback(() => modalLifecycle.update(), []);\n\n const sync = useCallback(\n (modal: ReactElement<IBaseModal>) => {\n modalLifecycle.sync(id, () => modal);\n return null;\n },\n [id]\n );\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n requestUpdate,\n sync,\n show,\n close,\n };\n};\n"],"names":["useState","uuidv4","useCallback","modalLifecycle","useEffect"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLazyModalManager.js","sources":["../../../../../src/components/atoms/Modal/useLazyModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @returns\n * @param modalId\n */\nexport const useLazyModalManager = (modalId?: string) => {\n const [id] = useState(modalId ?? uuidv4());\n\n const requestUpdate = useCallback(() => modalLifecycle.update(), []);\n\n const sync = useCallback(\n (modal: ReactElement<IBaseModal>) => {\n modalLifecycle.sync(id, () => modal);\n return null;\n },\n [id]\n );\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n requestUpdate,\n sync,\n show,\n close,\n };\n};\n"],"names":["useState","uuidv4","useCallback","modalLifecycle","useEffect"],"mappings":";;;;;;AAYa,MAAA,mBAAA,GAAsB,CAAC,OAAqB,KAAA;AACvD,EAAA,MAAM,CAAC,EAAE,CAAA,GAAIA,cAAS,CAAA,OAAA,IAAWC,SAAQ,CAAA,CAAA;AAEzC,EAAA,MAAM,gBAAgBC,iBAAY,CAAA,MAAMC,iCAAe,MAAO,EAAA,EAAG,EAAE,CAAA,CAAA;AAEnE,EAAA,MAAM,IAAO,GAAAD,iBAAA;AAAA,IACX,CAAC,KAAoC,KAAA;AACnC,MAAeC,gCAAA,CAAA,IAAA,CAAK,EAAI,EAAA,MAAM,KAAK,CAAA,CAAA;AACnC,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,EAAE,CAAA;AAAA,GACL,CAAA;AAEA,EAAM,MAAA,IAAA,GAAOD,kBAAY,MAAM;AAC7B,IAAAC,gCAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQD,kBAAY,MAAM;AAC9B,IAAAC,gCAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAAC,eAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAMD,gCAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,aAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModalManager.js","sources":["../../../../../src/components/atoms/Modal/useModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @param id\n * @param modal\n * @returns\n */\nexport const useModalManager = (\n modal: () => ReactElement<IBaseModal>,\n modalId?: string\n) => {\n const [id] = useState(modalId ?? uuidv4());\n modalLifecycle.sync(id, modal);\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n show,\n close,\n };\n};\n"],"names":["useState","uuidv4","modalLifecycle","useCallback","useEffect"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useModalManager.js","sources":["../../../../../src/components/atoms/Modal/useModalManager.ts"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { modalLifecycle } from './ModalGroupManager';\nimport { IBaseModal } from './ui/types';\n\n/**\n * Use this hook to tell the modal lifecycle handler that you want to add\n * a new modal component.\n *\n * @param id\n * @param modal\n * @returns\n */\nexport const useModalManager = (\n modal: () => ReactElement<IBaseModal>,\n modalId?: string\n) => {\n const [id] = useState(modalId ?? uuidv4());\n modalLifecycle.sync(id, modal);\n\n const show = useCallback(() => {\n modalLifecycle.show(id);\n }, [id]);\n\n const close = useCallback(() => {\n modalLifecycle.close(id);\n }, [id]);\n\n useEffect(() => {\n return () => modalLifecycle.destroy(id);\n }, []);\n\n return {\n show,\n close,\n };\n};\n"],"names":["useState","uuidv4","modalLifecycle","useCallback","useEffect"],"mappings":";;;;;;AAaa,MAAA,eAAA,GAAkB,CAC7B,KAAA,EACA,OACG,KAAA;AACH,EAAA,MAAM,CAAC,EAAE,CAAA,GAAIA,cAAS,CAAA,OAAA,IAAWC,SAAQ,CAAA,CAAA;AACzC,EAAeC,gCAAA,CAAA,IAAA,CAAK,IAAI,KAAK,CAAA,CAAA;AAE7B,EAAM,MAAA,IAAA,GAAOC,kBAAY,MAAM;AAC7B,IAAAD,gCAAA,CAAe,KAAK,EAAE,CAAA,CAAA;AAAA,GACxB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAM,MAAA,KAAA,GAAQC,kBAAY,MAAM;AAC9B,IAAAD,gCAAA,CAAe,MAAM,EAAE,CAAA,CAAA;AAAA,GACzB,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AAEP,EAAAE,eAAA,CAAU,MAAM;AACd,IAAO,OAAA,MAAMF,gCAAe,CAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModalRemoteControl.js","sources":["../../../../../src/components/atoms/Modal/useModalRemoteControl.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { modalLifecycle } from './ModalGroupManager';\n\n/**\n * Use it to control a specific modal wherever it's.\n * Just provide an id of a specific instance.\n *\n * @param modalId\n * @returns\n */\nexport const useModalRemoteControl = (modalId: string) => {\n const show = useCallback(() => {\n modalLifecycle.show(modalId);\n }, [modalId]);\n\n const close = useCallback(() => {\n modalLifecycle.close(modalId);\n }, [modalId]);\n\n return {\n show,\n close,\n };\n};\n"],"names":["useCallback","modalLifecycle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useModalRemoteControl.js","sources":["../../../../../src/components/atoms/Modal/useModalRemoteControl.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { modalLifecycle } from './ModalGroupManager';\n\n/**\n * Use it to control a specific modal wherever it's.\n * Just provide an id of a specific instance.\n *\n * @param modalId\n * @returns\n */\nexport const useModalRemoteControl = (modalId: string) => {\n const show = useCallback(() => {\n modalLifecycle.show(modalId);\n }, [modalId]);\n\n const close = useCallback(() => {\n modalLifecycle.close(modalId);\n }, [modalId]);\n\n return {\n show,\n close,\n };\n};\n"],"names":["useCallback","modalLifecycle"],"mappings":";;;;;AAUa,MAAA,qBAAA,GAAwB,CAAC,OAAoB,KAAA;AACxD,EAAM,MAAA,IAAA,GAAOA,kBAAY,MAAM;AAC7B,IAAAC,gCAAA,CAAe,KAAK,OAAO,CAAA,CAAA;AAAA,GAC7B,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAM,MAAA,KAAA,GAAQD,kBAAY,MAAM;AAC9B,IAAAC,gCAAA,CAAe,MAAM,OAAO,CAAA,CAAA;AAAA,GAC9B,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var reactNative = require('react-native');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var animation = require('./animation.js');
|
|
8
6
|
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
7
|
const Pulse = ({
|
|
14
8
|
active = true,
|
|
15
9
|
width,
|
|
@@ -20,19 +14,22 @@ const Pulse = ({
|
|
|
20
14
|
React.useEffect(() => {
|
|
21
15
|
animation.pulseAnimation(active, animatedValue);
|
|
22
16
|
}, [active]);
|
|
23
|
-
return /* @__PURE__ */
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
17
|
+
return /* @__PURE__ */ React.createElement(
|
|
18
|
+
reactNative.Animated.View,
|
|
19
|
+
{
|
|
20
|
+
style: {
|
|
21
|
+
width: width ?? childrenLayout.width,
|
|
22
|
+
height: height ?? childrenLayout.height,
|
|
23
|
+
backgroundColor: "rgba(0,0,0,0.05)",
|
|
24
|
+
position: "absolute",
|
|
25
|
+
top: childrenLayout.x ?? 0,
|
|
26
|
+
left: childrenLayout.y ?? 0,
|
|
27
|
+
zIndex: 2,
|
|
28
|
+
overflow: "hidden",
|
|
29
|
+
opacity: animatedValue
|
|
30
|
+
}
|
|
34
31
|
}
|
|
35
|
-
|
|
32
|
+
);
|
|
36
33
|
};
|
|
37
34
|
|
|
38
35
|
exports.Pulse = Pulse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["useRef","Animated","useEffect","pulseAnimation"
|
|
1
|
+
{"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["useRef","Animated","useEffect","pulseAnimation"],"mappings":";;;;;;AAKO,MAAM,QAAQ,CAAC;AAAA,EACpB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAA,MAAM,gBAAgBA,YAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAAC,wBAAA,CAAe,QAAQ,aAAa,CAAA,CAAA;AAAA,GACtC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAACF,oBAAS,CAAA,IAAA;AAAA,IAAT;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,QAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,QACjC,eAAiB,EAAA,kBAAA;AAAA,QACjB,QAAU,EAAA,UAAA;AAAA,QACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,QACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,QAC1B,MAAQ,EAAA,CAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,OAAS,EAAA,aAAA;AAAA,OACX;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -6,10 +6,6 @@ var styled = require('./styled.js');
|
|
|
6
6
|
var Wave = require('./Wave.js');
|
|
7
7
|
var Pulse = require('./Pulse.js');
|
|
8
8
|
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
9
|
const Skeleton = ({
|
|
14
10
|
children,
|
|
15
11
|
width,
|
|
@@ -33,26 +29,31 @@ const Skeleton = ({
|
|
|
33
29
|
const getChildrenLayout = (event) => {
|
|
34
30
|
setChildrenLayout(event.nativeEvent.layout);
|
|
35
31
|
};
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
32
|
+
return /* @__PURE__ */ React.createElement(styled.Wrapper, { width, height, radius, ...rest }, active && animation === "wave" ? /* @__PURE__ */ React.createElement(
|
|
33
|
+
Wave.Wave,
|
|
34
|
+
{
|
|
35
|
+
active,
|
|
36
|
+
width,
|
|
37
|
+
height,
|
|
38
|
+
childrenLayout
|
|
39
|
+
}
|
|
40
|
+
) : /* @__PURE__ */ React.createElement(React.Fragment, null), active && animation === "pulse" ? /* @__PURE__ */ React.createElement(
|
|
41
|
+
Pulse.Pulse,
|
|
42
|
+
{
|
|
43
|
+
active,
|
|
44
|
+
width,
|
|
45
|
+
height,
|
|
46
|
+
childrenLayout
|
|
47
|
+
}
|
|
48
|
+
) : /* @__PURE__ */ React.createElement(React.Fragment, null), /* @__PURE__ */ React.createElement(
|
|
49
|
+
reactNative.View,
|
|
50
|
+
{
|
|
51
|
+
onLayout: (event) => getChildrenLayout(event),
|
|
52
|
+
style: { opacity: active ? 0 : 1 },
|
|
53
|
+
pointerEvents: active ? "none" : "auto"
|
|
54
|
+
},
|
|
55
|
+
children
|
|
56
|
+
));
|
|
56
57
|
};
|
|
57
58
|
|
|
58
59
|
module.exports = Skeleton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["useState","
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["useState","Wrapper","Wave","Pulse","View"],"mappings":";;;;;;;;AAgBA,MAAM,WAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAS,GAAA,IAAA;AAAA,EACT,SAAY,GAAA,MAAA;AAAA,EACZ,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIA,cAAyB,CAAA;AAAA,IACnE,KAAO,EAAA,CAAA;AAAA,IACP,MAAQ,EAAA,CAAA;AAAA,IACR,CAAG,EAAA,CAAA;AAAA,IACH,CAAG,EAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,MAAA,IAAU,CAAC,QAAU,EAAA;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,oEAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAA6B,KAAA;AACtD,IAAkB,iBAAA,CAAA,KAAA,CAAM,YAAY,MAAM,CAAA,CAAA;AAAA,GAC5C,CAAA;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA,CAACC,kBAAQ,KAAc,EAAA,MAAA,EAAgB,QAAiB,GAAG,IAAA,EAAA,EACxD,MAAU,IAAA,SAAA,KAAc,MACvB,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,KAAA;AAAA,GAGF,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAE,CAGH,EAAA,MAAA,IAAU,cAAc,OACvB,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,KAAA;AAAA,GACF,2DAEE,CAEJ,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAU,CAAS,KAAA,KAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,MAC1C,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,GAAS,IAAI,CAAE,EAAA;AAAA,MACjC,aAAA,EAAe,SAAS,MAAS,GAAA,MAAA;AAAA,KAAA;AAAA,IAEhC,QAAA;AAAA,GAEL,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,18 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var React = require('react');
|
|
6
4
|
var reactNative = require('react-native');
|
|
7
|
-
var
|
|
5
|
+
var RNGradient = require('react-native-linear-gradient');
|
|
8
6
|
var animation = require('./animation.js');
|
|
9
7
|
|
|
10
|
-
function
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
11
24
|
|
|
12
|
-
var
|
|
13
|
-
var LinearGradient__default = /*#__PURE__*/_interopDefaultLegacy(LinearGradient);
|
|
25
|
+
var RNGradient__namespace = /*#__PURE__*/_interopNamespaceDefault(RNGradient);
|
|
14
26
|
|
|
15
|
-
const AnimatedLinearGradient = reactNative.Animated.createAnimatedComponent(
|
|
27
|
+
const AnimatedLinearGradient = reactNative.Animated.createAnimatedComponent(
|
|
28
|
+
RNGradient__namespace.default ?? RNGradient__namespace.LinearGradient
|
|
29
|
+
);
|
|
16
30
|
const Wave = ({
|
|
17
31
|
active = true,
|
|
18
32
|
width,
|
|
@@ -28,30 +42,33 @@ const Wave = ({
|
|
|
28
42
|
React.useEffect(() => {
|
|
29
43
|
animation.waveAnimation(active, animatedValue);
|
|
30
44
|
}, [active]);
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
return /* @__PURE__ */ React.createElement(
|
|
46
|
+
AnimatedLinearGradient,
|
|
47
|
+
{
|
|
48
|
+
colors: [
|
|
49
|
+
"transparent",
|
|
50
|
+
"rgba(0,0,0,0.05)",
|
|
51
|
+
"rgba(0,0,0,0.1)",
|
|
52
|
+
"transparent"
|
|
53
|
+
],
|
|
54
|
+
start: { x: 0, y: 0 },
|
|
55
|
+
end: { x: 1, y: 0 },
|
|
56
|
+
style: {
|
|
57
|
+
width: width ?? childrenLayout.width,
|
|
58
|
+
height: height ?? childrenLayout.height,
|
|
59
|
+
position: "absolute",
|
|
60
|
+
top: childrenLayout.y ?? 0,
|
|
61
|
+
left: childrenLayout.x ?? 0,
|
|
62
|
+
zIndex: 2,
|
|
63
|
+
overflow: "hidden",
|
|
64
|
+
transform: [
|
|
65
|
+
{
|
|
66
|
+
translateX
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
53
70
|
}
|
|
54
|
-
|
|
71
|
+
);
|
|
55
72
|
};
|
|
56
73
|
|
|
57
74
|
exports.Wave = Wave;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport
|
|
1
|
+
{"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport * as RNGradient from 'react-native-linear-gradient';\nimport { waveAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(\n RNGradient.default ?? RNGradient.LinearGradient\n);\n\nexport const Wave = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const range = width ?? childrenLayout.width;\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n const translateX = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [-range, range],\n });\n\n useEffect(() => {\n waveAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <AnimatedLinearGradient\n colors={[\n 'transparent',\n 'rgba(0,0,0,0.05)',\n 'rgba(0,0,0,0.1)',\n 'transparent',\n ]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n position: 'absolute',\n top: childrenLayout.y ?? 0,\n left: childrenLayout.x ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n transform: [\n {\n translateX: translateX,\n },\n ],\n }}\n />\n );\n};\n"],"names":["Animated","RNGradient","useRef","useEffect","waveAnimation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,yBAAyBA,oBAAS,CAAA,uBAAA;AAAA,EACtCC,qBAAA,CAAW,WAAWA,qBAAW,CAAA,cAAA;AACnC,CAAA,CAAA;AAEO,MAAM,OAAO,CAAC;AAAA,EACnB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,SAAS,cAAe,CAAA,KAAA,CAAA;AACtC,EAAA,MAAM,gBAAgBC,YAAO,CAAA,IAAIF,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,IAC3C,UAAA,EAAY,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACjB,WAAa,EAAA,CAAC,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,GAC5B,CAAA,CAAA;AAED,EAAAG,eAAA,CAAU,MAAM;AACd,IAAAC,uBAAA,CAAc,QAAQ,aAAa,CAAA,CAAA;AAAA,GACrC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,MAAQ,EAAA;AAAA,QACN,aAAA;AAAA,QACA,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA,aAAA;AAAA,OACF;AAAA,MACA,KAAO,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,MACpB,GAAK,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,MAClB,KAAO,EAAA;AAAA,QACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,QAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,QACjC,QAAU,EAAA,UAAA;AAAA,QACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,QACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,QAC1B,MAAQ,EAAA,CAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,SAAW,EAAA;AAAA,UACT;AAAA,YACE,UAAA;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.js","sources":["../../../../../src/components/atoms/Skeleton/animation.ts"],"sourcesContent":["import { Animated, Easing } from 'react-native';\n\nexport const waveAnimation = (\n active: boolean,\n animatedValue: Animated.Value\n): void => {\n if (active) {\n Animated.loop(\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1600,\n easing: Easing.inOut(Easing.linear),\n useNativeDriver: true,\n })\n ).start();\n return;\n }\n Animated.timing(animatedValue, {\n toValue: 0,\n useNativeDriver: true,\n }).start();\n};\n\nexport const pulseAnimation = (\n active: boolean,\n animatedValue: Animated.Value\n): void => {\n if (active) {\n Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 800,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 800,\n useNativeDriver: true,\n }),\n ])\n ).start();\n return;\n }\n Animated.timing(animatedValue, {\n toValue: 0,\n useNativeDriver: true,\n }).start();\n};\n"],"names":["Animated","Easing"],"mappings":"
|
|
1
|
+
{"version":3,"file":"animation.js","sources":["../../../../../src/components/atoms/Skeleton/animation.ts"],"sourcesContent":["import { Animated, Easing } from 'react-native';\n\nexport const waveAnimation = (\n active: boolean,\n animatedValue: Animated.Value\n): void => {\n if (active) {\n Animated.loop(\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1600,\n easing: Easing.inOut(Easing.linear),\n useNativeDriver: true,\n })\n ).start();\n return;\n }\n Animated.timing(animatedValue, {\n toValue: 0,\n useNativeDriver: true,\n }).start();\n};\n\nexport const pulseAnimation = (\n active: boolean,\n animatedValue: Animated.Value\n): void => {\n if (active) {\n Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 800,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 800,\n useNativeDriver: true,\n }),\n ])\n ).start();\n return;\n }\n Animated.timing(animatedValue, {\n toValue: 0,\n useNativeDriver: true,\n }).start();\n};\n"],"names":["Animated","Easing"],"mappings":";;;;AAEa,MAAA,aAAA,GAAgB,CAC3B,MAAA,EACA,aACS,KAAA;AACT,EAAA,IAAI,MAAQ,EAAA;AACV,IAASA,oBAAA,CAAA,IAAA;AAAA,MACPA,oBAAA,CAAS,OAAO,aAAe,EAAA;AAAA,QAC7B,OAAS,EAAA,CAAA;AAAA,QACT,QAAU,EAAA,IAAA;AAAA,QACV,MAAQ,EAAAC,kBAAA,CAAO,KAAM,CAAAA,kBAAA,CAAO,MAAM,CAAA;AAAA,QAClC,eAAiB,EAAA,IAAA;AAAA,OAClB,CAAA;AAAA,MACD,KAAM,EAAA,CAAA;AACR,IAAA,OAAA;AAAA,GACF;AACA,EAAAD,oBAAA,CAAS,OAAO,aAAe,EAAA;AAAA,IAC7B,OAAS,EAAA,CAAA;AAAA,IACT,eAAiB,EAAA,IAAA;AAAA,GAClB,EAAE,KAAM,EAAA,CAAA;AACX,EAAA;AAEa,MAAA,cAAA,GAAiB,CAC5B,MAAA,EACA,aACS,KAAA;AACT,EAAA,IAAI,MAAQ,EAAA;AACV,IAASA,oBAAA,CAAA,IAAA;AAAA,MACPA,qBAAS,QAAS,CAAA;AAAA,QAChBA,oBAAA,CAAS,OAAO,aAAe,EAAA;AAAA,UAC7B,OAAS,EAAA,CAAA;AAAA,UACT,QAAU,EAAA,GAAA;AAAA,UACV,eAAiB,EAAA,IAAA;AAAA,SAClB,CAAA;AAAA,QACDA,oBAAA,CAAS,OAAO,aAAe,EAAA;AAAA,UAC7B,OAAS,EAAA,CAAA;AAAA,UACT,QAAU,EAAA,GAAA;AAAA,UACV,eAAiB,EAAA,IAAA;AAAA,SAClB,CAAA;AAAA,OACF,CAAA;AAAA,MACD,KAAM,EAAA,CAAA;AACR,IAAA,OAAA;AAAA,GACF;AACA,EAAAA,oBAAA,CAAS,OAAO,aAAe,EAAA;AAAA,IAC7B,OAAS,EAAA,CAAA;AAAA,IACT,eAAiB,EAAA,IAAA;AAAA,GAClB,EAAE,KAAM,EAAA,CAAA;AACX;;;;;"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var styled = require('@emotion/native');
|
|
6
4
|
var reactCore = require('@tecsinapse/react-core');
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
11
|
-
|
|
12
|
-
const Wrapper = styled__default["default"].View`
|
|
6
|
+
const Wrapper = styled.View`
|
|
13
7
|
width: ${({ width }) => width ? `${reactCore.RFValueStr(`${width}px`)}` : "100%"};
|
|
14
8
|
height: ${({ height }) => height ? `${reactCore.RFValueStr(`${height}px`)}` : "auto"};
|
|
15
9
|
border-radius: ${({ theme, radius }) => radius ? theme.borderRadius[radius] : 0};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../../../../src/components/atoms/Skeleton/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { SkeletonProps } from './Skeleton';\n\nexport const Wrapper = styled.View<Partial<StyleProps & SkeletonProps>>`\n width: ${({ width }) => (width ? `${RFValueStr(`${width}px`)}` : '100%')};\n height: ${({ height }) => (height ? `${RFValueStr(`${height}px`)}` : 'auto')};\n border-radius: ${({ theme, radius }: StyleProps & Partial<SkeletonProps>) =>\n radius ? theme.borderRadius[radius] : 0};\n overflow: hidden;\n position: relative;\n`;\n"],"names":["
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../../../src/components/atoms/Skeleton/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { SkeletonProps } from './Skeleton';\n\nexport const Wrapper = styled.View<Partial<StyleProps & SkeletonProps>>`\n width: ${({ width }) => (width ? `${RFValueStr(`${width}px`)}` : '100%')};\n height: ${({ height }) => (height ? `${RFValueStr(`${height}px`)}` : 'auto')};\n border-radius: ${({ theme, radius }: StyleProps & Partial<SkeletonProps>) =>\n radius ? theme.borderRadius[radius] : 0};\n overflow: hidden;\n position: relative;\n`;\n"],"names":["RFValueStr"],"mappings":";;;;;AAIO,MAAM,UAAU,MAAO,CAAA,IAAA,CAAA;AAAA,SACnB,EAAA,CAAC,EAAE,KAAM,EAAA,KAAO,QAAQ,CAAG,EAAAA,oBAAA,CAAW,CAAG,EAAA,KAAA,CAAA,EAAA,CAAS,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,UACvD,EAAA,CAAC,EAAE,MAAO,EAAA,KAAO,SAAS,CAAG,EAAAA,oBAAA,CAAW,CAAG,EAAA,MAAA,CAAA,EAAA,CAAU,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,iBACpD,EAAA,CAAC,EAAE,KAAO,EAAA,MAAA,OACzB,MAAS,GAAA,KAAA,CAAM,YAAa,CAAA,MAAM,CAAI,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -5,8 +5,7 @@ var reactNative = require('react-native');
|
|
|
5
5
|
var reactCore = require('@tecsinapse/react-core');
|
|
6
6
|
var react = require('@emotion/react');
|
|
7
7
|
|
|
8
|
-
function
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
10
9
|
var n = Object.create(null);
|
|
11
10
|
if (e) {
|
|
12
11
|
Object.keys(e).forEach(function (k) {
|
|
@@ -19,11 +18,11 @@ function _interopNamespace(e) {
|
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
|
-
n
|
|
21
|
+
n.default = e;
|
|
23
22
|
return Object.freeze(n);
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
var React__namespace = /*#__PURE__*/
|
|
25
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
27
26
|
|
|
28
27
|
const SnappingSlider = ({
|
|
29
28
|
children,
|
|
@@ -44,25 +43,33 @@ const SnappingSlider = ({
|
|
|
44
43
|
const padCompensation = horizontalPadding * Math.sign(index);
|
|
45
44
|
return offset + padCompensation;
|
|
46
45
|
});
|
|
47
|
-
return /* @__PURE__ */ React__namespace.createElement(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
46
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
47
|
+
reactNative.ScrollView,
|
|
48
|
+
{
|
|
49
|
+
horizontal: true,
|
|
50
|
+
snapToOffsets,
|
|
51
|
+
snapToStart: true,
|
|
52
|
+
snapToEnd: true,
|
|
53
|
+
showsHorizontalScrollIndicator: false,
|
|
54
|
+
...rest
|
|
55
|
+
},
|
|
56
|
+
React__namespace.Children.map(children, (child, index) => {
|
|
57
|
+
const isFirst = index === 0;
|
|
58
|
+
const isLast = index === childCount - 1;
|
|
59
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
60
|
+
reactNative.View,
|
|
61
|
+
{
|
|
62
|
+
style: {
|
|
63
|
+
width: totalSlideWidth,
|
|
64
|
+
paddingHorizontal: horizontalPadding,
|
|
65
|
+
paddingLeft: isFirst ? 0 : horizontalPadding,
|
|
66
|
+
paddingRight: isLast ? 0 : horizontalPadding
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
child
|
|
70
|
+
);
|
|
71
|
+
})
|
|
72
|
+
);
|
|
66
73
|
};
|
|
67
74
|
|
|
68
75
|
module.exports = SnappingSlider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnappingSlider.js","sources":["../../../../../src/components/atoms/SnappingSlider/SnappingSlider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, ScrollView, ScrollViewProps, View } from 'react-native';\nimport {\n extractNumbersFromString,\n SpacingType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport { useTheme } from '@emotion/react';\n\nexport interface SnappingSliderProps\n extends Omit<ScrollViewProps, 'horizontal' | 'snapToOffsets'> {\n /**\n * Amount in screen elements.\n * Should never be lower than scrollAmount, otherwise some elements will be skipped.\n */\n showAmount: number;\n\n /**\n * Amount of items to scroll within a single swipe.\n * Should never be greater than showAmount, otherwise some elements will be skipped.\n */\n scrollAmount: number;\n\n /**\n * Spacing between elements.\n * Must be one of [nano, micro, mili, centi, deca, kilo, mega, giga, tera, peta, hexa]\n */\n spacing?: SpacingType;\n}\n\nconst SnappingSlider: React.FC<SnappingSliderProps> = ({\n children,\n showAmount,\n scrollAmount,\n spacing,\n ...rest\n}) => {\n const theme = useTheme() as ThemeProp;\n\n const childCount = React.Children.count(children);\n const screenWidth = Dimensions.get('window').width;\n const totalSlideWidth = Math.round(screenWidth / showAmount);\n const horizontalPadding = spacing\n ? extractNumbersFromString(theme.spacing[spacing]) / 2\n : 0;\n\n const snapToOffsets = [\n ...Array(Math.ceil(childCount / scrollAmount)).keys(),\n ].map(index => {\n const offset = totalSlideWidth * scrollAmount * index;\n const padCompensation = horizontalPadding * Math.sign(index);\n return offset + padCompensation;\n });\n\n return (\n <ScrollView\n horizontal\n snapToOffsets={snapToOffsets}\n snapToStart\n snapToEnd\n showsHorizontalScrollIndicator={false}\n {...rest}\n >\n {React.Children.map(children, (child, index) => {\n const isFirst = index === 0;\n const isLast = index === childCount - 1;\n\n return (\n <View\n style={{\n width: totalSlideWidth,\n paddingHorizontal: horizontalPadding,\n paddingLeft: isFirst ? 0 : horizontalPadding,\n paddingRight: isLast ? 0 : horizontalPadding,\n }}\n >\n {child}\n </View>\n );\n })}\n </ScrollView>\n );\n};\n\nexport default SnappingSlider;\n"],"names":["useTheme","React","Dimensions","extractNumbersFromString","ScrollView","View"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SnappingSlider.js","sources":["../../../../../src/components/atoms/SnappingSlider/SnappingSlider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, ScrollView, ScrollViewProps, View } from 'react-native';\nimport {\n extractNumbersFromString,\n SpacingType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport { useTheme } from '@emotion/react';\n\nexport interface SnappingSliderProps\n extends Omit<ScrollViewProps, 'horizontal' | 'snapToOffsets'> {\n /**\n * Amount in screen elements.\n * Should never be lower than scrollAmount, otherwise some elements will be skipped.\n */\n showAmount: number;\n\n /**\n * Amount of items to scroll within a single swipe.\n * Should never be greater than showAmount, otherwise some elements will be skipped.\n */\n scrollAmount: number;\n\n /**\n * Spacing between elements.\n * Must be one of [nano, micro, mili, centi, deca, kilo, mega, giga, tera, peta, hexa]\n */\n spacing?: SpacingType;\n}\n\nconst SnappingSlider: React.FC<SnappingSliderProps> = ({\n children,\n showAmount,\n scrollAmount,\n spacing,\n ...rest\n}) => {\n const theme = useTheme() as ThemeProp;\n\n const childCount = React.Children.count(children);\n const screenWidth = Dimensions.get('window').width;\n const totalSlideWidth = Math.round(screenWidth / showAmount);\n const horizontalPadding = spacing\n ? extractNumbersFromString(theme.spacing[spacing]) / 2\n : 0;\n\n const snapToOffsets = [\n ...Array(Math.ceil(childCount / scrollAmount)).keys(),\n ].map(index => {\n const offset = totalSlideWidth * scrollAmount * index;\n const padCompensation = horizontalPadding * Math.sign(index);\n return offset + padCompensation;\n });\n\n return (\n <ScrollView\n horizontal\n snapToOffsets={snapToOffsets}\n snapToStart\n snapToEnd\n showsHorizontalScrollIndicator={false}\n {...rest}\n >\n {React.Children.map(children, (child, index) => {\n const isFirst = index === 0;\n const isLast = index === childCount - 1;\n\n return (\n <View\n style={{\n width: totalSlideWidth,\n paddingHorizontal: horizontalPadding,\n paddingLeft: isFirst ? 0 : horizontalPadding,\n paddingRight: isLast ? 0 : horizontalPadding,\n }}\n >\n {child}\n </View>\n );\n })}\n </ScrollView>\n );\n};\n\nexport default SnappingSlider;\n"],"names":["useTheme","React","Dimensions","extractNumbersFromString","ScrollView","View"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAM,iBAAgD,CAAC;AAAA,EACrD,QAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,QAAQA,cAAS,EAAA,CAAA;AAEvB,EAAA,MAAM,UAAa,GAAAC,gBAAA,CAAM,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAChD,EAAA,MAAM,WAAc,GAAAC,sBAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAA;AAC7C,EAAA,MAAM,eAAkB,GAAA,IAAA,CAAK,KAAM,CAAA,WAAA,GAAc,UAAU,CAAA,CAAA;AAC3D,EAAM,MAAA,iBAAA,GAAoB,UACtBC,kCAAyB,CAAA,KAAA,CAAM,QAAQ,OAAO,CAAC,IAAI,CACnD,GAAA,CAAA,CAAA;AAEJ,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAG,MAAM,IAAK,CAAA,IAAA,CAAK,aAAa,YAAY,CAAC,EAAE,IAAK,EAAA;AAAA,GACtD,CAAE,IAAI,CAAS,KAAA,KAAA;AACb,IAAM,MAAA,MAAA,GAAS,kBAAkB,YAAe,GAAA,KAAA,CAAA;AAChD,IAAA,MAAM,eAAkB,GAAA,iBAAA,GAAoB,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAC3D,IAAA,OAAO,MAAS,GAAA,eAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AAED,EACE,uBAAAF,gBAAA,CAAA,aAAA;AAAA,IAACG,sBAAA;AAAA,IAAA;AAAA,MACC,UAAU,EAAA,IAAA;AAAA,MACV,aAAA;AAAA,MACA,WAAW,EAAA,IAAA;AAAA,MACX,SAAS,EAAA,IAAA;AAAA,MACT,8BAAgC,EAAA,KAAA;AAAA,MAC/B,GAAG,IAAA;AAAA,KAAA;AAAA,IAEHH,iBAAM,QAAS,CAAA,GAAA,CAAI,QAAU,EAAA,CAAC,OAAO,KAAU,KAAA;AAC9C,MAAA,MAAM,UAAU,KAAU,KAAA,CAAA,CAAA;AAC1B,MAAM,MAAA,MAAA,GAAS,UAAU,UAAa,GAAA,CAAA,CAAA;AAEtC,MACE,uBAAAA,gBAAA,CAAA,aAAA;AAAA,QAACI,gBAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA;AAAA,YACL,KAAO,EAAA,eAAA;AAAA,YACP,iBAAmB,EAAA,iBAAA;AAAA,YACnB,WAAA,EAAa,UAAU,CAAI,GAAA,iBAAA;AAAA,YAC3B,YAAA,EAAc,SAAS,CAAI,GAAA,iBAAA;AAAA,WAC7B;AAAA,SAAA;AAAA,QAEC,KAAA;AAAA,OACH,CAAA;AAAA,KAEH,CAAA;AAAA,GACH,CAAA;AAEJ;;;;"}
|