usepages-blocks
Version:
blocks for usePages.today
1,112 lines (901 loc) • 28 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var webfontloader = require('webfontloader');
var React = require('react');
var React__default = _interopDefault(React);
var panelsUi = require('panels-ui');
var toCSS = _interopDefault(require('style-to-css'));
var uniqueId = _interopDefault(require('mini-unique-id'));
var Waiting = _interopDefault(require('waiting'));
var asyncGenerator = function () {
function AwaitValue(value) {
this.value = value;
}
function AsyncGenerator(gen) {
var front, back;
function send(key, arg) {
return new Promise(function (resolve, reject) {
var request = {
key: key,
arg: arg,
resolve: resolve,
reject: reject,
next: null
};
if (back) {
back = back.next = request;
} else {
front = back = request;
resume(key, arg);
}
});
}
function resume(key, arg) {
try {
var result = gen[key](arg);
var value = result.value;
if (value instanceof AwaitValue) {
Promise.resolve(value.value).then(function (arg) {
resume("next", arg);
}, function (arg) {
resume("throw", arg);
});
} else {
settle(result.done ? "return" : "normal", result.value);
}
} catch (err) {
settle("throw", err);
}
}
function settle(type, value) {
switch (type) {
case "return":
front.resolve({
value: value,
done: true
});
break;
case "throw":
front.reject(value);
break;
default:
front.resolve({
value: value,
done: false
});
break;
}
front = front.next;
if (front) {
resume(front.key, front.arg);
} else {
back = null;
}
}
this._invoke = send;
if (typeof gen.return !== "function") {
this.return = undefined;
}
}
if (typeof Symbol === "function" && Symbol.asyncIterator) {
AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
return this;
};
}
AsyncGenerator.prototype.next = function (arg) {
return this._invoke("next", arg);
};
AsyncGenerator.prototype.throw = function (arg) {
return this._invoke("throw", arg);
};
AsyncGenerator.prototype.return = function (arg) {
return this._invoke("return", arg);
};
return {
wrap: function (fn) {
return function () {
return new AsyncGenerator(fn.apply(this, arguments));
};
},
await: function (value) {
return new AwaitValue(value);
}
};
}();
var classCallCheck = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
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 get = function get(object, property, receiver) {
if (object === null) object = Function.prototype;
var desc = Object.getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent === null) {
return undefined;
} else {
return get(parent, property, receiver);
}
} else if ("value" in desc) {
return desc.value;
} else {
var getter = desc.get;
if (getter === undefined) {
return undefined;
}
return getter.call(receiver);
}
};
var inherits = function (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;
};
var objectWithoutProperties = function (obj, keys) {
var target = {};
for (var i in obj) {
if (keys.indexOf(i) >= 0) continue;
if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
target[i] = obj[i];
}
return target;
};
var possibleConstructorReturn = function (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;
};
var set = function set(object, property, value, receiver) {
var desc = Object.getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent !== null) {
set(parent, property, value, receiver);
}
} else if ("value" in desc && desc.writable) {
desc.value = value;
} else {
var setter = desc.set;
if (setter !== undefined) {
setter.call(receiver, value);
}
}
return value;
};
var Font = function (_Component) {
inherits(Font, _Component);
function Font() {
classCallCheck(this, Font);
return possibleConstructorReturn(this, _Component.apply(this, arguments));
}
Font.prototype.componentDidMount = function componentDidMount() {
this.load();
};
Font.prototype.componentDidUpdate = function componentDidUpdate() {
this.load();
};
Font.prototype.load = function load() {
var _load2;
var props = this.props;
var source = props.source;
var weight = '';
var urls = void 0;
if (props.family === 'FontAwesome') {
source = 'custom';
urls = ['https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css'];
} else {
weight = ':' + props.weight;
}
webfontloader.load((_load2 = {}, _load2[source] = {
families: ['' + props.family + weight],
urls: urls
}, _load2));
};
Font.prototype.render = function render() {
return null;
};
return Font;
}(React.Component);
Font.defaultProps = {
source: 'google',
weight: '300'
};
Font.propTypes = {
family: React.PropTypes.string.isRequired,
source: React.PropTypes.oneOf(['custom', 'google']).isRequired,
weight: React.PropTypes.string.isRequired
};
var GoTo = function (_Component) {
inherits(GoTo, _Component);
function GoTo() {
classCallCheck(this, GoTo);
return possibleConstructorReturn(this, _Component.apply(this, arguments));
}
GoTo.prototype.render = function render() {
var _props = this.props;
var children = _props.children;
var className = _props.className;
var _ref = _props._ref;
var styleActive = _props.styleActive;
var styleHover = _props.styleHover;
var props = objectWithoutProperties(_props, ['children', 'className', '_ref', 'styleActive', 'styleHover']);
var inlineStyle = null;
if (Object.keys(styleHover).length) {
inlineStyle = React__default.createElement(
'style',
null,
'.' + className + ':hover {' + toCSS(styleHover) + '}'
);
}
if (_ref) {
props.ref = _ref;
}
return React__default.createElement(
'a',
_extends({}, props, { className: className, target: '_blank' }),
inlineStyle,
children
);
};
return GoTo;
}(React.Component);
GoTo.propTypes = {
href: React.PropTypes.string.isRequired,
_ref: React.PropTypes.func,
style: React.PropTypes.object,
styleActive: React.PropTypes.object,
styleHover: React.PropTypes.object
};
var OnClick = function (_Component) {
inherits(OnClick, _Component);
function OnClick() {
classCallCheck(this, OnClick);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args)));
_this.state = {};
return _this;
}
OnClick.prototype.componentWillMount = function componentWillMount() {
var props = this.props;
var manualActive = typeof props.isActive === 'boolean';
this.setState({
isActive: manualActive ? props.isActive : false,
manualActive: manualActive
});
this.bindOnClick(props.onClick);
};
OnClick.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
this.bindOnClick(nextProps.onClick);
var manualActive = typeof nextProps.isActive === 'boolean';
if (manualActive) {
this.setState({
isActive: nextProps.isActive,
manualActive: manualActive
});
}
};
OnClick.prototype.componentWillUnmount = function componentWillUnmount() {
if (this.onClickTimeout) {
clearTimeout(this.onClickTimeout);
}
};
OnClick.prototype.bindOnClick = function bindOnClick(onClick) {
var _this2 = this;
/* eslint-disable no-console */
var finalOnClick = typeof onClick === 'function' ? onClick : function () {
return console.log(onClick);
};
this.onClick = function (event) {
finalOnClick(event);
event.stopPropagation();
if (!_this2.state.manualActive) {
_this2.setState({
isActive: true
});
_this2.onClickTimeout = setTimeout(function () {
_this2.setState({
isActive: false
});
_this2.onClickTimeout = null;
}, _this2.props.styleActiveTimeout);
}
};
};
OnClick.prototype.render = function render() {
var isActive = this.state.isActive;
/* eslint-disable no-unused-vars */
var _props = this.props;
var children = _props.children;
var className = _props.className;
var _isActive = _props.isActive;
var _ref = _props._ref;
var style = _props.style;
var styleActive = _props.styleActive;
var styleActiveTimeout = _props.styleActiveTimeout;
var styleHover = _props.styleHover;
var rest = objectWithoutProperties(_props, ['children', 'className', 'isActive', '_ref', 'style', 'styleActive', 'styleActiveTimeout', 'styleHover']);
var inlineStyle = null;
if (!isActive && Object.keys(styleHover).length) {
inlineStyle = React__default.createElement(
'style',
null,
'.' + className + ':hover {' + toCSS(styleHover) + '}'
);
}
var finalStyle = isActive ? _extends({}, style, styleActive, {
outline: 0
}) : _extends({}, style, {
outline: 0,
cursor: 'pointer'
});
if (_ref) {
rest.ref = _ref;
}
return React__default.createElement(
'button',
_extends({}, rest, {
className: className,
disabled: isActive,
onClick: this.onClick,
style: finalStyle
}),
inlineStyle,
children
);
};
return OnClick;
}(React.Component);
OnClick.defaultProps = {
styleActiveTimeout: 1000
};
OnClick.propTypes = {
isActive: React.PropTypes.bool,
onClick: React.PropTypes.oneOfType([React.PropTypes.func, React.PropTypes.string]),
_ref: React.PropTypes.func,
style: React.PropTypes.object,
styleActive: React.PropTypes.object,
styleActiveTimeout: React.PropTypes.number.isRequired,
styleHover: React.PropTypes.object
};
function createGroup(name, groupStyle) {
var Group = function (_Component) {
inherits(Group, _Component);
function Group(props, context) {
classCallCheck(this, Group);
var _this = possibleConstructorReturn(this, _Component.call(this, props, context));
_this.className = 'Horizontal-' + uniqueId();
return _this;
}
Group.prototype.render = function render() {
var _props = this.props;
var children = _props.children;
var moreClassName = _props.className;
var goTo = _props.goTo;
var style = _props.style;
var teleportTo = _props.teleportTo;
var props = objectWithoutProperties(_props, ['children', 'className', 'goTo', 'style', 'teleportTo']);
var className = this.className;
var pages = this.context.pages;
var finalStyle = _extends({
flexWrap: 'wrap'
}, groupStyle, style);
var Base = void 0;
if (teleportTo) {
Base = panelsUi.Teleport;
props.to = teleportTo;
} else if (goTo) {
Base = GoTo;
props.href = goTo;
} else if (props.onClick) {
Base = OnClick;
} else {
var _ref = props._ref;
var styleActive = props.styleActive;
var styleHover = props.styleHover;
var rest = objectWithoutProperties(props, ['_ref', 'styleActive', 'styleHover']);
var inlineStyle = null;
if (Object.keys(styleHover).length) {
inlineStyle = React__default.createElement(
'style',
null,
'.' + className + ':hover {' + toCSS(styleHover) + '}'
);
}
return React__default.createElement(
'div',
_extends({}, rest, {
className: className + ' ' + moreClassName,
ref: _ref,
style: finalStyle
}),
inlineStyle,
children
);
}
if (pages && pages.isSelecting) {
props.onClick = function (event) {
if (event) {
event.preventDefault();
}
return true;
};
}
return React__default.createElement(
Base,
_extends({}, props, {
className: className,
style: finalStyle
}),
children
);
};
return Group;
}(React.Component);
Group.contextTypes = {
pages: React.PropTypes.shape({
isSelecting: React.PropTypes.bool
})
};
Group.defaultProps = {
className: '',
style: {},
styleActive: {},
styleHover: {}
};
Group.displayName = name;
Group.propTypes = {
blocks: React.PropTypes.any,
goTo: React.PropTypes.string,
onClick: React.PropTypes.oneOfType([React.PropTypes.bool, React.PropTypes.string, React.PropTypes.func]),
_ref: React.PropTypes.func,
style: React.PropTypes.object,
styleActive: React.PropTypes.object,
styleHover: React.PropTypes.object,
teleportTo: React.PropTypes.string
};
return Group;
}
var horizontal = createGroup('Horizontal', { flexDirection: 'row' });
var Knocking = function Knocking(_ref) {
var dataBlock = _ref['data-block'];
var size = _ref.size;
var _ref$style = _ref.style;
var style = _ref$style === undefined ? {} : _ref$style;
return React__default.createElement(
'div',
{ 'data-block': dataBlock, style: style },
React__default.createElement(Waiting, { color: style.color, size: size })
);
};
Knocking.defaultProps = {
style: {
color: '#323232'
},
size: 20
};
Knocking.description = 'A handy loading indicator ;)';
Knocking.propTypes = {
style: React.PropTypes.object,
size: React.PropTypes.number.isRequired
};
var Image = function (_Component) {
inherits(Image, _Component);
function Image(props) {
classCallCheck(this, Image);
var _this = possibleConstructorReturn(this, _Component.call(this, props));
_this.onLoad = _this.onLoad.bind(_this);
_this.state = {
isLoading: true
};
return _this;
}
Image.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (this.props.src !== nextProps.src) {
this.setState({
isLoading: true
});
}
};
Image.prototype.onLoad = function onLoad() {
this.setState({
isLoading: false
});
};
Image.prototype.render = function render() {
var isLoading = this.state.isLoading;
var _props = this.props;
var text = _props.text;
var src = _props.src;
var style = _props.style;
var styleLoading = _props.styleLoading;
var styleWrapper = _props.styleWrapper;
return React__default.createElement(
'div',
{ style: styleWrapper },
isLoading && React__default.createElement(Knocking, { style: styleLoading }),
React__default.createElement('img', {
alt: text,
onLoad: this.onLoad,
src: src,
style: style,
title: text
})
);
};
return Image;
}(React.Component);
Image.defaultProps = {
src: 'https://files.usepages.today/usepages.today/image-placeholder.svg',
style: {},
styleLoading: {
position: 'absolute'
},
styleWrapper: {},
text: 'Alternative text'
};
Image.description = "Add some text for when the image can't be displayed.";
Image.propTypes = {
src: React.PropTypes.string.isRequired,
style: React.PropTypes.object,
styleLoading: React.PropTypes.object,
styleWrapper: React.PropTypes.object,
text: React.PropTypes.string
};
var PLACEHOLDER_PREFIXES = ['::-webkit-input-placeholder', '::-moz-placeholder', ':-ms-input-placeholder', ':placeholder-shown'];
var Input = function (_Component) {
inherits(Input, _Component);
function Input() {
classCallCheck(this, Input);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args)));
_this.id = 'Input-' + uniqueId();
return _this;
}
Input.prototype.render = function render() {
var id = this.id;
var _props = this.props;
var onEnter = _props.onEnter;
var _ref = _props._ref;
var style = _props.style;
var styleFocus = _props.styleFocus;
var styleHover = _props.styleHover;
var stylePlaceholder = _props.stylePlaceholder;
var styleWrapper = _props.styleWrapper;
var rest = objectWithoutProperties(_props, ['onEnter', '_ref', 'style', 'styleFocus', 'styleHover', 'stylePlaceholder', 'styleWrapper']);
var backgroundColor = style && style.backgroundColor || 'transparent';
var color = style && style.color || 'black';
var inlineStyle = ['#' + id + ':-webkit-autofill {\n background-color: ' + backgroundColor + ' !important;\n box-shadow: 0 0 0px 1000px ' + backgroundColor + ' inset;\n color: ' + color + ' !important;\n }'];
if (stylePlaceholder) {
PLACEHOLDER_PREFIXES.forEach(function (prefix) {
inlineStyle.push('#' + id + prefix + ' {' + toCSS(stylePlaceholder) + '}');
});
}
if (styleHover) {
inlineStyle.push(inlineStyle + ' #' + id + ':hover {' + toCSS(styleHover) + '}');
}
if (styleFocus) {
inlineStyle.push('#' + id + ':focus {' + toCSS(styleFocus) + '}');
}
var onKeyUp = void 0;
if (typeof onEnter !== 'undefined') {
(function () {
/* eslint-disable no-console */
var finalOnEnter = typeof onEnter === 'function' ? onEnter : function () {
return console.log(onEnter);
};
onKeyUp = function onKeyUp(event) {
return event.key === 'Enter' && finalOnEnter(event);
};
})();
}
return React__default.createElement(
'div',
{ style: styleWrapper },
React__default.createElement(
'style',
null,
inlineStyle.join('\n')
),
React__default.createElement('input', _extends({}, rest, {
autoComplete: 'off',
id: id,
onKeyUp: onKeyUp,
ref: _ref,
style: style
}))
);
};
return Input;
}(React.Component);
Input.defaultProps = {
placeholder: '',
style: {},
styleHover: {},
styleWrapper: {},
type: 'text'
};
Input.propTypes = {
onEnter: React.PropTypes.func,
placeholder: React.PropTypes.string,
_ref: React.PropTypes.func,
style: React.PropTypes.object,
styleFocus: React.PropTypes.object,
styleHover: React.PropTypes.object,
stylePlaceholder: React.PropTypes.object,
styleWrapper: React.PropTypes.object,
type: React.PropTypes.string.isRequired
};
var List = function List() {
return null;
};
List.propTypes = {
from: React.PropTypes.string,
of: React.PropTypes.object,
item: React.PropTypes.string,
style: React.PropTypes.object,
variable: React.PropTypes.string
};
var Text = function Text(_ref) {
var dataBlock = _ref['data-block'];
var lineBreak = _ref.lineBreak;
var style = _ref.style;
var text = _ref.text;
var styleLine = { marginTop: lineBreak };
return React__default.createElement(
'div',
{ 'data-block': dataBlock, style: style },
('' + text).split('\n').map(function (t, i) {
return React__default.createElement(
'div',
{ key: i, style: i ? styleLine : undefined },
t
);
})
);
};
Text.defaultProps = {
lineBreak: 10,
style: {},
text: ''
};
Text.propTypes = {
lineBreak: React.PropTypes.number,
style: React.PropTypes.object,
text: React.PropTypes.string.isRequired
};
var PLACEHOLDER_PREFIXES$1 = ['::-webkit-input-placeholder', '::-moz-placeholder', ':-ms-input-placeholder', ':placeholder-shown'];
var Textarea = function (_Component) {
inherits(Textarea, _Component);
function Textarea() {
classCallCheck(this, Textarea);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args)));
_this.id = 'Textarea-' + uniqueId();
return _this;
}
Textarea.prototype.render = function render() {
var id = this.id;
var _props = this.props;
var _ref = _props._ref;
var stylePlaceholder = _props.stylePlaceholder;
var styleHover = _props.styleHover;
var styleFocus = _props.styleFocus;
var styleDisabled = _props.styleDisabled;
var text = _props.text;
var rest = objectWithoutProperties(_props, ['_ref', 'stylePlaceholder', 'styleHover', 'styleFocus', 'styleDisabled', 'text']);
var inlineStyle = [];
if (stylePlaceholder) {
PLACEHOLDER_PREFIXES$1.forEach(function (prefix) {
inlineStyle.push('#' + id + prefix + ' {' + toCSS(stylePlaceholder) + '}');
});
}
if (styleHover) {
inlineStyle.push(inlineStyle + ' #' + id + ':hover {' + toCSS(styleHover) + '}');
}
if (styleFocus) {
inlineStyle.push('#' + id + ':focus {' + toCSS(styleFocus) + '}');
}
if (styleDisabled) {
inlineStyle.push('#' + id + ':disabled {' + toCSS(styleDisabled) + '}');
}
return React__default.createElement(
'div',
null,
React__default.createElement(
'style',
null,
inlineStyle.join('\n')
),
React__default.createElement('textarea', _extends({}, rest, {
defaultValue: text,
id: id,
ref: _ref
}))
);
};
return Textarea;
}(React.Component);
Textarea.defaultProps = {
style: {},
styleDisabled: {},
styleFocus: {},
stylePlaceholder: {},
text: ''
};
Textarea.propTypes = {
disabled: React.PropTypes.bool,
placeholder: React.PropTypes.string,
rows: React.PropTypes.number,
style: React.PropTypes.object,
styleDisabled: React.PropTypes.object,
styleFocus: React.PropTypes.object,
stylePlaceholder: React.PropTypes.object,
text: React.PropTypes.string.isRequired
};
var vertical = createGroup('Vertical', { flexDirection: 'column' });
var Embed = function (_Component) {
inherits(Embed, _Component);
function Embed(props, context) {
classCallCheck(this, Embed);
var _this = possibleConstructorReturn(this, _Component.call(this, props, context));
_this.state = {
error: !!props.src === false,
isLoading: !!props.src,
isReady: false
};
return _this;
}
Embed.prototype.componentWillMount = function componentWillMount() {
this.getEmbed(this.props.src);
};
Embed.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (this.props.src !== nextProps.src) {
this.getEmbed(nextProps.src);
}
};
Embed.prototype.getEmbed = function getEmbed(src) {
var _this2 = this;
fetch(src).then(function (res) {
return res.json();
}).then(function (data) {
_this2.setState({
data: data,
isLoading: false,
isReady: true,
showCover: !!data.thumbnail_url
});
}).catch(function (err) {
_this2.setState({
error: true,
message: err
});
});
};
Embed.prototype.render = function render() {
var _this3 = this;
var _state = this.state;
var data = _state.data;
var error = _state.error;
var isLoading = _state.isLoading;
var isReady = _state.isReady;
var showCover = _state.showCover;
var _props = this.props;
var autoplay = _props.autoplay;
var overCover = _props.overCover;
var style = _props.style;
var styleCover = _props.styleCover;
var styleCoverWrapper = _props.styleCoverWrapper;
var styleKnocking = _props.styleKnocking;
var ret = void 0;
if (isLoading) {
ret = React__default.createElement(Knocking, { style: styleKnocking });
} else if (isReady) {
if (showCover && !autoplay) {
ret = React__default.createElement(
'div',
{ onClick: function onClick() {
return _this3.setState({ showCover: false });
}, style: styleCoverWrapper },
overCover && React__default.createElement('img', overCover),
React__default.createElement('img', { src: data.thumbnail_url, style: styleCover })
);
} else {
ret = React__default.createElement('div', { dangerouslySetInnerHTML: { __html: data.html } });
}
} else if (error) {
ret = React__default.createElement(
'div',
null,
typeof message === 'undefined' ? 'Do you src in your props?' : message
);
}
return React__default.createElement(
'div',
{
'data-block': this.props['data-block'],
style: style
},
ret
);
};
return Embed;
}(React.Component);
Embed.defaultProps = {
overCover: false
};
Embed.propTypes = {
overCover: React.PropTypes.oneOfType([React.PropTypes.object, React.PropTypes.bool]),
style: React.PropTypes.object,
styleCover: React.PropTypes.object,
styleCoverWrapper: React.PropTypes.object,
styleKnocking: React.PropTypes.object
};
var whitelist = ['autopause', 'autoplay', 'byline', 'color', 'height', 'loop', 'maxheight', 'maxwidth', 'portrait', 'title', 'width'];
function asParams(params) {
return Object.keys(params).map(function (k) {
return k + '=' + params[k];
}).join('&');
}
function createSrc(props) {
var video = props.video;
var rest = objectWithoutProperties(props, ['video']);
var config = {
autoplay: true,
byline: false,
title: false,
url: 'https%3A//vimeo.com/' + video,
width: 360
};
Object.keys(rest).forEach(function (key) {
if (whitelist.indexOf(key) > -1) {
config[key] = rest[key];
}
});
return 'https://vimeo.com/api/oembed.json?' + asParams(config);
}
var Vimeo = function Vimeo(props) {
return React__default.createElement(Embed, _extends({ src: createSrc(props) }, props));
};
Vimeo.propTypes = _extends({}, Embed.propTypes, {
autoplay: React.PropTypes.bool,
video: React.PropTypes.oneOfType([React.PropTypes.number, React.PropTypes.string])
});
exports.Font = Font;
exports.Horizontal = horizontal;
exports.Image = Image;
exports.Input = Input;
exports.Knocking = Knocking;
exports.List = List;
exports.Text = Text;
exports.Textarea = Textarea;
exports.Vertical = vertical;
exports.Vimeo = Vimeo;