vue-poster-editor
Version:
A poster editor based on Vue.js
63 lines (47 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _onecolor = require('onecolor');
var _onecolor2 = _interopRequireDefault(_onecolor);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_onecolor2.default.rgbaParser = function () {
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var result = false;
if (val && val.length) {
val = val.trim().replace('#', '');
if (val.length === 4 || val.length === 8) {
var color = void 0;
var alpha = void 0;
if (val.length === 8) {
color = val.substr(0, 6);
alpha = parseInt(val.substr(6, 2), 16) / 255;
} else if (val.length === 4) {
color = val.substr(0, 3);
var opacity = val.substr(3, 1);
alpha = parseInt(opacity + opacity, 16) / 255;
}
result = (0, _onecolor2.default)(color);
if (result) {
result = result.alpha(Math.min(1, alpha));
}
} else {
result = (0, _onecolor2.default)(val);
}
}
if (!result) {
result = (0, _onecolor2.default)('rgba(255,255,255,0)');
}
return result;
};
_onecolor2.default.hexa = function () {
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var color = _onecolor2.default.rgbaParser(val);
var alphaString = ('00' + Math.round(color.alpha() * 255).toString(16)).substr(-2);
return color.hex() + alphaString;
};
_onecolor2.default.cssa = function (color) {
return color ? _onecolor2.default.rgbaParser(color).cssa() : null;
};
exports.default = _onecolor2.default;
module.exports = exports['default'];