UNPKG

@wix/design-system

Version:

@wix/design-system

197 lines 5.08 kB
import _extends from "@babel/runtime/helpers/extends"; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/esm/ComposerHeader/test/ComposerHeader.visual.jsx", _this = this; import React from 'react'; import { storiesOf } from '@wix/wix-storybook-utils/dynamic-stories'; import { ComposerHeader } from '../ComposerHeader'; import { TextButton } from '../../TextButton'; import { Button } from '../../Button'; import { WixDesignSystemProvider } from '../../WixDesignSystemProvider'; var generateActions = function generateActions(props) { return /*#__PURE__*/React.createElement(ComposerHeader.Actions, _extends({}, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 9, columnNumber: 3 } }), /*#__PURE__*/React.createElement(TextButton, { skin: "premium", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 10, columnNumber: 5 } }, "Upgrade")); }; var generateMainActions = function generateMainActions(props) { return /*#__PURE__*/React.createElement(ComposerHeader.MainActions, _extends({}, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 15, columnNumber: 3 } }), /*#__PURE__*/React.createElement(Button, { skin: "inverted", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 16, columnNumber: 5 } }, "Preview"), /*#__PURE__*/React.createElement(Button, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 17, columnNumber: 5 } }, "Next")); }; var commonProps = { // use for repeated props across the tests (e.g. {buttonText: 'example'}) }; var tests = [{ describe: 'Structure', its: [{ it: 'back button', props: { backButtonValue: 'Back to Social Posts' } }, { it: 'actions', props: { children: [generateActions({ key: 0 }), generateActions({ key: 1 })] } }, { it: 'main actions', props: { children: generateMainActions() } }, { it: 'all together', props: { backButtonValue: 'Back to Social Posts', children: [generateActions({ key: 0 }), generateActions({ key: 1, justifyContent: 'flex-end' }), generateMainActions()] } }, { it: 'save status', props: { backButtonValue: 'Back to Social Posts', saveStatusValue: 'Saving...', children: [generateActions({ key: 0 }), generateActions({ key: 1, justifyContent: 'flex-end' }), generateMainActions()] } }] }, { describe: 'Custom Structure', its: [{ it: 'multiple actions', props: { backButtonValue: 'Back to Social Posts', saveStatusValue: 'Saving...', children: [generateActions({ key: 0 }), generateActions({ key: 1 }), generateActions({ key: 2 }), generateActions({ key: 3, justifyContent: 'flex-end' }), generateMainActions()] } }] }]; tests.forEach(function (_ref) { var describe = _ref.describe, its = _ref.its; its.forEach(function (_ref2) { var it = _ref2.it, props = _ref2.props; storiesOf("ComposerHeader".concat(describe ? '/' + describe : ''), module).add(it, function () { return /*#__PURE__*/React.createElement(ComposerHeader, _extends({}, commonProps, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 97, columnNumber: 13 } })); }); }); }); var mobileTests = [{ it: 'back button collapses to icon', props: { backButtonValue: 'Back to Social Posts' } }, { it: 'hides actions with hideOnMobile', props: { backButtonValue: 'Back to Social Posts', children: [generateActions({ key: 0, hideOnMobile: true }), generateActions({ key: 1, justifyContent: 'flex-end' }), generateMainActions()] } }, { it: 'visible actions with main actions', props: { backButtonValue: 'Back to Social Posts', children: [generateActions({ key: 0, justifyContent: 'flex-end' }), generateMainActions()] } }]; mobileTests.forEach(function (_ref3) { var it = _ref3.it, props = _ref3.props; storiesOf('ComposerHeader/mobile', module).add(it, function () { return /*#__PURE__*/React.createElement(WixDesignSystemProvider, { mobile: true, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 134, columnNumber: 5 } }, /*#__PURE__*/React.createElement("div", { style: { width: 360 }, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 135, columnNumber: 7 } }, /*#__PURE__*/React.createElement(ComposerHeader, _extends({}, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 136, columnNumber: 9 } })))); }); });