react95-native
Version:
Refreshed Windows 95 style UI components for your React Native app
150 lines (138 loc) • 4.22 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _theming = require("../../core/theming");
var _styleElements = require("../../styles/styleElements");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
const Desktop = ({
children,
style,
screenStyle,
theme,
...rest
}) => {
return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
style: [styles.wrapper, style]
}, rest), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.monitor, {
backgroundColor: theme.material
}]
}, /*#__PURE__*/_react.default.createElement(_styleElements.Border, {
theme: theme,
variant: "raised"
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.monitorShadowBorder, {
borderColor: theme.borderDark
}]
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.monitorShadowBorder, {
borderColor: theme.borderDark
}]
}))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.screen, screenStyle],
testID: "desktopScreen"
}, /*#__PURE__*/_react.default.createElement(_styleElements.Border, {
theme: theme,
variant: "cutout"
}), children), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.light]
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.stand]
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.standSegmentOne, {
borderTopColor: theme.borderDark
}]
}, /*#__PURE__*/_react.default.createElement(_styleElements.Border, {
theme: theme,
variant: "raised",
style: {
backgroundColor: theme.material
}
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.standSegmentTwo, {
backgroundColor: theme.material
}]
}, /*#__PURE__*/_react.default.createElement(_styleElements.Border, {
theme: theme,
variant: "default"
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.standSegmentThree]
}, /*#__PURE__*/_react.default.createElement(_styleElements.Border, {
theme: theme,
variant: "raised"
}))));
};
const styles = _reactNative.StyleSheet.create({
wrapper: {
position: 'relative',
width: 'auto',
alignSelf: 'center'
},
monitor: {
position: 'relative',
zIndex: 1,
width: 195,
height: 155,
padding: 18
},
monitorShadowBorder: {
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0,
borderWidth: 1,
borderStyle: 'dotted' // TODO: left and top dotted border shoulg be of light color
// borderTopColor: theme.borderLightest,
// borderLeftColor: theme.borderLightest,
// borderBottomColor: theme.borderDark,
// borderRightColor: theme.borderDark,
},
screen: {
flex: 1,
padding: 4
},
light: {
position: 'absolute',
right: 20,
top: 140,
width: 10,
borderWidth: 2,
borderTopColor: '#4d9046',
borderBottomColor: '#07ff00',
borderLeftColor: '#4d9046',
borderRightColor: '#07ff00'
},
stand: {
display: 'flex',
position: 'relative',
alignItems: 'center'
},
standSegmentOne: {
width: '50%',
height: 14,
borderWidth: 2,
borderColor: 'transparent',
zIndex: 1
},
standSegmentTwo: {
width: '40%',
height: 12,
position: 'relative',
top: -4
},
standSegmentThree: {
width: '75%',
height: 8,
position: 'relative',
top: -6
}
});
var _default = (0, _theming.withTheme)(Desktop);
exports.default = _default;
//# sourceMappingURL=Desktop.js.map