repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 41.7 kB
JSON
{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"icon\", \"label\", \"background\", \"accessibilityLabel\", \"accessibilityState\", \"color\", \"rippleColor\", \"disabled\", \"onPress\", \"onLongPress\", \"delayLongPress\", \"theme\", \"style\", \"visible\", \"uppercase\", \"testID\", \"animateFrom\", \"extended\", \"iconMode\", \"variant\", \"labelMaxFontSizeMultiplier\", \"hitSlop\"],\n _excluded2 = [\"backgroundColor\"];\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Easing from \"react-native-web/dist/exports/Easing\";\nimport I18nManager from \"react-native-web/dist/exports/I18nManager\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport ScrollView from \"react-native-web/dist/exports/ScrollView\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport color from 'color';\nimport { getCombinedStyles, getFABColors, getLabelSizeWeb } from \"./utils\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport Icon from \"../Icon\";\nimport Surface from \"../Surface\";\nimport TouchableRipple from \"../TouchableRipple/TouchableRipple\";\nimport AnimatedText from \"../Typography/AnimatedText\";\nconst SIZE = 56;\nconst SCALE = 0.9;\nconst AnimatedFAB = _ref => {\n let {\n icon,\n label,\n background,\n accessibilityLabel = label,\n accessibilityState,\n color: customColor,\n rippleColor: customRippleColor,\n disabled,\n onPress,\n onLongPress,\n delayLongPress,\n theme: themeOverrides,\n style,\n visible = true,\n uppercase: uppercaseProp,\n testID = 'animated-fab',\n animateFrom = 'right',\n extended = false,\n iconMode = 'dynamic',\n variant = 'primary',\n labelMaxFontSizeMultiplier,\n hitSlop\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n const theme = useInternalTheme(themeOverrides);\n const uppercase = uppercaseProp ?? !theme.isV3;\n const isIOS = Platform.OS === 'ios';\n const isWeb = Platform.OS === 'web';\n const isAnimatedFromRight = animateFrom === 'right';\n const isIconStatic = iconMode === 'static';\n const {\n isRTL\n } = I18nManager;\n const labelRef = React.useRef(null);\n const {\n current: visibility\n } = React.useRef(new Animated.Value(visible ? 1 : 0));\n const {\n current: animFAB\n } = React.useRef(new Animated.Value(0));\n const {\n isV3,\n animation\n } = theme;\n const {\n scale\n } = animation;\n const labelSize = isWeb ? getLabelSizeWeb(labelRef) : null;\n const [textWidth, setTextWidth] = React.useState((labelSize === null || labelSize === void 0 ? void 0 : labelSize.width) ?? 0);\n const [textHeight, setTextHeight] = React.useState((labelSize === null || labelSize === void 0 ? void 0 : labelSize.height) ?? 0);\n const borderRadius = SIZE / (isV3 ? 3.5 : 2);\n React.useEffect(() => {\n if (!isWeb) {\n return;\n }\n const updateTextSize = () => {\n if (labelRef.current) {\n const labelSize = getLabelSizeWeb(labelRef);\n if (labelSize) {\n setTextHeight(labelSize.height ?? 0);\n setTextWidth(labelSize.width ?? 0);\n }\n }\n };\n updateTextSize();\n window.addEventListener('resize', updateTextSize);\n return () => {\n if (!isWeb) {\n return;\n }\n window.removeEventListener('resize', updateTextSize);\n };\n }, [isWeb]);\n React.useEffect(() => {\n if (visible) {\n Animated.timing(visibility, {\n toValue: 1,\n duration: 200 * scale,\n useNativeDriver: true\n }).start();\n } else {\n Animated.timing(visibility, {\n toValue: 0,\n duration: 150 * scale,\n useNativeDriver: true\n }).start();\n }\n }, [visible, scale, visibility]);\n const _ref2 = StyleSheet.flatten(style) || {},\n {\n backgroundColor: customBackgroundColor\n } = _ref2,\n restStyle = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n const {\n backgroundColor,\n foregroundColor\n } = getFABColors({\n theme,\n variant,\n disabled,\n customColor,\n customBackgroundColor\n });\n const rippleColor = customRippleColor || color(foregroundColor).alpha(0.12).rgb().string();\n const extendedWidth = textWidth + SIZE + borderRadius;\n const distance = isAnimatedFromRight ? -textWidth - borderRadius : textWidth + borderRadius;\n React.useEffect(() => {\n Animated.timing(animFAB, {\n toValue: !extended ? 0 : distance,\n duration: 150 * scale,\n useNativeDriver: true,\n easing: Easing.linear\n }).start();\n }, [animFAB, scale, distance, extended]);\n const onTextLayout = ({\n nativeEvent\n }) => {\n var _nativeEvent$lines$, _nativeEvent$lines$2;\n const currentWidth = Math.ceil(((_nativeEvent$lines$ = nativeEvent.lines[0]) === null || _nativeEvent$lines$ === void 0 ? void 0 : _nativeEvent$lines$.width) ?? 0);\n const currentHeight = Math.ceil(((_nativeEvent$lines$2 = nativeEvent.lines[0]) === null || _nativeEvent$lines$2 === void 0 ? void 0 : _nativeEvent$lines$2.height) ?? 0);\n if (currentWidth !== textWidth || currentHeight !== textHeight) {\n setTextHeight(currentHeight);\n if (isIOS) {\n return setTextWidth(currentWidth - 12);\n }\n setTextWidth(currentWidth);\n }\n };\n const propForDirection = right => {\n if (isAnimatedFromRight) {\n return right;\n }\n return right.reverse();\n };\n const combinedStyles = getCombinedStyles({\n isAnimatedFromRight,\n isIconStatic,\n distance,\n animFAB\n });\n const font = isV3 ? theme.fonts.labelLarge : theme.fonts.medium;\n const textStyle = Object.assign({\n color: foregroundColor\n }, font);\n const md2Elevation = disabled || !isIOS ? 0 : 6;\n const md3Elevation = disabled || !isIOS ? 0 : 3;\n const shadowStyle = isV3 ? styles.v3Shadow : styles.shadow;\n const baseStyle = [StyleSheet.absoluteFill, disabled ? styles.disabled : shadowStyle];\n const newAccessibilityState = Object.assign({}, accessibilityState, {\n disabled\n });\n return React.createElement(Surface, _extends({}, rest, {\n testID: `${testID}-container`,\n style: [{\n opacity: visibility,\n transform: [{\n scale: visibility\n }],\n borderRadius\n }, !isV3 && {\n elevation: md2Elevation\n }, styles.container, restStyle]\n }, isV3 && {\n elevation: md3Elevation\n }, {\n theme: theme,\n container: true\n }), React.createElement(Animated.View, {\n style: [!isV3 && {\n transform: [{\n scaleY: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([SCALE, 1])\n })\n }]\n }, styles.standard, {\n borderRadius\n }]\n }, React.createElement(View, {\n style: [StyleSheet.absoluteFill, styles.shadowWrapper]\n }, React.createElement(Animated.View, {\n pointerEvents: \"none\",\n style: [baseStyle, {\n width: extendedWidth,\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.9 * distance, 0]),\n outputRange: propForDirection([1, 0.15, 0])\n }),\n borderRadius\n }],\n testID: `${testID}-extended-shadow`\n }), React.createElement(Animated.View, {\n pointerEvents: \"none\",\n style: [baseStyle, {\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.9 * distance, 0]),\n outputRange: propForDirection([0, 0.85, 1])\n }),\n width: SIZE,\n borderRadius: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([SIZE / (extendedWidth / SIZE), borderRadius])\n })\n }, combinedStyles.absoluteFill],\n testID: `${testID}-shadow`\n })), React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.innerWrapper, {\n borderRadius\n }]\n }, React.createElement(Animated.View, {\n style: [styles.standard, {\n width: extendedWidth,\n backgroundColor,\n borderRadius\n }, combinedStyles.innerWrapper]\n }, React.createElement(TouchableRipple, {\n borderless: true,\n background: background,\n onPress: onPress,\n onLongPress: onLongPress,\n delayLongPress: delayLongPress,\n rippleColor: rippleColor,\n disabled: disabled,\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n accessibilityState: newAccessibilityState,\n testID: testID,\n style: {\n borderRadius\n },\n theme: theme,\n hitSlop: hitSlop\n }, React.createElement(View, {\n style: [styles.standard, {\n width: extendedWidth,\n borderRadius\n }]\n }))))), React.createElement(Animated.View, {\n style: [styles.iconWrapper, combinedStyles.iconWrapper],\n pointerEvents: \"none\"\n }, React.createElement(Icon, {\n source: icon,\n size: 24,\n color: foregroundColor,\n theme: theme\n })), React.createElement(View, {\n pointerEvents: \"none\"\n }, React.createElement(AnimatedText, {\n ref: isWeb ? labelRef : null,\n variant: \"labelLarge\",\n numberOfLines: 1,\n onTextLayout: isIOS ? onTextLayout : undefined,\n ellipsizeMode: 'tail',\n style: [{\n [isAnimatedFromRight || isRTL ? 'right' : 'left']: isIconStatic ? textWidth - SIZE + borderRadius / (isV3 ? 1 : 2) : borderRadius\n }, {\n minWidth: textWidth,\n top: -SIZE / 2 - textHeight / 2,\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.7 * distance, 0]),\n outputRange: propForDirection([1, 0, 0])\n }),\n transform: [{\n translateX: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([0, SIZE])\n })\n }]\n }, styles.label, uppercase && styles.uppercaseLabel, textStyle],\n theme: theme,\n testID: `${testID}-text`,\n maxFontSizeMultiplier: labelMaxFontSizeMultiplier\n }, label)), !isIOS && React.createElement(ScrollView, {\n style: styles.textPlaceholderContainer\n }, React.createElement(AnimatedText, {\n variant: \"labelLarge\",\n numberOfLines: 1,\n onTextLayout: onTextLayout,\n ellipsizeMode: 'tail',\n style: [styles.label, uppercase && styles.uppercaseLabel, textStyle],\n theme: theme\n }, label)));\n};\nconst styles = StyleSheet.create({\n standard: {\n height: SIZE\n },\n disabled: {\n elevation: 0\n },\n container: {\n position: 'absolute',\n backgroundColor: 'transparent'\n },\n innerWrapper: {\n flexDirection: 'row',\n overflow: 'hidden'\n },\n shadowWrapper: {\n elevation: 0\n },\n shadow: {\n elevation: 6\n },\n v3Shadow: {\n elevation: 3\n },\n iconWrapper: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n height: SIZE,\n width: SIZE\n },\n label: {\n position: 'absolute'\n },\n uppercaseLabel: {\n textTransform: 'uppercase'\n },\n textPlaceholderContainer: {\n height: 0,\n position: 'absolute'\n }\n});\nexport default AnimatedFAB;","map":{"version":3,"names":["React","Animated","Easing","I18nManager","Platform","ScrollView","StyleSheet","View","color","getCombinedStyles","getFABColors","getLabelSizeWeb","useInternalTheme","Icon","Surface","TouchableRipple","AnimatedText","SIZE","SCALE","AnimatedFAB","_ref","icon","label","background","accessibilityLabel","accessibilityState","customColor","rippleColor","customRippleColor","disabled","onPress","onLongPress","delayLongPress","theme","themeOverrides","style","visible","uppercase","uppercaseProp","testID","animateFrom","extended","iconMode","variant","labelMaxFontSizeMultiplier","hitSlop","rest","_objectWithoutPropertiesLoose","_excluded","isV3","isIOS","OS","isWeb","isAnimatedFromRight","isIconStatic","isRTL","labelRef","useRef","current","visibility","Value","animFAB","animation","scale","labelSize","textWidth","setTextWidth","useState","width","textHeight","setTextHeight","height","borderRadius","useEffect","updateTextSize","window","addEventListener","removeEventListener","timing","toValue","duration","useNativeDriver","start","_ref2","flatten","backgroundColor","customBackgroundColor","restStyle","_excluded2","foregroundColor","alpha","rgb","string","extendedWidth","distance","easing","linear","onTextLayout","nativeEvent","_nativeEvent$lines$","_nativeEvent$lines$2","currentWidth","Math","ceil","lines","currentHeight","propForDirection","right","reverse","combinedStyles","font","fonts","labelLarge","medium","textStyle","Object","assign","md2Elevation","md3Elevation","shadowStyle","styles","v3Shadow","shadow","baseStyle","absoluteFill","newAccessibilityState","createElement","_extends","opacity","transform","elevation","container","scaleY","interpolate","inputRange","outputRange","standard","shadowWrapper","pointerEvents","innerWrapper","borderless","accessibilityRole","iconWrapper","source","size","ref","numberOfLines","undefined","ellipsizeMode","minWidth","top","translateX","uppercaseLabel","maxFontSizeMultiplier","textPlaceholderContainer","create","position","flexDirection","overflow","alignItems","justifyContent","textTransform"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/FAB/AnimatedFAB.tsx"],"sourcesContent":["import * as React from 'react';\nimport type {\n AccessibilityState,\n ColorValue,\n NativeSyntheticEvent,\n PressableAndroidRippleConfig,\n TextLayoutEventData,\n} from 'react-native';\nimport {\n Animated,\n Easing,\n GestureResponderEvent,\n I18nManager,\n Platform,\n ScrollView,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n Text,\n} from 'react-native';\n\nimport color from 'color';\n\nimport { getCombinedStyles, getFABColors, getLabelSizeWeb } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $Omit, $RemoveChildren, ThemeProp } from '../../types';\nimport type { IconSource } from '../Icon';\nimport Icon from '../Icon';\nimport Surface from '../Surface';\nimport TouchableRipple, {\n Props as TouchableRippleProps,\n} from '../TouchableRipple/TouchableRipple';\nimport AnimatedText from '../Typography/AnimatedText';\n\nexport type AnimatedFABIconMode = 'static' | 'dynamic';\nexport type AnimatedFABAnimateFrom = 'left' | 'right';\n\nexport type Props = $Omit<$RemoveChildren<typeof Surface>, 'mode'> & {\n /**\n * Icon to display for the `FAB`.\n */\n icon: IconSource;\n /**\n * Label for extended `FAB`.\n */\n label: string;\n /**\n * Make the label text uppercased.\n */\n uppercase?: boolean;\n /**\n * Type of background drawabale to display the feedback (Android).\n * https://reactnative.dev/docs/pressable#rippleconfig\n */\n background?: PressableAndroidRippleConfig;\n /**\n * Accessibility label for the FAB. This is read by the screen reader when the user taps the FAB.\n * Uses `label` by default if specified.\n */\n accessibilityLabel?: string;\n /**\n * Accessibility state for the FAB. This is read by the screen reader when the user taps the FAB.\n */\n accessibilityState?: AccessibilityState;\n /**\n * Custom color for the icon and label of the `FAB`.\n */\n color?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Whether `FAB` is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Whether `FAB` is currently visible.\n */\n visible?: boolean;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute on long press.\n */\n onLongPress?: (e: GestureResponderEvent) => void;\n /**\n * The number of milliseconds a user must touch the element before executing `onLongPress`.\n */\n delayLongPress?: number;\n /**\n * Whether icon should be translated to the end of extended `FAB` or be static and stay in the same place. The default value is `dynamic`.\n */\n iconMode?: AnimatedFABIconMode;\n /**\n * Indicates from which direction animation should be performed. The default value is `right`.\n */\n animateFrom?: AnimatedFABAnimateFrom;\n /**\n * Whether `FAB` should start animation to extend.\n */\n extended: boolean;\n /**\n * Specifies the largest possible scale a label font can reach.\n */\n labelMaxFontSizeMultiplier?: number;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Color mappings variant for combinations of container and icon colors.\n */\n variant?: 'primary' | 'secondary' | 'tertiary' | 'surface';\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n /**\n * Sets additional distance outside of element in which a press can be detected.\n */\n hitSlop?: TouchableRippleProps['hitSlop'];\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n};\n\nconst SIZE = 56;\nconst SCALE = 0.9;\n\n/**\n * An animated, extending horizontally floating action button represents the primary action in an application.\n *\n * ## Usage\n * ```js\n * import React from 'react';\n * import {\n * StyleProp,\n * ViewStyle,\n * Animated,\n * StyleSheet,\n * Platform,\n * ScrollView,\n * Text,\n * SafeAreaView,\n * I18nManager,\n * } from 'react-native';\n * import { AnimatedFAB } from 'react-native-paper';\n *\n * const MyComponent = ({\n * animatedValue,\n * visible,\n * extended,\n * label,\n * animateFrom,\n * style,\n * iconMode,\n * }) => {\n * const [isExtended, setIsExtended] = React.useState(true);\n *\n * const isIOS = Platform.OS === 'ios';\n *\n * const onScroll = ({ nativeEvent }) => {\n * const currentScrollPosition =\n * Math.floor(nativeEvent?.contentOffset?.y) ?? 0;\n *\n * setIsExtended(currentScrollPosition <= 0);\n * };\n *\n * const fabStyle = { [animateFrom]: 16 };\n *\n * return (\n * <SafeAreaView style={styles.container}>\n * <ScrollView onScroll={onScroll}>\n * {[...new Array(100).keys()].map((_, i) => (\n * <Text>{i}</Text>\n * ))}\n * </ScrollView>\n * <AnimatedFAB\n * icon={'plus'}\n * label={'Label'}\n * extended={isExtended}\n * onPress={() => console.log('Pressed')}\n * visible={visible}\n * animateFrom={'right'}\n * iconMode={'static'}\n * style={[styles.fabStyle, style, fabStyle]}\n * />\n * </SafeAreaView>\n * );\n * };\n *\n * export default MyComponent;\n *\n * const styles = StyleSheet.create({\n * container: {\n * flexGrow: 1,\n * },\n * fabStyle: {\n * bottom: 16,\n * right: 16,\n * position: 'absolute',\n * },\n * });\n * ```\n */\nconst AnimatedFAB = ({\n icon,\n label,\n background,\n accessibilityLabel = label,\n accessibilityState,\n color: customColor,\n rippleColor: customRippleColor,\n disabled,\n onPress,\n onLongPress,\n delayLongPress,\n theme: themeOverrides,\n style,\n visible = true,\n uppercase: uppercaseProp,\n testID = 'animated-fab',\n animateFrom = 'right',\n extended = false,\n iconMode = 'dynamic',\n variant = 'primary',\n labelMaxFontSizeMultiplier,\n hitSlop,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const uppercase: boolean = uppercaseProp ?? !theme.isV3;\n const isIOS = Platform.OS === 'ios';\n const isWeb = Platform.OS === 'web';\n const isAnimatedFromRight = animateFrom === 'right';\n const isIconStatic = iconMode === 'static';\n const { isRTL } = I18nManager;\n const labelRef = React.useRef<Text & HTMLElement>(null);\n const { current: visibility } = React.useRef<Animated.Value>(\n new Animated.Value(visible ? 1 : 0)\n );\n const { current: animFAB } = React.useRef<Animated.Value>(\n new Animated.Value(0)\n );\n const { isV3, animation } = theme;\n const { scale } = animation;\n\n const labelSize = isWeb ? getLabelSizeWeb(labelRef) : null;\n const [textWidth, setTextWidth] = React.useState<number>(\n labelSize?.width ?? 0\n );\n const [textHeight, setTextHeight] = React.useState<number>(\n labelSize?.height ?? 0\n );\n\n const borderRadius = SIZE / (isV3 ? 3.5 : 2);\n\n React.useEffect(() => {\n if (!isWeb) {\n return;\n }\n\n const updateTextSize = () => {\n if (labelRef.current) {\n const labelSize = getLabelSizeWeb(labelRef);\n\n if (labelSize) {\n setTextHeight(labelSize.height ?? 0);\n setTextWidth(labelSize.width ?? 0);\n }\n }\n };\n\n updateTextSize();\n window.addEventListener('resize', updateTextSize);\n\n return () => {\n if (!isWeb) {\n return;\n }\n\n window.removeEventListener('resize', updateTextSize);\n };\n }, [isWeb]);\n\n React.useEffect(() => {\n if (visible) {\n Animated.timing(visibility, {\n toValue: 1,\n duration: 200 * scale,\n useNativeDriver: true,\n }).start();\n } else {\n Animated.timing(visibility, {\n toValue: 0,\n duration: 150 * scale,\n useNativeDriver: true,\n }).start();\n }\n }, [visible, scale, visibility]);\n\n const { backgroundColor: customBackgroundColor, ...restStyle } =\n (StyleSheet.flatten(style) || {}) as ViewStyle;\n\n const { backgroundColor, foregroundColor } = getFABColors({\n theme,\n variant,\n disabled,\n customColor,\n customBackgroundColor,\n });\n\n const rippleColor =\n customRippleColor || color(foregroundColor).alpha(0.12).rgb().string();\n\n const extendedWidth = textWidth + SIZE + borderRadius;\n\n const distance = isAnimatedFromRight\n ? -textWidth - borderRadius\n : textWidth + borderRadius;\n\n React.useEffect(() => {\n Animated.timing(animFAB, {\n toValue: !extended ? 0 : distance,\n duration: 150 * scale,\n useNativeDriver: true,\n easing: Easing.linear,\n }).start();\n }, [animFAB, scale, distance, extended]);\n\n const onTextLayout = ({\n nativeEvent,\n }: NativeSyntheticEvent<TextLayoutEventData>) => {\n const currentWidth = Math.ceil(nativeEvent.lines[0]?.width ?? 0);\n const currentHeight = Math.ceil(nativeEvent.lines[0]?.height ?? 0);\n\n if (currentWidth !== textWidth || currentHeight !== textHeight) {\n setTextHeight(currentHeight);\n\n if (isIOS) {\n return setTextWidth(currentWidth - 12);\n }\n\n setTextWidth(currentWidth);\n }\n };\n\n const propForDirection = <T,>(right: T[]): T[] => {\n if (isAnimatedFromRight) {\n return right;\n }\n\n return right.reverse();\n };\n\n const combinedStyles = getCombinedStyles({\n isAnimatedFromRight,\n isIconStatic,\n distance,\n animFAB,\n });\n\n const font = isV3 ? theme.fonts.labelLarge : theme.fonts.medium;\n\n const textStyle = {\n color: foregroundColor,\n ...font,\n };\n\n const md2Elevation = disabled || !isIOS ? 0 : 6;\n const md3Elevation = disabled || !isIOS ? 0 : 3;\n\n const shadowStyle = isV3 ? styles.v3Shadow : styles.shadow;\n const baseStyle = [\n StyleSheet.absoluteFill,\n disabled ? styles.disabled : shadowStyle,\n ];\n\n const newAccessibilityState = { ...accessibilityState, disabled };\n\n return (\n <Surface\n {...rest}\n testID={`${testID}-container`}\n style={[\n {\n opacity: visibility,\n transform: [\n {\n scale: visibility,\n },\n ],\n borderRadius,\n },\n !isV3 && {\n elevation: md2Elevation,\n },\n styles.container,\n restStyle,\n ]}\n {...(isV3 && { elevation: md3Elevation })}\n theme={theme}\n container\n >\n <Animated.View\n style={[\n !isV3 && {\n transform: [\n {\n scaleY: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([SCALE, 1]),\n }),\n },\n ],\n },\n styles.standard,\n { borderRadius },\n ]}\n >\n <View style={[StyleSheet.absoluteFill, styles.shadowWrapper]}>\n <Animated.View\n pointerEvents=\"none\"\n style={[\n baseStyle,\n {\n width: extendedWidth,\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.9 * distance, 0]),\n outputRange: propForDirection([1, 0.15, 0]),\n }),\n borderRadius,\n },\n ]}\n testID={`${testID}-extended-shadow`}\n />\n <Animated.View\n pointerEvents=\"none\"\n style={[\n baseStyle,\n {\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.9 * distance, 0]),\n outputRange: propForDirection([0, 0.85, 1]),\n }),\n width: SIZE,\n borderRadius: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([\n SIZE / (extendedWidth / SIZE),\n borderRadius,\n ]),\n }),\n },\n combinedStyles.absoluteFill,\n ]}\n testID={`${testID}-shadow`}\n />\n </View>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[styles.innerWrapper, { borderRadius }]}\n >\n <Animated.View\n style={[\n styles.standard,\n {\n width: extendedWidth,\n backgroundColor,\n borderRadius,\n },\n combinedStyles.innerWrapper,\n ]}\n >\n <TouchableRipple\n borderless\n background={background}\n onPress={onPress}\n onLongPress={onLongPress}\n delayLongPress={delayLongPress}\n rippleColor={rippleColor}\n disabled={disabled}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessibilityState={newAccessibilityState}\n testID={testID}\n style={{ borderRadius }}\n theme={theme}\n hitSlop={hitSlop}\n >\n <View\n style={[\n styles.standard,\n {\n width: extendedWidth,\n borderRadius,\n },\n ]}\n />\n </TouchableRipple>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n\n <Animated.View\n style={[styles.iconWrapper, combinedStyles.iconWrapper]}\n pointerEvents=\"none\"\n >\n <Icon source={icon} size={24} color={foregroundColor} theme={theme} />\n </Animated.View>\n\n <View pointerEvents=\"none\">\n <AnimatedText\n ref={isWeb ? labelRef : null}\n variant=\"labelLarge\"\n numberOfLines={1}\n onTextLayout={isIOS ? onTextLayout : undefined}\n ellipsizeMode={'tail'}\n style={[\n {\n [isAnimatedFromRight || isRTL ? 'right' : 'left']: isIconStatic\n ? textWidth - SIZE + borderRadius / (isV3 ? 1 : 2)\n : borderRadius,\n },\n {\n minWidth: textWidth,\n top: -SIZE / 2 - textHeight / 2,\n opacity: animFAB.interpolate({\n inputRange: propForDirection([distance, 0.7 * distance, 0]),\n outputRange: propForDirection([1, 0, 0]),\n }) as unknown as number,\n // TODO: check\n transform: [\n {\n translateX: animFAB.interpolate({\n inputRange: propForDirection([distance, 0]),\n outputRange: propForDirection([0, SIZE]),\n }),\n },\n ],\n },\n styles.label,\n uppercase && styles.uppercaseLabel,\n textStyle,\n ]}\n theme={theme}\n testID={`${testID}-text`}\n maxFontSizeMultiplier={labelMaxFontSizeMultiplier}\n >\n {label}\n </AnimatedText>\n </View>\n\n {!isIOS && (\n // Method `onTextLayout` on Android returns sizes of text visible on the screen,\n // however during render the text in `FAB` isn't fully visible. In order to get\n // proper text measurements there is a need to additionaly render that text, but\n // wrapped in absolutely positioned `ScrollView` which height is 0.\n <ScrollView style={styles.textPlaceholderContainer}>\n <AnimatedText\n variant=\"labelLarge\"\n numberOfLines={1}\n onTextLayout={onTextLayout}\n ellipsizeMode={'tail'}\n style={[\n styles.label,\n uppercase && styles.uppercaseLabel,\n textStyle,\n ]}\n theme={theme}\n >\n {label}\n </AnimatedText>\n </ScrollView>\n )}\n </Surface>\n );\n};\n\nconst styles = StyleSheet.create({\n standard: {\n height: SIZE,\n },\n disabled: {\n elevation: 0,\n },\n // eslint-disable-next-line react-native/no-color-literals\n container: {\n position: 'absolute',\n backgroundColor: 'transparent',\n },\n innerWrapper: {\n flexDirection: 'row',\n overflow: 'hidden',\n },\n shadowWrapper: {\n elevation: 0,\n },\n shadow: {\n elevation: 6,\n },\n v3Shadow: {\n elevation: 3,\n },\n iconWrapper: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n height: SIZE,\n width: SIZE,\n },\n label: {\n position: 'absolute',\n },\n uppercaseLabel: {\n textTransform: 'uppercase',\n },\n textPlaceholderContainer: {\n height: 0,\n position: 'absolute',\n },\n});\n\nexport default AnimatedFAB;\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}