1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- exports.__esModule = true;
- exports["default"] = transitions;
- var _errors = _interopRequireDefault(require("../internalHelpers/_errors"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
- /**
- * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).
- * @example
- * // Styles as object usage
- * const styles = {
- * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),
- * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')
- * }
- *
- * // styled-components usage
- * const div = styled.div`
- * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};
- * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};
- * `
- *
- * // CSS as JS Output
- *
- * div {
- * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'
- * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',
- * }
- */
- function transitions() {
- for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {
- properties[_key] = arguments[_key];
- }
- if (Array.isArray(properties[0]) && properties.length === 2) {
- var value = properties[1];
- if (typeof value !== 'string') {
- throw new _errors["default"](61);
- }
- var transitionsString = properties[0].map(function (property) {
- return property + " " + value;
- }).join(', ');
- return {
- transition: transitionsString
- };
- } else {
- return {
- transition: properties.join(', ')
- };
- }
- }
- module.exports = exports.default;
|