@vimeo/iris
Version:
Vimeo Design System
23 lines (20 loc) • 662 B
JavaScript
import { readToken } from '../../util/readToken.esm.js';
import { grayscale, white, slate } from '../../../color/colors.esm.js';
import { clamp } from '../../util/clamp.esm.js';
import 'polished';
var surface = function (grade) { return readToken(token, grade); };
var token = {
default: 'light',
type: 'COLOR',
modes: { dark: dark, light: light },
};
function dark(grade) {
return grayscale(clamp(-1 * (grade / 5 - 1000)));
}
function light(grade) {
return grade >= 300 ? white : slate(clamp(-1 * (grade / 2 - 150)));
}
surface.primary = surface(400);
surface.secondary = surface(600);
surface.tertiary = surface(800);
export { surface };