Skip to content

Commit 90079ea

Browse files
Merge pull request #372 from Web3Auth/fix/color-import
use color package injection to help with esm builds
2 parents d655445 + 30b4e57 commit 90079ea

File tree

3 files changed

+27
-13
lines changed

3 files changed

+27
-13
lines changed

package-lock.json

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"@types/pump": "^1.1.3",
8181
"@types/readable-stream": "^4.0.19",
8282
"@vitest/coverage-istanbul": "^3.1.4",
83+
"color": "^5.0.0",
8384
"cross-env": "^7.0.3",
8485
"eslint": "^9.27.0",
8586
"husky": "^9.1.7",
@@ -93,7 +94,8 @@
9394
"vitest": "^3.1.4"
9495
},
9596
"peerDependencies": {
96-
"@babel/runtime": "7.x"
97+
"@babel/runtime": "7.x",
98+
"color": "^5.x"
9799
},
98100
"optionalDependencies": {
99101
"@nx/nx-linux-x64-gnu": "^21.1.1",
@@ -127,7 +129,6 @@
127129
"base64url": "^3.0.1",
128130
"bip39": "^3.1.0",
129131
"bn.js": "^5.2.2",
130-
"color": "^5.0.0",
131132
"deepmerge": "^4.3.1",
132133
"enc-utils": "^3.0.0",
133134
"end-of-stream": "^1.4.4",

src/utils/whitelabel.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,41 @@
1-
import Color from "color";
1+
import type { ColorConstructor } from "color";
22

33
import { type WHITE_LABEL_THEME } from "./interfaces";
44

5-
export function getColorsList(colorsAmount = 3, colorsShiftAmount = 50, mixColor = "black", rotate = 0, saturation = 20, mainColor = "#0346ff") {
5+
export function getColorsList(
6+
colorPackage: ColorConstructor,
7+
colorsAmount = 3,
8+
colorsShiftAmount = 50,
9+
mixColor = "black",
10+
rotate = 0,
11+
saturation = 20,
12+
mainColor = "#0346ff"
13+
) {
614
const colorsList = [];
715

816
let step;
917
for (step = 0; step < colorsAmount; step += 1) {
1018
colorsList.push(
11-
Color(mainColor)
19+
colorPackage(mainColor)
1220
.rotate(((step + 1) / colorsAmount) * -rotate)
1321
.saturate(((step + 1) / colorsAmount) * (saturation / 100))
14-
.mix(Color(mixColor), ((colorsShiftAmount / 100) * (step + 1)) / colorsAmount)
22+
.mix(colorPackage(mixColor), ((colorsShiftAmount / 100) * (step + 1)) / colorsAmount)
1523
.hex()
1624
);
1725
}
1826

1927
return colorsList;
2028
}
2129

22-
export function generateWhiteLabelTheme(primary: string) {
23-
const darkSet = getColorsList(3, 50, "black", 0, 20, primary);
24-
const lightSet = getColorsList(6, 85, "white", 0, 20, primary);
30+
export function generateWhiteLabelTheme(colorPackage: ColorConstructor, primary: string) {
31+
const darkSet = getColorsList(colorPackage, 3, 50, "black", 0, 20, primary);
32+
const lightSet = getColorsList(colorPackage, 6, 85, "white", 0, 20, primary);
2533
return [...darkSet.reverse(), primary, ...lightSet];
2634
}
2735

28-
export function applyWhiteLabelTheme(rootElement: HTMLElement, theme: WHITE_LABEL_THEME) {
36+
export function applyWhiteLabelTheme(colorPackage: ColorConstructor, rootElement: HTMLElement, theme: WHITE_LABEL_THEME) {
2937
if (theme.primary) {
30-
const themeSet = generateWhiteLabelTheme(theme.primary);
38+
const themeSet = generateWhiteLabelTheme(colorPackage, theme.primary);
3139

3240
rootElement.style.setProperty("--app-primary-900", themeSet[0]);
3341
rootElement.style.setProperty("--app-primary-800", themeSet[1]);

0 commit comments

Comments
 (0)