creevey
Version:
Cross-browser screenshot testing tool for Storybook with fancy UI Runner
63 lines (53 loc) • 2.07 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TestSelect;
var _components = require("@storybook/components");
var _theming = require("@storybook/theming");
var _react = _interopRequireDefault(require("react"));
var _utils = require("../utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var LinkIconContainer = _theming.styled.span(function (_ref) {
var theme = _ref.theme;
return {
display: 'inline-block',
width: '20px',
color: theme.color.defaultText,
textAlign: 'center'
};
});
function TestSelect(props) {
var _props$tests$find$tes, _props$tests$find;
var testName = (_props$tests$find$tes = (_props$tests$find = props.tests.find(function (x) {
return x.id === props.selectedTestId;
})) === null || _props$tests$find === void 0 ? void 0 : _props$tests$find.testName) !== null && _props$tests$find$tes !== void 0 ? _props$tests$find$tes : '';
return /*#__PURE__*/_react.default.createElement(_components.WithTooltip, {
trigger: "click",
placement: "bottom",
closeOnClick: true,
tooltip: function tooltip(_ref2) {
var onHide = _ref2.onHide;
return /*#__PURE__*/_react.default.createElement(_components.TooltipLinkList, {
links: props.tests.map(function (x) {
var _x$testName;
return {
id: x.id,
title: (_x$testName = x.testName) !== null && _x$testName !== void 0 ? _x$testName : '',
active: props.selectedTestId === x.id,
onClick: function onClick() {
props.onChangeTest(x.id);
onHide();
},
left: /*#__PURE__*/_react.default.createElement(LinkIconContainer, null, (0, _utils.getEmojiByTestStatus)(x.status, x.skip))
};
})
});
}
}, /*#__PURE__*/_react.default.createElement(_components.Button, {
outline: true,
small: true
}, /*#__PURE__*/_react.default.createElement(_components.Icons, {
icon: "menu"
}), testName));
}