UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

217 lines (209 loc) 7.29 kB
"use strict"; 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); }