UNPKG

@prosperitainova/dumbo-react-native

Version:
82 lines (80 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tile = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _colors = require("../../styles/colors"); var _helpers = require("../../helpers"); var _defaultText = require("../../constants/defaultText"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** Props for Tile component */ /** * Tile component for rendering a carbon tile * * {@link https://github.com/carbon-design-system/carbon-react-native/blob/main/example/src/Views/Tile.tsx | Example code} */ class Tile extends _react.default.Component { get styles() { return _reactNative.StyleSheet.create({ wrapper: { minHeight: 64, minWidth: 128, backgroundColor: (0, _colors.getColor)('layer01'), padding: 16 }, scrollContent: { padding: 16 } }); } getStateStyle = state => { return state.pressed ? { backgroundColor: (0, _colors.getColor)('layerActive01') } : undefined; }; render() { const { children, componentProps, style, type, onPress, onLongPress, tileText } = this.props; const finalStyles = (0, _helpers.styleReferenceBreaker)(this.styles.wrapper, style); switch (type) { case 'scroll': finalStyles.padding = undefined; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, { bounces: false, style: finalStyles, contentContainerStyle: this.styles.scrollContent, ...(componentProps || {}), children: children }); case 'clickable': return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, { onPress: onPress, onLongPress: onLongPress, accessibilityRole: "button", accessibilityLabel: tileText || _defaultText.defaultText.tile, style: state => (0, _helpers.pressableFeedbackStyle)(state, finalStyles, this.getStateStyle), ...(componentProps || {}), children: children }); case 'default': default: return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, { style: finalStyles, ...(componentProps || {}), children: children }); } } } exports.Tile = Tile; //# sourceMappingURL=index.js.map