UNPKG

react-native-simi-comps

Version:
53 lines 2.18 kB
import React from "react"; import { Pressable } from "react-native"; import useThemeColor from "../useThemeColor"; import { usePrimaryColor } from "../PrimaryColorContext"; import Icon from "./Icon"; import Text from "./Text"; export default function ActionButton(_a) { var text = _a.text, icon = _a.icon, onPress = _a.onPress, _b = _a.type, type = _b === void 0 ? "default" : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, align = _a.align; var defaultTextColor = useThemeColor("text"); var defaultBorderColor = useThemeColor("border"); var disabledTextColor = useThemeColor("disabledText"); var disabledBgColor = useThemeColor("disabledBg"); var disabledBorderColor = useThemeColor("disabledBorder"); var defaultIconColor = useThemeColor("icon"); var primaryColor = usePrimaryColor(); var backgroundColor = disabled ? disabledBgColor : type === "primary" ? primaryColor : "transparent"; var borderColor = disabled ? disabledBorderColor : type === "primary" ? primaryColor : defaultBorderColor; var iconColor = disabled ? disabledTextColor : type === "primary" ? "#fff" : defaultIconColor; var textColor = disabled ? disabledTextColor : type === "primary" ? "#fff" : defaultTextColor; return (React.createElement(Pressable, { onPress: onPress, style: { borderRadius: 32, borderWidth: 1, display: "flex", flexDirection: "row", justifyContent: "center", alignItems: "center", paddingVertical: 8, paddingHorizontal: 16, elevation: 0, backgroundColor: backgroundColor, borderColor: borderColor, alignSelf: align }, disabled: disabled }, React.createElement(Icon, { name: icon, size: 20, color: iconColor }), React.createElement(Text, { bold: true, marginLeft: 8, spaced: true, text: text, color: textColor, marginRight: 2, selectable: false }))); } //# sourceMappingURL=ActionButton.js.map