swatchFromPrimaryHex function
Material Design Color Generator Constantin/Buckner logic: https://github.com/mbitson/mcg/blob/858cffea0d79ac143d590d110fbe20a1ea54d59d/scripts/controllers/ColorGeneratorCtrl.js#L238
Implementation
Map<int, String> swatchFromPrimaryHex(String primaryHex) {
final primary = Color.hex(primaryHex);
final baseLight = Color.hex("ffffff");
final baseDark = primary * primary;
return {
50: _mix(baseLight, primary, 12).toHexString(),
100: _mix(baseLight, primary, 30).toHexString(),
200: _mix(baseLight, primary, 50).toHexString(),
300: _mix(baseLight, primary, 70).toHexString(),
400: _mix(baseLight, primary, 85).toHexString(),
500: _mix(baseLight, primary, 100).toHexString(),
600: _mix(baseDark, primary, 87).toHexString(),
700: _mix(baseDark, primary, 70).toHexString(),
800: _mix(baseDark, primary, 54).toHexString(),
900: _mix(baseDark, primary, 25).toHexString(),
};
}