UNPKG

@audira/carbon-react-native

Version:

Build React Native apps with component and shared patterns using Carbon

103 lines (102 loc) 3.34 kB
"use strict"; import { forwardRef, useContext } from 'react'; import { StyleSheet } from 'react-native'; import { Color } from '@audira/carbon-react-native-elements'; import { CarbonStyleSheet } from "../../../carbon-style-sheet/index.js"; import { ThemeContext } from "../../../contexts/index.js"; import { BaseColor } from "../base-color/index.js"; import { jsx as _jsx } from "react/jsx-runtime"; export const Tertiary = /*#__PURE__*/forwardRef(function Tertiary({ style, ...props }, ref) { const themeContext = useContext(ThemeContext); return /*#__PURE__*/_jsx(BaseColor, { ...props, ref: ref, android_rippleEffectColor: mapAndroidRippleEffectColor[themeContext.colorScheme], colorStateStyle: { background: { default: backgroundStyleSheet.default, focused: backgroundStyleSheet.focused, hovered: backgroundStyleSheet.hovered, pressed: backgroundStyleSheet.pressed, disabled: backgroundStyleSheet.disabled }, text: { default: textStyleSheet.default, focused: textStyleSheet.focused, hovered: textStyleSheet.hovered, pressed: textStyleSheet.pressed, disabled: textStyleSheet.disabled }, icon: mapIconColor[themeContext.colorScheme] }, style: [baseStyle.tertiary, style] }); }); const baseStyle = StyleSheet.create({ tertiary: { borderWidth: 1 } }), backgroundStyleSheet = CarbonStyleSheet.create({ default: { backgroundColor: 'transparent', borderColor: CarbonStyleSheet.color.button_tertiary }, focused: { backgroundColor: CarbonStyleSheet.color.button_tertiary_hover, borderColor: CarbonStyleSheet.color.focus }, hovered: { backgroundColor: CarbonStyleSheet.color.button_tertiary_hover, borderColor: CarbonStyleSheet.color.button_tertiary_hover }, pressed: { backgroundColor: CarbonStyleSheet.color.button_tertiary_active, borderColor: CarbonStyleSheet.color.button_tertiary_active }, disabled: { backgroundColor: 'transparent', borderColor: CarbonStyleSheet.color.button_disabled } }), textStyleSheet = CarbonStyleSheet.create({ default: { color: CarbonStyleSheet.color.button_tertiary }, focused: { color: CarbonStyleSheet.color.button_tertiary }, hovered: { color: CarbonStyleSheet.color.text_inverse }, pressed: { color: CarbonStyleSheet.color.text_inverse }, disabled: { color: CarbonStyleSheet.color.text_disabled } }), mapIconColor = { gray_10: { default: Color.Token.gray_10.button_tertiary, focused: Color.Token.gray_10.button_tertiary, hovered: Color.Token.gray_10.icon_inverse, pressed: Color.Token.gray_10.icon_inverse, disabled: Color.Token.gray_10.icon_disabled }, gray_100: { default: Color.Token.gray_100.button_tertiary, focused: Color.Token.gray_100.button_tertiary, hovered: Color.Token.gray_100.icon_inverse, pressed: Color.Token.gray_100.icon_inverse, disabled: Color.Token.gray_100.icon_disabled } }, mapAndroidRippleEffectColor = { gray_10: Color.Token.gray_10.button_tertiary_active, gray_100: Color.Token.gray_100.button_tertiary_active }; //# sourceMappingURL=Tertiary.js.map