UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 36.3 kB
{"ast":null,"code":"import * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Pressable from \"react-native-web/dist/exports/Pressable\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport FAB from \"./FAB\";\nimport { getFABGroupColors } from \"./utils\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport Card from \"../Card/Card\";\nimport Text from \"../Typography/Text\";\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\nconst FABGroup = ({\n actions,\n icon,\n open,\n onPress,\n onLongPress,\n toggleStackOnLongPress,\n accessibilityLabel,\n theme: themeOverrides,\n style,\n fabStyle,\n visible,\n label,\n testID,\n onStateChange,\n color: colorProp,\n delayLongPress = 200,\n variant = 'primary',\n enableLongPressWhenStackOpened = false,\n backdropColor: customBackdropColor,\n rippleColor\n}) => {\n const theme = useInternalTheme(themeOverrides);\n const {\n top,\n bottom,\n right,\n left\n } = useSafeAreaInsets();\n const {\n current: backdrop\n } = React.useRef(new Animated.Value(0));\n const animations = React.useRef(actions.map(() => new Animated.Value(open ? 1 : 0)));\n const [isClosingAnimationFinished, setIsClosingAnimationFinished] = React.useState(false);\n const [prevActions, setPrevActions] = React.useState(null);\n const {\n scale\n } = theme.animation;\n const {\n isV3\n } = theme;\n React.useEffect(() => {\n if (open) {\n setIsClosingAnimationFinished(false);\n Animated.parallel([Animated.timing(backdrop, {\n toValue: 1,\n duration: 250 * scale,\n useNativeDriver: true\n }), Animated.stagger(isV3 ? 15 : 50 * scale, animations.current.map(animation => Animated.timing(animation, {\n toValue: 1,\n duration: 150 * scale,\n useNativeDriver: true\n })).reverse())]).start();\n } else {\n Animated.parallel([Animated.timing(backdrop, {\n toValue: 0,\n duration: 200 * scale,\n useNativeDriver: true\n }), ...animations.current.map(animation => Animated.timing(animation, {\n toValue: 0,\n duration: 150 * scale,\n useNativeDriver: true\n }))]).start(({\n finished\n }) => {\n if (finished) {\n setIsClosingAnimationFinished(true);\n }\n });\n }\n }, [open, actions, backdrop, scale, isV3]);\n const close = () => onStateChange({\n open: false\n });\n const toggle = () => onStateChange({\n open: !open\n });\n const handlePress = e => {\n onPress === null || onPress === void 0 || onPress(e);\n if (!toggleStackOnLongPress || open) {\n toggle();\n }\n };\n const handleLongPress = e => {\n if (!open || enableLongPressWhenStackOpened) {\n onLongPress === null || onLongPress === void 0 || onLongPress(e);\n if (toggleStackOnLongPress) {\n toggle();\n }\n }\n };\n const {\n labelColor,\n backdropColor,\n stackedFABBackgroundColor\n } = getFABGroupColors({\n theme,\n customBackdropColor\n });\n const backdropOpacity = open ? backdrop.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, 1, 1]\n }) : backdrop;\n const opacities = animations.current;\n const scales = opacities.map(opacity => open ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [0.5, 1]\n }) : 1);\n const translations = opacities.map(opacity => open ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [24, -8]\n }) : -8);\n const labelTranslations = opacities.map(opacity => open ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [8, -8]\n }) : -8);\n const containerPaddings = {\n paddingBottom: bottom,\n paddingRight: right,\n paddingLeft: left,\n paddingTop: top\n };\n const actionsContainerVisibility = {\n display: isClosingAnimationFinished ? 'none' : 'flex'\n };\n if (actions.length !== (prevActions === null || prevActions === void 0 ? void 0 : prevActions.length)) {\n animations.current = actions.map((_, i) => animations.current[i] || new Animated.Value(open ? 1 : 0));\n setPrevActions(actions);\n }\n return React.createElement(View, {\n pointerEvents: \"box-none\",\n style: [styles.container, containerPaddings, style]\n }, React.createElement(AnimatedPressable, {\n accessibilityRole: \"button\",\n onPress: close,\n pointerEvents: open ? 'auto' : 'none',\n style: [styles.backdrop, {\n opacity: backdropOpacity,\n backgroundColor: backdropColor\n }]\n }), React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.safeArea\n }, React.createElement(View, {\n pointerEvents: open ? 'box-none' : 'none',\n style: actionsContainerVisibility\n }, actions.map((it, i) => {\n const labelTextStyle = Object.assign({\n color: it.labelTextColor ?? labelColor\n }, isV3 ? theme.fonts.titleMedium : {});\n const marginHorizontal = typeof it.size === 'undefined' || it.size === 'small' ? 24 : 16;\n const accessibilityLabel = typeof it.accessibilityLabel !== 'undefined' ? it.accessibilityLabel : it.label;\n const size = typeof it.size !== 'undefined' ? it.size : 'small';\n const handleActionPress = e => {\n it.onPress(e);\n close();\n };\n return React.createElement(View, {\n key: i,\n style: [styles.item, {\n marginHorizontal\n }, it.wrapperStyle],\n pointerEvents: open ? 'box-none' : 'none',\n accessibilityRole: \"button\",\n importantForAccessibility: open ? 'yes' : 'no-hide-descendants',\n accessibilityElementsHidden: !open,\n accessible: open,\n accessibilityLabel: accessibilityLabel\n }, it.label && React.createElement(View, null, React.createElement(Card, {\n mode: isV3 ? 'contained' : 'elevated',\n onPress: handleActionPress,\n accessibilityHint: it.accessibilityHint,\n importantForAccessibility: \"no-hide-descendants\",\n accessibilityElementsHidden: true,\n style: [styles.containerStyle, {\n transform: [isV3 ? {\n translateY: labelTranslations[i]\n } : {\n scale: scales[i]\n }],\n opacity: opacities[i]\n }, isV3 && styles.v3ContainerStyle, it.containerStyle]\n }, React.createElement(Text, {\n variant: \"titleMedium\",\n importantForAccessibility: \"no-hide-descendants\",\n accessibilityElementsHidden: true,\n style: [labelTextStyle, it.labelStyle],\n maxFontSizeMultiplier: it.labelMaxFontSizeMultiplier\n }, it.label))), React.createElement(FAB, {\n size: size,\n icon: it.icon,\n color: it.color,\n style: [{\n transform: [{\n scale: scales[i]\n }],\n opacity: opacities[i],\n backgroundColor: stackedFABBackgroundColor\n }, isV3 && {\n transform: [{\n translateY: translations[i]\n }]\n }, it.style],\n accessibilityElementsHidden: true,\n theme: theme,\n onPress: handleActionPress,\n importantForAccessibility: \"no-hide-descendants\",\n testID: it.testID,\n visible: open,\n rippleColor: it.rippleColor\n }));\n })), React.createElement(FAB, {\n onPress: handlePress,\n onLongPress: handleLongPress,\n delayLongPress: delayLongPress,\n icon: icon,\n color: colorProp,\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n accessibilityState: {\n expanded: open\n },\n style: [styles.fab, fabStyle],\n theme: theme,\n visible: visible,\n label: label,\n testID: testID,\n variant: variant,\n rippleColor: rippleColor\n })));\n};\nFABGroup.displayName = 'FAB.Group';\nexport default FABGroup;\nexport { FABGroup };\nconst styles = StyleSheet.create({\n safeArea: {\n alignItems: 'flex-end'\n },\n container: Object.assign({}, StyleSheet.absoluteFillObject, {\n justifyContent: 'flex-end'\n }),\n fab: {\n marginHorizontal: 16,\n marginBottom: 16,\n marginTop: 0\n },\n backdrop: Object.assign({}, StyleSheet.absoluteFillObject),\n containerStyle: {\n borderRadius: 5,\n paddingHorizontal: 12,\n paddingVertical: 6,\n marginVertical: 8,\n marginHorizontal: 16,\n elevation: 2\n },\n item: {\n marginBottom: 16,\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center'\n },\n v3ContainerStyle: {\n backgroundColor: 'transparent',\n elevation: 0\n }\n});","map":{"version":3,"names":["React","Animated","Pressable","StyleSheet","View","useSafeAreaInsets","FAB","getFABGroupColors","useInternalTheme","Card","Text","AnimatedPressable","createAnimatedComponent","FABGroup","actions","icon","open","onPress","onLongPress","toggleStackOnLongPress","accessibilityLabel","theme","themeOverrides","style","fabStyle","visible","label","testID","onStateChange","color","colorProp","delayLongPress","variant","enableLongPressWhenStackOpened","backdropColor","customBackdropColor","rippleColor","top","bottom","right","left","current","backdrop","useRef","Value","animations","map","isClosingAnimationFinished","setIsClosingAnimationFinished","useState","prevActions","setPrevActions","scale","animation","isV3","useEffect","parallel","timing","toValue","duration","useNativeDriver","stagger","reverse","start","finished","close","toggle","handlePress","e","handleLongPress","labelColor","stackedFABBackgroundColor","backdropOpacity","interpolate","inputRange","outputRange","opacities","scales","opacity","translations","labelTranslations","containerPaddings","paddingBottom","paddingRight","paddingLeft","paddingTop","actionsContainerVisibility","display","length","_","i","createElement","pointerEvents","styles","container","accessibilityRole","backgroundColor","safeArea","it","labelTextStyle","Object","assign","labelTextColor","fonts","titleMedium","marginHorizontal","size","handleActionPress","key","item","wrapperStyle","importantForAccessibility","accessibilityElementsHidden","accessible","mode","accessibilityHint","containerStyle","transform","translateY","v3ContainerStyle","labelStyle","maxFontSizeMultiplier","labelMaxFontSizeMultiplier","accessibilityState","expanded","fab","displayName","create","alignItems","absoluteFillObject","justifyContent","marginBottom","marginTop","borderRadius","paddingHorizontal","paddingVertical","marginVertical","elevation","flexDirection"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/FAB/FABGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n ColorValue,\n GestureResponderEvent,\n Pressable,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport FAB from './FAB';\nimport { getFABGroupColors } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport Card from '../Card/Card';\nimport type { IconSource } from '../Icon';\nimport Text from '../Typography/Text';\n\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\nexport type Props = {\n /**\n * Action items to display in the form of a speed dial.\n * An action item should contain the following properties:\n * - `icon`: icon to display (required)\n * - `label`: optional label text\n * - `color`: custom icon color of the action item\n * - `labelTextColor`: custom label text color of the action item\n * - `accessibilityLabel`: accessibility label for the action, uses label by default if specified\n * - `accessibilityHint`: accessibility hint for the action\n * - `style`: pass additional styles for the fab item, for example, `backgroundColor`\n * - `containerStyle`: pass additional styles for the fab item label container, for example, `backgroundColor` @supported Available in 5.x\n * - `wrapperStyle`: pass additional styles for the wrapper of the action item.\n * - `labelStyle`: pass additional styles for the fab item label, for example, `fontSize`\n * - `labelMaxFontSizeMultiplier`: specifies the largest possible scale a title font can reach.\n * - `onPress`: callback that is called when `FAB` is pressed (required)\n * - `onLongPress`: callback that is called when `FAB` is long pressed\n * - `toggleStackOnLongPress`: callback that is called when `FAB` is long pressed\n * - `size`: size of action item. Defaults to `small`. @supported Available in v5.x\n * - `testID`: testID to be used on tests\n * - `rippleColor`: color of the ripple effect.\n */\n actions: Array<{\n icon: IconSource;\n label?: string;\n color?: string;\n labelTextColor?: string;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n containerStyle?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n wrapperStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n labelMaxFontSizeMultiplier?: number;\n onPress: (e: GestureResponderEvent) => void;\n size?: 'small' | 'medium';\n testID?: string;\n rippleColor?: ColorValue;\n }>;\n /**\n * Icon to display for the `FAB`.\n * You can toggle it based on whether the speed dial is open to display a different icon.\n */\n icon: IconSource;\n /**\n * Accessibility label for the FAB. This is read by the screen reader when the user taps the FAB.\n */\n accessibilityLabel?: string;\n /**\n * Custom color for the `FAB`.\n */\n color?: string;\n /**\n * Custom backdrop color for opened speed dial background.\n */\n backdropColor?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Function to execute on pressing the `FAB`.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute on long pressing the `FAB`.\n */\n onLongPress?: (e: GestureResponderEvent) => void;\n /**\n * Makes actions stack appear on long press instead of on press.\n */\n toggleStackOnLongPress?: boolean;\n /**\n * Changes the delay for long press reaction.\n */\n delayLongPress?: number;\n /**\n * Allows for onLongPress when stack is opened.\n */\n enableLongPressWhenStackOpened?: boolean;\n /**\n * Whether the speed dial is open.\n */\n open: boolean;\n /**\n * Callback which is called on opening and closing the speed dial.\n * The open state needs to be updated when it's called, otherwise the change is dropped.\n */\n onStateChange: (state: { open: boolean }) => void;\n /**\n * Whether `FAB` is currently visible.\n */\n visible: boolean;\n /**\n * Style for the group. You can use it to pass additional styles if you need.\n * For example, you can set an additional padding if you have a tab bar at the bottom.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * Style for the FAB. It allows to pass the FAB button styles, such as backgroundColor.\n */\n fabStyle?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\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 /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * Optional label for `FAB`.\n */\n label?: string;\n /**\n * Pass down testID from Group props to FAB.\n */\n testID?: string;\n};\n\n/**\n * A component to display a stack of FABs with related actions in a speed dial.\n * To render the group above other components, you'll need to wrap it with the [`Portal`](../Portal) component.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { FAB, Portal, PaperProvider } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [state, setState] = React.useState({ open: false });\n *\n * const onStateChange = ({ open }) => setState({ open });\n *\n * const { open } = state;\n *\n * return (\n * <PaperProvider>\n * <Portal>\n * <FAB.Group\n * open={open}\n * visible\n * icon={open ? 'calendar-today' : 'plus'}\n * actions={[\n * { icon: 'plus', onPress: () => console.log('Pressed add') },\n * {\n * icon: 'star',\n * label: 'Star',\n * onPress: () => console.log('Pressed star'),\n * },\n * {\n * icon: 'email',\n * label: 'Email',\n * onPress: () => console.log('Pressed email'),\n * },\n * {\n * icon: 'bell',\n * label: 'Remind',\n * onPress: () => console.log('Pressed notifications'),\n * },\n * ]}\n * onStateChange={onStateChange}\n * onPress={() => {\n * if (open) {\n * // do something if the speed dial is open\n * }\n * }}\n * />\n * </Portal>\n * </PaperProvider>\n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst FABGroup = ({\n actions,\n icon,\n open,\n onPress,\n onLongPress,\n toggleStackOnLongPress,\n accessibilityLabel,\n theme: themeOverrides,\n style,\n fabStyle,\n visible,\n label,\n testID,\n onStateChange,\n color: colorProp,\n delayLongPress = 200,\n variant = 'primary',\n enableLongPressWhenStackOpened = false,\n backdropColor: customBackdropColor,\n rippleColor,\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { top, bottom, right, left } = useSafeAreaInsets();\n\n const { current: backdrop } = React.useRef<Animated.Value>(\n new Animated.Value(0)\n );\n const animations = React.useRef<Animated.Value[]>(\n actions.map(() => new Animated.Value(open ? 1 : 0))\n );\n\n const [isClosingAnimationFinished, setIsClosingAnimationFinished] =\n React.useState(false);\n\n const [prevActions, setPrevActions] = React.useState<\n | {\n icon: IconSource;\n label?: string;\n color?: string;\n accessibilityLabel?: string;\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n onPress: (e: GestureResponderEvent) => void;\n testID?: string;\n }[]\n | null\n >(null);\n\n const { scale } = theme.animation;\n const { isV3 } = theme;\n\n React.useEffect(() => {\n if (open) {\n setIsClosingAnimationFinished(false);\n Animated.parallel([\n Animated.timing(backdrop, {\n toValue: 1,\n duration: 250 * scale,\n useNativeDriver: true,\n }),\n Animated.stagger(\n isV3 ? 15 : 50 * scale,\n animations.current\n .map((animation) =>\n Animated.timing(animation, {\n toValue: 1,\n duration: 150 * scale,\n useNativeDriver: true,\n })\n )\n .reverse()\n ),\n ]).start();\n } else {\n Animated.parallel([\n Animated.timing(backdrop, {\n toValue: 0,\n duration: 200 * scale,\n useNativeDriver: true,\n }),\n ...animations.current.map((animation) =>\n Animated.timing(animation, {\n toValue: 0,\n duration: 150 * scale,\n useNativeDriver: true,\n })\n ),\n ]).start(({ finished }) => {\n if (finished) {\n setIsClosingAnimationFinished(true);\n }\n });\n }\n }, [open, actions, backdrop, scale, isV3]);\n\n const close = () => onStateChange({ open: false });\n const toggle = () => onStateChange({ open: !open });\n\n const handlePress = (e: GestureResponderEvent) => {\n onPress?.(e);\n if (!toggleStackOnLongPress || open) {\n toggle();\n }\n };\n\n const handleLongPress = (e: GestureResponderEvent) => {\n if (!open || enableLongPressWhenStackOpened) {\n onLongPress?.(e);\n if (toggleStackOnLongPress) {\n toggle();\n }\n }\n };\n\n const { labelColor, backdropColor, stackedFABBackgroundColor } =\n getFABGroupColors({ theme, customBackdropColor });\n\n const backdropOpacity = open\n ? backdrop.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, 1, 1],\n })\n : backdrop;\n\n const opacities = animations.current;\n const scales = opacities.map((opacity) =>\n open\n ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [0.5, 1],\n })\n : 1\n );\n\n const translations = opacities.map((opacity) =>\n open\n ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [24, -8],\n })\n : -8\n );\n const labelTranslations = opacities.map((opacity) =>\n open\n ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [8, -8],\n })\n : -8\n );\n\n const containerPaddings = {\n paddingBottom: bottom,\n paddingRight: right,\n paddingLeft: left,\n paddingTop: top,\n };\n\n const actionsContainerVisibility: ViewStyle = {\n display: isClosingAnimationFinished ? 'none' : 'flex',\n };\n\n if (actions.length !== prevActions?.length) {\n animations.current = actions.map(\n (_, i) => animations.current[i] || new Animated.Value(open ? 1 : 0)\n );\n setPrevActions(actions);\n }\n\n return (\n <View\n pointerEvents=\"box-none\"\n style={[styles.container, containerPaddings, style]}\n >\n <AnimatedPressable\n accessibilityRole=\"button\"\n onPress={close}\n pointerEvents={open ? 'auto' : 'none'}\n style={[\n styles.backdrop,\n {\n opacity: backdropOpacity,\n backgroundColor: backdropColor,\n },\n ]}\n />\n <View pointerEvents=\"box-none\" style={styles.safeArea}>\n <View\n pointerEvents={open ? 'box-none' : 'none'}\n style={actionsContainerVisibility}\n >\n {actions.map((it, i) => {\n const labelTextStyle = {\n color: it.labelTextColor ?? labelColor,\n ...(isV3 ? theme.fonts.titleMedium : {}),\n };\n const marginHorizontal =\n typeof it.size === 'undefined' || it.size === 'small' ? 24 : 16;\n const accessibilityLabel =\n typeof it.accessibilityLabel !== 'undefined'\n ? it.accessibilityLabel\n : it.label;\n const size = typeof it.size !== 'undefined' ? it.size : 'small';\n\n const handleActionPress = (e: GestureResponderEvent) => {\n it.onPress(e);\n close();\n };\n\n return (\n <View\n key={i} // eslint-disable-line react/no-array-index-key\n style={[\n styles.item,\n {\n marginHorizontal,\n },\n it.wrapperStyle,\n ]}\n pointerEvents={open ? 'box-none' : 'none'}\n accessibilityRole=\"button\"\n importantForAccessibility={open ? 'yes' : 'no-hide-descendants'}\n accessibilityElementsHidden={!open}\n accessible={open}\n accessibilityLabel={accessibilityLabel}\n >\n {it.label && (\n <View>\n <Card\n mode={isV3 ? 'contained' : 'elevated'}\n onPress={handleActionPress}\n accessibilityHint={it.accessibilityHint}\n importantForAccessibility=\"no-hide-descendants\"\n accessibilityElementsHidden={true}\n style={[\n styles.containerStyle,\n {\n transform: [\n isV3\n ? { translateY: labelTranslations[i] }\n : { scale: scales[i] },\n ],\n opacity: opacities[i],\n },\n isV3 && styles.v3ContainerStyle,\n it.containerStyle,\n ]}\n >\n <Text\n variant=\"titleMedium\"\n importantForAccessibility=\"no-hide-descendants\"\n accessibilityElementsHidden={true}\n style={[labelTextStyle, it.labelStyle]}\n maxFontSizeMultiplier={it.labelMaxFontSizeMultiplier}\n >\n {it.label}\n </Text>\n </Card>\n </View>\n )}\n <FAB\n size={size}\n icon={it.icon}\n color={it.color}\n style={[\n {\n transform: [{ scale: scales[i] }],\n opacity: opacities[i],\n backgroundColor: stackedFABBackgroundColor,\n },\n isV3 && { transform: [{ translateY: translations[i] }] },\n it.style,\n ]}\n accessibilityElementsHidden={true}\n theme={theme}\n onPress={handleActionPress}\n importantForAccessibility=\"no-hide-descendants\"\n testID={it.testID}\n visible={open}\n rippleColor={it.rippleColor}\n />\n </View>\n );\n })}\n </View>\n <FAB\n onPress={handlePress}\n onLongPress={handleLongPress}\n delayLongPress={delayLongPress}\n icon={icon}\n color={colorProp}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessibilityState={{ expanded: open }}\n style={[styles.fab, fabStyle]}\n theme={theme}\n visible={visible}\n label={label}\n testID={testID}\n variant={variant}\n rippleColor={rippleColor}\n />\n </View>\n </View>\n );\n};\n\nFABGroup.displayName = 'FAB.Group';\n\nexport default FABGroup;\n\n// @component-docs ignore-next-line\nexport { FABGroup };\n\nconst styles = StyleSheet.create({\n safeArea: {\n alignItems: 'flex-end',\n },\n container: {\n ...StyleSheet.absoluteFillObject,\n justifyContent: 'flex-end',\n },\n fab: {\n marginHorizontal: 16,\n marginBottom: 16,\n marginTop: 0,\n },\n backdrop: {\n ...StyleSheet.absoluteFillObject,\n },\n containerStyle: {\n borderRadius: 5,\n paddingHorizontal: 12,\n paddingVertical: 6,\n marginVertical: 8,\n marginHorizontal: 16,\n elevation: 2,\n },\n item: {\n marginBottom: 16,\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n },\n // eslint-disable-next-line react-native/no-color-literals\n v3ContainerStyle: {\n backgroundColor: 'transparent',\n elevation: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}