UNPKG

@atlaskit/adf-schema

Version:

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

172 lines (166 loc) 6.97 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.T200 = 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.P200 = exports.P100 = exports.O200 = exports.Neutral300 = 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.M200 = exports.L200 = 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(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * 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 = exports.R50 = '#FFEBE6'; var R75 = exports.R75 = '#FFBDAD'; var R100 = exports.R100 = '#FF8F73'; var R300 = exports.R300 = '#FF5630'; var R400 = exports.R400 = '#DE350B'; var R500 = exports.R500 = '#BF2600'; var Y50 = exports.Y50 = '#FFFAE6'; var Y75 = exports.Y75 = '#FFF0B3'; var Y200 = exports.Y200 = '#FFC400'; var Y400 = exports.Y400 = '#FF991F'; var Y500 = exports.Y500 = '#FF8B00'; var G50 = exports.G50 = '#E3FCEF'; var G75 = exports.G75 = '#ABF5D1'; var G200 = exports.G200 = '#57D9A3'; var G300 = exports.G300 = '#36B37E'; var G400 = exports.G400 = '#00875A'; var G500 = exports.G500 = '#006644'; var B50 = exports.B50 = '#DEEBFF'; var B75 = exports.B75 = '#B3D4FF'; var B100 = exports.B100 = '#4C9AFF'; var B400 = exports.B400 = '#0052CC'; var B500 = exports.B500 = '#0747A6'; var L200 = exports.L200 = '#D3F1A7'; var N0 = exports.N0 = '#FFFFFF'; var N20 = exports.N20 = '#F4F5F7'; var N30 = exports.N30 = '#EBECF0'; var N40 = exports.N40 = '#DFE1E6'; var N50 = exports.N50 = '#C1C7D0'; var N60 = exports.N60 = '#B3BAC5'; var N80 = exports.N80 = '#97A0AF'; var N90 = exports.N90 = '#8993A4'; var N200 = exports.N200 = '#6B778C'; var N300 = exports.N300 = '#5E6C84'; var Neutral300 = exports.Neutral300 = '#DCDFE4'; var N300A = exports.N300A = '#091E4224'; var N500 = exports.N500 = '#42526E'; var N600 = exports.N600 = '#758195'; var N800 = exports.N800 = '#172B4D'; var N1000 = exports.N1000 = '#172B4D'; var M200 = exports.M200 = '#FDD0EC'; var O200 = exports.O200 = '#FEDEC8'; var P50 = exports.P50 = '#EAE6FF'; var P75 = exports.P75 = '#C0B6F2'; var P100 = exports.P100 = '#998DD9'; var P200 = exports.P200 = '#DFD8FD'; var P300 = exports.P300 = '#6554C0'; var P400 = exports.P400 = '#5243AA'; var P500 = exports.P500 = '#403294'; var T50 = exports.T50 = '#E6FCFF'; var T75 = exports.T75 = '#B3F5FF'; var T100 = exports.T100 = '#79E2F2'; var T200 = exports.T200 = '#C6EDFB'; var T300 = exports.T300 = '#00B8D9'; var T500 = exports.T500 = '#008DA6'; /** * @return String with HEX-coded color. */ 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); }