UNPKG

@wix/design-system

Version:

@wix/design-system

363 lines (362 loc) 11.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); exports.__esModule = true; exports.storySettings = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _react2 = require("@storybook/react"); var _DatePicker = _interopRequireDefault(require("../DatePicker")); var _Box = _interopRequireDefault(require("../../Box")); var _RTLWrapper = require("../../../stories/utils/RTLWrapper"); var _storiesHierarchy = require("../../../stories/storiesHierarchy"); var _visual = require("../../utils/test-utils/visual"); var _excluded = ["componentDidMount"]; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/DatePicker/test/DatePicker.visual.jsx", _this = void 0; function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } 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 storySettings = exports.storySettings = { category: _storiesHierarchy.Category.COMPONENTS, storyName: 'DatePicker', dataHook: 'storybook-datepicker' }; var click = function click() { return (0, _visual.clickElement)('wsr-input'); }; var focus = function focus() { return (0, _visual.focusElement)('wsr-input'); }; var ExampleDatePicker = function ExampleDatePicker(props) { var defaultValue = new Date('2017/05/01'); var _useState = (0, _react.useState)(defaultValue), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), value = _useState2[0], setValue = _useState2[1]; var onChange = function onChange(newValue) { return setValue(newValue); }; return /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({ value: value, dataHook: storySettings.dataHook, onChange: onChange, placeholderText: "Select Date", shouldCloseOnSelect: true, showYearDropdown: false, showMonthDropdown: false, locale: "en", twoMonths: false }, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 24, columnNumber: 5 } })); }; var testGroups = [{ describe: 'Basic Usage', tests: [{ describe: 'Date should not be selected', its: [{ placeholderText: 'Select Date' }, { placeholderText: 'Select Date', disabled: true }] }, { describe: 'Date should be selected', its: [{ placeholderText: 'Select Date', value: new Date('08/07/1986') }, { placeholderText: 'Select Date', value: new Date('08/07/1986'), disabled: true }, { placeholderText: 'Select Date', value: new Date('08/07/1986'), initialOpen: true }] }, { describe: 'With status', its: [{ placeholderText: 'Select Date', status: 'error' }, { placeholderText: 'Select Date', status: 'warning' }, { placeholderText: 'Select Date', status: 'loading' }] }, { describe: 'Sizes', its: [{ placeholderText: 'Select Date', size: 'small' }, { placeholderText: 'Select Date', size: 'medium' }, { placeholderText: 'Select Date', size: 'large' }] }, { describe: 'ReadOnly', its: [{ placeholderText: 'Select Date', readOnly: false, value: new Date('03/03/2021') }, { placeholderText: 'Select Date', readOnly: true, value: new Date('03/03/2021') }] }, { describe: 'ClearButton', its: [{ placeholderText: 'Select Date', clearButton: true }, { placeholderText: 'Select Date', value: new Date('03/07/2021'), clearButton: true }] }] }, { describe: 'width prop', tests: [{ describe: 'should be 150px by default', its: [{ placeholderText: 'Select Date', value: new Date('08/07/1986') }] }, { describe: 'should accept px values', its: [{ width: '100px', placeholderText: 'Select Date', value: new Date('08/07/1986') }] }, { describe: 'should accept % values', its: [{ width: '50%', placeholderText: 'Select Date', value: new Date('08/07/1986') }] }] }]; testGroups.forEach(function (group) { group.tests.forEach(function (test) { (0, _react2.storiesOf)("DatePicker/".concat(group.describe), module).add(test.describe, function () { return /*#__PURE__*/_react["default"].createElement(_Box["default"], { width: "1024px", height: "768px", flexWrap: "wrap", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 178, columnNumber: 7 } }, test.its.map(function (props) { return /*#__PURE__*/_react["default"].createElement(_Box["default"], { paddingRight: "65px", direction: "vertical", __self: _this, __source: { fileName: _jsxFileName, lineNumber: 180, columnNumber: 11 } }, /*#__PURE__*/_react["default"].createElement(_Box["default"], { margin: 2, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 181, columnNumber: 13 } }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({ width: "auto", onChange: function onChange() {} }, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 182, columnNumber: 15 } })))); })); }); }); }); var rtlTests = [{ describe: 'rtl', its: [{ it: 'rtl', props: { placeholderText: 'Select Date', value: new Date('08/07/1986'), rtl: true, width: '250px' } }, { it: 'with status error', props: { placeholderText: 'Select Date', value: new Date('08/07/1986'), rtl: true, width: '250px', status: 'error' } }, { it: 'with status warning', props: { placeholderText: 'Select Date', value: new Date('08/07/1986'), rtl: true, width: '250px', status: 'warning' } }, { it: 'with status loading', props: { placeholderText: 'Select Date', rtl: true, width: '250px', status: 'loading' } }] }]; rtlTests.forEach(function (_ref) { var describe = _ref.describe, its = _ref.its; its.forEach(function (_ref2) { var it = _ref2.it, props = _ref2.props; (0, _react2.storiesOf)("".concat(_DatePicker["default"].displayName).concat(describe ? '/' + describe : ''), module).add(it, function () { return /*#__PURE__*/_react["default"].createElement(_RTLWrapper.RTLWrapper, { rtl: true, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 243, columnNumber: 7 } }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({ onChange: function onChange() {} }, props, { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 244, columnNumber: 9 } }))); }); }); }); 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 componentDidMount() { this.props.componentDidMount(); } }, { key: "render", value: function render() { var _this$props = this.props, componentDidMount = _this$props.componentDidMount, restProps = (0, _objectWithoutProperties2["default"])(_this$props, _excluded); return /*#__PURE__*/_react["default"].createElement(ExampleDatePicker, (0, _extends2["default"])({}, restProps, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 257, columnNumber: 12 } })); } }]); }(_react["default"].Component); var interactiveTests = [{ describe: 'Interactive', its: [{ it: 'should not open calendar on click when disabled', componentDidMount: function componentDidMount() { click(); }, props: { disabled: true } }, { it: 'should open calendar on click', componentDidMount: function componentDidMount() { click(); focus(); } }, { it: 'should render a footer on click', componentDidMount: function componentDidMount() { click(); focus(); }, props: { renderFooter: function renderFooter() { return /*#__PURE__*/_react["default"].createElement("span", { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 289, columnNumber: 13 } }, "This is a ", /*#__PURE__*/_react["default"].createElement("b", { __self: _this, __source: { fileName: _jsxFileName, lineNumber: 290, columnNumber: 25 } }, "footer")); } } }] }]; interactiveTests.forEach(function (_ref3) { var describe = _ref3.describe, its = _ref3.its; its.forEach(function (_ref4) { var it = _ref4.it, props = _ref4.props, componentDidMount = _ref4.componentDidMount; (0, _react2.storiesOf)("DatePicker".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: 304, columnNumber: 9 } })); }); }); });