// Metro module 16466 (f16467). import { useState, useCallback } from "react"; import { Pressable, View } from "react-native"; import { DEFAULT_GRADIENT_ROLE_COLORS, GRADIENT_PRESETS } from "../constants/EnhancedRoleColorConstants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import Module712 from "../../../../_bundle/Module712"; import { extractColorStringsFromServerColors } from "../../enhanced_role_colors/EnhancedRoleColorUtils"; import { isNotNullish } from "../../../../utils/GlobalUtils"; import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators"; import showCustomColorPickerActionSheet from "../../../color_picker/native/showCustomColorPickerActionSheet"; import { BottomSheet } from "../../../../design/components/Sheet/native/BottomSheet.native"; import { BottomSheetTitleHeader } from "../../../../design/components/Sheet/native/BottomSheetTitleHeader.native"; import { intl, t } from "../../../../intl/index.native"; import { Button } from "../../../../design/components/Button/native/Button.native"; import Module4611 from "../../../../_bundle/Module4611"; import { EyeDropperIcon } from "../../../../design/components/Icon/native/redesign/generated/EyeDropperIcon"; import { PressableOpacity } from "../../../../design/void/Pressables/native/Pressables"; import { int2hex } from "../../../../_bundle/int2hslRaw"; const useStyles = createStyles({ body: { paddingVertical: Module712.space.PX_12, paddingHorizontal: Module712.space.PX_12, flexGrow: 1, justifyContent: "center", alignItems: "center", gap: Module712.space.PX_16 }, gradientContainer: { display: "flex", flexDirection: "row", justifyContent: "center", alignItems: "center", paddingHorizontal: Module712.space.PX_8 }, dropperContainer: { left: Module712.space.PX_24, right: Module712.space.PX_24, position: "absolute", display: "flex", flexDirection: "row", justifyContent: "space-between" }, dropper: { borderColor: "white", tintColor: "white", padding: Module712.space.PX_8, borderRadius: Module712.radii.round, borderWidth: 1 }, gradient: { height: 50, width: "100%", borderRadius: Module712.radii.sm }, optionContainer: { display: "flex", flexDirection: "row", gap: Module712.space.PX_8, flexWrap: "wrap", alignItems: "center", justifyContent: "center" }, pressable: { width: 80, height: 50, borderRadius: Module712.radii.sm, overflow: "hidden", padding: 2 }, selected: { borderWidth: 2, borderColor: Module712.colors.BACKGROUND_BRAND }, option: { flex: 1, borderRadius: Module712.radii.sm } }); export default function RoleGradientPickerActionSheet(props) { let callback; let colors = props.colors; const onSelect2 = props.onSelect; callback = void 0; const styles = useStyles(); if (!(colors != null && colors.secondary_color != null)) { colors = DEFAULT_GRADIENT_ROLE_COLORS; } const [state, setState] = useState(colors); const colors2 = Object.values(extractColorStringsFromServerColors(state)).filter(isNotNullish); const callback2 = useCallback(() => { onSelect2(state); ActionSheetActionCreators.hideActionSheet(); }, [state, onSelect2]); callback = useCallback((a0) => { setState(a0); }, []); const callback3 = useCallback(() => { let color = state?.primary_color; if (color == null) { color = 0; } showCustomColorPickerActionSheet({ color, onSelect: (a0) => callback({ ...state, primary_color: a0 }) }, "stack"); }, [state, callback]); const callback4 = useCallback(() => { let color = state?.secondary_color; if (color == null) { color = 0; } showCustomColorPickerActionSheet({ color, onSelect: (a0) => callback({ ...state, secondary_color: a0 }) }, "stack"); }, [state, callback]); return } />}> {GRADIENT_PRESETS.map((item) => { const [primary_color, secondary_color] = item.colors; return callback({ ...state, primary_color, secondary_color })}> ; })}