UNPKG

@wix/design-system

Version:

@wix/design-system

231 lines 6.31 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; var _excluded = ["componentDidMount", "rtl", "done"]; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/esm/MediaOverlay/test/MediaOverlay.visual.jsx", _this = this; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React, { useEffect } from 'react'; import { storySettings } from './storySettings'; import MediaOverlay from '../MediaOverlay'; import { allPlacements, topHoverMiddleAlwaysBottomDefault, numberedPlacements } from '../docs/examples/content'; import { RTLWrapper } from '../../../stories/utils/RTLWrapper'; import { snap, story, visualize } from 'storybook-snapper'; import { wait } from '../../utils/test-utils/visual'; import { uniTestkitFactoryCreator } from '@wix/wix-ui-test-utils/vanilla'; import { mediaOverlayDriverFactory } from '../MediaOverlay.uni.driver'; var createDriver = function createDriver() { return uniTestkitFactoryCreator(mediaOverlayDriverFactory)({ wrapper: document.body, dataHook: storySettings.dataHook }); }; var hover = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(done) { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return createDriver().hover(); case 2: _context.next = 4; return wait(200); case 4: done(); case 5: case "end": return _context.stop(); } }, _callee); })); return function hover(_x) { return _ref.apply(this, arguments); }; }(); var mediaUrl = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM8Exv7FAAF8AJtZv8v8wAAAABJRU5ErkJggg=='; var commonProps = { media: mediaUrl }; var tests = [{ describe: 'media', its: [{ it: 'Background Image' }, { it: 'Custom Node', props: { media: /*#__PURE__*/React.createElement("div", { style: { height: '100%', background: 'linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12)' }, __self: this, __source: { fileName: _jsxFileName, lineNumber: 46, columnNumber: 13 } }) } }, { it: 'Without rounded borders', props: { media: /*#__PURE__*/React.createElement("div", { style: { height: '100%', background: 'linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12)' }, __self: this, __source: { fileName: _jsxFileName, lineNumber: 60, columnNumber: 13 } }), removeRoundedBorders: true } }, { it: 'With border radius', props: { media: /*#__PURE__*/React.createElement("div", { style: { height: '100%', background: 'linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12)' }, __self: this, __source: { fileName: _jsxFileName, lineNumber: 75, columnNumber: 13 } }), borderRadius: '12px 12px 0 0' } }] }, { describe: 'skin', its: [{ it: 'gradient', props: { skin: 'gradient' } }, { it: 'dark', props: { skin: 'dark' } }] }, { describe: 'both skin and hoverSkin defined', its: [{ it: 'both gradient without hover', props: { skin: 'gradient', hoverSkin: 'gradient' } }, { it: 'both gradient with hover', props: { skin: 'gradient', hoverSkin: 'gradient' }, componentDidMount: hover }] }, { describe: 'Content', its: [{ it: 'all placements', props: { skin: 'gradient', children: allPlacements } }, { it: 'bottom default and middle always', props: { skin: 'gradient', children: topHoverMiddleAlwaysBottomDefault } }, { it: 'rtl', props: { skin: 'gradient', children: numberedPlacements }, rtl: true }] }, { describe: 'Video', its: [{ it: 'with play button', props: { isVideo: true, videoSrc: '', hoverSkin: 'dark', showPlayButton: true } }] }]; var MediaOverlayWrapper = function MediaOverlayWrapper(_ref2) { var componentDidMount = _ref2.componentDidMount, rtl = _ref2.rtl, done = _ref2.done, props = _objectWithoutProperties(_ref2, _excluded); useEffect(function () { return componentDidMount(); }, [componentDidMount]); return /*#__PURE__*/React.createElement(RTLWrapper, { rtl: rtl, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 172, columnNumber: 5 } }, /*#__PURE__*/React.createElement("div", { style: { width: 250, height: 150 }, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 173, columnNumber: 7 } }, /*#__PURE__*/React.createElement(MediaOverlay, _extends({}, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 174, columnNumber: 9 } })))); }; visualize('MediaOverlay', function () { tests.forEach(function (_ref3) { var describe = _ref3.describe, its = _ref3.its; its.forEach(function (_ref4) { var it = _ref4.it, props = _ref4.props, _componentDidMount = _ref4.componentDidMount, rtl = _ref4.rtl; story(describe, function () { snap(it, function (done) { return /*#__PURE__*/React.createElement(MediaOverlayWrapper, _extends({}, commonProps, props, { dataHook: storySettings.dataHook, componentDidMount: function componentDidMount() { _componentDidMount && _componentDidMount(done); }, rtl: rtl, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 185, columnNumber: 11 } })); }); }); }); }); });