@wix/design-system
Version:
@wix/design-system
197 lines • 5.08 kB
JavaScript
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
}
}))));
});
});