wix-style-react
Version:
wix-style-react
415 lines (379 loc) • 15 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _Template = require('./Template');
var _Template2 = _interopRequireDefault(_Template);
var _RadioGroup = require('../../../src/RadioGroup');
var _RadioGroup2 = _interopRequireDefault(_RadioGroup);
var _ToggleSwitch = require('../../../src/ToggleSwitch');
var _ToggleSwitch2 = _interopRequireDefault(_ToggleSwitch);
var _Label = require('../../../src/Label');
var _Label2 = _interopRequireDefault(_Label);
var _Input = require('../../../src/Input');
var _Input2 = _interopRequireDefault(_Input);
var _Example = require('./Example.scss');
var _Example2 = _interopRequireDefault(_Example);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable no-console */
var ExampleTooltip = function (_Component) {
_inherits(ExampleTooltip, _Component);
function ExampleTooltip() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, ExampleTooltip);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ExampleTooltip.__proto__ || Object.getPrototypeOf(ExampleTooltip)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
type: 'default',
text: 'Tooltip appears on hover',
size: 'normal',
maxWidth: '',
popover: false,
onShow: function onShow() {
return console.log('onShow triggered');
},
onHide: function onHide() {
return console.log('onHide triggered');
},
onShowText: 'onShow triggered',
onHideText: 'onHide triggered',
moveBy: { x: 0, y: 0 },
shouldUpdatePosition: false,
showImmediately: false,
showArrow: true
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(ExampleTooltip, [{
key: 'render',
value: function render() {
var _this2 = this;
return _react2.default.createElement(
'form',
{ className: _Example2.default.form },
_react2.default.createElement(
'div',
{ className: _Example2.default.input },
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Size'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(
_RadioGroup2.default,
{
display: 'horizontal',
value: this.state.size,
onChange: function onChange(size) {
return _this2.setState({ size: size });
}
},
_react2.default.createElement(
_RadioGroup2.default.Radio,
{ value: 'normal' },
'Default'
),
_react2.default.createElement(
_RadioGroup2.default.Radio,
{ value: 'large' },
'Bigger info tooltip'
)
)
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Theme'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(
_RadioGroup2.default,
{
display: 'horizontal',
value: this.state.type,
onChange: function onChange(type) {
return _this2.setState({ type: type });
}
},
_react2.default.createElement(
_RadioGroup2.default.Radio,
{ value: 'default' },
'Dark'
),
_react2.default.createElement(
_RadioGroup2.default.Radio,
{ value: 'white' },
'White'
)
)
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Text'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.text,
onChange: function onChange(e) {
return _this2.setState({ text: e.target.value });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'onShow print to console'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.onShowText,
onChange: function onChange(e) {
return _this2.setState({ onShowText: e.target.value });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'onHide print to console'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.onHideText,
onChange: function onChange(e) {
return _this2.setState({ onHideText: e.target.value });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Max Width'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.maxWidth,
onChange: function onChange(e) {
return _this2.setState({ maxWidth: e.target.value });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Should Update Position'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_ToggleSwitch2.default, {
checked: this.state.shouldUpdatePosition,
onChange: function onChange() {
return _this2.setState({
shouldUpdatePosition: !_this2.state.shouldUpdatePosition
});
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Show Tooltip Immediately'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_ToggleSwitch2.default, {
checked: this.state.showImmediately,
onChange: function onChange() {
return _this2.setState({
showImmediately: !_this2.state.showImmediately
});
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Show Arrow'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_ToggleSwitch2.default, {
checked: this.state.showArrow,
onChange: function onChange() {
return _this2.setState({ showArrow: !_this2.state.showArrow });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'popover'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(_ToggleSwitch2.default, {
checked: this.state.popover,
onChange: function onChange() {
return _this2.setState({ popover: !_this2.state.popover });
}
})
)
),
_react2.default.createElement(
'div',
{ className: _Example2.default.option },
_react2.default.createElement(
_Label2.default,
null,
'Move By'
),
_react2.default.createElement(
'div',
{ className: _Example2.default.flex },
_react2.default.createElement(
_Label2.default,
null,
'x',
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.moveBy.x,
type: 'number',
onChange: function onChange(e) {
return _this2.setState({
moveBy: _extends({}, _this2.state.moveBy, {
x: Number(e.target.value)
})
});
}
})
),
_react2.default.createElement(
_Label2.default,
null,
'y',
_react2.default.createElement(_Input2.default, {
size: 'small',
value: this.state.moveBy.y,
type: 'number',
onChange: function onChange(e) {
return _this2.setState({
moveBy: _extends({}, _this2.state.moveBy, {
y: Number(e.target.value)
})
});
}
})
)
)
)
),
_react2.default.createElement(
'div',
{
className: _Example2.default[this.state.theme === 'whiteblue' ? 'output-lightblue' : 'output']
},
_react2.default.createElement(
'div',
{
className: _Example2.default[this.state.theme] + ' ' + _Example2.default.exampleWrapper
},
_react2.default.createElement(_Template2.default, {
theme: this.state.type === 'default' ? 'dark' : 'light',
tooltipContent: this.state.text,
type: 'tooltip',
onChange: this.props.onChange,
size: this.state.size,
popover: this.state.popover,
maxWidth: this.state.maxWidth,
onShow: function onShow() {
return console.log(_this2.state.onShowText);
},
onHide: function onHide() {
return console.log(_this2.state.onHideText);
},
shouldUpdatePosition: this.state.shouldUpdatePosition,
showImmediately: this.state.showImmediately,
moveBy: this.state.moveBy,
showArrow: this.state.showArrow
})
)
)
);
}
}]);
return ExampleTooltip;
}(_react.Component);
exports.default = ExampleTooltip;
ExampleTooltip.propTypes = {
onChange: _propTypes2.default.func.isRequired
};