respond-framework
Version:
create as fast you think
117 lines (116 loc) • 2.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var React = _react;
var _reactNative = require("react-native");
var _Pressable = require("./Pressable.js");
var _Remove = require("../icons/Remove.js");
var _Chevron = require("../icons/Chevron.js");
var _HoverButtons = require("./HoverButtons.js");
var _styles = require("../styles.js");
var _default = exports.default = /*#__PURE__*/(0, _react.memo)(({
id,
name,
event,
run,
open,
deleteTest
}) => {
const [hover, set] = (0, _react.useState)(false);
const buttons = [{
label: 'START',
event,
arg: {
id,
index: 0
}
}, {
label: 'RUN',
event: run,
arg: {
id
}
}, {
label: 'OPEN',
event: open,
arg: {
id
}
}, {
label: 'END',
event,
arg: {
id
}
}];
return /*#__PURE__*/React.createElement(_reactNative.View, {
style: s.c,
onMouseEnter: () => set(true),
onMouseLeave: () => set(false)
}, hover && /*#__PURE__*/React.createElement(_Pressable.default, {
style: s.removeContainer,
event: deleteTest,
arg: {
id
}
}, /*#__PURE__*/React.createElement(_Remove.default, {
style: s.remove
})), /*#__PURE__*/React.createElement(_Pressable.default, {
event: event,
arg: {
id,
delay: true
},
style: s.textContainer
}, /*#__PURE__*/React.createElement(_reactNative.Text, {
style: s.text,
numberOfLines: 1
}, name)), /*#__PURE__*/React.createElement(_Chevron.default, null), /*#__PURE__*/React.createElement(_HoverButtons.default, {
buttons: buttons,
show: hover
}));
});
const s = _reactNative.StyleSheet.create({
c: {
height: 34,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
width: '100%',
borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
borderBottomColor: _styles.colors.grey,
paddingRight: 8,
backfaceVisibility: 'hidden'
},
textContainer: {
width: '96%',
height: '100%',
paddingLeft: 17,
justifyContent: 'center'
},
text: {
fontSize: 14,
lineHeight: 16,
color: _styles.colors.white,
maxWidth: 312
},
chevron: {
opacity: .6
},
removeContainer: {
position: 'absolute',
left: 0,
top: 0,
height: '100%',
justifyContent: 'center',
paddingTop: 2,
zIndex: 2
},
remove: {
width: 18,
height: 18
}
});