UNPKG

@wix/design-system

Version:

@wix/design-system

273 lines (272 loc) 8.33 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _react = _interopRequireDefault(require("react")); var _Box = _interopRequireDefault(require("../../Box")); var _Button = _interopRequireDefault(require("../../Button")); var _IconButton = _interopRequireDefault(require("../../IconButton")); var _wixUiIconsCommon = require("@wix/wix-ui-icons-common"); var _ = _interopRequireDefault(require("..")); var _Modal = _interopRequireDefault(require("../../Modal")); var _storybookSnapper = require("storybook-snapper"); var _visual = require("../../utils/test-utils/visual"); var _excluded = ["componentDidMount", "onDone"]; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/ModalPreviewLayout/test/ModalPreviewLayout.visual.jsx", _this = void 0; var dataHook = 'storybook-modal-preview-layout'; var nextButtonDataHook = 'preview-modal-right-arrow'; var clickNextNavigationButton = function clickNextNavigationButton() { return (0, _visual.clickElement)(nextButtonDataHook); }; var focusNextNavigationButton = function focusNextNavigationButton() { return (0, _visual.focusElement)(nextButtonDataHook); }; var commonProps = { title: 'Basic Website Design', onClose: function onClose() { return null; } }; var multipleChildren = ['first', 'second', 'third'].map(function (ordinalNum) { return /*#__PURE__*/_react["default"].createElement(_Box["default"], { width: "90vw", height: "100%", align: "center", verticalAlign: "middle", backgroundColor: "D80", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 23, columnNumber: 3 } }, "".concat(ordinalNum, " content page")); }); var actions = /*#__PURE__*/_react["default"].createElement(_Box["default"], { align: "space-between", width: "276px", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 35, columnNumber: 3 } }, /*#__PURE__*/_react["default"].createElement(_Button["default"], { prefixIcon: /*#__PURE__*/_react["default"].createElement(_wixUiIconsCommon.Print, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 36, columnNumber: 25 } }), skin: "dark", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 36, columnNumber: 5 } }, "Print"), /*#__PURE__*/_react["default"].createElement(_Button["default"], { priority: "secondary", skin: "light", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 39, columnNumber: 5 } }, "Send"), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], { priority: "secondary", size: "small", skin: "light", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 42, columnNumber: 5 } }, /*#__PURE__*/_react["default"].createElement(_wixUiIconsCommon.More, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 43, columnNumber: 7 } }))); var tests = [{ describe: 'sanity', its: [{ it: 'scrollable', props: { children: /*#__PURE__*/_react["default"].createElement(_Box["default"], { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 56, columnNumber: 13 } }, /*#__PURE__*/_react["default"].createElement("img", { src: "ascend-invoice.jpg", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 57, columnNumber: 15 } })), actions: actions } }, { it: 'full width', props: { children: /*#__PURE__*/_react["default"].createElement(_Box["default"], { verticalAlign: "middle", height: "100%", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 67, columnNumber: 13 } }, /*#__PURE__*/_react["default"].createElement("img", { src: "solid-yellow.jpg", width: "100%", height: "550px", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 68, columnNumber: 15 } })), actions: actions } }, { it: 'simple content', props: { children: /*#__PURE__*/_react["default"].createElement(_Box["default"], { align: "center", verticalAlign: "middle", backgroundColor: "D80", width: "800px", height: "100%", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 78, columnNumber: 13 } }, "Simple Content") } }] }, { describe: 'multiple children', its: [{ it: 'Navigation buttons on render', props: { children: multipleChildren } }, { it: 'Navigation buttons on middle child node', props: { children: multipleChildren }, componentDidMount: function componentDidMount() { clickNextNavigationButton(); focusNextNavigationButton(); } }, { it: 'NavigationButton on last child node', props: { children: multipleChildren }, componentDidMount: function () { var _componentDidMount = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return clickNextNavigationButton(); case 2: _context.next = 4; return clickNextNavigationButton(); case 4: case "end": return _context.stop(); } }, _callee); })); function componentDidMount() { return _componentDidMount.apply(this, arguments); } return componentDidMount; }() }] }, { describe: 'skin', its: [{ it: 'light', props: { children: multipleChildren, skin: 'light' } }] }]; var InteractiveModalPreviewLayout = function InteractiveModalPreviewLayout(_ref) { var componentDidMount = _ref.componentDidMount, onDone = _ref.onDone, props = (0, _objectWithoutProperties2["default"])(_ref, _excluded); var afterModalOpenCallback = function afterModalOpenCallback() { componentDidMount && componentDidMount(); /* waiting to tooltip animation to finish executing */ setTimeout(onDone, 500); }; return /*#__PURE__*/_react["default"].createElement(_Modal["default"], { onAfterOpen: afterModalOpenCallback, isOpen: true, screen: "full", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 140, columnNumber: 5 } }, /*#__PURE__*/_react["default"].createElement(_["default"], (0, _extends2["default"])({}, commonProps, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 141, columnNumber: 7 } }))); }; (0, _storybookSnapper.visualize)('ModalPreviewLayout', function () { tests.forEach(function (_ref2) { var describe = _ref2.describe, its = _ref2.its; (0, _storybookSnapper.story)(describe, function () { its.forEach(function (_ref3) { var it = _ref3.it, props = _ref3.props, componentDidMount = _ref3.componentDidMount; (0, _storybookSnapper.snap)(it, function (done) { return /*#__PURE__*/_react["default"].createElement(InteractiveModalPreviewLayout, (0, _extends2["default"])({}, commonProps, props, { dataHook: dataHook, componentDidMount: componentDidMount, onDone: done, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 151, columnNumber: 11 } })); }); }); }); }); });