UNPKG

react-color

Version:

A Collection of Color Pickers from Sketch, Photoshop, Chrome & more

38 lines (33 loc) 1.07 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var checkboardCache = {}; var render = exports.render = function render(c1, c2, size, serverCanvas) { if (typeof document === 'undefined' && !serverCanvas) { return null; } var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas'); canvas.width = size * 2; canvas.height = size * 2; var ctx = canvas.getContext('2d'); if (!ctx) { return null; } // If no context can be found, return early. ctx.fillStyle = c1; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = c2; ctx.fillRect(0, 0, size, size); ctx.translate(size, size); ctx.fillRect(0, 0, size, size); return canvas.toDataURL(); }; var get = exports.get = function get(c1, c2, size, serverCanvas) { var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : ''); if (checkboardCache[key]) { return checkboardCache[key]; } var checkboard = render(c1, c2, size, serverCanvas); checkboardCache[key] = checkboard; return checkboard; };