Files
discord-decomp/design/components/Button/native/FloatingActionButton.native.tsx
T
2026-11-01 12:12:55 +02:00

71 lines
2.7 KiB
TypeScript

// Metro module 8243 (f8244).
import { isValidElement, cloneElement } from "react";
import { createStyles } from "../../Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { FAB_BUTTON_SIZE } from "./ButtonConstants.native";
import MobileVisualRefreshExperiment from "../../../../modules/themes/experiments/MobileVisualRefreshExperiment";
import ReanimatedRexport, { useAnimatedStyle } from "../../../../modules/reanimated/ReanimatedRexport";
import * as _spring from "../../../animation/reanimated/spring/spring";
import { BaseIconButton } from "./BaseIconButton.native";
let SPRING_CONFIG, __initData;
const useStyles = createStyles(function(r4 = false) {
return {
button: {
...Module712.shadows.SHADOW_HIGH
},
iconButtonPill: {
minWidth: FAB_BUTTON_SIZE,
minHeight: FAB_BUTTON_SIZE,
padding: 0,
...r4 ? {
borderRadius: Module712.radii.lg
} : {}
}
};
});
SPRING_CONFIG = {
mass: 0.5,
damping: 80,
stiffness: 320
};
__initData = {
code: "function FloatingActionButtonNativeTsx1(){const{withSpring,positionBottom,DEFAULT_POSITION_OFFSET,SPRING_CONFIG,positionRight}=this.__closure;var _positionBottom,_positionRight;return{position:'absolute',bottom:withSpring((_positionBottom=positionBottom)!==null&&_positionBottom!==void 0?_positionBottom:DEFAULT_POSITION_OFFSET,SPRING_CONFIG),right:withSpring((_positionRight=positionRight)!==null&&_positionRight!==void 0?_positionRight:DEFAULT_POSITION_OFFSET,SPRING_CONFIG)};}"
};
export const DEFAULT_POSITION_OFFSET = 16;
export { useStyles };
export function FloatingActionButton(props) {
const { icon, positionBottom, positionRight, accessibilityLabel, ...props2 } = props;
const styles = useStyles(MobileVisualRefreshExperiment("FloatingActionButton"));
const F = function F() {
let r8 = positionBottom;
if (positionBottom == null) {
r8 = 16;
}
const r13 = {
position: "absolute",
bottom: _spring.withSpring(r8, SPRING_CONFIG),
right: null
};
let r17 = positionRight;
if (positionRight == null) {
r17 = 16;
}
r13.right = _spring.withSpring(r17, SPRING_CONFIG);
return r13;
};
F.__closure = {
withSpring: _spring.withSpring,
positionBottom,
DEFAULT_POSITION_OFFSET: 16,
SPRING_CONFIG,
positionRight
};
F.__workletHash = 10762818944671;
F.__initData = __initData;
return <ReanimatedRexport.View style={useAnimatedStyle(F)}>
<BaseIconButton {...props2} accessibilityLabel={accessibilityLabel} size="lg" variant="primary" icon={isValidElement(icon) ? cloneElement(icon, {
color: Module712.colors.WHITE
}) : icon} style={styles.button} pillStyle={styles.iconButtonPill} />
</ReanimatedRexport.View>;
}