@breadstone/mosaik-themes 0.0.180 → 0.0.182
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/index.cjs +2922 -0
- package/index.cjs.map +1 -0
- package/index.d.mts +540 -0
- package/index.d.ts +540 -0
- package/index.js +2903 -0
- package/index.js.map +1 -0
- package/package.json +9 -10
- package/tailwind/v3/index.d.ts +0 -1
- package/tailwind/v3/index.d.ts.map +1 -1
- package/tailwind/v3/index.js +0 -4
- package/tailwind/v3/index.js.map +1 -1
- package/Index.d.ts +0 -30
- package/Index.d.ts.map +0 -1
- package/Index.js +0 -20
- package/Index.js.map +0 -1
- package/Theming/BootstrapTheme.d.ts +0 -12
- package/Theming/BootstrapTheme.d.ts.map +0 -1
- package/Theming/BootstrapTheme.js +0 -138
- package/Theming/BootstrapTheme.js.map +0 -1
- package/Theming/CosmopolitanTheme.d.ts +0 -13
- package/Theming/CosmopolitanTheme.d.ts.map +0 -1
- package/Theming/CosmopolitanTheme.js +0 -127
- package/Theming/CosmopolitanTheme.js.map +0 -1
- package/Theming/FluentTheme.d.ts +0 -4
- package/Theming/FluentTheme.d.ts.map +0 -1
- package/Theming/FluentTheme.js +0 -12
- package/Theming/FluentTheme.js.map +0 -1
- package/Theming/JoyTheme.d.ts +0 -13
- package/Theming/JoyTheme.d.ts.map +0 -1
- package/Theming/JoyTheme.js +0 -437
- package/Theming/JoyTheme.js.map +0 -1
- package/Theming/MaterialTheme.d.ts +0 -4
- package/Theming/MaterialTheme.d.ts.map +0 -1
- package/Theming/MaterialTheme.js +0 -12
- package/Theming/MaterialTheme.js.map +0 -1
- package/Theming/MemphisTheme.d.ts +0 -13
- package/Theming/MemphisTheme.d.ts.map +0 -1
- package/Theming/MemphisTheme.js +0 -383
- package/Theming/MemphisTheme.js.map +0 -1
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts +0 -16
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.js +0 -48
- package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.js.map +0 -1
- package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts +0 -17
- package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/JoyThemeGeneratorStrategy.js +0 -27
- package/Theming/Strategies/JoyThemeGeneratorStrategy.js.map +0 -1
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts +0 -15
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.js +0 -84
- package/Theming/Strategies/MaterialThemeGeneratorStrategy.js.map +0 -1
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts +0 -17
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.js +0 -27
- package/Theming/Strategies/MemphisThemeGeneratorStrategy.js.map +0 -1
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts +0 -48
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.js +0 -69
- package/Theming/Strategies/TailwindThemeGeneratorStrategy.js.map +0 -1
- package/Theming/Strategies/index.d.ts +0 -7
- package/Theming/Strategies/index.d.ts.map +0 -1
- package/Theming/Strategies/index.js +0 -8
- package/Theming/Strategies/index.js.map +0 -1
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts +0 -27
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.d.ts.map +0 -1
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js +0 -3
- package/Theming/Strategies/interfaces/IThemeGeneratorStrategy.js.map +0 -1
- package/Theming/ThemeFactory.d.ts +0 -41
- package/Theming/ThemeFactory.d.ts.map +0 -1
- package/Theming/ThemeFactory.js +0 -58
- package/Theming/ThemeFactory.js.map +0 -1
- package/Theming/ThemeGenerator.d.ts +0 -25
- package/Theming/ThemeGenerator.d.ts.map +0 -1
- package/Theming/ThemeGenerator.js +0 -74
- package/Theming/ThemeGenerator.js.map +0 -1
- package/Theming/ThemeObserver.d.ts +0 -56
- package/Theming/ThemeObserver.d.ts.map +0 -1
- package/Theming/ThemeObserver.js +0 -135
- package/Theming/ThemeObserver.js.map +0 -1
- package/Theming/Tokens/BootstrapTokens.d.ts +0 -93
- package/Theming/Tokens/BootstrapTokens.d.ts.map +0 -1
- package/Theming/Tokens/BootstrapTokens.js +0 -93
- package/Theming/Tokens/BootstrapTokens.js.map +0 -1
- package/Theming/Tokens/CosmopolitanTokens.d.ts +0 -215
- package/Theming/Tokens/CosmopolitanTokens.d.ts.map +0 -1
- package/Theming/Tokens/CosmopolitanTokens.js +0 -215
- package/Theming/Tokens/CosmopolitanTokens.js.map +0 -1
- package/Theming/Tokens/FluentTokens.d.ts +0 -32
- package/Theming/Tokens/FluentTokens.d.ts.map +0 -1
- package/Theming/Tokens/FluentTokens.js +0 -32
- package/Theming/Tokens/FluentTokens.js.map +0 -1
- package/Theming/Tokens/JoyTokens.d.ts +0 -502
- package/Theming/Tokens/JoyTokens.d.ts.map +0 -1
- package/Theming/Tokens/JoyTokens.js +0 -502
- package/Theming/Tokens/JoyTokens.js.map +0 -1
- package/Theming/Tokens/MaterialTokens.d.ts +0 -24
- package/Theming/Tokens/MaterialTokens.d.ts.map +0 -1
- package/Theming/Tokens/MaterialTokens.js +0 -24
- package/Theming/Tokens/MaterialTokens.js.map +0 -1
- package/Theming/Tokens/MemphisTokens.d.ts +0 -394
- package/Theming/Tokens/MemphisTokens.d.ts.map +0 -1
- package/Theming/Tokens/MemphisTokens.js +0 -394
- package/Theming/Tokens/MemphisTokens.js.map +0 -1
- package/Theming/Utils/CssAspectRatio.d.ts +0 -14
- package/Theming/Utils/CssAspectRatio.d.ts.map +0 -1
- package/Theming/Utils/CssAspectRatio.js +0 -31
- package/Theming/Utils/CssAspectRatio.js.map +0 -1
- package/Theming/Utils/CssColor.d.ts +0 -30
- package/Theming/Utils/CssColor.d.ts.map +0 -1
- package/Theming/Utils/CssColor.js +0 -23
- package/Theming/Utils/CssColor.js.map +0 -1
- package/Theming/Utils/CssLength.d.ts +0 -67
- package/Theming/Utils/CssLength.d.ts.map +0 -1
- package/Theming/Utils/CssLength.js +0 -149
- package/Theming/Utils/CssLength.js.map +0 -1
- package/Theming/Utils/CssShadow.d.ts +0 -27
- package/Theming/Utils/CssShadow.d.ts.map +0 -1
- package/Theming/Utils/CssShadow.js +0 -46
- package/Theming/Utils/CssShadow.js.map +0 -1
- package/Theming/Utils/CssTime.d.ts +0 -18
- package/Theming/Utils/CssTime.d.ts.map +0 -1
- package/Theming/Utils/CssTime.js +0 -24
- package/Theming/Utils/CssTime.js.map +0 -1
- package/Theming/Utils/ITheme.d.ts +0 -30
- package/Theming/Utils/ITheme.d.ts.map +0 -1
- package/Theming/Utils/ITheme.js +0 -37
- package/Theming/Utils/ITheme.js.map +0 -1
- package/Theming/Utils/IThemeElevation.d.ts +0 -10
- package/Theming/Utils/IThemeElevation.d.ts.map +0 -1
- package/Theming/Utils/IThemeElevation.js +0 -3
- package/Theming/Utils/IThemeElevation.js.map +0 -1
- package/Theming/Utils/IThemeLayout.d.ts +0 -12
- package/Theming/Utils/IThemeLayout.d.ts.map +0 -1
- package/Theming/Utils/IThemeLayout.js +0 -3
- package/Theming/Utils/IThemeLayout.js.map +0 -1
- package/Theming/Utils/IThemeMetadata.d.ts +0 -15
- package/Theming/Utils/IThemeMetadata.d.ts.map +0 -1
- package/Theming/Utils/IThemeMetadata.js +0 -3
- package/Theming/Utils/IThemeMetadata.js.map +0 -1
- package/Theming/Utils/IThemePalette.d.ts +0 -22
- package/Theming/Utils/IThemePalette.d.ts.map +0 -1
- package/Theming/Utils/IThemePalette.js +0 -18
- package/Theming/Utils/IThemePalette.js.map +0 -1
- package/Theming/Utils/IThemeScheme.d.ts +0 -10
- package/Theming/Utils/IThemeScheme.d.ts.map +0 -1
- package/Theming/Utils/IThemeScheme.js +0 -3
- package/Theming/Utils/IThemeScheme.js.map +0 -1
- package/Theming/Utils/IThemeTypography.d.ts +0 -10
- package/Theming/Utils/IThemeTypography.d.ts.map +0 -1
- package/Theming/Utils/IThemeTypography.js +0 -3
- package/Theming/Utils/IThemeTypography.js.map +0 -1
- package/Theming/Utils/IThemeTypographyFontType.d.ts +0 -16
- package/Theming/Utils/IThemeTypographyFontType.d.ts.map +0 -1
- package/Theming/Utils/IThemeTypographyFontType.js +0 -3
- package/Theming/Utils/IThemeTypographyFontType.js.map +0 -1
- package/tailwind/v3/factories/index.d.ts +0 -9
- package/tailwind/v3/factories/index.d.ts.map +0 -1
- package/tailwind/v3/factories/index.js +0 -27
- package/tailwind/v3/factories/index.js.map +0 -1
- /package/{Themes → themes}/___bootstrap-tokens.css +0 -0
- /package/{Themes → themes}/___cosmopolitan-tokens.css +0 -0
- /package/{Themes → themes}/___fluent-tokens.css +0 -0
- /package/{Themes → themes}/___joy-tokens.css +0 -0
- /package/{Themes → themes}/___material-tokens.css +0 -0
- /package/{Themes → themes}/___memphis-tokens.css +0 -0
- /package/{Themes → themes}/bootstrap-tokens.scss +0 -0
- /package/{Themes → themes}/bootstrap.scss +0 -0
- /package/{Themes → themes}/cosmopolitan-tokens.scss +0 -0
- /package/{Themes → themes}/cosmopolitan.scss +0 -0
- /package/{Themes → themes}/fluent-tokens.scss +0 -0
- /package/{Themes → themes}/fluent.scss +0 -0
- /package/{Themes → themes}/joy-tokens.scss +0 -0
- /package/{Themes → themes}/joy.scss +0 -0
- /package/{Themes → themes}/material-tokens.scss +0 -0
- /package/{Themes → themes}/material.scss +0 -0
- /package/{Themes → themes}/memphis-tokens.scss +0 -0
- /package/{Themes → themes}/memphis.scss +0 -0
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
// #region Imports
|
|
2
|
-
import chroma from 'chroma-js';
|
|
3
|
-
// #endregion
|
|
4
|
-
/**
|
|
5
|
-
* Material Design theme generator strategy.
|
|
6
|
-
*
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
export class MaterialThemeGeneratorStrategy {
|
|
10
|
-
// #region Ctor
|
|
11
|
-
constructor() {
|
|
12
|
-
}
|
|
13
|
-
// #endregion
|
|
14
|
-
// #region Methods
|
|
15
|
-
generatePalette(baseColor, mode) {
|
|
16
|
-
if (mode === 'light') {
|
|
17
|
-
const baseLight = chroma('#ffffff');
|
|
18
|
-
const baseDark = chroma('#000000');
|
|
19
|
-
const palette = {};
|
|
20
|
-
const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
21
|
-
const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];
|
|
22
|
-
steps.forEach((step, i) => {
|
|
23
|
-
const base = step <= 500 ? baseLight : baseDark;
|
|
24
|
-
palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex();
|
|
25
|
-
});
|
|
26
|
-
return palette;
|
|
27
|
-
}
|
|
28
|
-
const baseLight = chroma('#ffffff');
|
|
29
|
-
const baseDark = chroma('#000000');
|
|
30
|
-
const palette = {};
|
|
31
|
-
const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
32
|
-
const amounts = [0, 15, 30, 45, 60, 75, 90, 100, 70, 54, 25];
|
|
33
|
-
steps.forEach((step, i) => {
|
|
34
|
-
const base = step <= 600 ? baseDark : baseLight;
|
|
35
|
-
palette[`${step}`] = chroma.mix(base, baseColor, amounts[i] / 100, 'rgb').hex();
|
|
36
|
-
});
|
|
37
|
-
return palette;
|
|
38
|
-
}
|
|
39
|
-
generateScheme(baseColor, mode) {
|
|
40
|
-
const baseChroma = chroma(baseColor);
|
|
41
|
-
const luminance = baseChroma.luminance();
|
|
42
|
-
const isDarkBase = luminance < 0.3;
|
|
43
|
-
/**
|
|
44
|
-
* Intelligent color adjustment that prevents colors from becoming too dark.
|
|
45
|
-
* For dark input colors, colors are lightened instead of darkened.
|
|
46
|
-
*/
|
|
47
|
-
const adjustColor = (color, targetAmount) => {
|
|
48
|
-
const c = chroma(color);
|
|
49
|
-
const currentLuminance = c.luminance();
|
|
50
|
-
// If the color is too dark (luminance < 0.15) and we would darken it,
|
|
51
|
-
// reverse direction and lighten instead
|
|
52
|
-
if (currentLuminance < 0.15 && targetAmount < 0) {
|
|
53
|
-
return c.brighten(Math.abs(targetAmount / 25.5)).hex();
|
|
54
|
-
}
|
|
55
|
-
// Normal adjustment
|
|
56
|
-
if (targetAmount > 0) {
|
|
57
|
-
return c.brighten(targetAmount / 25.5).hex();
|
|
58
|
-
}
|
|
59
|
-
const darkened = c.darken(Math.abs(targetAmount / 25.5));
|
|
60
|
-
// Ensure we never reach black (luminance > 0.02)
|
|
61
|
-
if (darkened.luminance() < 0.02) {
|
|
62
|
-
return c.brighten(Math.abs(targetAmount / 50)).hex();
|
|
63
|
-
}
|
|
64
|
-
return darkened.hex();
|
|
65
|
-
};
|
|
66
|
-
// For very dark base colors, invert the logic for certain properties
|
|
67
|
-
const middlelightAmount = isDarkBase ? 50 : -50;
|
|
68
|
-
const lowlightAmount = isDarkBase ? 80 : -80;
|
|
69
|
-
const disabledAmount = isDarkBase ? 40 : -40;
|
|
70
|
-
return {
|
|
71
|
-
background: baseColor,
|
|
72
|
-
foreground: adjustColor(baseColor, mode === 'dark' ? 190 : -190),
|
|
73
|
-
highlight: adjustColor(baseColor, mode === 'dark' ? 30 : -30),
|
|
74
|
-
middlelight: adjustColor(baseColor, middlelightAmount),
|
|
75
|
-
lowlight: adjustColor(baseColor, lowlightAmount),
|
|
76
|
-
transparent: `${baseColor}00`,
|
|
77
|
-
semiTransparent: `${baseColor}aa`,
|
|
78
|
-
disabled: adjustColor(baseColor, disabledAmount),
|
|
79
|
-
contrast: adjustColor(baseColor, mode === 'dark' ? 190 : -190),
|
|
80
|
-
selection: adjustColor(baseColor, mode === 'dark' ? 30 : -30)
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=MaterialThemeGeneratorStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/MaterialThemeGeneratorStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { CssColor } from '../Utils/CssColor';
|
|
2
|
-
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
3
|
-
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
4
|
-
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
5
|
-
/**
|
|
6
|
-
* Memphis theme generator strategy.
|
|
7
|
-
* Uses the same generation logic as Material Design.
|
|
8
|
-
*
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export declare class MemphisThemeGeneratorStrategy implements IThemeGeneratorStrategy {
|
|
12
|
-
private readonly _materialStrategy;
|
|
13
|
-
constructor();
|
|
14
|
-
generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): IThemePalette;
|
|
15
|
-
generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): IThemeScheme;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=MemphisThemeGeneratorStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemphisThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/MemphisThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAKpF;;;;;GAKG;AACH,qBAAa,6BAA8B,YAAW,uBAAuB;IAIzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;;IAc5D,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IAI3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAMnF"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// #region Imports
|
|
2
|
-
import { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy';
|
|
3
|
-
// #endregion
|
|
4
|
-
/**
|
|
5
|
-
* Memphis theme generator strategy.
|
|
6
|
-
* Uses the same generation logic as Material Design.
|
|
7
|
-
*
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export class MemphisThemeGeneratorStrategy {
|
|
11
|
-
// #region Fields
|
|
12
|
-
_materialStrategy;
|
|
13
|
-
// #endregion
|
|
14
|
-
// #region Ctor
|
|
15
|
-
constructor() {
|
|
16
|
-
this._materialStrategy = new MaterialThemeGeneratorStrategy();
|
|
17
|
-
}
|
|
18
|
-
// #endregion
|
|
19
|
-
// #region Methods
|
|
20
|
-
generatePalette(baseColor, mode) {
|
|
21
|
-
return this._materialStrategy.generatePalette(baseColor, mode);
|
|
22
|
-
}
|
|
23
|
-
generateScheme(baseColor, mode) {
|
|
24
|
-
return this._materialStrategy.generateScheme(baseColor, mode);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=MemphisThemeGeneratorStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemphisThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/MemphisThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAMlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,aAAa;AAEb;;;;;GAKG;AACH,MAAM,OAAO,6BAA6B;IAEtC,iBAAiB;IAEA,iBAAiB,CAAiC;IAEnE,aAAa;IAEb,eAAe;IAEf;QACI,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAClE,CAAC;IAED,aAAa;IAEb,kBAAkB;IAEX,eAAe,CAAC,SAAmB,EAAE,IAAsB;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAEM,cAAc,CAAC,SAAmB,EAAE,IAAsB;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;CAIJ"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { CssColor } from '../Utils/CssColor';
|
|
2
|
-
import type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
3
|
-
import type { IThemePalette } from '../Utils/IThemePalette';
|
|
4
|
-
import type { IThemeScheme } from '../Utils/IThemeScheme';
|
|
5
|
-
/**
|
|
6
|
-
* Tailwind-like strategy.
|
|
7
|
-
*
|
|
8
|
-
* Generates a color palette with the following shade steps:
|
|
9
|
-
* 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.
|
|
10
|
-
*
|
|
11
|
-
* Each returned color is a hex string (CssColor).
|
|
12
|
-
*/
|
|
13
|
-
export declare class TailwindThemeGeneratorStrategy implements IThemeGeneratorStrategy {
|
|
14
|
-
/**
|
|
15
|
-
* Generates a palette of shades based on a base/accent color.
|
|
16
|
-
*
|
|
17
|
-
* @param baseColor - The base/accent color (e.g. "#3498db")
|
|
18
|
-
* @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.
|
|
19
|
-
* @returns An IThemePalette mapping each shade step to a hex color.
|
|
20
|
-
*
|
|
21
|
-
* Example (light mode, baseColor = blue-ish):
|
|
22
|
-
* {
|
|
23
|
-
* "50": "#f5faff",
|
|
24
|
-
* "100": "#e1f3ff",
|
|
25
|
-
* ...
|
|
26
|
-
* "500": "#3498db",
|
|
27
|
-
* ...
|
|
28
|
-
* "900": "#0a2d4b"
|
|
29
|
-
* }
|
|
30
|
-
*/
|
|
31
|
-
generatePalette(baseColor: CssColor, mode: 'light' | 'dark'): IThemePalette;
|
|
32
|
-
/**
|
|
33
|
-
* Generates a semantic color scheme for UI usage, based on the generated palette.
|
|
34
|
-
*
|
|
35
|
-
* @param baseColor - The base/accent color
|
|
36
|
-
* @param mode - 'light' or 'dark'
|
|
37
|
-
* @returns An IThemeScheme with semantic color roles.
|
|
38
|
-
*
|
|
39
|
-
* Returned keys:
|
|
40
|
-
* - background → shade "50"
|
|
41
|
-
* - foreground → shade "900"
|
|
42
|
-
* - primary → shade "500"
|
|
43
|
-
* - accent → shade "700"
|
|
44
|
-
* - muted → shade "300"
|
|
45
|
-
*/
|
|
46
|
-
generateScheme(baseColor: CssColor, mode: 'light' | 'dark'): IThemeScheme;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=TailwindThemeGeneratorStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TailwindThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;GAOG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAE1E;;;;;;;;;;;;;;;;OAgBG;IACI,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa;IAkBlF;;;;;;;;;;;;;OAaG;IACI,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY;CAYnF"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// themeStrategies.ts
|
|
2
|
-
import chroma from 'chroma-js';
|
|
3
|
-
/**
|
|
4
|
-
* Tailwind-like strategy.
|
|
5
|
-
*
|
|
6
|
-
* Generates a color palette with the following shade steps:
|
|
7
|
-
* 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.
|
|
8
|
-
*
|
|
9
|
-
* Each returned color is a hex string (CssColor).
|
|
10
|
-
*/
|
|
11
|
-
export class TailwindThemeGeneratorStrategy {
|
|
12
|
-
/**
|
|
13
|
-
* Generates a palette of shades based on a base/accent color.
|
|
14
|
-
*
|
|
15
|
-
* @param baseColor - The base/accent color (e.g. "#3498db")
|
|
16
|
-
* @param mode - 'light' or 'dark' mode: determines how light or dark the palette extremes are.
|
|
17
|
-
* @returns An IThemePalette mapping each shade step to a hex color.
|
|
18
|
-
*
|
|
19
|
-
* Example (light mode, baseColor = blue-ish):
|
|
20
|
-
* {
|
|
21
|
-
* "50": "#f5faff",
|
|
22
|
-
* "100": "#e1f3ff",
|
|
23
|
-
* ...
|
|
24
|
-
* "500": "#3498db",
|
|
25
|
-
* ...
|
|
26
|
-
* "900": "#0a2d4b"
|
|
27
|
-
* }
|
|
28
|
-
*/
|
|
29
|
-
generatePalette(baseColor, mode) {
|
|
30
|
-
const steps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
31
|
-
const base = chroma(baseColor);
|
|
32
|
-
const [h, s] = base.hsl();
|
|
33
|
-
const palette = {};
|
|
34
|
-
steps.forEach((step, idx) => {
|
|
35
|
-
const t = idx / (steps.length - 1);
|
|
36
|
-
const lightness = mode === 'light'
|
|
37
|
-
? 0.95 - t * 0.6 // from ~95% light → ~35% light
|
|
38
|
-
: 0.15 + t * 0.6; // from ~15% light → ~75% light
|
|
39
|
-
const col = chroma.hsl(h, s, lightness);
|
|
40
|
-
palette[step.toString()] = col.hex();
|
|
41
|
-
});
|
|
42
|
-
return palette;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Generates a semantic color scheme for UI usage, based on the generated palette.
|
|
46
|
-
*
|
|
47
|
-
* @param baseColor - The base/accent color
|
|
48
|
-
* @param mode - 'light' or 'dark'
|
|
49
|
-
* @returns An IThemeScheme with semantic color roles.
|
|
50
|
-
*
|
|
51
|
-
* Returned keys:
|
|
52
|
-
* - background → shade "50"
|
|
53
|
-
* - foreground → shade "900"
|
|
54
|
-
* - primary → shade "500"
|
|
55
|
-
* - accent → shade "700"
|
|
56
|
-
* - muted → shade "300"
|
|
57
|
-
*/
|
|
58
|
-
generateScheme(baseColor, mode) {
|
|
59
|
-
const p = this.generatePalette(baseColor, mode);
|
|
60
|
-
return {
|
|
61
|
-
background: p['50'],
|
|
62
|
-
foreground: p['900'],
|
|
63
|
-
primary: p['500'],
|
|
64
|
-
accent: p['700'],
|
|
65
|
-
muted: p['300']
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=TailwindThemeGeneratorStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TailwindThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/TailwindThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,qBAAqB;AAErB,OAAO,MAAM,MAAM,WAAW,CAAC;AAM/B;;;;;;;GAOG;AACH,MAAM,OAAO,8BAA8B;IAEvC;;;;;;;;;;;;;;;;OAgBG;IACI,eAAe,CAAC,SAAmB,EAAE,IAAsB;QAC9D,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO;gBAC9B,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAG,+BAA+B;gBAClD,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAE,+BAA+B;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,EAAc,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,cAAc,CAAC,SAAmB,EAAE,IAAsB;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhD,OAAO;YACH,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;YACnB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;YACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;SAClB,CAAC;IACN,CAAC;CAEJ"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type { IThemeGeneratorStrategy } from './interfaces/IThemeGeneratorStrategy';
|
|
2
|
-
export { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy';
|
|
3
|
-
export { JoyThemeGeneratorStrategy } from './JoyThemeGeneratorStrategy';
|
|
4
|
-
export { MemphisThemeGeneratorStrategy } from './MemphisThemeGeneratorStrategy';
|
|
5
|
-
export { CosmopolitanThemeGeneratorStrategy } from './CosmopolitanThemeGeneratorStrategy';
|
|
6
|
-
export { TailwindThemeGeneratorStrategy } from './TailwindThemeGeneratorStrategy';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// #region Exports
|
|
2
|
-
export { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy';
|
|
3
|
-
export { JoyThemeGeneratorStrategy } from './JoyThemeGeneratorStrategy';
|
|
4
|
-
export { MemphisThemeGeneratorStrategy } from './MemphisThemeGeneratorStrategy';
|
|
5
|
-
export { CosmopolitanThemeGeneratorStrategy } from './CosmopolitanThemeGeneratorStrategy';
|
|
6
|
-
export { TailwindThemeGeneratorStrategy } from './TailwindThemeGeneratorStrategy';
|
|
7
|
-
// #endregion
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAGlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,aAAa"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { CssColor } from '../../Utils/CssColor';
|
|
2
|
-
import type { IThemePalette } from '../../Utils/IThemePalette';
|
|
3
|
-
import type { IThemeScheme } from '../../Utils/IThemeScheme';
|
|
4
|
-
/**
|
|
5
|
-
* Strategy interface for theme-specific palette and scheme generation.
|
|
6
|
-
*
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
export interface IThemeGeneratorStrategy {
|
|
10
|
-
/**
|
|
11
|
-
* Generates a color palette for the theme.
|
|
12
|
-
*
|
|
13
|
-
* @param baseColor - The base color to generate the palette from
|
|
14
|
-
* @param mode - The color mode (dark or light)
|
|
15
|
-
* @returns The generated palette
|
|
16
|
-
*/
|
|
17
|
-
generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): IThemePalette;
|
|
18
|
-
/**
|
|
19
|
-
* Generates a color scheme for the theme.
|
|
20
|
-
*
|
|
21
|
-
* @param baseColor - The base color to generate the scheme from
|
|
22
|
-
* @param mode - The color mode (dark or light)
|
|
23
|
-
* @returns The generated scheme
|
|
24
|
-
*/
|
|
25
|
-
generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): IThemeScheme;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=IThemeGeneratorStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../../src/Theming/Strategies/interfaces/IThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IAEpC;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IAE5E;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;CAE7E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../../src/Theming/Strategies/interfaces/IThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,kBAAkB"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { IThemeElevation } from './Utils/IThemeElevation';
|
|
2
|
-
import type { IThemeLayout } from './Utils/IThemeLayout';
|
|
3
|
-
import type { ITheme } from './Utils/ITheme';
|
|
4
|
-
import type { CssColor } from './Utils/CssColor';
|
|
5
|
-
import type { IThemePalette } from './Utils/IThemePalette';
|
|
6
|
-
import type { IThemeScheme } from './Utils/IThemeScheme';
|
|
7
|
-
import type { IThemeTypography } from './Utils/IThemeTypography';
|
|
8
|
-
/**
|
|
9
|
-
* @private
|
|
10
|
-
*/
|
|
11
|
-
export interface IThemeInit {
|
|
12
|
-
name: string;
|
|
13
|
-
scheme?: Record<string, IThemeScheme>;
|
|
14
|
-
palette?: Record<string, Record<string, IThemePalette | CssColor>>;
|
|
15
|
-
fontFamily?: string;
|
|
16
|
-
typography?: IThemeTypography;
|
|
17
|
-
layout?: IThemeLayout;
|
|
18
|
-
elevation?: Record<string, IThemeElevation>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Factory for creating fully dynamic themes.
|
|
22
|
-
*
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
export declare class ThemeFactory {
|
|
26
|
-
/**
|
|
27
|
-
* Creates a new theme.
|
|
28
|
-
*
|
|
29
|
-
* @public
|
|
30
|
-
* @static
|
|
31
|
-
*/
|
|
32
|
-
static create(init: IThemeInit): ITheme;
|
|
33
|
-
/**
|
|
34
|
-
* Merges the given theme with the initial theme.
|
|
35
|
-
*
|
|
36
|
-
* @public
|
|
37
|
-
* @static
|
|
38
|
-
*/
|
|
39
|
-
static merge(init: IThemeInit, theme: ITheme): ITheme;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=ThemeFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeFactory.d.ts","sourceRoot":"","sources":["../../src/Theming/ThemeFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,qBAAa,YAAY;IAErB;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAY9C;;;;;OAKG;WACW,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CA2B/D"}
|
package/Theming/ThemeFactory.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// #region Imports
|
|
2
|
-
/**
|
|
3
|
-
* Factory for creating fully dynamic themes.
|
|
4
|
-
*
|
|
5
|
-
* @private
|
|
6
|
-
*/
|
|
7
|
-
export class ThemeFactory {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new theme.
|
|
10
|
-
*
|
|
11
|
-
* @public
|
|
12
|
-
* @static
|
|
13
|
-
*/
|
|
14
|
-
static create(init) {
|
|
15
|
-
return {
|
|
16
|
-
name: init.name,
|
|
17
|
-
scheme: init.scheme ?? {},
|
|
18
|
-
palette: init.palette ?? {},
|
|
19
|
-
fontFamily: init.fontFamily ?? '',
|
|
20
|
-
typography: init.typography ?? {},
|
|
21
|
-
layout: init.layout ?? {},
|
|
22
|
-
elevation: init.elevation ?? {}
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Merges the given theme with the initial theme.
|
|
27
|
-
*
|
|
28
|
-
* @public
|
|
29
|
-
* @static
|
|
30
|
-
*/
|
|
31
|
-
static merge(init, theme) {
|
|
32
|
-
return {
|
|
33
|
-
name: init.name,
|
|
34
|
-
scheme: {
|
|
35
|
-
...theme.scheme,
|
|
36
|
-
...init.scheme
|
|
37
|
-
},
|
|
38
|
-
palette: {
|
|
39
|
-
...theme.palette,
|
|
40
|
-
...init.palette
|
|
41
|
-
},
|
|
42
|
-
fontFamily: init.fontFamily ?? theme.fontFamily,
|
|
43
|
-
typography: {
|
|
44
|
-
...theme.typography,
|
|
45
|
-
...init.typography
|
|
46
|
-
},
|
|
47
|
-
layout: {
|
|
48
|
-
...theme.layout,
|
|
49
|
-
...init.layout
|
|
50
|
-
},
|
|
51
|
-
elevation: {
|
|
52
|
-
...theme.elevation,
|
|
53
|
-
...init.elevation
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=ThemeFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeFactory.js","sourceRoot":"","sources":["../../src/Theming/ThemeFactory.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAyBlB;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAErB;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,IAAgB;QACjC,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;SAClC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAgB,EAAE,KAAa;QAC/C,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE;gBACJ,GAAG,KAAK,CAAC,MAAM;gBACf,GAAG,IAAI,CAAC,MAAM;aACjB;YACD,OAAO,EAAE;gBACL,GAAG,KAAK,CAAC,OAAO;gBAChB,GAAG,IAAI,CAAC,OAAO;aAClB;YACD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;YAC/C,UAAU,EAAE;gBACR,GAAG,KAAK,CAAC,UAAU;gBACnB,GAAG,IAAI,CAAC,UAAU;aACrB;YACD,MAAM,EAAE;gBACJ,GAAG,KAAK,CAAC,MAAM;gBACf,GAAG,IAAI,CAAC,MAAM;aACjB;YACD,SAAS,EAAE;gBACP,GAAG,KAAK,CAAC,SAAS;gBAClB,GAAG,IAAI,CAAC,SAAS;aACpB;SACJ,CAAC;IACN,CAAC;CAEJ"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ITheme } from './Utils/ITheme';
|
|
2
|
-
import type { IThemePalette } from './Utils/IThemePalette';
|
|
3
|
-
import type { CssColor } from './Utils/CssColor';
|
|
4
|
-
import type { IThemeScheme } from './Utils/IThemeScheme';
|
|
5
|
-
/**
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
export declare class ThemeGenerator {
|
|
9
|
-
private readonly _strategies;
|
|
10
|
-
constructor();
|
|
11
|
-
generatePalette(theme: ITheme, baseColor: CssColor, mode: 'dark' | 'light' | 'system'): IThemePalette;
|
|
12
|
-
generateScheme(theme: ITheme, baseColor: CssColor, mode: 'dark' | 'light' | 'system'): IThemeScheme;
|
|
13
|
-
private resolveMode;
|
|
14
|
-
private getStrategy;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* @public
|
|
18
|
-
*/
|
|
19
|
-
export declare class ThemeGeneratorServiceLocator {
|
|
20
|
-
private static _current;
|
|
21
|
-
static get current(): ThemeGenerator;
|
|
22
|
-
static isSet(): boolean;
|
|
23
|
-
static set(current: ThemeGenerator): void;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=ThemeGenerator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeGenerator.d.ts","sourceRoot":"","sources":["../../src/Theming/ThemeGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASzD;;GAEG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;;IAmB5D,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa;IAOrG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY;IAO1G,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;CAYtB;AAED;;GAEG;AACH,qBAAa,4BAA4B;IAIrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAMtD,WAAkB,OAAO,IAAI,cAAc,CAO1C;WAMa,KAAK,IAAI,OAAO;WAIhB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;CAMnD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// #region Imports
|
|
2
|
-
import { MaterialThemeGeneratorStrategy } from './Strategies/MaterialThemeGeneratorStrategy';
|
|
3
|
-
import { JoyThemeGeneratorStrategy } from './Strategies/JoyThemeGeneratorStrategy';
|
|
4
|
-
import { MemphisThemeGeneratorStrategy } from './Strategies/MemphisThemeGeneratorStrategy';
|
|
5
|
-
import { CosmopolitanThemeGeneratorStrategy } from './Strategies/CosmopolitanThemeGeneratorStrategy';
|
|
6
|
-
// #endregion
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export class ThemeGenerator {
|
|
11
|
-
// #region Fields
|
|
12
|
-
_strategies;
|
|
13
|
-
// #endregion
|
|
14
|
-
// #region Ctor
|
|
15
|
-
constructor() {
|
|
16
|
-
this._strategies = new Map([
|
|
17
|
-
['material', new MaterialThemeGeneratorStrategy()],
|
|
18
|
-
['joy', new JoyThemeGeneratorStrategy()],
|
|
19
|
-
['memphis', new MemphisThemeGeneratorStrategy()],
|
|
20
|
-
['cosmopolitan', new CosmopolitanThemeGeneratorStrategy()]
|
|
21
|
-
]);
|
|
22
|
-
}
|
|
23
|
-
// #endregion
|
|
24
|
-
// #region Methods
|
|
25
|
-
generatePalette(theme, baseColor, mode) {
|
|
26
|
-
const resolvedMode = this.resolveMode(mode);
|
|
27
|
-
const strategy = this.getStrategy(theme.name);
|
|
28
|
-
return strategy.generatePalette(baseColor, resolvedMode);
|
|
29
|
-
}
|
|
30
|
-
generateScheme(theme, baseColor, mode) {
|
|
31
|
-
const resolvedMode = this.resolveMode(mode);
|
|
32
|
-
const strategy = this.getStrategy(theme.name);
|
|
33
|
-
return strategy.generateScheme(baseColor, resolvedMode);
|
|
34
|
-
}
|
|
35
|
-
resolveMode(mode) {
|
|
36
|
-
if (mode === 'system') {
|
|
37
|
-
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
38
|
-
}
|
|
39
|
-
return mode;
|
|
40
|
-
}
|
|
41
|
-
getStrategy(themeName) {
|
|
42
|
-
const strategy = this._strategies.get(themeName);
|
|
43
|
-
if (!strategy) {
|
|
44
|
-
throw new Error(`Theme '${themeName}' is not supported.`);
|
|
45
|
-
}
|
|
46
|
-
return strategy;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @public
|
|
51
|
-
*/
|
|
52
|
-
export class ThemeGeneratorServiceLocator {
|
|
53
|
-
// #region Fields
|
|
54
|
-
static _current = null;
|
|
55
|
-
// #endregion
|
|
56
|
-
// #region Properties
|
|
57
|
-
static get current() {
|
|
58
|
-
if (!ThemeGeneratorServiceLocator.isSet()) {
|
|
59
|
-
throw new Error('\'ThemeGenerator\' not set.');
|
|
60
|
-
}
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
62
|
-
return ThemeGeneratorServiceLocator._current;
|
|
63
|
-
}
|
|
64
|
-
// #endregion
|
|
65
|
-
// #region Methods
|
|
66
|
-
static isSet() {
|
|
67
|
-
return ThemeGeneratorServiceLocator._current !== null;
|
|
68
|
-
}
|
|
69
|
-
static set(current) {
|
|
70
|
-
ThemeGeneratorServiceLocator._current = current;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
ThemeGeneratorServiceLocator.set(new ThemeGenerator());
|
|
74
|
-
//# sourceMappingURL=ThemeGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeGenerator.js","sourceRoot":"","sources":["../../src/Theming/ThemeGenerator.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAOlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC;AAErG,aAAa;AAEb;;GAEG;AACH,MAAM,OAAO,cAAc;IAEvB,iBAAiB;IAEA,WAAW,CAAuC;IAEnE,aAAa;IAEb,eAAe;IAEf;QACI,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAkC;YACxD,CAAC,UAAU,EAAE,IAAI,8BAA8B,EAAE,CAAC;YAClD,CAAC,KAAK,EAAE,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC,SAAS,EAAE,IAAI,6BAA6B,EAAE,CAAC;YAChD,CAAC,cAAc,EAAE,IAAI,kCAAkC,EAAE,CAAC;SAC7D,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IAEb,kBAAkB;IAEX,eAAe,CAAC,KAAa,EAAE,SAAmB,EAAE,IAAiC;QACxF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAEM,cAAc,CAAC,KAAa,EAAE,SAAmB,EAAE,IAAiC;QACvF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAEO,WAAW,CAAC,IAAiC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,SAAiB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CAIJ;AAED;;GAEG;AACH,MAAM,OAAO,4BAA4B;IAErC,iBAAiB;IAET,MAAM,CAAC,QAAQ,GAA0B,IAAI,CAAC;IAEtD,aAAa;IAEb,qBAAqB;IAEd,MAAM,KAAK,OAAO;QACrB,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,oEAAoE;QACpE,OAAO,4BAA4B,CAAC,QAAS,CAAC;IAClD,CAAC;IAED,aAAa;IAEb,kBAAkB;IAEX,MAAM,CAAC,KAAK;QACf,OAAO,4BAA4B,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,OAAuB;QACrC,4BAA4B,CAAC,QAAQ,GAAG,OAAO,CAAC;IACpD,CAAC;;AAML,4BAA4B,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type IEventEmitter } from '@breadstone/mosaik-elements';
|
|
2
|
-
/**
|
|
3
|
-
* Theme mode.
|
|
4
|
-
*
|
|
5
|
-
* @public
|
|
6
|
-
*/
|
|
7
|
-
export type ThemeMode = 'system' | 'dark' | 'light';
|
|
8
|
-
/**
|
|
9
|
-
* Checks if the given value is a theme mode.
|
|
10
|
-
*
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
export declare function isThemeMode(value: unknown): value is ThemeMode;
|
|
14
|
-
/**
|
|
15
|
-
* Observer for applying themes.
|
|
16
|
-
*
|
|
17
|
-
* @public
|
|
18
|
-
*/
|
|
19
|
-
export declare class ThemeObserver {
|
|
20
|
-
private readonly _themeChanged;
|
|
21
|
-
private readonly _themeModeChanged;
|
|
22
|
-
private _currentTheme;
|
|
23
|
-
private _currentThemeMode;
|
|
24
|
-
/**
|
|
25
|
-
* Constructs a new instance of the `ThemeObserver` class.
|
|
26
|
-
*
|
|
27
|
-
* @public
|
|
28
|
-
*/
|
|
29
|
-
constructor();
|
|
30
|
-
/**
|
|
31
|
-
* Fires when the theme changes.
|
|
32
|
-
*
|
|
33
|
-
* @public
|
|
34
|
-
* @readonly
|
|
35
|
-
*/
|
|
36
|
-
get themeChanged(): IEventEmitter<string>;
|
|
37
|
-
/**
|
|
38
|
-
* Fires when the theme mode changes.
|
|
39
|
-
*
|
|
40
|
-
* @public
|
|
41
|
-
* @readonly
|
|
42
|
-
*/
|
|
43
|
-
get themeModeChanged(): IEventEmitter<ThemeMode>;
|
|
44
|
-
applyTheme(theme: string, themeMode: ThemeMode): void;
|
|
45
|
-
private observe;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @public
|
|
49
|
-
*/
|
|
50
|
-
export declare class ThemeObserverServiceLocator {
|
|
51
|
-
private static _current;
|
|
52
|
-
static get current(): ThemeObserver;
|
|
53
|
-
static isSet(): boolean;
|
|
54
|
-
static set(current: ThemeObserver): void;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=ThemeObserver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeObserver.d.ts","sourceRoot":"","sources":["../../src/Theming/ThemeObserver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAInF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;;;GAIG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAmB;IAI5C;;;;OAIG;;IAiBH;;;;;OAKG;IACH,IAAW,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC,CAE/C;IAED;;;;;OAKG;IACH,IAAW,gBAAgB,IAAI,aAAa,CAAC,SAAS,CAAC,CAEtD;IAMM,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAmB5D,OAAO,CAAC,OAAO;CA2ClB;AAED;;GAEG;AACH,qBAAa,2BAA2B;IAIpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAMrD,WAAkB,OAAO,IAAI,aAAa,CAOzC;WAMa,KAAK,IAAI,OAAO;WAIhB,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAMlD"}
|