| 120 | }; |
| 121 | |
| 122 | function buildMapping(colorScheme) { |
| 123 | let mapping = {}; |
| 124 | for (let staticColor in staticColors) { |
| 125 | let staticColorObject = new Color(staticColors[staticColor]); |
| 126 | let closest = null; |
| 127 | let closestDelta = Infinity; |
| 128 | for (let s2Color in s2Colors) { |
| 129 | let s2ColorObject = new Color(s2Colors[s2Color][colorScheme]); |
| 130 | let delta = staticColorObject.distance(s2ColorObject, 'oklab'); |
| 131 | if (delta < closestDelta) { |
| 132 | closestDelta = delta; |
| 133 | closest = s2Color; |
| 134 | } |
| 135 | } |
| 136 | mapping[staticColor] = closest; |
| 137 | } |
| 138 | return mapping; |
| 139 | } |
| 140 | |
| 141 | let light = buildMapping('default'); |
| 142 | let dark = buildMapping('dark'); |