UNPKG

@wix/design-system

Version:

@wix/design-system

495 lines (494 loc) 14.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireDefault(require("react")); var _react2 = require("@storybook/react"); var _TextButton = _interopRequireDefault(require("../../TextButton")); var _Button = _interopRequireDefault(require("../../Button")); var _index = _interopRequireDefault(require("../index")); var _FormField = _interopRequireDefault(require("../../FormField")); var _Layout = require("../../Layout"); var _visual = require("../../utils/test-utils/visual"); var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Dropdown/test/Dropdown.visual.jsx", _this = void 0; function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var interactiveDataHook = 'interactive-dropdown'; var inputDataHook = 'wsr-input'; var InteractiveEyeTest = /*#__PURE__*/function (_React$Component) { function InteractiveEyeTest() { (0, _classCallCheck2["default"])(this, InteractiveEyeTest); return _callSuper(this, InteractiveEyeTest, arguments); } (0, _inherits2["default"])(InteractiveEyeTest, _React$Component); return (0, _createClass2["default"])(InteractiveEyeTest, [{ key: "componentDidMount", value: 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: this.props.componentDidMount(); case 1: case "end": return _context.stop(); } }, _callee, this); })); function componentDidMount() { return _componentDidMount.apply(this, arguments); } return componentDidMount; }() }, { key: "render", value: function render() { return /*#__PURE__*/_react["default"].createElement(_Layout.Layout, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 19, columnNumber: 7 } }, /*#__PURE__*/_react["default"].createElement(_Layout.Cell, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 20, columnNumber: 9 } }, /*#__PURE__*/_react["default"].createElement(_index["default"], (0, _extends2["default"])({ dataHook: interactiveDataHook }, this.props, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 21, columnNumber: 11 } })))); } }]); }(_react["default"].Component); var DropdownWithFormFieldStatus = /*#__PURE__*/function (_React$Component2) { function DropdownWithFormFieldStatus() { (0, _classCallCheck2["default"])(this, DropdownWithFormFieldStatus); return _callSuper(this, DropdownWithFormFieldStatus, arguments); } (0, _inherits2["default"])(DropdownWithFormFieldStatus, _React$Component2); return (0, _createClass2["default"])(DropdownWithFormFieldStatus, [{ key: "render", value: function render() { return /*#__PURE__*/_react["default"].createElement(_Layout.Layout, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 31, columnNumber: 7 } }, /*#__PURE__*/_react["default"].createElement(_Layout.Cell, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 32, columnNumber: 9 } }, /*#__PURE__*/_react["default"].createElement(_FormField["default"], { status: this.props.status, statusMessage: this.props.statusMessage, __self: this, __source: { fileName: _jsxFileName, lineNumber: 33, columnNumber: 11 } }, /*#__PURE__*/_react["default"].createElement(_index["default"], { placeholder: "choose", __self: this, __source: { fileName: _jsxFileName, lineNumber: 37, columnNumber: 13 } })), /*#__PURE__*/_react["default"].createElement(_index["default"], { status: this.props.status, placeholder: "choose", __self: this, __source: { fileName: _jsxFileName, lineNumber: 39, columnNumber: 11 } }))); } }]); }(_react["default"].Component); var interactiveTests = [{ describe: 'Examples', its: [{ it: 'simple', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'group', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { options: [{ id: 'first title', value: 'title #1', title: true }, { id: 1, value: 'Option 1' }, { id: 'title', value: 'title #2', title: true }, { id: 2, value: 'Option 2' }, { id: 4, value: 'Option 3' }] } }, { it: 'divider', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: -99, value: '-' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'footer', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { fixedFooter: /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex', justifyContent: 'space-around', padding: '15px 24px', alignItems: 'center' }, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 99, columnNumber: 13 } }, /*#__PURE__*/_react["default"].createElement(_TextButton["default"], { skin: "dark", underline: "always", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 107, columnNumber: 15 } }, "Clear"), /*#__PURE__*/_react["default"].createElement(_Button["default"], { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 110, columnNumber: 15 } }, "Apply")), options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'header', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { fixedHeader: /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex', justifyContent: 'space-around', padding: '15px 24px', alignItems: 'center' }, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 127, columnNumber: 13 } }, /*#__PURE__*/_react["default"].createElement(_TextButton["default"], { skin: "dark", underline: "always", __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 135, columnNumber: 15 } }, "Clear"), /*#__PURE__*/_react["default"].createElement(_Button["default"], { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 138, columnNumber: 15 } }, "Apply")), options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'error', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { status: 'error', options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'disabled', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { disabled: true, options: [{ id: 0, value: 'Left' }, { id: 1, value: 'Right' }, { id: 2, value: 'Ambidextrous' }] } }, { it: 'readOnly', props: { readOnly: true } }, { it: 'loader', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { options: [], hasMore: true, infiniteScroll: true } }] }]; var DropdownWithFormFieldStatusTests = [{ describe: 'DropdownWithFormField', its: [{ it: 'error', props: { options: [], status: 'error', statusMessage: 'This is an error' } }, { it: 'warning', props: { options: [], status: 'warning', statusMessage: 'This is a warning' } }] }]; var DropdownSizeTests = [{ describe: 'Sizes', its: [{ it: 'small', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { size: 'small', options: [{ id: 0, value: 'Small Size Option 1' }, { id: 1, value: 'Small Size Option 2' }, { id: 2, value: 'Small Size Option 3' }] } }, { it: 'medium', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { size: 'medium', options: [{ id: 0, value: 'Medium Size Option 1' }, { id: 1, value: 'Medium Size Option 2' }, { id: 2, value: 'Medium Size Option 3' }] } }, { it: 'large', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { size: 'large', options: [{ id: 0, value: 'Large Size Option 1' }, { id: 1, value: 'Large Size Option 2' }, { id: 2, value: 'Large Size Option 3' }] } }, { it: 'default (undefined)', componentDidMount: function componentDidMount() { (0, _visual.clickElement)(inputDataHook); }, props: { options: [{ id: 0, value: 'Default Size Option 1' }, { id: 1, value: 'Default Size Option 2' }, { id: 2, value: 'Default Size Option 3' }] } }] }]; interactiveTests.forEach(function (_ref) { var describe = _ref.describe, its = _ref.its; its.forEach(function (_ref2) { var it = _ref2.it, props = _ref2.props, componentDidMount = _ref2.componentDidMount; (0, _react2.storiesOf)("Dropdown".concat(describe ? '/' + describe : ''), module).add(it, function () { return /*#__PURE__*/_react["default"].createElement(InteractiveEyeTest, (0, _extends2["default"])({}, props, { componentDidMount: componentDidMount, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 289, columnNumber: 9 } })); }); }); }); DropdownWithFormFieldStatusTests.forEach(function (_ref3) { var describe = _ref3.describe, its = _ref3.its; its.forEach(function (_ref4) { var it = _ref4.it, props = _ref4.props; (0, _react2.storiesOf)("Dropdown".concat(describe ? '/' + describe : ''), module).add(it, function () { return /*#__PURE__*/_react["default"].createElement(DropdownWithFormFieldStatus, (0, _extends2["default"])({}, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 299, columnNumber: 13 } })); }); }); }); DropdownSizeTests.forEach(function (_ref5) { var describe = _ref5.describe, its = _ref5.its; its.forEach(function (_ref6) { var it = _ref6.it, props = _ref6.props, componentDidMount = _ref6.componentDidMount; (0, _react2.storiesOf)("Dropdown".concat(describe ? '/' + describe : ''), module).add(it, function () { return /*#__PURE__*/_react["default"].createElement(InteractiveEyeTest, (0, _extends2["default"])({}, props, { componentDidMount: componentDidMount, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 309, columnNumber: 9 } })); }); }); });