@atlaskit/adf-schema
Version:
Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs
217 lines (209 loc) • 7.29 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Y75 = exports.Y500 = exports.Y50 = exports.Y400 = exports.Y200 = exports.T75 = exports.T500 = exports.T50 = exports.T300 = exports.T100 = exports.R75 = exports.R500 = exports.R50 = exports.R400 = exports.R300 = exports.R100 = exports.P75 = exports.P500 = exports.P50 = exports.P400 = exports.P300 = exports.P100 = exports.N90 = exports.N800 = exports.N80 = exports.N600 = exports.N60 = exports.N500 = exports.N50 = exports.N40 = exports.N300A = exports.N300 = exports.N30 = exports.N200 = exports.N20 = exports.N1000 = exports.N0 = exports.G75 = exports.G500 = exports.G50 = exports.G400 = exports.G300 = exports.G200 = exports.B75 = exports.B500 = exports.B50 = exports.B400 = exports.B100 = void 0;
exports.hexToRgb = hexToRgb;
exports.hexToRgba = hexToRgba;
exports.isHex = isHex;
exports.isRgb = isRgb;
exports.normalizeHexColor = normalizeHexColor;
exports.rgbToHex = rgbToHex;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var namedColors = _interopRequireWildcard(require("css-color-names"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
// eslint-disable-line import/extensions
/**
* We're avoding importing these colors from @atlaskit/theme since we
* do not want to have react as a dependency of this package.
* TODO: Refactor this once tokenization by Core team is ready
* https://product-fabric.atlassian.net/browse/CS-908
*/
var R50 = '#FFEBE6';
exports.R50 = R50;
var R75 = '#FFBDAD';
exports.R75 = R75;
var R100 = '#FF8F73';
exports.R100 = R100;
var R300 = '#FF5630';
exports.R300 = R300;
var R400 = '#DE350B';
exports.R400 = R400;
var R500 = '#BF2600';
exports.R500 = R500;
var Y50 = '#FFFAE6';
exports.Y50 = Y50;
var Y75 = '#FFF0B3';
exports.Y75 = Y75;
var Y200 = '#FFC400';
exports.Y200 = Y200;
var Y400 = '#FF991F';
exports.Y400 = Y400;
var Y500 = '#FF8B00';
exports.Y500 = Y500;
var G50 = '#E3FCEF';
exports.G50 = G50;
var G75 = '#ABF5D1';
exports.G75 = G75;
var G200 = '#57D9A3';
exports.G200 = G200;
var G300 = '#36B37E';
exports.G300 = G300;
var G400 = '#00875A';
exports.G400 = G400;
var G500 = '#006644';
exports.G500 = G500;
var B50 = '#DEEBFF';
exports.B50 = B50;
var B75 = '#B3D4FF';
exports.B75 = B75;
var B100 = '#4C9AFF';
exports.B100 = B100;
var B400 = '#0052CC';
exports.B400 = B400;
var B500 = '#0747A6';
exports.B500 = B500;
var N0 = '#FFFFFF';
exports.N0 = N0;
var N20 = '#F4F5F7';
exports.N20 = N20;
var N30 = '#EBECF0';
exports.N30 = N30;
var N40 = '#DFE1E6';
exports.N40 = N40;
var N50 = '#C1C7D0';
exports.N50 = N50;
var N60 = '#B3BAC5';
exports.N60 = N60;
var N80 = '#97A0AF';
exports.N80 = N80;
var N90 = '#8993A4';
exports.N90 = N90;
var N200 = '#6B778C';
exports.N200 = N200;
var N300 = '#5E6C84';
exports.N300 = N300;
var N300A = '#091E4224';
exports.N300A = N300A;
var N500 = '#42526E';
exports.N500 = N500;
var N600 = '#758195';
exports.N600 = N600;
var N800 = '#172B4D';
exports.N800 = N800;
var N1000 = '#172B4D';
exports.N1000 = N1000;
var P50 = '#EAE6FF';
exports.P50 = P50;
var P75 = '#C0B6F2';
exports.P75 = P75;
var P100 = '#998DD9';
exports.P100 = P100;
var P300 = '#6554C0';
exports.P300 = P300;
var P400 = '#5243AA';
exports.P400 = P400;
var P500 = '#403294';
exports.P500 = P500;
var T50 = '#E6FCFF';
exports.T50 = T50;
var T75 = '#B3F5FF';
exports.T75 = T75;
var T100 = '#79E2F2';
exports.T100 = T100;
var T300 = '#00B8D9';
exports.T300 = T300;
var T500 = '#008DA6';
/**
* @return String with HEX-coded color.
*/
exports.T500 = T500;
function normalizeHexColor(color, defaultColor) {
if (!color) {
return null;
}
// Normalize to hex
color = color.trim().toLowerCase();
if (isHex(color)) {
// Normalize 3-hex to 6-hex colours
if (color.length === 4) {
color = color.split('').map(function (c) {
return c === '#' ? '#' : "".concat(c).concat(c);
}).join('');
}
} else if (isRgb(color)) {
return rgbToHex(color);
} else {
// http://dev.w3.org/csswg/css-color/#named-colors
if (color === 'default') {
return null;
} else if (namedColors.default && namedColors.default[color]) {
color = namedColors.default[color];
} else if (namedColors && namedColors[color]) {
color = namedColors[color];
} else {
return null;
}
}
if (color === defaultColor) {
return null;
}
return color;
}
/**
* Converts hex color format to rgb.
* Works well with full hex color format and shortcut as well.
*
* @param hex - hex color string (#xxx, or #xxxxxx)
*/
function hexToRgb(color) {
if (!isHex(color)) {
return null;
}
var colorBits = color.substring(1).split('');
if (colorBits.length === 3) {
colorBits = [colorBits[0], colorBits[0], colorBits[1], colorBits[1], colorBits[2], colorBits[2]];
}
var rgb = Number("0x".concat(colorBits.join('')));
// eslint-disable-next-line no-bitwise
return "rgb(".concat(rgb >> 16 & 255, ",").concat(rgb >> 8 & 255, ",").concat(rgb & 255, ")");
}
/**
* Converts hex color format to rgba.
*
* @param hex - hex color string (#xxx, or #xxxxxx)
*/
function hexToRgba(rawColor, alpha) {
var color = normalizeHexColor(rawColor);
if (!color) {
return null;
}
var hex2rgb = function hex2rgb(color) {
return color.match(/[a-z0-9]{2}/gi).map(function (hex) {
return parseInt(hex, 16);
});
};
return "rgba(".concat(hex2rgb(color).concat(alpha).join(','), ")");
}
function rgbToHex(value) {
var matches = value.match(/(0?\.?\d{1,3})%?\b/g);
if (matches && matches.length >= 3) {
var _matches$map = matches.map(Number),
_matches$map2 = (0, _slicedToArray2.default)(_matches$map, 3),
red = _matches$map2[0],
green = _matches$map2[1],
blue = _matches$map2[2];
return '#' + (blue | green << 8 | red << 16 | 1 << 24).toString(16).slice(1) // eslint-disable-line no-bitwise
;
}
return null;
}
function isRgb(color) {
return /rgba?\(/.test(color);
}
function isHex(color) {
return /^#([A-Fa-f0-9]{3}){1,2}$/.test(color);
}
;