forked from mystiq/hydrogen-web
Use existing code
This commit is contained in:
parent
2947f9f6ff
commit
161e29b36e
1 changed files with 1 additions and 24 deletions
|
@ -15,30 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
import type {ThemeInformation} from "./ThemeLoader";
|
import type {ThemeInformation} from "./ThemeLoader";
|
||||||
import {ColorSchemePreference} from "./ThemeLoader";
|
import {ColorSchemePreference} from "./ThemeLoader";
|
||||||
import {offColor} from 'off-color';
|
import {derive} from "../../../scripts/postcss/color.mjs";
|
||||||
|
|
||||||
function derive(value, operation, argument, isDark) {
|
|
||||||
const argumentAsNumber = parseInt(argument);
|
|
||||||
if (isDark) {
|
|
||||||
// For dark themes, invert the operation
|
|
||||||
if (operation === 'darker') {
|
|
||||||
operation = "lighter";
|
|
||||||
}
|
|
||||||
else if (operation === 'lighter') {
|
|
||||||
operation = "darker";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch (operation) {
|
|
||||||
case "darker": {
|
|
||||||
const newColorString = offColor(value).darken(argumentAsNumber / 100).hex();
|
|
||||||
return newColorString;
|
|
||||||
}
|
|
||||||
case "lighter": {
|
|
||||||
const newColorString = offColor(value).lighten(argumentAsNumber / 100).hex();
|
|
||||||
return newColorString;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class ThemeBuilder {
|
export class ThemeBuilder {
|
||||||
// todo: replace any with manifest type when PR is merged
|
// todo: replace any with manifest type when PR is merged
|
||||||
|
|
Loading…
Reference in a new issue